summaryrefslogtreecommitdiffstats
path: root/src/opengl/qglpixelbuffer_p.h
Commit message (Expand)AuthorAgeFilesLines
* Support building with desktop OpenGL managed via EGLTom Cooksey2010-04-141-7/+5
* Rework how Qt handles GL extensions.Trond Kjernåsen2010-01-131-1/+0
* Update copyright year to 2010Jason McDonald2010-01-061-1/+1
* Update license headers again.Jason McDonald2009-09-091-4/+4
* Make QGLFramebufferObject work again using new QGLPaintDevice APITom Cooksey2009-09-081-0/+2
* Make QGLPixelBuffer work again using new QGLPaintDevice APITom Cooksey2009-09-081-0/+13
* Update tech preview license header.Jason McDonald2009-08-311-13/+13
* Update license headers.Jason McDonald2009-08-111-1/+1
* Update license headers as requested by the marketing department.Jason McDonald2009-06-161-2/+2
* Long live Qt 4.5!Lars Knoll2009-03-231-0/+193
lsa/alsatest.cpp6
-rwxr-xr-xconfig.tests/unix/makeabs8
-rw-r--r--config.tests/unix/openssl/openssl.pri11
-rw-r--r--config.tests/unix/stl/stltest.cpp61
-rw-r--r--config.tests/x11/xsync/xsync.cpp11
-rw-r--r--config.tests/x11/xsync/xsync.pro3
-rwxr-xr-xconfigure250
-rwxr-xr-xconfigure.exebin864256 -> 1160192 bytes-rw-r--r--demos/browser/browserapplication.cpp1
-rw-r--r--demos/browser/browsermainwindow.cpp1
-rw-r--r--demos/demobase.pri24
-rw-r--r--demos/demos.pro4
-rw-r--r--demos/embedded/anomaly/src/AddressBar.cpp4
-rw-r--r--demos/embedded/anomaly/src/AddressBar.h4
-rw-r--r--demos/embedded/anomaly/src/BookmarksView.cpp4
-rw-r--r--demos/embedded/anomaly/src/BookmarksView.h4
-rw-r--r--demos/embedded/anomaly/src/BrowserView.cpp4
-rw-r--r--demos/embedded/anomaly/src/BrowserView.h4
-rw-r--r--demos/embedded/anomaly/src/BrowserWindow.cpp4
-rw-r--r--demos/embedded/anomaly/src/BrowserWindow.h4
-rw-r--r--demos/embedded/anomaly/src/ControlStrip.cpp4
-rw-r--r--demos/embedded/anomaly/src/ControlStrip.h4
-rw-r--r--demos/embedded/anomaly/src/HomeView.cpp4
-rw-r--r--demos/embedded/anomaly/src/HomeView.h4
-rw-r--r--demos/embedded/anomaly/src/Main.cpp4
-rw-r--r--demos/embedded/anomaly/src/TitleBar.cpp4
-rw-r--r--demos/embedded/anomaly/src/TitleBar.h4
-rw-r--r--demos/embedded/anomaly/src/ZoomStrip.cpp4
-rw-r--r--demos/embedded/anomaly/src/ZoomStrip.h4
-rw-r--r--demos/embedded/anomaly/src/flickcharm.cpp4
-rw-r--r--demos/embedded/anomaly/src/flickcharm.h4
-rw-r--r--demos/embedded/desktopservices/contenttab.cpp6
-rw-r--r--demos/embedded/desktopservices/contenttab.h6
-rw-r--r--demos/embedded/desktopservices/desktopwidget.cpp6
-rw-r--r--demos/embedded/desktopservices/desktopwidget.h6
-rw-r--r--demos/embedded/desktopservices/linktab.cpp6
-rw-r--r--demos/embedded/desktopservices/linktab.h6
-rw-r--r--demos/embedded/desktopservices/main.cpp6
-rw-r--r--demos/embedded/embedded.pro2
-rw-r--r--demos/qtdemo/qtdemo.rc30
-rw-r--r--demos/qtdemo/xml/examples.xml8
-rw-r--r--demos/sub-attaq/animationmanager.cpp (renamed from examples/animation/sub-attaq/animationmanager.cpp)0
-rw-r--r--demos/sub-attaq/animationmanager.h (renamed from examples/animation/sub-attaq/animationmanager.h)0
-rw-r--r--demos/sub-attaq/boat.cpp318
-rw-r--r--demos/sub-attaq/boat.h (renamed from examples/animation/sub-attaq/boat.h)0
-rw-r--r--demos/sub-attaq/boat_p.h (renamed from examples/animation/sub-attaq/boat_p.h)0
-rw-r--r--demos/sub-attaq/bomb.cpp124
-rw-r--r--demos/sub-attaq/bomb.h (renamed from examples/animation/sub-attaq/bomb.h)0
-rw-r--r--demos/sub-attaq/custompropertyanimation.cpp108
-rw-r--r--demos/sub-attaq/custompropertyanimation.h (renamed from examples/animation/sub-attaq/custompropertyanimation.h)0
-rw-r--r--demos/sub-attaq/data.xml39
-rw-r--r--demos/sub-attaq/graphicsscene.cpp374
-rw-r--r--demos/sub-attaq/graphicsscene.h (renamed from examples/animation/sub-attaq/graphicsscene.h)0
-rw-r--r--demos/sub-attaq/main.cpp (renamed from examples/animation/sub-attaq/main.cpp)0
-rw-r--r--demos/sub-attaq/mainwindow.cpp (renamed from examples/animation/sub-attaq/mainwindow.cpp)0
-rw-r--r--demos/sub-attaq/mainwindow.h (renamed from examples/animation/sub-attaq/mainwindow.h)0
-rw-r--r--demos/sub-attaq/pics/big/background.png (renamed from examples/animation/sub-attaq/pics/big/background.png)bin48858 -> 48858 bytes-rw-r--r--demos/sub-attaq/pics/big/boat.png (renamed from examples/animation/sub-attaq/pics/big/boat.png)bin5198 -> 5198 bytes-rw-r--r--demos/sub-attaq/pics/big/bomb.png (renamed from examples/animation/sub-attaq/pics/small/bomb.png)bin760 -> 760 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step1.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step1.png)bin5760 -> 5760 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step2.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step2.png)bin9976 -> 9976 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step3.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step3.png)bin12411 -> 12411 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/boat/step4.png (renamed from examples/animation/sub-attaq/pics/big/explosion/boat/step4.png)bin15438 -> 15438 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step1.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png)bin3354 -> 3354 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step2.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png)bin6205 -> 6205 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step3.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png)bin6678 -> 6678 bytes-rw-r--r--demos/sub-attaq/pics/big/explosion/submarine/step4.png (renamed from examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png)bin6666 -> 6666 bytes-rw-r--r--demos/sub-attaq/pics/big/submarine.png (renamed from examples/animation/sub-attaq/pics/big/submarine.png)bin3202 -> 3202 bytes-rw-r--r--demos/sub-attaq/pics/big/surface.png (renamed from examples/animation/sub-attaq/pics/big/surface.png)bin575 -> 575 bytes-rw-r--r--demos/sub-attaq/pics/big/torpedo.png (renamed from examples/animation/sub-attaq/pics/small/torpedo.png)bin951 -> 951 bytes-rw-r--r--demos/sub-attaq/pics/scalable/background-n810.svg (renamed from examples/animation/sub-attaq/pics/scalable/background-n810.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/background.svg (renamed from examples/animation/sub-attaq/pics/scalable/background.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/boat.svg (renamed from examples/animation/sub-attaq/pics/scalable/boat.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/bomb.svg (renamed from examples/animation/sub-attaq/pics/scalable/bomb.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/sand.svg (renamed from examples/animation/sub-attaq/pics/scalable/sand.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/see.svg (renamed from examples/animation/sub-attaq/pics/scalable/see.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/sky.svg (renamed from examples/animation/sub-attaq/pics/scalable/sky.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/sub-attaq.svg (renamed from examples/animation/sub-attaq/pics/scalable/sub-attaq.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/submarine.svg (renamed from examples/animation/sub-attaq/pics/scalable/submarine.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/surface.svg (renamed from examples/animation/sub-attaq/pics/scalable/surface.svg)0
-rw-r--r--demos/sub-attaq/pics/scalable/torpedo.svg (renamed from examples/animation/sub-attaq/pics/scalable/torpedo.svg)0
-rw-r--r--demos/sub-attaq/pics/small/background.png (renamed from examples/animation/sub-attaq/pics/small/background.png)bin34634 -> 34634 bytes-rw-r--r--demos/sub-attaq/pics/small/boat.png (renamed from examples/animation/sub-attaq/pics/small/boat.png)bin2394 -> 2394 bytes-rw-r--r--demos/sub-attaq/pics/small/bomb.png (renamed from examples/animation/sub-attaq/pics/big/bomb.png)bin760 -> 760 bytes-rw-r--r--demos/sub-attaq/pics/small/submarine.png (renamed from examples/animation/sub-attaq/pics/small/submarine.png)bin1338 -> 1338 bytes-rw-r--r--demos/sub-attaq/pics/small/surface.png (renamed from examples/animation/sub-attaq/pics/small/surface.png)bin502 -> 502 bytes-rw-r--r--demos/sub-attaq/pics/small/torpedo.png (renamed from examples/animation/sub-attaq/pics/big/torpedo.png)bin951 -> 951 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-a.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-a.png)bin5972 -> 5972 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-a2.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-a2.png)bin5969 -> 5969 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-b.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-b.png)bin6869 -> 6869 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-dash.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-dash.png)bin2255 -> 2255 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-excl.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-excl.png)bin2740 -> 2740 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-q.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-q.png)bin7016 -> 7016 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-s.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-s.png)bin5817 -> 5817 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-t.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-t.png)bin3717 -> 3717 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-t2.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-t2.png)bin3688 -> 3688 bytes-rw-r--r--demos/sub-attaq/pics/welcome/logo-u.png (renamed from examples/animation/sub-attaq/pics/welcome/logo-u.png)bin5374 -> 5374 bytes-rw-r--r--demos/sub-attaq/pixmapitem.cpp (renamed from examples/animation/sub-attaq/pixmapitem.cpp)0
-rw-r--r--demos/sub-attaq/pixmapitem.h (renamed from examples/animation/sub-attaq/pixmapitem.h)0
-rw-r--r--demos/sub-attaq/progressitem.cpp (renamed from examples/animation/sub-attaq/progressitem.cpp)0
-rw-r--r--demos/sub-attaq/progressitem.h (renamed from examples/animation/sub-attaq/progressitem.h)0
-rw-r--r--demos/sub-attaq/qanimationstate.cpp (renamed from examples/animation/sub-attaq/qanimationstate.cpp)0
-rw-r--r--demos/sub-attaq/qanimationstate.h (renamed from examples/animation/sub-attaq/qanimationstate.h)0
-rw-r--r--demos/sub-attaq/states.cpp327
-rw-r--r--demos/sub-attaq/states.h (renamed from examples/animation/sub-attaq/states.h)0
-rw-r--r--demos/sub-attaq/sub-attaq.pro37
-rw-r--r--demos/sub-attaq/subattaq.qrc (renamed from examples/animation/sub-attaq/subattaq.qrc)0
-rw-r--r--demos/sub-attaq/submarine.cpp218
-rw-r--r--demos/sub-attaq/submarine.h96
-rw-r--r--demos/sub-attaq/submarine_p.h139
-rw-r--r--demos/sub-attaq/torpedo.cpp120
-rw-r--r--demos/sub-attaq/torpedo.h (renamed from examples/animation/sub-attaq/torpedo.h)0
-rw-r--r--demos/textedit/textedit.cpp23
-rw-r--r--dist/changes-4.6.040
-rw-r--r--doc/doc.pri11
-rw-r--r--doc/src/annotated.qdoc62
-rw-r--r--doc/src/bughowto.qdoc8
-rw-r--r--doc/src/classes.qdoc96
-rw-r--r--doc/src/classes/phonon-api.qdoc (renamed from doc/src/phonon-api.qdoc)0
-rw-r--r--doc/src/classes/q3asciicache.qdoc (renamed from doc/src/q3asciicache.qdoc)0
-rw-r--r--doc/src/classes/q3asciidict.qdoc (renamed from doc/src/q3asciidict.qdoc)0
-rw-r--r--doc/src/classes/q3cache.qdoc (renamed from doc/src/q3cache.qdoc)0
-rw-r--r--doc/src/classes/q3dict.qdoc (renamed from doc/src/q3dict.qdoc)0
-rw-r--r--doc/src/classes/q3intcache.qdoc (renamed from doc/src/q3intcache.qdoc)0
-rw-r--r--doc/src/classes/q3intdict.qdoc (renamed from doc/src/q3intdict.qdoc)0
-rw-r--r--doc/src/classes/q3memarray.qdoc (renamed from doc/src/q3memarray.qdoc)0
-rw-r--r--doc/src/classes/q3popupmenu.qdoc (renamed from doc/src/q3popupmenu.qdoc)0
-rw-r--r--doc/src/classes/q3ptrdict.qdoc (renamed from doc/src/q3ptrdict.qdoc)0
-rw-r--r--doc/src/classes/q3ptrlist.qdoc (renamed from doc/src/q3ptrlist.qdoc)0
-rw-r--r--doc/src/classes/q3ptrqueue.qdoc (renamed from doc/src/q3ptrqueue.qdoc)0
-rw-r--r--doc/src/classes/q3ptrstack.qdoc (renamed from doc/src/q3ptrstack.qdoc)0
-rw-r--r--doc/src/classes/q3ptrvector.qdoc (renamed from doc/src/q3ptrvector.qdoc)0
-rw-r--r--doc/src/classes/q3sqlfieldinfo.qdoc (renamed from doc/src/q3sqlfieldinfo.qdoc)0
-rw-r--r--doc/src/classes/q3sqlrecordinfo.qdoc (renamed from doc/src/q3sqlrecordinfo.qdoc)0
-rw-r--r--doc/src/classes/q3valuelist.qdoc (renamed from doc/src/q3valuelist.qdoc)0
-rw-r--r--doc/src/classes/q3valuestack.qdoc (renamed from doc/src/q3valuestack.qdoc)0
-rw-r--r--doc/src/classes/q3valuevector.qdoc (renamed from doc/src/q3valuevector.qdoc)0
-rw-r--r--doc/src/classes/qalgorithms.qdoc (renamed from doc/src/qalgorithms.qdoc)0
-rw-r--r--doc/src/classes/qcache.qdoc (renamed from doc/src/qcache.qdoc)0
-rw-r--r--doc/src/classes/qcolormap.qdoc (renamed from doc/src/qcolormap.qdoc)0
-rw-r--r--doc/src/classes/qdesktopwidget.qdoc266
-rw-r--r--doc/src/classes/qiterator.qdoc (renamed from doc/src/qiterator.qdoc)0
-rw-r--r--doc/src/classes/qmacstyle.qdoc (renamed from doc/src/qstyles.qdoc)0
-rw-r--r--doc/src/classes/qnamespace.qdoc2745
-rw-r--r--doc/src/classes/qpagesetupdialog.qdoc (renamed from doc/src/qpagesetupdialog.qdoc)0
-rw-r--r--doc/src/classes/qpaintdevice.qdoc (renamed from doc/src/qpaintdevice.qdoc)0
-rw-r--r--doc/src/classes/qpair.qdoc (renamed from doc/src/qpair.qdoc)0
-rw-r--r--doc/src/classes/qpatternistdummy.cpp (renamed from doc/src/qpatternistdummy.cpp)0
-rw-r--r--doc/src/classes/qplugin.qdoc (renamed from doc/src/qplugin.qdoc)0
-rw-r--r--doc/src/classes/qprintdialog.qdoc (renamed from doc/src/qprintdialog.qdoc)0
-rw-r--r--doc/src/classes/qprinterinfo.qdoc (renamed from doc/src/qprinterinfo.qdoc)0
-rw-r--r--doc/src/classes/qset.qdoc (renamed from doc/src/qset.qdoc)0
-rw-r--r--doc/src/classes/qsignalspy.qdoc (renamed from doc/src/qsignalspy.qdoc)0
-rw-r--r--doc/src/classes/qsizepolicy.qdoc (renamed from doc/src/qsizepolicy.qdoc)0
-rw-r--r--doc/src/classes/qtdesigner-api.qdoc1413
-rw-r--r--doc/src/classes/qtendian.qdoc (renamed from doc/src/qtendian.qdoc)0
-rw-r--r--doc/src/classes/qtestevent.qdoc (renamed from doc/src/qtestevent.qdoc)0
-rw-r--r--doc/src/classes/qvarlengtharray.qdoc (renamed from doc/src/qvarlengtharray.qdoc)0
-rw-r--r--doc/src/classes/qwaitcondition.qdoc (renamed from doc/src/qwaitcondition.qdoc)0
-rw-r--r--doc/src/compatclasses.qdoc54
-rw-r--r--doc/src/compiler-notes.qdoc278
-rw-r--r--doc/src/coordsys.qdoc18
-rw-r--r--doc/src/credits.qdoc1
-rw-r--r--doc/src/datastreamformat.qdoc56
-rw-r--r--doc/src/demos/sub-attaq.qdoc54
-rw-r--r--doc/src/deployment.qdoc10
-rw-r--r--doc/src/designer-manual.qdoc44
-rw-r--r--doc/src/diagrams/programs/easingcurve/main.cpp29
-rw-r--r--doc/src/dnd.qdoc15
-rw-r--r--doc/src/emb-charinput.qdoc54
-rw-r--r--doc/src/emb-kmap2qmap.qdoc84
-rw-r--r--doc/src/emb-pointer.qdoc17
-rw-r--r--doc/src/examples-overview.qdoc11
-rw-r--r--doc/src/examples.qdoc10
-rw-r--r--doc/src/examples/arrowpad.qdoc8
-rw-r--r--doc/src/examples/audiodevices.qdoc54
-rw-r--r--doc/src/examples/audioinput.qdoc54
-rw-r--r--doc/src/examples/audiooutput.qdoc52
-rw-r--r--doc/src/examples/calculatorform.qdoc6
-rw-r--r--doc/src/examples/collidingmice-example.qdoc4
-rw-r--r--doc/src/examples/completer.qdoc16
-rw-r--r--doc/src/examples/googlechat.qdoc1
-rw-r--r--doc/src/examples/googlesuggest.qdoc1
-rw-r--r--doc/src/examples/helloscript.qdoc12
-rw-r--r--doc/src/examples/hellotr.qdoc26
-rw-r--r--doc/src/examples/htmlinfo.qdoc8
-rw-r--r--doc/src/examples/moveblocks.qdoc4
-rw-r--r--doc/src/examples/multipleinheritance.qdoc2
-rw-r--r--doc/src/examples/qtscripttetrix.qdoc2
-rw-r--r--doc/src/examples/schema.qdoc143
-rw-r--r--doc/src/examples/scribble.qdoc2
-rw-r--r--doc/src/examples/simpletextviewer.qdoc7
-rw-r--r--doc/src/examples/svggenerator.qdoc4
-rw-r--r--doc/src/examples/tablet.qdoc5
-rw-r--r--doc/src/examples/tankgame.qdoc117
-rw-r--r--doc/src/examples/textfinder.qdoc4
-rw-r--r--doc/src/examples/transformations.qdoc6
-rw-r--r--doc/src/examples/worldtimeclockbuilder.qdoc2
-rw-r--r--doc/src/exceptionsafety.qdoc4
-rw-r--r--doc/src/functions.qdoc63
-rw-r--r--doc/src/graphicsview.qdoc13
-rw-r--r--doc/src/groups.qdoc137
-rw-r--r--doc/src/hierarchy.qdoc52
-rw-r--r--doc/src/i18n.qdoc30
-rw-r--r--doc/src/images/cursor-hsplit.pngbin161 -> 155 bytes-rw-r--r--doc/src/images/cursor-vsplit.pngbin155 -> 161 bytes-rw-r--r--doc/src/images/qeasingcurve-cosinecurve.pngbin2544 -> 3419 bytes-rw-r--r--doc/src/images/qeasingcurve-inback.pngbin2225 -> 2808 bytes-rw-r--r--doc/src/images/qeasingcurve-inbounce.pngbin2378 -> 3154 bytes-rw-r--r--doc/src/images/qeasingcurve-incirc.pngbin2138 -> 2605 bytes-rw-r--r--doc/src/images/qeasingcurve-incubic.pngbin2230 -> 2722 bytes-rw-r--r--doc/src/images/qeasingcurve-incurve.pngbin2325 -> 2692 bytes-rw-r--r--doc/src/images/qeasingcurve-inelastic.pngbin2314 -> 3304 bytes-rw-r--r--doc/src/images/qeasingcurve-inexpo.pngbin2183 -> 2675 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutback.pngbin2460 -> 3241 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutbounce.pngbin2522 -> 3386 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutcirc.pngbin2352 -> 2843 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutcubic.pngbin2410 -> 2931 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutelastic.pngbin2485 -> 3461 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutexpo.pngbin2383 -> 3004 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutquad.pngbin2392 -> 2893 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutquart.pngbin2331 -> 2925 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutquint.pngbin2244 -> 2823 bytes-rw-r--r--doc/src/images/qeasingcurve-inoutsine.pngbin2405 -> 2891 bytes-rw-r--r--doc/src/images/qeasingcurve-inquad.pngbin2283 -> 2733 bytes-rw-r--r--doc/src/images/qeasingcurve-inquart.pngbin2261 -> 2727 bytes-rw-r--r--doc/src/images/qeasingcurve-inquint.pngbin2178 -> 2630 bytes-rw-r--r--doc/src/images/qeasingcurve-insine.pngbin2167 -> 2567 bytes-rw-r--r--doc/src/images/qeasingcurve-linear.pngbin2165 -> 2318 bytes-rw-r--r--doc/src/images/qeasingcurve-outback.pngbin2371 -> 2852 bytes-rw-r--r--doc/src/images/qeasingcurve-outbounce.pngbin2481 -> 3360 bytes-rw-r--r--doc/src/images/qeasingcurve-outcirc.pngbin2269 -> 2796 bytes-rw-r--r--doc/src/images/qeasingcurve-outcubic.pngbin2336 -> 2792 bytes-rw-r--r--doc/src/images/qeasingcurve-outcurve.pngbin2389 -> 2724 bytes-rw-r--r--doc/src/images/qeasingcurve-outelastic.pngbin2402 -> 3423 bytes-rw-r--r--doc/src/images/qeasingcurve-outexpo.pngbin2299 -> 2803 bytes-rw-r--r--doc/src/images/qeasingcurve-outinback.pngbin2400 -> 3026 bytes-rw-r--r--doc/src/images/qeasingcurve-outinbounce.pngbin2568 -> 3629 bytes-rw-r--r--doc/src/images/qeasingcurve-outincirc.pngbin2339 -> 2822 bytes-rw-r--r--doc/src/images/qeasingcurve-outincubic.pngbin2393 -> 2872 bytes-rw-r--r--doc/src/images/qeasingcurve-outinelastic.pngbin2517 -> 3941 bytes-rw-r--r--doc/src/images/qeasingcurve-outinexpo.pngbin2377 -> 2923 bytes-rw-r--r--doc/src/images/qeasingcurve-outinquad.pngbin2380 -> 2858 bytes-rw-r--r--doc/src/images/qeasingcurve-outinquart.pngbin2319 -> 2830 bytes-rw-r--r--doc/src/images/qeasingcurve-outinquint.pngbin2248 -> 2724 bytes-rw-r--r--doc/src/images/qeasingcurve-outinsine.pngbin2388 -> 2817 bytes-rw-r--r--doc/src/images/qeasingcurve-outquad.pngbin2324 -> 2760 bytes-rw-r--r--doc/src/images/qeasingcurve-outquart.pngbin2304 -> 2764 bytes-rw-r--r--doc/src/images/qeasingcurve-outquint.pngbin2242 -> 2687 bytes-rw-r--r--doc/src/images/qeasingcurve-outsine.pngbin2364 -> 2773 bytes-rw-r--r--doc/src/images/qeasingcurve-sinecurve.pngbin2470 -> 3329 bytes-rw-r--r--doc/src/images/schema-example.pngbin0 -> 84320 bytes-rw-r--r--doc/src/images/sub-attaq-demo.pngbin0 -> 51552 bytes-rw-r--r--doc/src/implicit-sharing.qdoc144
-rw-r--r--doc/src/ipc.qdoc12
-rw-r--r--doc/src/layout.qdoc3
-rw-r--r--doc/src/legal/3rdparty.qdoc (renamed from doc/src/3rdparty.qdoc)0
-rw-r--r--doc/src/legal/commercialeditions.qdoc (renamed from doc/src/commercialeditions.qdoc)0
-rw-r--r--doc/src/legal/editions.qdoc (renamed from doc/src/editions.qdoc)0
-rw-r--r--doc/src/legal/gpl.qdoc (renamed from doc/src/gpl.qdoc)0
-rw-r--r--doc/src/legal/licenses.qdoc496
-rw-r--r--doc/src/legal/opensourceedition.qdoc (renamed from doc/src/opensourceedition.qdoc)0
-rw-r--r--doc/src/legal/trademarks.qdoc (renamed from doc/src/trademarks.qdoc)0
-rw-r--r--doc/src/licenses.qdoc483
-rw-r--r--doc/src/linguist-manual.qdoc59
-rw-r--r--doc/src/mainclasses.qdoc51
-rw-r--r--doc/src/model-view-programming.qdoc9
-rw-r--r--doc/src/paintsystem.qdoc6
-rw-r--r--doc/src/platform-notes-rtos.qdoc220
-rw-r--r--doc/src/platform-notes.qdoc349
-rw-r--r--doc/src/plugins-howto.qdoc1
-rw-r--r--doc/src/porting4-canvas.qdoc2
-rw-r--r--doc/src/porting4-designer.qdoc40
-rw-r--r--doc/src/porting4-overview.qdoc10
-rw-r--r--doc/src/porting4.qdoc32
-rw-r--r--doc/src/properties.qdoc11
-rw-r--r--doc/src/qdesktopwidget.qdoc247
-rw-r--r--doc/src/qmake-manual.qdoc46
-rw-r--r--doc/src/qmsdev.qdoc2
-rw-r--r--doc/src/qnamespace.qdoc2780
-rw-r--r--doc/src/qsql.qdoc3
-rw-r--r--doc/src/qsqldatatype-table.qdoc127
-rw-r--r--doc/src/qt3to4.qdoc2
-rw-r--r--doc/src/qt4-intro.qdoc2
-rw-r--r--doc/src/qt4-network.qdoc10
-rw-r--r--doc/src/qtdesigner.qdoc1377
-rw-r--r--doc/src/qthelp.qdoc16
-rw-r--r--doc/src/qtnetwork.qdoc18
-rw-r--r--doc/src/qtscript.qdoc24
-rw-r--r--doc/src/qtuiloader.qdoc2
-rw-r--r--doc/src/qtxmlpatterns.qdoc75
-rw-r--r--doc/src/resources.qdoc2
-rw-r--r--doc/src/richtext.qdoc4
-rw-r--r--doc/src/s60-introduction.qdoc8
-rw-r--r--doc/src/signalsandslots.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_emb-charinput.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_linguist-manual.qdoc6
-rw-r--r--doc/src/snippets/code/doc_src_properties.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_qmake-manual.qdoc2
-rw-r--r--doc/src/snippets/code/doc_src_qthelp.qdoc6
-rw-r--r--doc/src/snippets/code/doc_src_styles.qdoc2
-rw-r--r--doc/src/snippets/code/src_corelib_global_qglobal.cpp24
-rw-r--r--doc/src/snippets/code/src_corelib_io_qfileinfo.cpp6
-rw-r--r--doc/src/snippets/code/src_corelib_kernel_qobject.cpp9
-rw-r--r--doc/src/snippets/code/src_corelib_tools_qlistdata.cpp6
-rw-r--r--doc/src/snippets/code/src_network_access_qnetworkreply.cpp10
-rw-r--r--doc/src/snippets/code/src_network_ssl_qsslsocket.cpp11
-rw-r--r--doc/src/snippets/qxmlschema/main.cpp118
-rw-r--r--doc/src/snippets/qxmlschema/qxmlschema.pro3
-rw-r--r--doc/src/snippets/qxmlschemavalidator/main.cpp160
-rw-r--r--doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro3
-rw-r--r--doc/src/snippets/snippets.pro2
-rw-r--r--doc/src/snippets/statemachine/eventtest.cpp34
-rw-r--r--doc/src/snippets/stringlistmodel/model.cpp32
-rw-r--r--doc/src/styles.qdoc16
-rw-r--r--doc/src/supported-platforms.qdoc141
-rw-r--r--doc/src/symbian-exceptionsafety.qdoc4
-rw-r--r--doc/src/tech-preview/images/mainwindow-docks-example.pngbin14427 -> 0 bytes-rw-r--r--doc/src/tech-preview/images/mainwindow-docks.pngbin10168 -> 0 bytes-rw-r--r--doc/src/tech-preview/images/plaintext-layout.pngbin40981 -> 0 bytes-rw-r--r--doc/src/tech-preview/known-issues.html110
-rw-r--r--doc/src/templates.qdoc2
-rw-r--r--doc/src/threads.qdoc121
-rw-r--r--doc/src/topics.qdoc12
-rw-r--r--doc/src/trolltech-webpages.qdoc10
-rw-r--r--doc/src/tutorials/addressbook-fr.qdoc2
-rw-r--r--doc/src/tutorials/addressbook.qdoc75
-rw-r--r--examples/activeqt/dotnet/wrapper/lib/tools.cpp2
-rw-r--r--examples/activeqt/webbrowser/main.cpp4
-rw-r--r--examples/activeqt/webbrowser/mainwindow_windowsmobile.ui (renamed from examples/activeqt/webbrowser/wincemainwindow.ui)0
-rw-r--r--examples/activeqt/webbrowser/webbrowser.pro2
-rw-r--r--examples/animation/animatedtiles/main.cpp12
-rw-r--r--examples/animation/animation.pro1
-rw-r--r--examples/animation/appchooser/main.cpp2
-rw-r--r--examples/animation/moveblocks/main.cpp6
-rw-r--r--examples/animation/states/main.cpp7
-rw-r--r--examples/animation/stickman/editor/animationdialog.cpp192
-rw-r--r--examples/animation/stickman/editor/animationdialog.h84
-rw-r--r--examples/animation/stickman/editor/editor.pri2
-rw-r--r--examples/animation/stickman/editor/mainwindow.cpp76
-rw-r--r--examples/animation/stickman/editor/mainwindow.h58
-rw-r--r--examples/animation/stickman/graphicsview.cpp23
-rw-r--r--examples/animation/stickman/lifecycle.cpp12
-rw-r--r--examples/animation/stickman/stickman.pro2
-rw-r--r--examples/animation/sub-attaq/boat.cpp318
-rw-r--r--examples/animation/sub-attaq/bomb.cpp124
-rw-r--r--examples/animation/sub-attaq/custompropertyanimation.cpp108
-rw-r--r--examples/animation/sub-attaq/data.xml15
-rw-r--r--examples/animation/sub-attaq/graphicsscene.cpp374
-rw-r--r--examples/animation/sub-attaq/states.cpp325
-rw-r--r--examples/animation/sub-attaq/sub-attaq.pro36
-rw-r--r--examples/animation/sub-attaq/submarine.cpp211
-rw-r--r--examples/animation/sub-attaq/submarine.h92
-rw-r--r--examples/animation/sub-attaq/submarine_p.h139
-rw-r--r--examples/animation/sub-attaq/torpedo.cpp120
-rw-r--r--examples/examples.pro2
-rw-r--r--examples/gestures/browser/Info_mac.plist43
-rw-r--r--examples/gestures/browser/addbookmarkdialog.ui98
-rw-r--r--examples/gestures/browser/autosaver.cpp94
-rw-r--r--examples/gestures/browser/autosaver.h76
-rw-r--r--examples/gestures/browser/bookmarks.cpp987
-rw-r--r--examples/gestures/browser/bookmarks.h310
-rw-r--r--examples/gestures/browser/bookmarks.ui106
-rw-r--r--examples/gestures/browser/browser.icnsbin50218 -> 0 bytes-rw-r--r--examples/gestures/browser/browser.icobin15374 -> 0 bytes-rw-r--r--examples/gestures/browser/browser.pro91
-rw-r--r--examples/gestures/browser/browser.rc2
-rw-r--r--examples/gestures/browser/browserapplication.cpp447
-rw-r--r--examples/gestures/browser/browserapplication.h119
-rw-r--r--examples/gestures/browser/browsermainwindow.cpp991
-rw-r--r--examples/gestures/browser/browsermainwindow.h169
-rw-r--r--examples/gestures/browser/chasewidget.cpp142
-rw-r--r--examples/gestures/browser/chasewidget.h85
-rw-r--r--examples/gestures/browser/cookiejar.cpp733
-rw-r--r--examples/gestures/browser/cookiejar.h204
-rw-r--r--examples/gestures/browser/cookies.ui106
-rw-r--r--examples/gestures/browser/cookiesexceptions.ui184
-rw-r--r--examples/gestures/browser/data/addtab.pngbin469 -> 0 bytes-rw-r--r--examples/gestures/browser/data/browser.svg411
-rw-r--r--examples/gestures/browser/data/closetab.pngbin516 -> 0 bytes-rw-r--r--examples/gestures/browser/data/data.qrc11
-rw-r--r--examples/gestures/browser/data/defaultbookmarks.xbel40
-rw-r--r--examples/gestures/browser/data/defaulticon.pngbin1473 -> 0 bytes-rw-r--r--examples/gestures/browser/data/history.pngbin1527 -> 0 bytes-rw-r--r--examples/gestures/browser/data/loading.gifbin847 -> 0 bytes-rw-r--r--examples/gestures/browser/downloaditem.ui134
-rw-r--r--examples/gestures/browser/downloadmanager.cpp579
-rw-r--r--examples/gestures/browser/downloadmanager.h162
-rw-r--r--examples/gestures/browser/downloads.ui83
-rw-r--r--examples/gestures/browser/edittableview.cpp78
-rw-r--r--examples/gestures/browser/edittableview.h61
-rw-r--r--examples/gestures/browser/edittreeview.cpp77
-rw-r--r--examples/gestures/browser/edittreeview.h61
-rw-r--r--examples/gestures/browser/history.cpp1282
-rw-r--r--examples/gestures/browser/history.h350
-rw-r--r--examples/gestures/browser/history.ui106
-rw-r--r--examples/gestures/browser/htmls/htmls.qrc5
-rw-r--r--examples/gestures/browser/htmls/notfound.html63
-rw-r--r--examples/gestures/browser/main.cpp53
-rw-r--r--examples/gestures/browser/modelmenu.cpp227
-rw-r--r--examples/gestures/browser/modelmenu.h105
-rw-r--r--examples/gestures/browser/networkaccessmanager.cpp171
-rw-r--r--examples/gestures/browser/networkaccessmanager.h68
-rw-r--r--examples/gestures/browser/passworddialog.ui111
-rw-r--r--examples/gestures/browser/proxy.ui104
-rw-r--r--examples/gestures/browser/searchlineedit.cpp238
-rw-r--r--examples/gestures/browser/searchlineedit.h103
-rw-r--r--examples/gestures/browser/settings.cpp324
-rw-r--r--examples/gestures/browser/settings.h74
-rw-r--r--examples/gestures/browser/settings.ui614
-rw-r--r--examples/gestures/browser/squeezelabel.cpp61
-rw-r--r--examples/gestures/browser/squeezelabel.h60
-rw-r--r--examples/gestures/browser/tabwidget.cpp830
-rw-r--r--examples/gestures/browser/tabwidget.h224
-rw-r--r--examples/gestures/browser/toolbarsearch.cpp161
-rw-r--r--examples/gestures/browser/toolbarsearch.h84
-rw-r--r--examples/gestures/browser/urllineedit.cpp340
-rw-r--r--examples/gestures/browser/urllineedit.h115
-rw-r--r--examples/gestures/browser/webview.cpp363
-rw-r--r--examples/gestures/browser/webview.h124
-rw-r--r--examples/gestures/browser/xbel.cpp320
-rw-r--r--examples/gestures/browser/xbel.h113
-rw-r--r--examples/gestures/collidingmice/collidingmice.pro18
-rw-r--r--examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp213
-rw-r--r--examples/gestures/collidingmice/gesturerecognizerlinjazax.h106
-rw-r--r--examples/gestures/collidingmice/images/cheese.jpgbin3029 -> 0 bytes-rw-r--r--examples/gestures/collidingmice/linjazaxgesture.h102
-rw-r--r--examples/gestures/collidingmice/main.cpp163
-rw-r--r--examples/gestures/collidingmice/mice.qrc5
-rw-r--r--examples/gestures/collidingmice/mouse.cpp200
-rw-r--r--examples/gestures/collidingmice/mouse.h72
-rw-r--r--examples/gestures/gestures.pro9
-rw-r--r--examples/gestures/graphicsview/graphicsview.pro2
-rw-r--r--examples/gestures/graphicsview/main.cpp150
-rw-r--r--examples/gestures/imageviewer/imageviewer.pro11
-rw-r--r--examples/gestures/imageviewer/imagewidget.cpp106
-rw-r--r--examples/gestures/imageviewer/imagewidget.h16
-rw-r--r--examples/gestures/imageviewer/main.cpp3
-rw-r--r--examples/gestures/imageviewer/tapandholdgesture.cpp138
-rw-r--r--examples/gestures/imageviewer/tapandholdgesture.h73
-rw-r--r--examples/gestures/pannablewebview/main.cpp90
-rw-r--r--examples/gestures/pannablewebview/pannablewebview.pro4
-rw-r--r--examples/graphicsview/collidingmice/mouse.cpp4
-rw-r--r--examples/ipc/ipc.pro3
-rw-r--r--examples/itemviews/chart/chart.pro2
-rw-r--r--examples/itemviews/frozencolumn/freezetablewidget.h1
-rw-r--r--examples/itemviews/frozencolumn/main.cpp1
-rw-r--r--examples/mainwindows/application/main.cpp2
-rw-r--r--examples/mainwindows/application/mainwindow.cpp7
-rw-r--r--examples/mainwindows/mdi/mainwindow.cpp1
-rw-r--r--examples/mainwindows/recentfiles/main.cpp2
-rw-r--r--examples/mainwindows/recentfiles/mainwindow.cpp12
-rw-r--r--examples/mainwindows/sdi/main.cpp2
-rw-r--r--examples/mainwindows/sdi/mainwindow.cpp8
-rw-r--r--examples/multimedia/README34
-rw-r--r--examples/multimedia/audio/audio.pro10
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.cpp272
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.h79
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.pro12
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevicesbase.ui255
-rw-r--r--examples/multimedia/audio/audiodevices/main.cpp55
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.cpp376
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.h144
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.pro12
-rw-r--r--examples/multimedia/audio/audioinput/main.cpp55
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.cpp280
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.h112
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.pro11
-rw-r--r--examples/multimedia/audio/audiooutput/main.cpp56
-rw-r--r--examples/multimedia/multimedia.pro8
-rw-r--r--examples/network/ftp/sym_iap_util.h4
-rw-r--r--examples/network/network.pro4
-rw-r--r--examples/opengl/hellogl_es2/glwidget.cpp3
-rw-r--r--examples/openvg/README40
-rw-r--r--examples/openvg/openvg.pro8
-rw-r--r--examples/openvg/star/main.cpp54
-rw-r--r--examples/openvg/star/star.pro6
-rw-r--r--examples/openvg/star/starwidget.cpp115
-rw-r--r--examples/openvg/star/starwidget.h66
-rw-r--r--examples/painting/painterpaths/painterpaths.pro4
-rw-r--r--examples/phonon/musicplayer/mainwindow.cpp5
-rw-r--r--examples/qws/qws.pro4
-rw-r--r--examples/script/customclass/bytearrayclass.cpp9
-rw-r--r--examples/script/customclass/main.cpp4
-rw-r--r--examples/script/qsdbg/scriptdebugger.h2
-rw-r--r--examples/statemachine/factorial/main.cpp4
-rw-r--r--examples/statemachine/statemachine.pro4
-rw-r--r--examples/statemachine/tankgame/gameitem.cpp129
-rw-r--r--examples/statemachine/tankgame/gameitem.h66
-rw-r--r--examples/statemachine/tankgame/gameovertransition.cpp80
-rw-r--r--examples/statemachine/tankgame/gameovertransition.h63
-rw-r--r--examples/statemachine/tankgame/main.cpp53
-rw-r--r--examples/statemachine/tankgame/mainwindow.cpp342
-rw-r--r--examples/statemachine/tankgame/mainwindow.h93
-rw-r--r--examples/statemachine/tankgame/plugin.h62
-rw-r--r--examples/statemachine/tankgame/rocketitem.cpp101
-rw-r--r--examples/statemachine/tankgame/rocketitem.h66
-rw-r--r--examples/statemachine/tankgame/tankgame.pro19
-rw-r--r--examples/statemachine/tankgame/tankitem.cpp302
-rw-r--r--examples/statemachine/tankgame/tankitem.h109
-rw-r--r--examples/statemachine/tankgameplugins/random_ai/random_ai.pro13
-rw-r--r--examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp78
-rw-r--r--examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h105
-rw-r--r--examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp89
-rw-r--r--examples/statemachine/tankgameplugins/seek_ai/seek_ai.h249
-rw-r--r--examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro13
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp70
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai/spin_ai.h92
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro13
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp70
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h92
-rw-r--r--examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro13
-rw-r--r--examples/statemachine/tankgameplugins/tankgameplugins.pro11
-rw-r--r--examples/threads/mandelbrot/mandelbrot.pro2
-rw-r--r--examples/tools/codecs/encodedfiles/.gitattributes2
-rw-r--r--examples/tools/codecs/encodedfiles/iso-8859-1.txt12
-rw-r--r--examples/tools/codecs/encodedfiles/iso-8859-15.txt16
-rw-r--r--examples/tools/completer/mainwindow.cpp24
-rw-r--r--examples/tools/completer/mainwindow.h3
-rw-r--r--examples/tools/regexp/regexpdialog.cpp1
-rw-r--r--examples/uitools/textfinder/forms/input.txt2
-rw-r--r--examples/widgets/softkeys/main.cpp4
-rw-r--r--examples/widgets/softkeys/softkeys.cpp4
-rw-r--r--examples/widgets/softkeys/softkeys.h4
-rw-r--r--examples/widgets/tablet/tabletcanvas.cpp33
-rw-r--r--examples/xml/htmlinfo/main.cpp8
-rw-r--r--examples/xmlpatterns/schema/files/contact.xsd25
-rw-r--r--examples/xmlpatterns/schema/files/invalid_contact.xml11
-rw-r--r--examples/xmlpatterns/schema/files/invalid_order.xml13
-rw-r--r--examples/xmlpatterns/schema/files/invalid_recipe.xml14
-rw-r--r--examples/xmlpatterns/schema/files/order.xsd23
-rw-r--r--examples/xmlpatterns/schema/files/recipe.xsd40
-rw-r--r--examples/xmlpatterns/schema/files/valid_contact.xml11
-rw-r--r--examples/xmlpatterns/schema/files/valid_order.xml18
-rw-r--r--examples/xmlpatterns/schema/files/valid_recipe.xml13
-rw-r--r--examples/xmlpatterns/schema/main.cpp54
-rw-r--r--examples/xmlpatterns/schema/mainwindow.cpp218
-rw-r--r--examples/xmlpatterns/schema/mainwindow.h68
-rw-r--r--examples/xmlpatterns/schema/schema.pro11
-rw-r--r--examples/xmlpatterns/schema/schema.qrc13
-rw-r--r--examples/xmlpatterns/schema/schema.ui71
-rw-r--r--examples/xmlpatterns/trafficinfo/mainwindow.cpp4
-rw-r--r--examples/xmlpatterns/xmlpatterns.pro3
-rw-r--r--mkspecs/common/symbian/fixed_stdlib.h8
-rw-r--r--mkspecs/common/symbian/qplatformdefs.h6
-rw-r--r--mkspecs/common/symbian/symbian.conf4
-rw-r--r--mkspecs/features/moc.prf11
-rw-r--r--mkspecs/features/qt.prf4
-rw-r--r--mkspecs/features/uic.prf2
-rw-r--r--mkspecs/features/unix/openvg.prf10
-rw-r--r--mkspecs/features/vxworks.prf63
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qt.xml2
-rw-r--r--mkspecs/unsupported/qnx-g++/qmake.conf59
-rw-r--r--mkspecs/unsupported/qnx-g++/qplatformdefs.h172
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf102
-rw-r--r--mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf97
-rw-r--r--mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf97
-rw-r--r--mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf111
-rw-r--r--mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qmake.conf37
-rw-r--r--mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf110
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h42
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf37
-rw-r--r--mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h128
-rw-r--r--mkspecs/win32-g++/qplatformdefs.h2
-rw-r--r--mkspecs/win32-mwc/qplatformdefs.h6
-rw-r--r--qmake/Makefile.unix9
-rw-r--r--qmake/Makefile.win3211
-rw-r--r--qmake/Makefile.win32-g++9
-rw-r--r--qmake/Makefile.win32-g++-sh9
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp2
-rw-r--r--qmake/generators/makefile.cpp70
-rw-r--r--qmake/generators/makefiledeps.cpp14
-rw-r--r--qmake/generators/metamakefile.cpp91
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.cpp82
-rw-r--r--qmake/generators/symbian/initprojectdeploy_symbian.h11
-rw-r--r--qmake/generators/symbian/symmake.cpp521
-rw-r--r--qmake/generators/symbian/symmake.h69
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp51
-rw-r--r--qmake/generators/symbian/symmake_abld.h10
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp51
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.h10
-rw-r--r--qmake/generators/win32/msvc_dsp.cpp2
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp20
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp48
-rw-r--r--qmake/option.cpp17
-rw-r--r--qmake/option.h3
-rw-r--r--qmake/project.cpp50
-rw-r--r--qmake/qmake.pri4
-rw-r--r--qmake/qmake.pro1
-rw-r--r--qmake/qpopen.cpp40
-rw-r--r--qmake/qpopen.h8
-rw-r--r--src/3rdparty/freetype/builds/unix/ftsystem.c9
-rw-r--r--src/3rdparty/libjpeg/jmorecfg.h5
-rw-r--r--src/3rdparty/libpng/pngconf.h2
-rw-r--r--src/3rdparty/libtiff/libtiff/tif_config.h2
-rw-r--r--src/3rdparty/patches/freetype-2.3.6-vxworks.patch35
-rw-r--r--src/3rdparty/patches/libjpeg-6b-vxworks.patch23
-rw-r--r--src/3rdparty/patches/libpng-1.2.20-vxworks.patch13
-rw-r--r--src/3rdparty/patches/libtiff-3.8.2-vxworks.patch11
-rw-r--r--src/3rdparty/patches/sqlite-3.5.6-vxworks.patch68
-rw-r--r--src/3rdparty/phonon/ds9/abstractvideorenderer.cpp4
-rw-r--r--src/3rdparty/phonon/ds9/backend.cpp6
-rw-r--r--src/3rdparty/phonon/ds9/backendnode.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/fakesource.cpp34
-rw-r--r--src/3rdparty/phonon/ds9/iodevicereader.cpp13
-rw-r--r--src/3rdparty/phonon/ds9/mediagraph.cpp8
-rw-r--r--src/3rdparty/phonon/ds9/mediaobject.cpp71
-rw-r--r--src/3rdparty/phonon/ds9/qaudiocdreader.cpp54
-rw-r--r--src/3rdparty/phonon/ds9/qbasefilter.cpp7
-rw-r--r--src/3rdparty/phonon/ds9/qmeminputpin.cpp13
-rw-r--r--src/3rdparty/phonon/ds9/qpin.cpp39
-rw-r--r--src/3rdparty/phonon/ds9/videorenderer_soft.cpp38
-rw-r--r--src/3rdparty/phonon/ds9/videowidget.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/volumeeffect.cpp12
-rw-r--r--src/3rdparty/phonon/phonon/abstractmediastream.h2
-rw-r--r--src/3rdparty/phonon/phonon/audiooutput.cpp14
-rw-r--r--src/3rdparty/phonon/phonon/backendcapabilities.cpp14
-rw-r--r--src/3rdparty/phonon/phonon/backendcapabilities.h13
-rw-r--r--src/3rdparty/phonon/phonon/effect.cpp6
-rw-r--r--src/3rdparty/phonon/phonon/effectwidget.cpp10
-rw-r--r--src/3rdparty/phonon/phonon/factory.cpp43
-rw-r--r--src/3rdparty/phonon/phonon/iodevicestream_p.h2
-rw-r--r--src/3rdparty/phonon/phonon/medianode.cpp4
-rw-r--r--src/3rdparty/phonon/phonon/mediaobject.cpp12
-rw-r--r--src/3rdparty/phonon/phonon/mediaobject.h22
-rw-r--r--src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp4
-rw-r--r--src/3rdparty/phonon/phonon/objectdescriptionmodel.h8
-rw-r--r--src/3rdparty/phonon/phonon/path.cpp24
-rw-r--r--src/3rdparty/sqlite/sqlite3.c25
-rw-r--r--src/3rdparty/webkit/ChangeLog170
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog1748
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi452
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri68
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp353
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h706
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h41
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h322
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h17
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h305
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h195
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h797
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h18
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h25
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h136
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h44
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp31
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h49
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp87
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h14
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h2
-rwxr-xr-xsrc/3rdparty/webkit/JavaScriptCore/create_hash_table2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp1656
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h109
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp564
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h71
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp57
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JIT.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp13
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp37
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp69
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jsc.cpp12
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jsc.pro31
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h5
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Parser.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp68
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp40
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h28
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp41
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp53
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp22
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h11
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp36
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h11
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h6
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h122
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h15
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h16
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp216
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h177
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp171
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h80
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c170
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp20
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h6
-rw-r--r--src/3rdparty/webkit/VERSION6
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog12814
-rw-r--r--src/3rdparty/webkit/WebCore/DerivedSources.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi3396
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.order1
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro1189
-rw-r--r--src/3rdparty/webkit/WebCore/WebCorePrefix.h20
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp362
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h163
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h1
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h57
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/GCController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h8
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h138
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h13
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h1
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp283
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp298
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h9
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h59
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h56
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h7
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp107
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h59
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h4
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h12
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h48
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h5
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm2
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm24
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm240
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm17
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm495
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm20
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h8
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npapi.h10
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h3
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime.h6
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_root.h2
-rw-r--r--src/3rdparty/webkit/WebCore/config.h11
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h5
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSGrammar.y17
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSHelper.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSHelper.h15
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.cpp378
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h32
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h41
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in4
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRule.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelector.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelector.h7
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelectorList.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h12
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValue.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in13
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueList.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueList.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaList.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQuery.h3
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h3
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryExp.h6
-rw-r--r--src/3rdparty/webkit/WebCore/css/RGBColor.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/css/RGBColor.h58
-rw-r--r--src/3rdparty/webkit/WebCore/css/RGBColor.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/css/ShadowValue.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/css/ShadowValue.h10
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheet.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h2
-rw-r--r--src/3rdparty/webkit/WebCore/css/html.css615
-rw-r--r--src/3rdparty/webkit/WebCore/css/html4.css617
-rw-r--r--src/3rdparty/webkit/WebCore/css/makeprop.pl6
-rw-r--r--src/3rdparty/webkit/WebCore/css/makevalues.pl6
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControls.css13
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControlsQT.css113
-rw-r--r--src/3rdparty/webkit/WebCore/css/themeWin.css2
-rw-r--r--src/3rdparty/webkit/WebCore/css/tokenizer.flex1
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClassNames.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Comment.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.h21
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h9
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EditingText.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.h9
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.h74
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.h5
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventListener.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.h10
-rw-r--r--src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/dom/InputElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h6
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeRareData.h21
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Notation.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Position.h4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Range.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Range.h6
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StyledElement.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Text.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Text.h4
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp21
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/dom/make_names.pl22
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/Editor.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/editing/Editor.h1
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h8
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TextIterator.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/editing/htmlediting.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/editing/htmlediting.h11
-rw-r--r--src/3rdparty/webkit/WebCore/editing/markup.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/editing/visible_units.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp2459
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.h162
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp1105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h538
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c2652
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h577
-rw-r--r--src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Grammar.cpp1656
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Grammar.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLNames.h7
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp227
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAttr.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAttr.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCDATASection.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCharacterData.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSComment.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSComment.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp1638
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp158
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.cpp308
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentType.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.cpp231
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntity.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntity.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntityReference.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp203
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp127
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp290
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h3
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp152
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp102
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp51
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h7
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp773
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h138
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp769
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorController.h138
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNotation.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNotation.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGColor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp200
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h3
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp151
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h13
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSText.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSText.h6
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSUIEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp181
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.h31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h8
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h9
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/Lexer.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/MathObject.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/NumberConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/RegExpConstructor.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/RegExpObject.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/StringPrototype.lut.h2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h4
-rw-r--r--src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp772
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp528
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.h64
-rw-r--r--src/3rdparty/webkit/WebCore/generated/tokenizer.cpp2919
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardList.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardList.h2
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedFrame.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedFrame.h2
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.h9
-rw-r--r--src/3rdparty/webkit/WebCore/history/PageCache.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/history/PageCache.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/html/CanvasRenderingContext2D.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/CanvasStyle.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.h69
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.h47
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.h21
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridDataSource.h7
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h68
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl24
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h35
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl24
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl14
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.h16
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h11
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h23
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl18
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDListElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp75
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h23
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp32
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h10
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.h14
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.idl1
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h13
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp162
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl7
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h15
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLModElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOListElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParamElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTagNames.in11
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h5
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h4
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLUListElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/html/ImageData.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/html/PreloadScanner.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/TimeRanges.h3
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.h58
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp363
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h140
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl101
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.h78
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.idl94
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h1
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptDebugServer.h3
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptProfileNode.cpp20
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js23
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js94
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js57
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Console.js121
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DatabasesPanel.js2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js146
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/KeyboardShortcut.js108
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js45
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js10
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js13
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js83
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js41
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js7
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js89
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc2
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css60
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html5
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js74
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Cache.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/loader/EmptyClients.h20
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.h20
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h9
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.h48
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ProgressTracker.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/TextDocument.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h7
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp159
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h11
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h3
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp249
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h30
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/loader.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/loader/loader.h11
-rw-r--r--src/3rdparty/webkit/WebCore/page/BarInfo.cpp28
-rw-r--r--src/3rdparty/webkit/WebCore/page/Chrome.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/page/ChromeClient.h16
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.cpp123
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.h19
-rw-r--r--src/3rdparty/webkit/WebCore/page/ContextMenuController.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/Coordinates.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.h60
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.idl10
-rw-r--r--src/3rdparty/webkit/WebCore/page/DragController.cpp212
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.h13
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.h4
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.cpp197
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.h456
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameTree.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp236
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.h40
-rw-r--r--src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h5
-rw-r--r--src/3rdparty/webkit/WebCore/page/NavigatorBase.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/page/Page.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/Page.h4
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroup.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.h12
-rw-r--r--src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp142
-rw-r--r--src/3rdparty/webkit/WebCore/page/XSSAuditor.h24
-rw-r--r--src/3rdparty/webkit/WebCore/page/android/DragControllerAndroid.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/android/EventHandlerAndroid.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp147
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h2
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/FrameWin.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ContextMenu.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DragImage.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/EventLoop.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FileSystem.h38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/HostWindow.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Logging.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Pasteboard.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h17
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Scrollbar.h15
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Theme.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThemeTypes.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadTimers.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Timer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/TreeShared.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Widget.cpp106
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Widget.h26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Color.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontData.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h11
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphWidthMap.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp22
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Image.h16
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Path.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SegmentedFontData.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp230
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontFallbackListQt.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h34
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt43.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/IconQt.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageSourceQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp15
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/TransformationMatrixQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm16
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm13
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm74
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubs.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp17
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.cpp123
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.h114
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h12
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp26
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorInternalICU.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodec.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/android/TextBreakIteratorInternalICU.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm96
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextBoundaries.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp21
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h19
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDebug.h37
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.h4
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp157
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/CounterNode.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.h8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineBox.h39
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h14
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/LayoutState.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp309
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h97
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp121
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.h21
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlockLineLayout.cpp2264
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp247
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderButton.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp136
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h22
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.h5
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.h28
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp19
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h30
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListBox.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp209
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.h25
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObject.h8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp16
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPart.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSlider.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTheme.h10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm30
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp23
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.cpp667
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.h147
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderView.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderView.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidget.h7
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TransformState.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/bidi.cpp2231
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/bidi.h65
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h10
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h13
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h9
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h20
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h2
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.h3
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTask.h15
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp27
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.h8
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h2
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.h6
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageArea.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageArea.h55
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp261
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h85
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h14
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp14
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.h15
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespace.h33
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h74
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h12
-rw-r--r--src/3rdparty/webkit/WebCore/svg/GradientAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/PatternAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.h4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGList.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGListTraits.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSetElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h6
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.h1
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SynchronizableTypeWrapper.h2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp9
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h3
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLCardElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp11
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDoElement.h1
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp7
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp29
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPageState.h4
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp331
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h21
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.h86
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.cpp101
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.h64
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h70
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.h61
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.cpp103
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.h34
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.idl21
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp51
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.h26
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.idl15
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h5
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h2
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h11
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerObjectProxy.h7
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp3
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h20
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h1
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp8
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathGrammar.y4
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathParser.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathPath.h3
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathPredicate.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathStep.h2
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit.pri23
-rw-r--r--src/3rdparty/webkit/WebKit/ChangeLog181
-rw-r--r--src/3rdparty/webkit/WebKit/StringsNotToBeLocalized.txt9
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/headers.pri4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.cpp40
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp62
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h91
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp287
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h21
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h28
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp17
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h11
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp14
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp171
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h13
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpluginfactory.h17
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp15
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin_p.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp64
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp52
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.h53
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog857
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp22
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp77
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h8
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebKit_pch.h3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc28
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qwebview-diagram.pngbin0 -> 9036 bytes-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.cpp105
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/loading/tst_loading.pro6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.cpp109
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/benchmarks/painting/tst_painting.pro6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.qrc2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test1.html1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/test2.html1
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp230
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe.html6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe2.html7
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/frametest/iframe3.html5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp76
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/tests.pro1
-rw-r--r--src/activeqt/container/qaxbase.cpp72
-rw-r--r--src/activeqt/container/qaxdump.cpp4
-rw-r--r--src/activeqt/container/qaxobject.cpp12
-rw-r--r--src/activeqt/container/qaxscript.cpp22
-rw-r--r--src/activeqt/container/qaxselect.cpp34
-rw-r--r--src/activeqt/container/qaxwidget.cpp110
-rw-r--r--src/activeqt/control/qaxfactory.cpp12
-rw-r--r--src/activeqt/control/qaxserver.cpp18
-rw-r--r--src/activeqt/control/qaxserverbase.cpp276
-rw-r--r--src/activeqt/control/qaxserverdll.cpp4
-rw-r--r--src/activeqt/control/qaxservermain.cpp15
-rw-r--r--src/activeqt/shared/qaxtypes.cpp15
-rw-r--r--src/activeqt/shared/qaxtypes.h3
-rw-r--r--src/corelib/animation/qabstractanimation.cpp84
-rw-r--r--src/corelib/animation/qabstractanimation.h2
-rw-r--r--src/corelib/animation/qabstractanimation_p.h10
-rw-r--r--src/corelib/animation/qanimationgroup.h2
-rw-r--r--src/corelib/animation/qanimationgroup_p.h4
-rw-r--r--src/corelib/animation/qparallelanimationgroup.cpp3
-rw-r--r--src/corelib/animation/qparallelanimationgroup.h2
-rw-r--r--src/corelib/animation/qparallelanimationgroup_p.h4
-rw-r--r--src/corelib/animation/qpauseanimation.h2
-rw-r--r--src/corelib/animation/qpropertyanimation.cpp18
-rw-r--r--src/corelib/animation/qpropertyanimation.h2
-rw-r--r--src/corelib/animation/qpropertyanimation_p.h6
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.cpp4
-rw-r--r--src/corelib/animation/qsequentialanimationgroup.h2
-rw-r--r--src/corelib/animation/qsequentialanimationgroup_p.h3
-rw-r--r--src/corelib/animation/qvariantanimation.cpp2
-rw-r--r--src/corelib/animation/qvariantanimation.h4
-rw-r--r--src/corelib/animation/qvariantanimation_p.h4
-rw-r--r--src/corelib/arch/arch.pri2
-rw-r--r--src/corelib/arch/qatomic_arch.h4
-rw-r--r--src/corelib/arch/qatomic_powerpc.h2
-rw-r--r--src/corelib/arch/qatomic_symbian.h8
-rw-r--r--src/corelib/arch/qatomic_vxworks.h318
-rw-r--r--src/corelib/arch/symbian/qatomic_symbian.cpp8
-rw-r--r--src/corelib/arch/vxworks/arch.pri6
-rw-r--r--src/corelib/arch/vxworks/qatomic_ppc.s415
-rw-r--r--src/corelib/codecs/qiconvcodec.cpp10
-rw-r--r--src/corelib/codecs/qtextcodec.cpp55
-rw-r--r--src/corelib/codecs/qtextcodec_p.h27
-rw-r--r--src/corelib/codecs/qutfcodec.cpp349
-rw-r--r--src/corelib/codecs/qutfcodec_p.h53
-rw-r--r--src/corelib/concurrent/qfuture.h2
-rw-r--r--src/corelib/concurrent/qfuturewatcher.h2
-rw-r--r--src/corelib/concurrent/qtconcurrentiteratekernel.cpp10
-rw-r--r--src/corelib/concurrent/qtconcurrentmap.cpp3
-rw-r--r--src/corelib/concurrent/qtconcurrentthreadengine.h6
-rw-r--r--src/corelib/concurrent/qthreadpool.h2
-rw-r--r--src/corelib/global/qglobal.cpp120
-rw-r--r--src/corelib/global/qglobal.h177
-rw-r--r--src/corelib/global/qnamespace.h32
-rw-r--r--src/corelib/global/qt_windows.h37
-rw-r--r--src/corelib/io/io.pri5
-rw-r--r--src/corelib/io/qabstractfileengine.cpp22
-rw-r--r--src/corelib/io/qabstractfileengine.h2
-rw-r--r--src/corelib/io/qbuffer.h2
-rw-r--r--src/corelib/io/qdatastream.cpp10
-rw-r--r--src/corelib/io/qdir.h2
-rw-r--r--src/corelib/io/qdiriterator.cpp231
-rw-r--r--src/corelib/io/qfile.h2
-rw-r--r--src/corelib/io/qfileinfo.cpp6
-rw-r--r--src/corelib/io/qfileinfo.h2
-rw-r--r--src/corelib/io/qfilesystemwatcher.cpp18
-rw-r--r--src/corelib/io/qfilesystemwatcher.h2
-rw-r--r--src/corelib/io/qfilesystemwatcher_dnotify.cpp20
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents.cpp472
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents_p.h128
-rw-r--r--src/corelib/io/qfilesystemwatcher_inotify.cpp40
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp5
-rw-r--r--src/corelib/io/qfilesystemwatcher_p.h7
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian.cpp8
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian_p.h8
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp435
-rw-r--r--src/corelib/io/qfilesystemwatcher_win_p.h53
-rw-r--r--src/corelib/io/qfsfileengine.cpp6
-rw-r--r--src/corelib/io/qfsfileengine.h2
-rw-r--r--src/corelib/io/qfsfileengine_iterator_win.cpp32
-rw-r--r--src/corelib/io/qfsfileengine_p.h4
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp24
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp935
-rw-r--r--src/corelib/io/qiodevice.h2
-rw-r--r--src/corelib/io/qprocess.cpp6
-rw-r--r--src/corelib/io/qprocess.h2
-rw-r--r--src/corelib/io/qprocess_symbian.cpp8
-rw-r--r--src/corelib/io/qprocess_unix.cpp285
-rw-r--r--src/corelib/io/qprocess_win.cpp231
-rw-r--r--src/corelib/io/qresource.cpp15
-rw-r--r--src/corelib/io/qresource.h2
-rw-r--r--src/corelib/io/qresource_iterator.cpp8
-rw-r--r--src/corelib/io/qresource_iterator_p.h4
-rw-r--r--src/corelib/io/qresource_p.h2
-rw-r--r--src/corelib/io/qsettings.cpp43
-rw-r--r--src/corelib/io/qsettings.h2
-rw-r--r--src/corelib/io/qsettings_win.cpp209
-rw-r--r--src/corelib/io/qtemporaryfile.cpp26
-rw-r--r--src/corelib/io/qtemporaryfile.h2
-rw-r--r--src/corelib/io/qtextstream.h2
-rw-r--r--src/corelib/io/qurl.cpp318
-rw-r--r--src/corelib/kernel/kernel.pri46
-rw-r--r--src/corelib/kernel/qabstracteventdispatcher.cpp25
-rw-r--r--src/corelib/kernel/qabstracteventdispatcher.h2
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp57
-rw-r--r--src/corelib/kernel/qabstractitemmodel.h6
-rw-r--r--src/corelib/kernel/qabstractitemmodel_p.h5
-rw-r--r--src/corelib/kernel/qcore_symbian_p.cpp8
-rw-r--r--src/corelib/kernel/qcore_symbian_p.h8
-rw-r--r--src/corelib/kernel/qcore_unix.cpp163
-rw-r--r--src/corelib/kernel/qcore_unix_p.h323
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp79
-rw-r--r--src/corelib/kernel/qcoreapplication.h2
-rw-r--r--src/corelib/kernel/qcoreapplication_win.cpp106
-rw-r--r--src/corelib/kernel/qcorecmdlineargs_p.h9
-rw-r--r--src/corelib/kernel/qcoreevent.cpp5
-rw-r--r--src/corelib/kernel/qcoreevent.h3
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp1
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib_p.h2
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp8
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h12
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix.cpp189
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix_p.h59
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp89
-rw-r--r--src/corelib/kernel/qeventdispatcher_win_p.h2
-rw-r--r--src/corelib/kernel/qeventloop.h2
-rw-r--r--src/corelib/kernel/qfunctions_p.h2
-rw-r--r--src/corelib/kernel/qfunctions_vxworks.cpp202
-rw-r--r--src/corelib/kernel/qfunctions_vxworks.h153
-rw-r--r--src/corelib/kernel/qfunctions_wince.cpp12
-rw-r--r--src/corelib/kernel/qfunctions_wince.h6
-rw-r--r--src/corelib/kernel/qguard_p.h157
-rw-r--r--src/corelib/kernel/qmath.h4
-rw-r--r--src/corelib/kernel/qmetaobject.cpp136
-rw-r--r--src/corelib/kernel/qmetaobject.h4
-rw-r--r--src/corelib/kernel/qmetatype.cpp27
-rw-r--r--src/corelib/kernel/qmetatype.h14
-rw-r--r--src/corelib/kernel/qmimedata.cpp2
-rw-r--r--src/corelib/kernel/qmimedata.h2
-rw-r--r--src/corelib/kernel/qobject.cpp152
-rw-r--r--src/corelib/kernel/qobject.h13
-rw-r--r--src/corelib/kernel/qobject_p.h146
-rw-r--r--src/corelib/kernel/qobjectdefs.h5
-rw-r--r--src/corelib/kernel/qsharedmemory.h2
-rw-r--r--src/corelib/kernel/qsharedmemory_symbian.cpp8
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp11
-rw-r--r--src/corelib/kernel/qsharedmemory_win.cpp19
-rw-r--r--src/corelib/kernel/qsignalmapper.h2
-rw-r--r--src/corelib/kernel/qsocketnotifier.h2
-rw-r--r--src/corelib/kernel/qsystemsemaphore_symbian.cpp8
-rw-r--r--src/corelib/kernel/qsystemsemaphore_win.cpp6
-rw-r--r--src/corelib/kernel/qtimer.cpp5
-rw-r--r--src/corelib/kernel/qtranslator.cpp3
-rw-r--r--src/corelib/kernel/qtranslator.h2
-rw-r--r--src/corelib/kernel/qvariant.cpp11
-rw-r--r--src/corelib/kernel/qvariant.h7
-rw-r--r--src/corelib/kernel/qwineventnotifier_p.h2
-rw-r--r--src/corelib/plugin/qfactoryloader_p.h2
-rw-r--r--src/corelib/plugin/qlibrary.cpp13
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp22
-rw-r--r--src/corelib/plugin/qlibrary_win.cpp34
-rw-r--r--src/corelib/plugin/qplugin.h19
-rw-r--r--src/corelib/statemachine/qabstractstate.h2
-rw-r--r--src/corelib/statemachine/qabstracttransition.cpp37
-rw-r--r--src/corelib/statemachine/qabstracttransition.h5
-rw-r--r--src/corelib/statemachine/qeventtransition.cpp30
-rw-r--r--src/corelib/statemachine/qeventtransition.h7
-rw-r--r--src/corelib/statemachine/qfinalstate.h2
-rw-r--r--src/corelib/statemachine/qhistorystate.h2
-rw-r--r--src/corelib/statemachine/qsignalevent.h6
-rw-r--r--src/corelib/statemachine/qsignaltransition.cpp15
-rw-r--r--src/corelib/statemachine/qsignaltransition.h5
-rw-r--r--src/corelib/statemachine/qstate.cpp34
-rw-r--r--src/corelib/statemachine/qstate.h4
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp374
-rw-r--r--src/corelib/statemachine/qstatemachine.h24
-rw-r--r--src/corelib/statemachine/qstatemachine_p.h29
-rw-r--r--src/corelib/thread/qmutex_unix.cpp4
-rw-r--r--src/corelib/thread/qmutex_win.cpp16
-rw-r--r--src/corelib/thread/qreadwritelock.h3
-rw-r--r--src/corelib/thread/qthread.cpp11
-rw-r--r--src/corelib/thread/qthread.h4
-rw-r--r--src/corelib/thread/qthread_p.h2
-rw-r--r--src/corelib/thread/qthread_unix.cpp43
-rw-r--r--src/corelib/thread/qthread_win.cpp40
-rw-r--r--src/corelib/thread/qwaitcondition_win.cpp6
-rw-r--r--src/corelib/tools/qbytearraymatcher.h11
-rw-r--r--src/corelib/tools/qbytedata_p.h213
-rw-r--r--src/corelib/tools/qchar.cpp38
-rw-r--r--src/corelib/tools/qcontiguouscache.cpp18
-rw-r--r--src/corelib/tools/qcontiguouscache.h29
-rw-r--r--src/corelib/tools/qdatetime.cpp15
-rw-r--r--src/corelib/tools/qeasingcurve.cpp176
-rw-r--r--src/corelib/tools/qlocale.cpp148
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp4
-rw-r--r--src/corelib/tools/qpoint.cpp2
-rw-r--r--src/corelib/tools/qregexp.cpp344
-rw-r--r--src/corelib/tools/qregexp.h2
-rw-r--r--src/corelib/tools/qringbuffer_p.h50
-rw-r--r--src/corelib/tools/qscopedpointer.cpp4
-rw-r--r--src/corelib/tools/qscopedpointer.h6
-rw-r--r--src/corelib/tools/qshareddata.cpp2
-rw-r--r--src/corelib/tools/qsharedpointer.cpp269
-rw-r--r--src/corelib/tools/qsharedpointer.h3
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h252
-rw-r--r--src/corelib/tools/qstring.cpp168
-rw-r--r--src/corelib/tools/qstring.h2
-rw-r--r--src/corelib/tools/qstringbuilder.h18
-rw-r--r--src/corelib/tools/qstringlist.cpp1
-rw-r--r--src/corelib/tools/qstringlist.h1
-rw-r--r--src/corelib/tools/qstringmatcher.h11
-rw-r--r--src/corelib/tools/qtimeline.cpp2
-rw-r--r--src/corelib/tools/qtimeline.h2
-rw-r--r--src/corelib/tools/qvector.h8
-rw-r--r--src/corelib/tools/tools.pri3
-rw-r--r--src/corelib/xml/qxmlstream.cpp19
-rw-r--r--src/corelib/xml/qxmlstream.h4
-rw-r--r--src/corelib/xml/qxmlstream_p.h4
-rw-r--r--src/dbus/qdbusabstractadaptor.h2
-rw-r--r--src/dbus/qdbusabstractinterface.cpp252
-rw-r--r--src/dbus/qdbusabstractinterface.h20
-rw-r--r--src/dbus/qdbusabstractinterface_p.h8
-rw-r--r--src/dbus/qdbusargument_p.h3
-rw-r--r--src/dbus/qdbusconnection_p.h5
-rw-r--r--src/dbus/qdbuserror.cpp21
-rw-r--r--src/dbus/qdbuserror.h6
-rw-r--r--src/dbus/qdbusintegrator.cpp100
-rw-r--r--src/dbus/qdbusinterface.cpp146
-rw-r--r--src/dbus/qdbusinterface.h2
-rw-r--r--src/dbus/qdbusinternalfilters.cpp167
-rw-r--r--src/dbus/qdbusmarshaller.cpp48
-rw-r--r--src/dbus/qdbusmessage.cpp78
-rw-r--r--src/dbus/qdbusmessage.h6
-rw-r--r--src/dbus/qdbusmessage_p.h11
-rw-r--r--src/dbus/qdbusmisc.cpp47
-rw-r--r--src/dbus/qdbuspendingcall.cpp38
-rw-r--r--src/dbus/qdbuspendingcall.h5
-rw-r--r--src/dbus/qdbuspendingcall_p.h3
-rw-r--r--src/dbus/qdbusutil_p.h68
-rw-r--r--src/dbus/qdbusxmlgenerator.cpp37
-rw-r--r--src/gui/accessible/accessible.pri3
-rw-r--r--src/gui/accessible/qaccessible.h1
-rw-r--r--src/gui/accessible/qaccessible_mac_cocoa.mm234
-rw-r--r--src/gui/accessible/qaccessible_win.cpp34
-rw-r--r--src/gui/accessible/qaccessiblewidget.cpp2
-rw-r--r--src/gui/dialogs/qabstractpagesetupdialog.h2
-rw-r--r--src/gui/dialogs/qabstractprintdialog.cpp6
-rw-r--r--src/gui/dialogs/qabstractprintdialog.h2
-rw-r--r--src/gui/dialogs/qcolordialog.cpp22
-rw-r--r--src/gui/dialogs/qcolordialog.h2
-rw-r--r--src/gui/dialogs/qcolordialog_mac.mm221
-rw-r--r--src/gui/dialogs/qcolordialog_p.h13
-rw-r--r--src/gui/dialogs/qdialog.cpp3
-rw-r--r--src/gui/dialogs/qdialog.h2
-rw-r--r--src/gui/dialogs/qerrormessage.h2
-rw-r--r--src/gui/dialogs/qfiledialog.cpp65
-rw-r--r--src/gui/dialogs/qfiledialog.h2
-rw-r--r--src/gui/dialogs/qfiledialog_p.h4
-rw-r--r--src/gui/dialogs/qfiledialog_win.cpp667
-rw-r--r--src/gui/dialogs/qfileinfogatherer.cpp7
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp23
-rw-r--r--src/gui/dialogs/qfilesystemmodel.h2
-rw-r--r--src/gui/dialogs/qfontdialog.h2
-rw-r--r--src/gui/dialogs/qfscompleter_p.h4
-rw-r--r--src/gui/dialogs/qinputdialog.h2
-rw-r--r--src/gui/dialogs/qmessagebox.cpp6
-rw-r--r--src/gui/dialogs/qmessagebox.h2
-rw-r--r--src/gui/dialogs/qpagesetupdialog.h2
-rw-r--r--src/gui/dialogs/qpagesetupdialog_win.cpp7
-rw-r--r--src/gui/dialogs/qprintdialog.h2
-rw-r--r--src/gui/dialogs/qprintdialog_win.cpp115
-rw-r--r--src/gui/dialogs/qprintpreviewdialog.h2
-rw-r--r--src/gui/dialogs/qprogressdialog.h2
-rw-r--r--src/gui/dialogs/qsidebar.cpp13
-rw-r--r--src/gui/dialogs/qwizard.cpp18
-rw-r--r--src/gui/dialogs/qwizard.h4
-rw-r--r--src/gui/dialogs/qwizard_win.cpp6
-rw-r--r--src/gui/dialogs/qwizard_win_p.h2
-rw-r--r--src/gui/egl/qegl.cpp11
-rw-r--r--src/gui/egl/qegl_p.h3
-rw-r--r--src/gui/egl/qegl_x11.cpp23
-rw-r--r--src/gui/egl/qeglproperties.cpp25
-rw-r--r--src/gui/egl/qeglproperties_p.h1
-rw-r--r--src/gui/embedded/embedded.pri55
-rw-r--r--src/gui/embedded/qdirectpainter_qws.cpp8
-rw-r--r--src/gui/embedded/qdirectpainter_qws.h2
-rw-r--r--src/gui/embedded/qkbd_qws.cpp8
-rw-r--r--src/gui/embedded/qkbddriverfactory_qws.cpp28
-rw-r--r--src/gui/embedded/qkbdlinuxinput_qws.cpp14
-rw-r--r--src/gui/embedded/qkbdqnx_qws.cpp231
-rw-r--r--src/gui/embedded/qkbdqnx_qws.h76
-rw-r--r--src/gui/embedded/qkbdsl5000_qws.cpp365
-rw-r--r--src/gui/embedded/qkbdsl5000_qws.h92
-rw-r--r--src/gui/embedded/qkbdtty_qws.cpp18
-rw-r--r--src/gui/embedded/qkbdvfb_qws.cpp9
-rw-r--r--src/gui/embedded/qkbdvr41xx_qws.cpp185
-rw-r--r--src/gui/embedded/qkbdvr41xx_qws.h73
-rw-r--r--src/gui/embedded/qkbdyopy_qws.cpp209
-rw-r--r--src/gui/embedded/qkbdyopy_qws.h73
-rw-r--r--src/gui/embedded/qlock.cpp74
-rw-r--r--src/gui/embedded/qmousebus_qws.cpp238
-rw-r--r--src/gui/embedded/qmousebus_qws.h76
-rw-r--r--src/gui/embedded/qmousedriverfactory_qws.cpp42
-rw-r--r--src/gui/embedded/qmouselinuxinput_qws.cpp205
-rw-r--r--src/gui/embedded/qmouselinuxinput_qws.h78
-rw-r--r--src/gui/embedded/qmouselinuxtp_qws.cpp7
-rw-r--r--src/gui/embedded/qmousepc_qws.cpp41
-rw-r--r--src/gui/embedded/qmouseqnx_qws.cpp190
-rw-r--r--src/gui/embedded/qmouseqnx_qws.h79
-rw-r--r--src/gui/embedded/qmousevfb_qws.cpp9
-rw-r--r--src/gui/embedded/qmousevr41xx_qws.cpp250
-rw-r--r--src/gui/embedded/qmousevr41xx_qws.h80
-rw-r--r--src/gui/embedded/qmouseyopy_qws.cpp184
-rw-r--r--src/gui/embedded/qmouseyopy_qws.h80
-rw-r--r--src/gui/embedded/qscreendriverfactory_qws.cpp8
-rw-r--r--src/gui/embedded/qscreenlinuxfb_qws.cpp20
-rw-r--r--src/gui/embedded/qscreenproxy_qws.cpp8
-rw-r--r--src/gui/embedded/qscreenqnx_qws.cpp447
-rw-r--r--src/gui/embedded/qscreenqnx_qws.h82
-rw-r--r--src/gui/embedded/qsoundqss_qws.cpp9
-rw-r--r--src/gui/embedded/qtransportauth_qws.cpp7
-rw-r--r--src/gui/embedded/qtransportauth_qws.h2
-rw-r--r--src/gui/embedded/qunixsocket.cpp18
-rw-r--r--src/gui/embedded/qwindowsystem_qws.cpp37
-rw-r--r--src/gui/embedded/qwindowsystem_qws.h4
-rw-r--r--src/gui/embedded/qwsembedwidget.h2
-rw-r--r--src/gui/embedded/qwsmanager_qws.h2
-rw-r--r--src/gui/graphicsview/graphicsview.pri53
-rw-r--r--src/gui/graphicsview/qgraphicsgridlayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp1204
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h140
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h156
-rw-r--r--src/gui/graphicsview/qgraphicslayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.h2
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.h2
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp36
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp2205
-rw-r--r--src/gui/graphicsview/qgraphicsscene.h48
-rw-r--r--src/gui/graphicsview/qgraphicsscene_bsp.cpp56
-rw-r--r--src/gui/graphicsview/qgraphicsscene_bsp_p.h9
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h140
-rw-r--r--src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp784
-rw-r--r--src/gui/graphicsview/qgraphicsscenebsptreeindex_p.h208
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.cpp247
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.h61
-rw-r--r--src/gui/graphicsview/qgraphicssceneindex.cpp648
-rw-r--r--src/gui/graphicsview/qgraphicssceneindex_p.h182
-rw-r--r--src/gui/graphicsview/qgraphicsscenelinearindex.cpp95
-rw-r--r--src/gui/graphicsview/qgraphicsscenelinearindex_p.h109
-rw-r--r--src/gui/graphicsview/qgraphicstransform.cpp573
-rw-r--r--src/gui/graphicsview/qgraphicstransform.h169
-rw-r--r--src/gui/graphicsview/qgraphicstransform_p.h73
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp282
-rw-r--r--src/gui/graphicsview/qgraphicsview.h2
-rw-r--r--src/gui/graphicsview/qgraphicsview_p.h21
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp58
-rw-r--r--src/gui/graphicsview/qgraphicswidget.h8
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.cpp34
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.h4
-rw-r--r--src/gui/image/image.pri6
-rw-r--r--src/gui/image/qbitmap.cpp3
-rw-r--r--src/gui/image/qimage.cpp48
-rw-r--r--src/gui/image/qimageiohandler.h2
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks.cpp110
-rw-r--r--src/gui/image/qimagepixmapcleanuphooks_p.h89
-rw-r--r--src/gui/image/qmovie.h2
-rw-r--r--src/gui/image/qpaintengine_pic_p.h2
-rw-r--r--src/gui/image/qpicture.cpp2
-rw-r--r--src/gui/image/qpicture.h2
-rw-r--r--src/gui/image/qpixmap.cpp113
-rw-r--r--src/gui/image/qpixmap_mac.cpp100
-rw-r--r--src/gui/image/qpixmap_mac_p.h5
-rw-r--r--src/gui/image/qpixmap_s60.cpp8
-rw-r--r--src/gui/image/qpixmap_win.cpp12
-rw-r--r--src/gui/image/qpixmap_x11.cpp23
-rw-r--r--src/gui/image/qpixmap_x11_p.h12
-rw-r--r--src/gui/image/qpixmapcache.cpp75
-rw-r--r--src/gui/image/qpixmapcache.h2
-rw-r--r--src/gui/image/qpixmapdata_p.h1
-rw-r--r--src/gui/image/qpixmapfilter.cpp10
-rw-r--r--src/gui/image/qpixmapfilter_p.h8
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_p.h8
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp8
-rw-r--r--src/gui/inputmethod/qinputcontext.h2
-rw-r--r--src/gui/inputmethod/qinputcontextplugin.h2
-rw-r--r--src/gui/inputmethod/qmacinputcontext_p.h2
-rw-r--r--src/gui/inputmethod/qwininputcontext_win.cpp116
-rw-r--r--src/gui/inputmethod/qximinputcontext_x11.cpp1
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp282
-rw-r--r--src/gui/itemviews/qabstractitemview.h3
-rw-r--r--src/gui/itemviews/qabstractitemview_p.h30
-rw-r--r--src/gui/itemviews/qabstractproxymodel.h2
-rw-r--r--src/gui/itemviews/qcolumnview.cpp82
-rw-r--r--src/gui/itemviews/qcolumnview.h10
-rw-r--r--src/gui/itemviews/qcolumnview_p.h9
-rw-r--r--src/gui/itemviews/qcolumnviewgrip_p.h2
-rw-r--r--src/gui/itemviews/qdatawidgetmapper.h2
-rw-r--r--src/gui/itemviews/qdirmodel.cpp5
-rw-r--r--src/gui/itemviews/qdirmodel.h2
-rw-r--r--src/gui/itemviews/qfileiconprovider.cpp61
-rw-r--r--src/gui/itemviews/qfileiconprovider.h2
-rw-r--r--src/gui/itemviews/qheaderview.cpp26
-rw-r--r--src/gui/itemviews/qheaderview.h5
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp15
-rw-r--r--src/gui/itemviews/qitemdelegate.h2
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp357
-rw-r--r--src/gui/itemviews/qitemselectionmodel.h2
-rw-r--r--src/gui/itemviews/qlistview.cpp155
-rw-r--r--src/gui/itemviews/qlistview.h2
-rw-r--r--src/gui/itemviews/qlistview_p.h24
-rw-r--r--src/gui/itemviews/qlistwidget.cpp25
-rw-r--r--src/gui/itemviews/qlistwidget.h2
-rw-r--r--src/gui/itemviews/qproxymodel.h2
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp42
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.h2
-rw-r--r--src/gui/itemviews/qstandarditemmodel.h4
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp10
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.h2
-rw-r--r--src/gui/itemviews/qtableview.cpp8
-rw-r--r--src/gui/itemviews/qtableview.h2
-rw-r--r--src/gui/itemviews/qtablewidget.cpp2
-rw-r--r--src/gui/itemviews/qtablewidget.h2
-rw-r--r--src/gui/itemviews/qtreeview.cpp210
-rw-r--r--src/gui/itemviews/qtreeview.h14
-rw-r--r--src/gui/itemviews/qtreeview_p.h38
-rw-r--r--src/gui/itemviews/qtreewidget.cpp8
-rw-r--r--src/gui/itemviews/qtreewidget.h2
-rw-r--r--src/gui/itemviews/qtreewidget_p.h2
-rw-r--r--src/gui/itemviews/qtreewidgetitemiterator.h2
-rw-r--r--src/gui/kernel/kernel.pri13
-rw-r--r--src/gui/kernel/qaction.cpp48
-rw-r--r--src/gui/kernel/qaction.h42
-rw-r--r--src/gui/kernel/qaction_p.h1
-rw-r--r--src/gui/kernel/qactiongroup.h2
-rw-r--r--src/gui/kernel/qapplication.cpp229
-rw-r--r--src/gui/kernel/qapplication.h11
-rw-r--r--src/gui/kernel/qapplication_mac.mm90
-rw-r--r--src/gui/kernel/qapplication_p.h99
-rw-r--r--src/gui/kernel/qapplication_qws.cpp25
-rw-r--r--src/gui/kernel/qapplication_s60.cpp8
-rw-r--r--src/gui/kernel/qapplication_win.cpp623
-rw-r--r--src/gui/kernel/qapplication_x11.cpp64
-rw-r--r--src/gui/kernel/qboxlayout.cpp6
-rw-r--r--src/gui/kernel/qboxlayout.h2
-rw-r--r--src/gui/kernel/qclipboard.h2
-rw-r--r--src/gui/kernel/qclipboard_mac.cpp14
-rw-r--r--src/gui/kernel/qclipboard_s60.cpp8
-rw-r--r--src/gui/kernel/qclipboard_win.cpp10
-rw-r--r--src/gui/kernel/qcocoapanel_mac.mm6
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm39
-rw-r--r--src/gui/kernel/qcocoaview_mac_p.h1
-rw-r--r--src/gui/kernel/qcocoawindow_mac.mm6
-rw-r--r--src/gui/kernel/qcursor.cpp4
-rw-r--r--src/gui/kernel/qcursor_s60.cpp8
-rw-r--r--src/gui/kernel/qcursor_win.cpp48
-rw-r--r--src/gui/kernel/qdesktopwidget.h10
-rw-r--r--src/gui/kernel/qdesktopwidget_mac.mm64
-rw-r--r--src/gui/kernel/qdesktopwidget_mac_p.h3
-rw-r--r--src/gui/kernel/qdesktopwidget_s60.cpp8
-rw-r--r--src/gui/kernel/qdesktopwidget_win.cpp139
-rw-r--r--src/gui/kernel/qdesktopwidget_x11.cpp25
-rw-r--r--src/gui/kernel/qdirectionrecognizer.cpp182
-rw-r--r--src/gui/kernel/qdirectionrecognizer_p.h105
-rw-r--r--src/gui/kernel/qdirectionsimplificator_p.h172
-rw-r--r--src/gui/kernel/qdnd_mac.mm4
-rw-r--r--src/gui/kernel/qdnd_p.h2
-rw-r--r--src/gui/kernel/qdnd_s60.cpp8
-rw-r--r--src/gui/kernel/qdnd_win.cpp75
-rw-r--r--src/gui/kernel/qdnd_x11.cpp2
-rw-r--r--src/gui/kernel/qdrag.h2
-rw-r--r--src/gui/kernel/qevent.cpp300
-rw-r--r--src/gui/kernel/qevent.h35
-rw-r--r--src/gui/kernel/qevent_p.h26
-rw-r--r--src/gui/kernel/qeventdispatcher_glib_qws_p.h2
-rw-r--r--src/gui/kernel/qeventdispatcher_mac.mm22
-rw-r--r--src/gui/kernel/qeventdispatcher_mac_p.h2
-rw-r--r--src/gui/kernel/qeventdispatcher_qws_p.h2
-rw-r--r--src/gui/kernel/qeventdispatcher_s60.cpp8
-rw-r--r--src/gui/kernel/qeventdispatcher_s60_p.h8
-rw-r--r--src/gui/kernel/qeventdispatcher_x11_p.h2
-rw-r--r--src/gui/kernel/qformlayout.cpp6
-rw-r--r--src/gui/kernel/qformlayout.h2
-rw-r--r--src/gui/kernel/qgesture.cpp322
-rw-r--r--src/gui/kernel/qgesture.h104
-rw-r--r--src/gui/kernel/qgesture_p.h38
-rw-r--r--src/gui/kernel/qgesturemanager.cpp644
-rw-r--r--src/gui/kernel/qgesturemanager_p.h126
-rw-r--r--src/gui/kernel/qgesturerecognizer.cpp159
-rw-r--r--src/gui/kernel/qgesturerecognizer.h87
-rw-r--r--src/gui/kernel/qgesturerecognizer_p.h72
-rw-r--r--src/gui/kernel/qgesturestandardrecognizers.cpp306
-rw-r--r--src/gui/kernel/qgesturestandardrecognizers_p.h131
-rw-r--r--src/gui/kernel/qgridlayout.cpp21
-rw-r--r--src/gui/kernel/qgridlayout.h2
-rw-r--r--src/gui/kernel/qguieventdispatcher_glib_p.h2
-rw-r--r--src/gui/kernel/qguifunctions_wince.cpp24
-rw-r--r--src/gui/kernel/qguifunctions_wince.h8
-rw-r--r--src/gui/kernel/qguivariant.cpp161
-rw-r--r--src/gui/kernel/qkeymapper_mac.cpp4
-rw-r--r--src/gui/kernel/qkeymapper_p.h2
-rw-r--r--src/gui/kernel/qkeymapper_s60.cpp8
-rw-r--r--src/gui/kernel/qkeymapper_win.cpp130
-rw-r--r--src/gui/kernel/qlayout.cpp9
-rw-r--r--src/gui/kernel/qlayout.h2
-rw-r--r--src/gui/kernel/qmime_win.cpp148
-rw-r--r--src/gui/kernel/qmultitouch_mac.mm6
-rw-r--r--src/gui/kernel/qmultitouch_mac_p.h4
-rw-r--r--src/gui/kernel/qsessionmanager.h2
-rw-r--r--src/gui/kernel/qshortcut.h2
-rw-r--r--src/gui/kernel/qshortcutmap_p.h2
-rw-r--r--src/gui/kernel/qsound.h2
-rw-r--r--src/gui/kernel/qsound_s60.cpp6
-rw-r--r--src/gui/kernel/qsound_win.cpp40
-rw-r--r--src/gui/kernel/qstackedlayout.h2
-rw-r--r--src/gui/kernel/qstandardgestures.cpp291
-rw-r--r--src/gui/kernel/qstandardgestures.h85
-rw-r--r--src/gui/kernel/qstandardgestures_p.h90
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm137
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h12
-rw-r--r--src/gui/kernel/qt_s60_p.h8
-rw-r--r--src/gui/kernel/qt_x11_p.h12
-rw-r--r--src/gui/kernel/qwhatsthis.cpp9
-rw-r--r--src/gui/kernel/qwidget.cpp231
-rw-r--r--src/gui/kernel/qwidget.h9
-rw-r--r--src/gui/kernel/qwidget_mac.mm138
-rw-r--r--src/gui/kernel/qwidget_p.h7
-rw-r--r--src/gui/kernel/qwidget_s60.cpp8
-rw-r--r--src/gui/kernel/qwidget_win.cpp160
-rw-r--r--src/gui/kernel/qwidget_wince.cpp46
-rw-r--r--src/gui/kernel/qwidgetaction.h2
-rw-r--r--src/gui/kernel/qx11embed_x11.cpp9
-rw-r--r--src/gui/kernel/qx11embed_x11.h4
-rw-r--r--src/gui/math3d/qgenericmatrix.h4
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp58
-rw-r--r--src/gui/math3d/qmatrix4x4.h9
-rw-r--r--src/gui/math3d/qquaternion.cpp53
-rw-r--r--src/gui/math3d/qquaternion.h9
-rw-r--r--src/gui/math3d/qvector2d.cpp46
-rw-r--r--src/gui/math3d/qvector2d.h9
-rw-r--r--src/gui/math3d/qvector3d.cpp55
-rw-r--r--src/gui/math3d/qvector3d.h9
-rw-r--r--src/gui/math3d/qvector4d.cpp57
-rw-r--r--src/gui/math3d/qvector4d.h9
-rw-r--r--src/gui/painting/painting.pri8
-rw-r--r--src/gui/painting/qbackingstore.cpp3
-rw-r--r--src/gui/painting/qblendfunctions.cpp8
-rw-r--r--src/gui/painting/qblendfunctions_armv6_rvct.s4
-rw-r--r--src/gui/painting/qbrush.h9
-rw-r--r--src/gui/painting/qcolormap_s60.cpp4
-rw-r--r--src/gui/painting/qdrawhelper.cpp72
-rw-r--r--src/gui/painting/qdrawhelper_armv6_p.h4
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.inc4
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.s4
-rw-r--r--src/gui/painting/qdrawutil.cpp3
-rw-r--r--src/gui/painting/qdrawutil.h7
-rw-r--r--src/gui/painting/qgrayraster.c4
-rw-r--r--src/gui/painting/qmatrix.cpp8
-rw-r--r--src/gui/painting/qoutlinemapper.cpp30
-rw-r--r--src/gui/painting/qpaintdevice_s60.cpp8
-rw-r--r--src/gui/painting/qpaintengine.h2
-rw-r--r--src/gui/painting/qpaintengine_alpha_p.h2
-rw-r--r--src/gui/painting/qpaintengine_mac_p.h107
-rw-r--r--src/gui/painting/qpaintengine_preview_p.h2
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp229
-rw-r--r--src/gui/painting/qpaintengine_raster_p.h4
-rw-r--r--src/gui/painting/qpaintengine_x11_p.h2
-rw-r--r--src/gui/painting/qpaintengineex.cpp144
-rw-r--r--src/gui/painting/qpaintengineex_p.h4
-rw-r--r--src/gui/painting/qpainter.cpp104
-rw-r--r--src/gui/painting/qpainter.h2
-rw-r--r--src/gui/painting/qpainterpath.cpp4
-rw-r--r--src/gui/painting/qpainterpath.h2
-rw-r--r--src/gui/painting/qpdf.cpp31
-rw-r--r--src/gui/painting/qpdf_p.h2
-rw-r--r--src/gui/painting/qprintengine_mac_p.h2
-rw-r--r--src/gui/painting/qprintengine_pdf.cpp2
-rw-r--r--src/gui/painting/qprintengine_pdf_p.h2
-rw-r--r--src/gui/painting/qprintengine_ps_p.h2
-rw-r--r--src/gui/painting/qprintengine_qws_p.h2
-rw-r--r--src/gui/painting/qprintengine_win.cpp646
-rw-r--r--src/gui/painting/qprintengine_win_p.h18
-rw-r--r--src/gui/painting/qprinter.cpp7
-rw-r--r--src/gui/painting/qprinter.h2
-rw-r--r--src/gui/painting/qprinterinfo.h2
-rw-r--r--src/gui/painting/qprinterinfo_win.cpp100
-rw-r--r--src/gui/painting/qregion.cpp32
-rw-r--r--src/gui/painting/qregion.h5
-rw-r--r--src/gui/painting/qregion_mac.cpp37
-rw-r--r--src/gui/painting/qregion_s60.cpp8
-rw-r--r--src/gui/painting/qregion_win.cpp514
-rw-r--r--src/gui/painting/qregion_wince.cpp119
-rw-r--r--src/gui/painting/qstroker.cpp5
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h4
-rw-r--r--src/gui/painting/qtransform.cpp88
-rw-r--r--src/gui/painting/qtransform.h4
-rw-r--r--src/gui/painting/qvectorpath_p.h2
-rw-r--r--src/gui/painting/qwindowsurface_qws.cpp3
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp26
-rw-r--r--src/gui/painting/qwindowsurface_raster_p.h15
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp8
-rw-r--r--src/gui/painting/qwindowsurface_s60_p.h8
-rw-r--r--src/gui/painting/qwindowsurface_x11.cpp4
-rw-r--r--src/gui/statemachine/qbasickeyeventtransition_p.h2
-rw-r--r--src/gui/statemachine/qbasicmouseeventtransition_p.h2
-rw-r--r--src/gui/statemachine/qkeyeventtransition.cpp13
-rw-r--r--src/gui/statemachine/qkeyeventtransition.h5
-rw-r--r--src/gui/statemachine/qmouseeventtransition.cpp15
-rw-r--r--src/gui/statemachine/qmouseeventtransition.h6
-rw-r--r--src/gui/styles/gtksymbols.cpp65
-rw-r--r--src/gui/styles/gtksymbols_p.h2
-rw-r--r--src/gui/styles/qcleanlooksstyle.cpp13
-rw-r--r--src/gui/styles/qcleanlooksstyle.h2
-rw-r--r--src/gui/styles/qcommonstyle.cpp169
-rw-r--r--src/gui/styles/qcommonstyle.h2
-rw-r--r--src/gui/styles/qcommonstyle_p.h1
-rw-r--r--src/gui/styles/qgtkstyle.cpp36
-rw-r--r--src/gui/styles/qgtkstyle.h2
-rw-r--r--src/gui/styles/qmacstyle_mac.mm144
-rw-r--r--src/gui/styles/qmotifstyle.h2
-rw-r--r--src/gui/styles/qplastiquestyle.cpp31
-rw-r--r--src/gui/styles/qplastiquestyle.h2
-rw-r--r--src/gui/styles/qproxystyle.h2
-rw-r--r--src/gui/styles/qs60style.cpp14
-rw-r--r--src/gui/styles/qs60style.h10
-rw-r--r--src/gui/styles/qs60style_p.h8
-rw-r--r--src/gui/styles/qs60style_s60.cpp8
-rw-r--r--src/gui/styles/qs60style_simulated.cpp8
-rw-r--r--src/gui/styles/qstyle.cpp35
-rw-r--r--src/gui/styles/qstyle.h4
-rw-r--r--src/gui/styles/qstyle_p.h3
-rw-r--r--src/gui/styles/qstylehelper.cpp7
-rw-r--r--src/gui/styles/qstyleoption.cpp39
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp2
-rw-r--r--src/gui/styles/qstylesheetstyle_p.h2
-rw-r--r--src/gui/styles/qwindowsmobilestyle.h2
-rw-r--r--src/gui/styles/qwindowsstyle.cpp122
-rw-r--r--src/gui/styles/qwindowsstyle.h2
-rw-r--r--src/gui/styles/qwindowsvistastyle.cpp156
-rw-r--r--src/gui/styles/qwindowsvistastyle.h2
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp50
-rw-r--r--src/gui/styles/qwindowsxpstyle.h2
-rw-r--r--src/gui/text/qabstractfontengine_qws.h4
-rw-r--r--src/gui/text/qabstracttextdocumentlayout.cpp1
-rw-r--r--src/gui/text/qabstracttextdocumentlayout.h2
-rw-r--r--src/gui/text/qcssparser.cpp10
-rw-r--r--src/gui/text/qcssparser_p.h7
-rw-r--r--src/gui/text/qfont_s60.cpp8
-rw-r--r--src/gui/text/qfont_win.cpp8
-rw-r--r--src/gui/text/qfontdatabase_qws.cpp11
-rw-r--r--src/gui/text/qfontdatabase_s60.cpp14
-rw-r--r--src/gui/text/qfontdatabase_win.cpp261
-rw-r--r--src/gui/text/qfontengine_ft.cpp4
-rw-r--r--src/gui/text/qfontengine_mac.mm9
-rw-r--r--src/gui/text/qfontengine_qpf.cpp59
-rw-r--r--src/gui/text/qfontengine_qws.cpp7
-rw-r--r--src/gui/text/qfontengine_s60.cpp8
-rw-r--r--src/gui/text/qfontengine_s60_p.h8
-rw-r--r--src/gui/text/qfontengine_win.cpp450
-rw-r--r--src/gui/text/qfontengine_win_p.h18
-rw-r--r--src/gui/text/qfontmetrics.cpp12
-rw-r--r--src/gui/text/qsyntaxhighlighter.cpp42
-rw-r--r--src/gui/text/qsyntaxhighlighter.h3
-rw-r--r--src/gui/text/qtextcontrol_p.h4
-rw-r--r--src/gui/text/qtextcursor.cpp2
-rw-r--r--src/gui/text/qtextdocument.cpp7
-rw-r--r--src/gui/text/qtextdocument.h2
-rw-r--r--src/gui/text/qtextdocument_p.cpp45
-rw-r--r--src/gui/text/qtextdocumentfragment.cpp4
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp6
-rw-r--r--src/gui/text/qtextdocumentlayout_p.h2
-rw-r--r--src/gui/text/qtextformat.cpp103
-rw-r--r--src/gui/text/qtextformat.h2
-rw-r--r--src/gui/text/qtexthtmlparser.cpp6
-rw-r--r--src/gui/text/qtextlist.cpp51
-rw-r--r--src/gui/text/qtextlist.h2
-rw-r--r--src/gui/text/qtextobject.h6
-rw-r--r--src/gui/text/qtextodfwriter.cpp8
-rw-r--r--src/gui/text/qtexttable.h2
-rw-r--r--src/gui/text/qzip.cpp20
-rw-r--r--src/gui/util/qcompleter.cpp44
-rw-r--r--src/gui/util/qcompleter.h6
-rw-r--r--src/gui/util/qcompleter_p.h3
-rw-r--r--src/gui/util/qdesktopservices.cpp5
-rw-r--r--src/gui/util/qdesktopservices_s60.cpp91
-rw-r--r--src/gui/util/qdesktopservices_win.cpp34
-rw-r--r--src/gui/util/qdesktopservices_x11.cpp4
-rw-r--r--src/gui/util/qsystemtrayicon.h2
-rw-r--r--src/gui/util/qsystemtrayicon_win.cpp349
-rw-r--r--src/gui/util/qundogroup.h2
-rw-r--r--src/gui/util/qundostack.h2
-rw-r--r--src/gui/util/qundoview.h2
-rw-r--r--src/gui/widgets/qabstractbutton.h2
-rw-r--r--src/gui/widgets/qabstractscrollarea.cpp37
-rw-r--r--src/gui/widgets/qabstractscrollarea.h2
-rw-r--r--src/gui/widgets/qabstractscrollarea_p.h9
-rw-r--r--src/gui/widgets/qabstractslider.h2
-rw-r--r--src/gui/widgets/qabstractspinbox.cpp13
-rw-r--r--src/gui/widgets/qabstractspinbox.h2
-rw-r--r--src/gui/widgets/qactiontokeyeventmapper.cpp4
-rw-r--r--src/gui/widgets/qactiontokeyeventmapper_p.h4
-rw-r--r--src/gui/widgets/qbuttongroup.h2
-rw-r--r--src/gui/widgets/qcalendarwidget.h2
-rw-r--r--src/gui/widgets/qcheckbox.h2
-rw-r--r--src/gui/widgets/qcocoamenu_mac.mm4
-rw-r--r--src/gui/widgets/qcocoatoolbardelegate_mac.mm10
-rw-r--r--src/gui/widgets/qcombobox.cpp6
-rw-r--r--src/gui/widgets/qcombobox.h2
-rw-r--r--src/gui/widgets/qcommandlinkbutton.h2
-rw-r--r--src/gui/widgets/qdatetimeedit.cpp14
-rw-r--r--src/gui/widgets/qdatetimeedit.h2
-rw-r--r--src/gui/widgets/qdial.h2
-rw-r--r--src/gui/widgets/qdialogbuttonbox.h2
-rw-r--r--src/gui/widgets/qdockarealayout.cpp14
-rw-r--r--src/gui/widgets/qdockwidget.h2
-rw-r--r--src/gui/widgets/qeffects.cpp96
-rw-r--r--src/gui/widgets/qfocusframe.h2
-rw-r--r--src/gui/widgets/qfontcombobox.cpp2
-rw-r--r--src/gui/widgets/qfontcombobox.h2
-rw-r--r--src/gui/widgets/qframe.cpp2
-rw-r--r--src/gui/widgets/qframe.h2
-rw-r--r--src/gui/widgets/qgroupbox.cpp11
-rw-r--r--src/gui/widgets/qgroupbox.h2
-rw-r--r--src/gui/widgets/qlabel.h2
-rw-r--r--src/gui/widgets/qlcdnumber.h2
-rw-r--r--src/gui/widgets/qlinecontrol.cpp1750
-rw-r--r--src/gui/widgets/qlinecontrol_p.h741
-rw-r--r--src/gui/widgets/qlineedit.cpp1905
-rw-r--r--src/gui/widgets/qlineedit.h4
-rw-r--r--src/gui/widgets/qlineedit_p.cpp253
-rw-r--r--src/gui/widgets/qlineedit_p.h176
-rw-r--r--src/gui/widgets/qmaccocoaviewcontainer_mac.h2
-rw-r--r--src/gui/widgets/qmacnativewidget_mac.h2
-rw-r--r--src/gui/widgets/qmainwindow.cpp13
-rw-r--r--src/gui/widgets/qmainwindow.h2
-rw-r--r--src/gui/widgets/qmainwindowlayout.cpp276
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm31
-rw-r--r--src/gui/widgets/qmainwindowlayout_p.h25
-rw-r--r--src/gui/widgets/qmdiarea.h2
-rw-r--r--src/gui/widgets/qmdisubwindow.cpp37
-rw-r--r--src/gui/widgets/qmdisubwindow.h2
-rw-r--r--src/gui/widgets/qmenu.cpp130
-rw-r--r--src/gui/widgets/qmenu.h2
-rw-r--r--src/gui/widgets/qmenu_mac.mm89
-rw-r--r--src/gui/widgets/qmenu_p.h14
-rw-r--r--src/gui/widgets/qmenu_symbian.cpp6
-rw-r--r--src/gui/widgets/qmenubar.cpp30
-rw-r--r--src/gui/widgets/qmenubar.h2
-rw-r--r--src/gui/widgets/qplaintextedit.cpp37
-rw-r--r--src/gui/widgets/qplaintextedit.h5
-rw-r--r--src/gui/widgets/qplaintextedit_p.h5
-rw-r--r--src/gui/widgets/qprintpreviewwidget.h2
-rw-r--r--src/gui/widgets/qprogressbar.cpp17
-rw-r--r--src/gui/widgets/qprogressbar.h2
-rw-r--r--src/gui/widgets/qpushbutton.h2
-rw-r--r--src/gui/widgets/qradiobutton.h2
-rw-r--r--src/gui/widgets/qrubberband.h2
-rw-r--r--src/gui/widgets/qscrollarea.h2
-rw-r--r--src/gui/widgets/qscrollbar.h2
-rw-r--r--src/gui/widgets/qsizegrip.cpp3
-rw-r--r--src/gui/widgets/qsizegrip.h2
-rw-r--r--src/gui/widgets/qslider.h2
-rw-r--r--src/gui/widgets/qspinbox.cpp11
-rw-r--r--src/gui/widgets/qspinbox.h4
-rw-r--r--src/gui/widgets/qsplashscreen.h2
-rw-r--r--src/gui/widgets/qsplitter.h4
-rw-r--r--src/gui/widgets/qstackedwidget.h2
-rw-r--r--src/gui/widgets/qstatusbar.h2
-rw-r--r--src/gui/widgets/qtabbar.cpp76
-rw-r--r--src/gui/widgets/qtabbar.h4
-rw-r--r--src/gui/widgets/qtabbar_p.h68
-rw-r--r--src/gui/widgets/qtabwidget.h2
-rw-r--r--src/gui/widgets/qtextbrowser.h2
-rw-r--r--src/gui/widgets/qtextedit.cpp26
-rw-r--r--src/gui/widgets/qtextedit.h3
-rw-r--r--src/gui/widgets/qtextedit_p.h5
-rw-r--r--src/gui/widgets/qtoolbar.cpp71
-rw-r--r--src/gui/widgets/qtoolbar.h3
-rw-r--r--src/gui/widgets/qtoolbar_p.h8
-rw-r--r--src/gui/widgets/qtoolbararealayout.cpp18
-rw-r--r--src/gui/widgets/qtoolbox.h2
-rw-r--r--src/gui/widgets/qtoolbutton.cpp15
-rw-r--r--src/gui/widgets/qtoolbutton.h2
-rw-r--r--src/gui/widgets/qvalidator.h8
-rw-r--r--src/gui/widgets/qwidgetanimator.cpp164
-rw-r--r--src/gui/widgets/qwidgetanimator_p.h34
-rw-r--r--src/gui/widgets/qworkspace.cpp34
-rw-r--r--src/gui/widgets/qworkspace.h2
-rw-r--r--src/gui/widgets/widgets.pri3
-rw-r--r--src/multimedia/audio/audio.pri56
-rw-r--r--src/multimedia/audio/qaudio.cpp102
-rw-r--r--src/multimedia/audio/qaudio.h71
-rw-r--r--src/multimedia/audio/qaudio_mac.cpp142
-rw-r--r--src/multimedia/audio/qaudio_mac_p.h144
-rw-r--r--src/multimedia/audio/qaudiodevicefactory.cpp250
-rw-r--r--src/multimedia/audio/qaudiodevicefactory_p.h100
-rw-r--r--src/multimedia/audio/qaudiodeviceid.cpp168
-rw-r--r--src/multimedia/audio/qaudiodeviceid.h94
-rw-r--r--src/multimedia/audio/qaudiodeviceid_p.h82
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.cpp270
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo.h102
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp394
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.h113
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp357
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.h97
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.cpp378
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_win32_p.h108
-rw-r--r--src/multimedia/audio/qaudioengine.cpp343
-rw-r--r--src/multimedia/audio/qaudioengine.h131
-rw-r--r--src/multimedia/audio/qaudioengineplugin.cpp54
-rw-r--r--src/multimedia/audio/qaudioengineplugin.h93
-rw-r--r--src/multimedia/audio/qaudioformat.cpp335
-rw-r--r--src/multimedia/audio/qaudioformat.h103
-rw-r--r--src/multimedia/audio/qaudioinput.cpp400
-rw-r--r--src/multimedia/audio/qaudioinput.h108
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.cpp688
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.h151
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.cpp930
-rw-r--r--src/multimedia/audio/qaudioinput_mac_p.h171
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.cpp540
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.h154
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp403
-rw-r--r--src/multimedia/audio/qaudiooutput.h109
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.cpp706
-rw-r--r--src/multimedia/audio/qaudiooutput_alsa_p.h159
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.cpp700
-rw-r--r--src/multimedia/audio/qaudiooutput_mac_p.h171
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.cpp502
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.h154
-rw-r--r--src/multimedia/multimedia.pro11
-rw-r--r--src/network/access/access.pri5
-rw-r--r--src/network/access/qabstractnetworkcache.cpp4
-rw-r--r--src/network/access/qabstractnetworkcache.h2
-rw-r--r--src/network/access/qftp.cpp9
-rw-r--r--src/network/access/qftp.h2
-rw-r--r--src/network/access/qhttp.cpp7
-rw-r--r--src/network/access/qhttp.h8
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp381
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h81
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp278
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h154
-rw-r--r--src/network/access/qhttpnetworkreply.cpp117
-rw-r--r--src/network/access/qhttpnetworkreply_p.h22
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp10
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h3
-rw-r--r--src/network/access/qnetworkaccesscachebackend.cpp14
-rw-r--r--src/network/access/qnetworkaccessdatabackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend.cpp8
-rw-r--r--src/network/access/qnetworkaccessfilebackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessftpbackend.cpp6
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp37
-rw-r--r--src/network/access/qnetworkaccesshttpbackend_p.h4
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp72
-rw-r--r--src/network/access/qnetworkaccessmanager.h2
-rw-r--r--src/network/access/qnetworkcookie.cpp255
-rw-r--r--src/network/access/qnetworkcookie.h21
-rw-r--r--src/network/access/qnetworkcookiejar.cpp296
-rw-r--r--src/network/access/qnetworkcookiejar.h81
-rw-r--r--src/network/access/qnetworkcookiejar_p.h71
-rw-r--r--src/network/access/qnetworkdiskcache.h2
-rw-r--r--src/network/access/qnetworkreply.cpp68
-rw-r--r--src/network/access/qnetworkreply.h5
-rw-r--r--src/network/access/qnetworkreply_p.h2
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp68
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h10
-rw-r--r--src/network/access/qnetworkrequest.cpp4
-rw-r--r--src/network/kernel/qauthenticator.cpp4
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp16
-rw-r--r--src/network/kernel/qnetworkinterface_symbian.cpp6
-rw-r--r--src/network/kernel/qnetworkinterface_unix.cpp19
-rw-r--r--src/network/kernel/qnetworkinterface_win.cpp15
-rw-r--r--src/network/kernel/qnetworkinterface_win_p.h2
-rw-r--r--src/network/kernel/qnetworkproxy.cpp11
-rw-r--r--src/network/kernel/qnetworkproxy_win.cpp17
-rw-r--r--src/network/socket/qabstractsocket.cpp68
-rw-r--r--src/network/socket/qabstractsocket.h10
-rw-r--r--src/network/socket/qabstractsocketengine_p.h6
-rw-r--r--src/network/socket/qhttpsocketengine.cpp22
-rw-r--r--src/network/socket/qhttpsocketengine_p.h2
-rw-r--r--src/network/socket/qlocalserver.cpp2
-rw-r--r--src/network/socket/qlocalserver.h2
-rw-r--r--src/network/socket/qlocalserver_unix.cpp13
-rw-r--r--src/network/socket/qlocalserver_win.cpp19
-rw-r--r--src/network/socket/qlocalsocket.cpp29
-rw-r--r--src/network/socket/qlocalsocket.h3
-rw-r--r--src/network/socket/qlocalsocket_p.h53
-rw-r--r--src/network/socket/qlocalsocket_unix.cpp9
-rw-r--r--src/network/socket/qlocalsocket_win.cpp285
-rw-r--r--src/network/socket/qnativesocketengine_p.h166
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp233
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp153
-rw-r--r--src/network/socket/qnet_unix_p.h204
-rw-r--r--src/network/socket/qsocks5socketengine.cpp20
-rw-r--r--src/network/socket/qsocks5socketengine_p.h2
-rw-r--r--src/network/socket/qtcpserver.h2
-rw-r--r--src/network/socket/qtcpsocket.cpp8
-rw-r--r--src/network/socket/qtcpsocket.h3
-rw-r--r--src/network/socket/qudpsocket.cpp3
-rw-r--r--src/network/socket/qudpsocket.h2
-rw-r--r--src/network/socket/socket.pri3
-rw-r--r--src/network/ssl/qsslsocket.cpp36
-rw-r--r--src/network/ssl/qsslsocket.h3
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp22
-rw-r--r--src/network/ssl/qsslsocket_openssl_p.h2
-rw-r--r--src/network/ssl/qsslsocket_p.h3
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp62
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h29
-rw-r--r--src/opengl/gl2paintengineex/qglgradientcache.cpp29
-rw-r--r--src/opengl/gl2paintengineex/qglgradientcache_p.h27
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp257
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h30
-rw-r--r--src/opengl/opengl.pro1
-rw-r--r--src/opengl/qgl.cpp505
-rw-r--r--src/opengl/qgl.h5
-rw-r--r--src/opengl/qgl_p.h173
-rw-r--r--src/opengl/qgl_win.cpp16
-rw-r--r--src/opengl/qgl_x11.cpp213
-rw-r--r--src/opengl/qgl_x11egl.cpp199
-rw-r--r--src/opengl/qglcolormap.cpp24
-rw-r--r--src/opengl/qglextensions_p.h2
-rw-r--r--src/opengl/qglframebufferobject.cpp32
-rw-r--r--src/opengl/qglframebufferobject.h2
-rw-r--r--src/opengl/qglpaintdevice_qws_p.h2
-rw-r--r--src/opengl/qglpixelbuffer.cpp2
-rw-r--r--src/opengl/qglpixelbuffer.h2
-rw-r--r--src/opengl/qglpixelbuffer_x11.cpp2
-rw-r--r--src/opengl/qglpixmapfilter.cpp2
-rw-r--r--src/opengl/qglscreen_qws.h2
-rw-r--r--src/opengl/qglwindowsurface_qws_p.h2
-rw-r--r--src/opengl/qpaintengine_opengl.cpp2
-rw-r--r--src/opengl/qpaintengine_opengl_p.h2
-rw-r--r--src/opengl/qpixmapdata_gl.cpp49
-rw-r--r--src/opengl/qpixmapdata_gl_p.h6
-rw-r--r--src/opengl/qwindowsurface_gl.cpp2
-rw-r--r--src/openvg/qpaintengine_vg.cpp192
-rw-r--r--src/openvg/qpaintengine_vg_p.h1
-rw-r--r--src/plugins/accessible/compat/q3complexwidgets.cpp2
-rw-r--r--src/plugins/audio/audio.pro3
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp31
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp18
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp37
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h27
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp1013
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h57
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp20
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h5
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp382
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.h34
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp307
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h17
-rw-r--r--src/plugins/graphicssystems/openvg/openvg.pro8
-rw-r--r--src/plugins/graphicssystems/shivavg/shivavg.pro4
-rw-r--r--src/plugins/imageformats/ico/qicohandler.cpp12
-rw-r--r--src/plugins/imageformats/mng/qmnghandler.h2
-rw-r--r--src/plugins/kbddrivers/kbddrivers.pro3
-rw-r--r--src/plugins/kbddrivers/sl5000/main.cpp77
-rw-r--r--src/plugins/kbddrivers/sl5000/sl5000.pro16
-rw-r--r--src/plugins/kbddrivers/vr41xx/main.cpp77
-rw-r--r--src/plugins/kbddrivers/vr41xx/vr41xx.pro14
-rw-r--r--src/plugins/kbddrivers/yopy/main.cpp77
-rw-r--r--src/plugins/kbddrivers/yopy/yopy.pro14
-rw-r--r--src/plugins/mousedrivers/bus/bus.pro14
-rw-r--r--src/plugins/mousedrivers/bus/main.cpp76
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxis.pro10
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.cpp83
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousedriverplugin.h58
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp180
-rw-r--r--src/plugins/mousedrivers/linuxis/linuxismousehandler.h72
-rw-r--r--src/plugins/mousedrivers/mousedrivers.pro5
-rw-r--r--src/plugins/mousedrivers/vr41xx/main.cpp76
-rw-r--r--src/plugins/mousedrivers/vr41xx/vr41xx.pro14
-rw-r--r--src/plugins/mousedrivers/yopy/main.cpp76
-rw-r--r--src/plugins/mousedrivers/yopy/yopy.pro14
-rw-r--r--src/plugins/plugins.pro1
-rw-r--r--src/plugins/s60/src/qdesktopservices_3_1.cpp6
-rw-r--r--src/plugins/s60/src/qdesktopservices_3_2.cpp6
-rw-r--r--src/plugins/s60/src/qlocale_3_1.cpp6
-rw-r--r--src/plugins/s60/src/qlocale_3_2.cpp6
-rw-r--r--src/qt3support/canvas/q3canvas.cpp2
-rw-r--r--src/qt3support/dialogs/q3filedialog.cpp206
-rw-r--r--src/qt3support/dialogs/q3filedialog_win.cpp430
-rw-r--r--src/qt3support/dialogs/q3tabdialog.cpp2
-rw-r--r--src/qt3support/itemviews/q3table.cpp2
-rw-r--r--src/qt3support/network/q3dns.cpp70
-rw-r--r--src/qt3support/network/q3http.cpp4
-rw-r--r--src/qt3support/network/q3socketdevice_win.cpp7
-rw-r--r--src/qt3support/other/q3dragobject.cpp7
-rw-r--r--src/qt3support/other/q3dragobject.h8
-rw-r--r--src/qt3support/other/q3process_win.cpp152
-rw-r--r--src/qt3support/painting/q3paintengine_svg_p.h2
-rw-r--r--src/qt3support/sql/q3datatable.cpp2
-rw-r--r--src/qt3support/sql/q3sqlcursor.cpp2
-rw-r--r--src/qt3support/tools/q3cstring.cpp32
-rw-r--r--src/qt3support/widgets/q3datetimeedit.cpp75
-rw-r--r--src/qt3support/widgets/q3dockarea.cpp29
-rw-r--r--src/qt3support/widgets/q3mainwindow.h2
-rw-r--r--src/qt3support/widgets/q3scrollview.cpp4
-rw-r--r--src/qt3support/widgets/q3titlebar.cpp33
-rw-r--r--src/qt3support/widgets/q3titlebar_p.h2
-rw-r--r--src/s60main/qts60main.cpp10
-rw-r--r--src/s60main/qts60main_mcrt0.cpp7
-rw-r--r--src/s60main/qts60mainapplication.cpp12
-rw-r--r--src/s60main/qts60mainapplication.h93
-rw-r--r--src/s60main/qts60mainapplication_p.h104
-rw-r--r--src/s60main/qts60mainappui.cpp10
-rw-r--r--src/s60main/qts60mainappui.h135
-rw-r--r--src/s60main/qts60mainappui_p.h146
-rw-r--r--src/s60main/qts60maindocument.cpp12
-rw-r--r--src/s60main/qts60maindocument.h122
-rw-r--r--src/s60main/qts60maindocument_p.h133
-rw-r--r--src/s60main/s60main.pro6
-rw-r--r--src/s60main/s60main.rss8
-rw-r--r--src/script/qscriptable.h2
-rw-r--r--src/script/qscriptbuffer_p.h5
-rw-r--r--src/script/qscriptclass.h2
-rw-r--r--src/script/qscriptclassinfo_p.h4
-rw-r--r--src/script/qscriptclasspropertyiterator.h2
-rw-r--r--src/script/qscriptcontext.h2
-rw-r--r--src/script/qscriptcontextinfo.h2
-rw-r--r--src/script/qscriptecmadate.cpp10
-rw-r--r--src/script/qscriptengine.cpp2
-rw-r--r--src/script/qscriptengine.h4
-rw-r--r--src/script/qscriptengineagent.h2
-rw-r--r--src/script/qscriptextqobject.cpp2
-rw-r--r--src/script/qscriptgc_p.h4
-rw-r--r--src/script/qscriptmemberfwd_p.h4
-rw-r--r--src/script/qscriptstring.h2
-rw-r--r--src/script/qscriptsyntaxcheckresult_p.h4
-rw-r--r--src/script/qscriptvalue.cpp18
-rw-r--r--src/script/qscriptvalue.h2
-rw-r--r--src/script/qscriptvalueimplfwd_p.h4
-rw-r--r--src/script/qscriptvalueiterator.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointdata_p.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointsmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointswidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptbreakpointswidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptcompletiontask_p.h2
-rw-r--r--src/scripttools/debugging/qscriptcompletiontaskinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebugger_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggeragent_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerbackend_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodefinderwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodefinderwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodeview_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodeviewinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodewidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercodewidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommand_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommandexecutor_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommandschedulerjob_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsole_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommand_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommandgroupdata_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommandjob_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolecommandmanager_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsoleglobalobject_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolewidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolewidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerevent_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerfrontend_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerjob_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerlocalsmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerlocalswidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerlocalswidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerresponse_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp20
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptsmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptswidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptswidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerstackmodel_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerstackwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerstackwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggervalue_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebuggervalueproperty_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebugoutputwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscriptdebugoutputwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptenginedebugger.h2
-rw-r--r--src/scripttools/debugging/qscriptenginedebuggerfrontend.cpp4
-rw-r--r--src/scripttools/debugging/qscriptenginedebuggerfrontend_p.h2
-rw-r--r--src/scripttools/debugging/qscripterrorlogwidget_p.h2
-rw-r--r--src/scripttools/debugging/qscripterrorlogwidgetinterface_p.h2
-rw-r--r--src/scripttools/debugging/qscriptscriptdata_p.h2
-rw-r--r--src/scripttools/debugging/qscriptstdmessagehandler_p.h2
-rw-r--r--src/scripttools/debugging/qscriptvalueproperty_p.h2
-rw-r--r--src/sql/drivers/db2/qsql_db2.cpp36
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp47
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp27
-rw-r--r--src/sql/drivers/psql/qsql_psql.cpp51
-rw-r--r--src/sql/drivers/sqlite2/qsql_sqlite2.cpp4
-rw-r--r--src/sql/kernel/qsqldatabase.cpp28
-rw-r--r--src/sql/kernel/qsqldriver.cpp26
-rw-r--r--src/sql/kernel/qsqldriver.h2
-rw-r--r--src/sql/models/qsqlquerymodel.h2
-rw-r--r--src/sql/models/qsqlrelationaltablemodel.h2
-rw-r--r--src/sql/models/qsqltablemodel.cpp3
-rw-r--r--src/sql/models/qsqltablemodel.h2
-rw-r--r--src/src.pro6
-rw-r--r--src/svg/qgraphicssvgitem.h2
-rw-r--r--src/svg/qsvggenerator.cpp2
-rw-r--r--src/svg/qsvggenerator.h2
-rw-r--r--src/svg/qsvggraphics.cpp286
-rw-r--r--src/svg/qsvggraphics_p.h51
-rw-r--r--src/svg/qsvghandler.cpp820
-rw-r--r--src/svg/qsvgnode.cpp2
-rw-r--r--src/svg/qsvgnode_p.h1
-rw-r--r--src/svg/qsvgrenderer.h2
-rw-r--r--src/svg/qsvgstyle.cpp182
-rw-r--r--src/svg/qsvgstyle_p.h121
-rw-r--r--src/svg/qsvgwidget.h2
-rw-r--r--src/testlib/qabstracttestlogger_p.h36
-rw-r--r--src/testlib/qplaintestlogger.cpp10
-rw-r--r--src/testlib/qtest.h25
-rw-r--r--src/testlib/qtest_global.h1
-rw-r--r--src/testlib/qtestbasicstreamer.cpp24
-rw-r--r--src/testlib/qtestbasicstreamer.h10
-rw-r--r--src/testlib/qtestcase.cpp262
-rw-r--r--src/testlib/qtestcoreelement.h2
-rw-r--r--src/testlib/qtestfilelogger.cpp25
-rw-r--r--src/testlib/qtestlightxmlstreamer.cpp93
-rw-r--r--src/testlib/qtestlightxmlstreamer.h6
-rw-r--r--src/testlib/qtestxmlstreamer.cpp119
-rw-r--r--src/testlib/qtestxmlstreamer.h6
-rw-r--r--src/testlib/qtestxunitstreamer.cpp42
-rw-r--r--src/testlib/qtestxunitstreamer.h8
-rw-r--r--src/testlib/qxmltestlogger.cpp187
-rw-r--r--src/testlib/qxmltestlogger_p.h6
-rw-r--r--src/tools/bootstrap/bootstrap.pri20
-rw-r--r--src/tools/idc/main.cpp69
-rw-r--r--src/tools/moc/generator.cpp17
-rw-r--r--src/tools/moc/moc.cpp46
-rw-r--r--src/tools/moc/moc.h4
-rw-r--r--src/tools/uic/uic.cpp4
-rw-r--r--src/tools/uic3/main.cpp6
-rw-r--r--src/tools/uic3/uic.cpp4
-rw-r--r--src/winmain/qtmain_win.cpp20
-rw-r--r--src/xml/sax/qxml.cpp89
-rw-r--r--src/xml/sax/qxml.h3
-rw-r--r--src/xmlpatterns/Doxyfile2
-rw-r--r--src/xmlpatterns/acceltree/qacceltree.cpp43
-rw-r--r--src/xmlpatterns/acceltree/qacceltree_p.h17
-rw-r--r--src/xmlpatterns/acceltree/qacceltreebuilder.cpp31
-rw-r--r--src/xmlpatterns/acceltree/qacceltreebuilder_p.h19
-rw-r--r--src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp62
-rw-r--r--src/xmlpatterns/acceltree/qacceltreeresourceloader_p.h27
-rw-r--r--src/xmlpatterns/api/api.pri11
-rw-r--r--src/xmlpatterns/api/qabstractmessagehandler.h2
-rw-r--r--src/xmlpatterns/api/qabstracturiresolver.h2
-rw-r--r--src/xmlpatterns/api/qabstractxmlforwarditerator_p.h15
-rw-r--r--src/xmlpatterns/api/qabstractxmlnodemodel.cpp16
-rw-r--r--src/xmlpatterns/api/qabstractxmlnodemodel.h5
-rw-r--r--src/xmlpatterns/api/qabstractxmlnodemodel_p.h10
-rw-r--r--src/xmlpatterns/api/qabstractxmlpullprovider.cpp177
-rw-r--r--src/xmlpatterns/api/qabstractxmlpullprovider_p.h113
-rw-r--r--src/xmlpatterns/api/qpullbridge.cpp232
-rw-r--r--src/xmlpatterns/api/qpullbridge_p.h103
-rw-r--r--src/xmlpatterns/api/qresourcedelegator.cpp8
-rw-r--r--src/xmlpatterns/api/qsimplexmlnodemodel.h2
-rw-r--r--src/xmlpatterns/api/qxmlformatter.h2
-rw-r--r--src/xmlpatterns/api/qxmlnamepool.cpp4
-rw-r--r--src/xmlpatterns/api/qxmlnamepool.h7
-rw-r--r--src/xmlpatterns/api/qxmlquery.cpp18
-rw-r--r--src/xmlpatterns/api/qxmlquery.h11
-rw-r--r--src/xmlpatterns/api/qxmlquery_p.h37
-rw-r--r--src/xmlpatterns/api/qxmlresultitems.h2
-rw-r--r--src/xmlpatterns/api/qxmlschema.cpp299
-rw-r--r--src/xmlpatterns/api/qxmlschema.h97
-rw-r--r--src/xmlpatterns/api/qxmlschema_p.cpp203
-rw-r--r--src/xmlpatterns/api/qxmlschema_p.h109
-rw-r--r--src/xmlpatterns/api/qxmlschemavalidator.cpp344
-rw-r--r--src/xmlpatterns/api/qxmlschemavalidator.h97
-rw-r--r--src/xmlpatterns/api/qxmlschemavalidator_p.h131
-rw-r--r--src/xmlpatterns/api/qxmlserializer.h2
-rw-r--r--src/xmlpatterns/common.pri1
-rw-r--r--src/xmlpatterns/data/data.pri20
-rw-r--r--src/xmlpatterns/data/qboolean.cpp2
-rw-r--r--src/xmlpatterns/data/qcomparisonfactory.cpp154
-rw-r--r--src/xmlpatterns/data/qcomparisonfactory_p.h121
-rw-r--r--src/xmlpatterns/data/qitem_p.h5
-rw-r--r--src/xmlpatterns/data/qresourceloader_p.h2
-rw-r--r--src/xmlpatterns/data/qvaluefactory.cpp106
-rw-r--r--src/xmlpatterns/data/qvaluefactory_p.h98
-rw-r--r--src/xmlpatterns/environment/createReportContext.xsl5
-rw-r--r--src/xmlpatterns/environment/qreportcontext.cpp1
-rw-r--r--src/xmlpatterns/environment/qreportcontext_p.h4
-rw-r--r--src/xmlpatterns/expr/qcastingplatform.cpp22
-rw-r--r--src/xmlpatterns/expr/qcastingplatform_p.h23
-rw-r--r--src/xmlpatterns/expr/qexpressionfactory.cpp27
-rw-r--r--src/xmlpatterns/functions/qpatternplatform.cpp21
-rw-r--r--src/xmlpatterns/functions/qpatternplatform_p.h18
-rw-r--r--src/xmlpatterns/functions/qsequencegeneratingfns.cpp13
-rw-r--r--src/xmlpatterns/parser/qmaintainingreader.cpp7
-rw-r--r--src/xmlpatterns/parser/qmaintainingreader_p.h1
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser.cpp944
-rw-r--r--src/xmlpatterns/parser/qquerytransformparser_p.h82
-rw-r--r--src/xmlpatterns/parser/querytransformparser.ypp176
-rw-r--r--src/xmlpatterns/parser/winCEWorkaround.sed12
-rw-r--r--src/xmlpatterns/schema/.gitignore1
-rw-r--r--src/xmlpatterns/schema/builtinschemas.qrc5
-rw-r--r--src/xmlpatterns/schema/doc/All_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Alternative_diagram.dot11
-rw-r--r--src/xmlpatterns/schema/doc/Annotation_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/AnyAttribute_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Any_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Assert_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Choice_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/ComplexContentExtension_diagram.dot47
-rw-r--r--src/xmlpatterns/schema/doc/ComplexContentRestriction_diagram.dot47
-rw-r--r--src/xmlpatterns/schema/doc/ComplexContent_diagram.dot11
-rw-r--r--src/xmlpatterns/schema/doc/DefaultOpenContent_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/EnumerationFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Field_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/FractionDigitsFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/GlobalAttribute_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/GlobalComplexType_diagram.dot52
-rw-r--r--src/xmlpatterns/schema/doc/GlobalElement_diagram.dot32
-rw-r--r--src/xmlpatterns/schema/doc/GlobalSimpleType_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Import_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Include_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/KeyRef_diagram.dot12
-rw-r--r--src/xmlpatterns/schema/doc/Key_diagram.dot12
-rw-r--r--src/xmlpatterns/schema/doc/LengthFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/List_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/LocalAll_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/LocalAttribute_diagram.dot9
-rw-r--r--src/xmlpatterns/schema/doc/LocalChoice_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/LocalComplexType_diagram.dot52
-rw-r--r--src/xmlpatterns/schema/doc/LocalElement_diagram.dot32
-rw-r--r--src/xmlpatterns/schema/doc/LocalSequence_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/LocalSimpleType_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/MaxExclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MaxInclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MaxLengthFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MinExclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MinInclusiveFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/MinLengthFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/NamedAttributeGroup_diagram.dot17
-rw-r--r--src/xmlpatterns/schema/doc/NamedGroup_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Notation_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Override_diagram.dot21
-rw-r--r--src/xmlpatterns/schema/doc/PatternFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Redefine_diagram.dot15
-rw-r--r--src/xmlpatterns/schema/doc/ReferredAttributeGroup_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/ReferredGroup_diagram.dot13
-rw-r--r--src/xmlpatterns/schema/doc/Schema_diagram.dot66
-rw-r--r--src/xmlpatterns/schema/doc/Selector_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Sequence_diagram.dot22
-rw-r--r--src/xmlpatterns/schema/doc/SimpleContentExtension_diagram.dot23
-rw-r--r--src/xmlpatterns/schema/doc/SimpleContentRestriction_diagram.dot87
-rw-r--r--src/xmlpatterns/schema/doc/SimpleContent_diagram.dot11
-rw-r--r--src/xmlpatterns/schema/doc/SimpleRestriction_diagram.dot62
-rw-r--r--src/xmlpatterns/schema/doc/TotalDigitsFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/Union_diagram.dot10
-rw-r--r--src/xmlpatterns/schema/doc/Unique_diagram.dot12
-rw-r--r--src/xmlpatterns/schema/doc/WhiteSpaceFacet_diagram.dot6
-rw-r--r--src/xmlpatterns/schema/doc/legend.dot7
-rw-r--r--src/xmlpatterns/schema/qnamespacesupport.cpp160
-rw-r--r--src/xmlpatterns/schema/qnamespacesupport_p.h173
-rw-r--r--src/xmlpatterns/schema/qxsdalternative.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdalternative_p.h114
-rw-r--r--src/xmlpatterns/schema/qxsdannotated.cpp63
-rw-r--r--src/xmlpatterns/schema/qxsdannotated_p.h96
-rw-r--r--src/xmlpatterns/schema/qxsdannotation.cpp78
-rw-r--r--src/xmlpatterns/schema/qxsdannotation_p.h127
-rw-r--r--src/xmlpatterns/schema/qxsdapplicationinformation.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdapplicationinformation_p.h115
-rw-r--r--src/xmlpatterns/schema/qxsdassertion.cpp58
-rw-r--r--src/xmlpatterns/schema/qxsdassertion_p.h101
-rw-r--r--src/xmlpatterns/schema/qxsdattribute.cpp130
-rw-r--r--src/xmlpatterns/schema/qxsdattribute_p.h246
-rw-r--r--src/xmlpatterns/schema/qxsdattributegroup.cpp73
-rw-r--r--src/xmlpatterns/schema/qxsdattributegroup_p.h122
-rw-r--r--src/xmlpatterns/schema/qxsdattributereference.cpp88
-rw-r--r--src/xmlpatterns/schema/qxsdattributereference_p.h147
-rw-r--r--src/xmlpatterns/schema/qxsdattributeterm.cpp58
-rw-r--r--src/xmlpatterns/schema/qxsdattributeterm_p.h96
-rw-r--r--src/xmlpatterns/schema/qxsdattributeuse.cpp136
-rw-r--r--src/xmlpatterns/schema/qxsdattributeuse_p.h224
-rw-r--r--src/xmlpatterns/schema/qxsdcomplextype.cpp231
-rw-r--r--src/xmlpatterns/schema/qxsdcomplextype_p.h404
-rw-r--r--src/xmlpatterns/schema/qxsddocumentation.cpp86
-rw-r--r--src/xmlpatterns/schema/qxsddocumentation_p.h137
-rw-r--r--src/xmlpatterns/schema/qxsdelement.cpp244
-rw-r--r--src/xmlpatterns/schema/qxsdelement_p.h403
-rw-r--r--src/xmlpatterns/schema/qxsdfacet.cpp124
-rw-r--r--src/xmlpatterns/schema/qxsdfacet_p.h213
-rw-r--r--src/xmlpatterns/schema/qxsdidcache.cpp66
-rw-r--r--src/xmlpatterns/schema/qxsdidcache_p.h99
-rw-r--r--src/xmlpatterns/schema/qxsdidchelper.cpp137
-rw-r--r--src/xmlpatterns/schema/qxsdidchelper_p.h186
-rw-r--r--src/xmlpatterns/schema/qxsdidentityconstraint.cpp93
-rw-r--r--src/xmlpatterns/schema/qxsdidentityconstraint_p.h173
-rw-r--r--src/xmlpatterns/schema/qxsdinstancereader.cpp196
-rw-r--r--src/xmlpatterns/schema/qxsdinstancereader_p.h189
-rw-r--r--src/xmlpatterns/schema/qxsdmodelgroup.cpp78
-rw-r--r--src/xmlpatterns/schema/qxsdmodelgroup_p.h139
-rw-r--r--src/xmlpatterns/schema/qxsdnotation.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdnotation_p.h119
-rw-r--r--src/xmlpatterns/schema/qxsdparticle.cpp95
-rw-r--r--src/xmlpatterns/schema/qxsdparticle_p.h154
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker.cpp540
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker_p.h99
-rw-r--r--src/xmlpatterns/schema/qxsdreference.cpp83
-rw-r--r--src/xmlpatterns/schema/qxsdreference_p.h145
-rw-r--r--src/xmlpatterns/schema/qxsdschema.cpp272
-rw-r--r--src/xmlpatterns/schema/qxsdschema_p.h301
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker.cpp2061
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker_helper.cpp306
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker_p.h284
-rw-r--r--src/xmlpatterns/schema/qxsdschemachecker_setup.cpp327
-rw-r--r--src/xmlpatterns/schema/qxsdschemacontext.cpp528
-rw-r--r--src/xmlpatterns/schema/qxsdschemacontext_p.h187
-rw-r--r--src/xmlpatterns/schema/qxsdschemadebugger.cpp226
-rw-r--r--src/xmlpatterns/schema/qxsdschemadebugger_p.h127
-rw-r--r--src/xmlpatterns/schema/qxsdschemahelper.cpp821
-rw-r--r--src/xmlpatterns/schema/qxsdschemahelper_p.h217
-rw-r--r--src/xmlpatterns/schema/qxsdschemamerger.cpp157
-rw-r--r--src/xmlpatterns/schema/qxsdschemamerger_p.h99
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser.cpp6078
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser_p.h721
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser_setup.cpp1110
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparsercontext.cpp603
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparsercontext_p.h231
-rw-r--r--src/xmlpatterns/schema/qxsdschemaresolver.cpp1736
-rw-r--r--src/xmlpatterns/schema/qxsdschemaresolver_p.h578
-rw-r--r--src/xmlpatterns/schema/qxsdschematoken.cpp2981
-rw-r--r--src/xmlpatterns/schema/qxsdschematoken_p.h209
-rw-r--r--src/xmlpatterns/schema/qxsdschematypesfactory.cpp126
-rw-r--r--src/xmlpatterns/schema/qxsdschematypesfactory_p.h109
-rw-r--r--src/xmlpatterns/schema/qxsdsimpletype.cpp148
-rw-r--r--src/xmlpatterns/schema/qxsdsimpletype_p.h219
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine.cpp477
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine_p.h245
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp260
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachinebuilder_p.h141
-rw-r--r--src/xmlpatterns/schema/qxsdterm.cpp68
-rw-r--r--src/xmlpatterns/schema/qxsdterm_p.h114
-rw-r--r--src/xmlpatterns/schema/qxsdtypechecker.cpp1338
-rw-r--r--src/xmlpatterns/schema/qxsdtypechecker_p.h189
-rw-r--r--src/xmlpatterns/schema/qxsduserschematype.cpp75
-rw-r--r--src/xmlpatterns/schema/qxsduserschematype_p.h124
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel.cpp215
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatedxmlnodemodel_p.h179
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp1276
-rw-r--r--src/xmlpatterns/schema/qxsdvalidatinginstancereader_p.h296
-rw-r--r--src/xmlpatterns/schema/qxsdwildcard.cpp115
-rw-r--r--src/xmlpatterns/schema/qxsdwildcard_p.h199
-rw-r--r--src/xmlpatterns/schema/qxsdxpathexpression.cpp88
-rw-r--r--src/xmlpatterns/schema/qxsdxpathexpression_p.h143
-rw-r--r--src/xmlpatterns/schema/schema.pri93
-rw-r--r--src/xmlpatterns/schema/schemas/xml.xsd145
-rw-r--r--src/xmlpatterns/schema/schemas/xml.xsd-LICENSE40
-rw-r--r--src/xmlpatterns/schema/tokens.xml155
-rw-r--r--src/xmlpatterns/type/qanysimpletype.cpp10
-rw-r--r--src/xmlpatterns/type/qanysimpletype_p.h12
-rw-r--r--src/xmlpatterns/type/qanytype.cpp12
-rw-r--r--src/xmlpatterns/type/qanytype_p.h10
-rw-r--r--src/xmlpatterns/type/qnamedschemacomponent.cpp71
-rw-r--r--src/xmlpatterns/type/qnamedschemacomponent_p.h127
-rw-r--r--src/xmlpatterns/type/qprimitives_p.h15
-rw-r--r--src/xmlpatterns/type/qschematype.cpp5
-rw-r--r--src/xmlpatterns/type/qschematype_p.h30
-rw-r--r--src/xmlpatterns/type/type.pri2
-rw-r--r--src/xmlpatterns/utils/qpatternistlocale_p.h13
-rw-r--r--src/xmlpatterns/utils/qxpathhelper.cpp12
-rw-r--r--src/xmlpatterns/utils/qxpathhelper_p.h5
-rw-r--r--src/xmlpatterns/xmlpatterns.pro2
-rw-r--r--tests/arthur/data/1.2/textArea01.svg2
-rw-r--r--tests/arthur/data/qps/linear_gradients_perspectives_qps.pngbin78017 -> 77944 bytes-rw-r--r--tests/arthur/data/qps/linear_gradients_qps.pngbin82119 -> 162643 bytes-rw-r--r--tests/arthur/data/qps/lineconsistency_qps.pngbin12500 -> 12388 bytes-rw-r--r--tests/arthur/data/qps/linedashes2_aa_qps.pngbin28956 -> 28418 bytes-rw-r--r--tests/arthur/data/qps/paths_aa_qps.pngbin92711 -> 92147 bytes-rw-r--r--tests/arthur/data/qps/paths_qps.pngbin20637 -> 20392 bytes-rw-r--r--tests/arthur/data/qps/pixmap_scaling.qps346
-rw-r--r--tests/arthur/data/qps/radial_gradients_perspectives_qps.pngbin133150 -> 131744 bytes-rw-r--r--tests/arthur/data/qps/radial_gradients_qps.pngbin156036 -> 161009 bytes-rw-r--r--tests/arthur/data/qps/rasterops.qps167
-rw-r--r--tests/arthur/data/qps/rasterops_qps.pngbin20400 -> 11059 bytes-rw-r--r--tests/arthur/data/qps/text_perspectives_qps.pngbin112750 -> 116847 bytes-rw-r--r--tests/arthur/data/qps/text_qps.pngbin72027 -> 32991 bytes-rw-r--r--tests/arthur/lance/interactivewidget.cpp2
-rw-r--r--tests/arthur/lance/lance.pro2
-rw-r--r--tests/arthur/lance/main.cpp16
-rw-r--r--tests/arthur/lance/widgets.h151
-rw-r--r--tests/auto/auto.pro14
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.aix-gcc-power32.txt1215
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-amd64.txt1411
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ia32.txt1411
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.linux-gcc-ppc32.txt1411
-rw-r--r--tests/auto/bic/data/Qt3Support.4.0.0.macx-gcc-ppc32.txt1391
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ia32.txt1503
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.linux-gcc-ppc32.txt1523
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ia32.txt1447
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.macx-gcc-ppc32.txt1447
-rw-r--r--tests/auto/bic/data/Qt3Support.4.1.0.win32-gcc-ia32.txt1427
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ia32.txt1805
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.linux-gcc-ppc32.txt1801
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ia32.txt1743
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.macx-gcc-ppc32.txt1747
-rw-r--r--tests/auto/bic/data/Qt3Support.4.2.0.win32-gcc-ia32.txt1707
-rw-r--r--tests/auto/bic/data/Qt3Support.4.3.0.linux-gcc-ia32.txt1897
-rw-r--r--tests/auto/bic/data/Qt3Support.4.3.1.linux-gcc-ia32.txt1895
-rw-r--r--tests/auto/bic/data/Qt3Support.4.3.2.linux-gcc-ia32.txt1897
-rw-r--r--tests/auto/bic/data/Qt3Support.4.4.0.linux-gcc-ia32.txt3156
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.aix-gcc-power32.txt399
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.linux-gcc-amd64.txt432
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ia32.txt432
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.linux-gcc-ppc32.txt2256
-rw-r--r--tests/auto/bic/data/QtCore.4.0.0.macx-gcc-ppc32.txt412
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ia32.txt496
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.linux-gcc-ppc32.txt516
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ia32.txt440
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.macx-gcc-ppc32.txt440
-rw-r--r--tests/auto/bic/data/QtCore.4.1.0.win32-gcc-ia32.txt420
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ia32.txt718
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.linux-gcc-ppc32.txt714
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ia32.txt638
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.macx-gcc-ppc32.txt642
-rw-r--r--tests/auto/bic/data/QtCore.4.2.0.win32-gcc-ia32.txt618
-rw-r--r--tests/auto/bic/data/QtCore.4.3.0.linux-gcc-ia32.txt722
-rw-r--r--tests/auto/bic/data/QtCore.4.3.1.linux-gcc-ia32.txt722
-rw-r--r--tests/auto/bic/data/QtCore.4.3.2.linux-gcc-ia32.txt722
-rw-r--r--tests/auto/bic/data/QtCore.4.4.0.linux-gcc-ia32.txt1909
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ia32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.linux-gcc-ppc32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ia32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.macx-gcc-ppc32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.2.0.win32-gcc-ia32.txt490
-rw-r--r--tests/auto/bic/data/QtDBus.4.3.0.linux-gcc-ia32.txt534
-rw-r--r--tests/auto/bic/data/QtDBus.4.3.1.linux-gcc-ia32.txt534
-rw-r--r--tests/auto/bic/data/QtDBus.4.3.2.linux-gcc-ia32.txt534
-rw-r--r--tests/auto/bic/data/QtDBus.4.4.0.linux-gcc-ia32.txt2029
-rw-r--r--tests/auto/bic/data/QtDesigner.4.2.0.linux-gcc-ia32.txt802
-rw-r--r--tests/auto/bic/data/QtDesigner.4.3.0.linux-gcc-ia32.txt838
-rw-r--r--tests/auto/bic/data/QtDesigner.4.3.1.linux-gcc-ia32.txt838
-rw-r--r--tests/auto/bic/data/QtDesigner.4.3.2.linux-gcc-ia32.txt838
-rw-r--r--tests/auto/bic/data/QtDesigner.4.4.0.linux-gcc-ia32.txt2173
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.aix-gcc-power32.txt720
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.linux-gcc-amd64.txt860
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ia32.txt860
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.linux-gcc-ppc32.txt812
-rw-r--r--tests/auto/bic/data/QtGui.4.0.0.macx-gcc-ppc32.txt840
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ia32.txt952
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.linux-gcc-ppc32.txt972
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ia32.txt896
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.macx-gcc-ppc32.txt896
-rw-r--r--tests/auto/bic/data/QtGui.4.1.0.win32-gcc-ia32.txt876
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ia32.txt1242
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.linux-gcc-ppc32.txt1238
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ia32.txt1178
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.macx-gcc-ppc32.txt1182
-rw-r--r--tests/auto/bic/data/QtGui.4.2.0.win32-gcc-ia32.txt1142
-rw-r--r--tests/auto/bic/data/QtGui.4.3.0.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtGui.4.3.1.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtGui.4.3.2.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtGui.4.4.0.linux-gcc-ia32.txt2519
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.aix-gcc-power32.txt399
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-amd64.txt432
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ia32.txt432
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.linux-gcc-ppc32.txt396
-rw-r--r--tests/auto/bic/data/QtNetwork.4.0.0.macx-gcc-ppc32.txt412
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ia32.txt496
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.linux-gcc-ppc32.txt516
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ia32.txt440
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.macx-gcc-ppc32.txt440
-rw-r--r--tests/auto/bic/data/QtNetwork.4.1.0.win32-gcc-ia32.txt420
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ia32.txt730
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.linux-gcc-ppc32.txt726
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ia32.txt650
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.macx-gcc-ppc32.txt654
-rw-r--r--tests/auto/bic/data/QtNetwork.4.2.0.win32-gcc-ia32.txt630
-rw-r--r--tests/auto/bic/data/QtNetwork.4.3.0.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtNetwork.4.3.1.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtNetwork.4.3.2.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtNetwork.4.4.0.linux-gcc-ia32.txt1977
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.aix-gcc-power32.txt723
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-amd64.txt864
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ia32.txt864
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.linux-gcc-ppc32.txt816
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.0.0.macx-gcc-ppc32.txt844
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ia32.txt956
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.linux-gcc-ppc32.txt976
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ia32.txt900
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.macx-gcc-ppc32.txt900
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.1.0.win32-gcc-ia32.txt1372
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ia32.txt1250
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.linux-gcc-ppc32.txt1246
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ia32.txt1186
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.macx-gcc-ppc32.txt1190
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.2.0.win32-gcc-ia32.txt1642
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.3.0.linux-gcc-ia32.txt1326
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.3.1.linux-gcc-ia32.txt1326
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.3.2.linux-gcc-ia32.txt1326
-rw-r--r--tests/auto/bic/data/QtOpenGL.4.4.0.linux-gcc-ia32.txt2531
-rw-r--r--tests/auto/bic/data/QtScript.4.3.0.linux-gcc-ia32.txt726
-rw-r--r--tests/auto/bic/data/QtScript.4.3.0.macx-gcc-ia32.txt674
-rw-r--r--tests/auto/bic/data/QtScript.4.4.0.linux-gcc-ia32.txt1941
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.aix-gcc-power32.txt408
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.linux-gcc-amd64.txt444
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ia32.txt444
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.linux-gcc-ppc32.txt408
-rw-r--r--tests/auto/bic/data/QtSql.4.0.0.macx-gcc-ppc32.txt424
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ia32.txt508
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.linux-gcc-ppc32.txt528
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ia32.txt452
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.macx-gcc-ppc32.txt452
-rw-r--r--tests/auto/bic/data/QtSql.4.1.0.win32-gcc-ia32.txt432
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ia32.txt730
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.linux-gcc-ppc32.txt726
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ia32.txt650
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.macx-gcc-ppc32.txt654
-rw-r--r--tests/auto/bic/data/QtSql.4.2.0.win32-gcc-ia32.txt630
-rw-r--r--tests/auto/bic/data/QtSql.4.3.0.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtSql.4.3.1.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtSql.4.3.2.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtSql.4.4.0.linux-gcc-ia32.txt1921
-rw-r--r--tests/auto/bic/data/QtSvg.4.1.0.linux-gcc-ia32.txt976
-rw-r--r--tests/auto/bic/data/QtSvg.4.1.0.win32-gcc-ia32.txt876
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ia32.txt1242
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.linux-gcc-ppc32.txt1238
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ia32.txt1178
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.macx-gcc-ppc32.txt1182
-rw-r--r--tests/auto/bic/data/QtSvg.4.2.0.win32-gcc-ia32.txt1142
-rw-r--r--tests/auto/bic/data/QtSvg.4.3.0.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtSvg.4.3.1.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtSvg.4.3.2.linux-gcc-ia32.txt1314
-rw-r--r--tests/auto/bic/data/QtSvg.4.4.0.linux-gcc-ia32.txt2519
-rw-r--r--tests/auto/bic/data/QtTest.4.1.0.linux-gcc-ia32.txt560
-rw-r--r--tests/auto/bic/data/QtTest.4.1.0.win32-gcc-ia32.txt460
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ia32.txt754
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.linux-gcc-ppc32.txt750
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ia32.txt674
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.macx-gcc-ppc32.txt678
-rw-r--r--tests/auto/bic/data/QtTest.4.2.0.win32-gcc-ia32.txt654
-rw-r--r--tests/auto/bic/data/QtTest.4.3.0.linux-gcc-ia32.txt758
-rw-r--r--tests/auto/bic/data/QtTest.4.3.1.linux-gcc-ia32.txt758
-rw-r--r--tests/auto/bic/data/QtTest.4.3.2.linux-gcc-ia32.txt758
-rw-r--r--tests/auto/bic/data/QtTest.4.4.0.linux-gcc-ia32.txt1945
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.aix-gcc-power32.txt411
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.linux-gcc-amd64.txt448
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ia32.txt448
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.linux-gcc-ppc32.txt412
-rw-r--r--tests/auto/bic/data/QtXml.4.0.0.macx-gcc-ppc32.txt428
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ia32.txt512
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.linux-gcc-ppc32.txt532
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ia32.txt456
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.macx-gcc-ppc32.txt456
-rw-r--r--tests/auto/bic/data/QtXml.4.1.0.win32-gcc-ia32.txt436
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ia32.txt734
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.linux-gcc-ppc32.txt730
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ia32.txt654
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.macx-gcc-ppc32.txt658
-rw-r--r--tests/auto/bic/data/QtXml.4.2.0.win32-gcc-ia32.txt634
-rw-r--r--tests/auto/bic/data/QtXml.4.3.0.linux-gcc-ia32.txt762
-rw-r--r--tests/auto/bic/data/QtXml.4.3.1.linux-gcc-ia32.txt762
-rw-r--r--tests/auto/bic/data/QtXml.4.3.2.linux-gcc-ia32.txt762
-rw-r--r--tests/auto/bic/data/QtXml.4.4.0.linux-gcc-ia32.txt1925
-rw-r--r--tests/auto/bic/data/QtXmlPatterns.4.4.0.linux-gcc-ia32.txt2021
-rw-r--r--tests/auto/bic/data/QtXmlPatterns.4.4.1.linux-gcc-ia32.txt2806
-rwxr-xr-xtests/auto/bic/gen.sh4
-rw-r--r--tests/auto/bic/tst_bic.cpp36
-rw-r--r--tests/auto/compilerwarnings/tst_compilerwarnings.cpp12
-rw-r--r--tests/auto/exceptionsafety_objects/oomsimulator.h4
-rw-r--r--tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp314
-rw-r--r--tests/auto/gestures/tst_gestures.cpp29
-rwxr-xr-xtests/auto/linguist/lconvert/data/makeplurals.pl42
-rwxr-xr-xtests/auto/linguist/lconvert/data/makeplurals.sh43
-rw-r--r--tests/auto/linguist/lconvert/data/test-broken-utf8.po.out2
-rw-r--r--tests/auto/linguist/lconvert/tst_lconvert.cpp11
-rw-r--r--tests/auto/linguist/lrelease/tst_lrelease.cpp29
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt8
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/main.cpp4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui_obsolete/project.ui2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/main.cpp31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp/project.ts.result39
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt7
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp24
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/main2.cpp28
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/main3.cpp42
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.pro12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/file1.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/filter.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.pro10
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/project.ts.result31
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/sub.pri3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfile1.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingpaths/sub/subfilter.cpp9
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/textsimilarity/project.ui2
-rw-r--r--tests/auto/linguist/lupdate/testlupdate.cpp5
-rw-r--r--tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp82
-rw-r--r--tests/auto/math3d/qquaternion/tst_qquaternion.cpp56
-rw-r--r--tests/auto/math3d/qvectornd/tst_qvectornd.cpp100
-rw-r--r--tests/auto/moc/os9-newlines.h2
-rw-r--r--tests/auto/moc/tst_moc.cpp49
-rw-r--r--tests/auto/patternistheaders/tst_patternistheaders.cpp8
-rw-r--r--tests/auto/q3socket/tst_qsocket.cpp14
-rw-r--r--tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp18
-rw-r--r--tests/auto/q3urloperator/tst_q3urloperator.cpp12
-rw-r--r--tests/auto/qabstractitemview/tst_qabstractitemview.cpp56
-rw-r--r--tests/auto/qabstractscrollarea/tst_qabstractscrollarea.cpp35
-rw-r--r--tests/auto/qabstractxmlnodemodel/tst_qabstractxmlnodemodel.cpp8
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp13
-rw-r--r--tests/auto/qaction/tst_qaction.cpp4
-rw-r--r--tests/auto/qapplication/tst_qapplication.cpp76
-rw-r--r--tests/auto/qaudiodeviceid/qaudiodeviceid.pro7
-rw-r--r--tests/auto/qaudiodeviceid/tst_qaudiodeviceid.cpp98
-rw-r--r--tests/auto/qaudiodeviceinfo/qaudiodeviceinfo.pro7
-rw-r--r--tests/auto/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp159
-rw-r--r--tests/auto/qaudioformat/qaudioformat.pro7
-rw-r--r--tests/auto/qaudioformat/tst_qaudioformat.cpp180
-rw-r--r--tests/auto/qaudioinput/qaudioinput.pro7
-rw-r--r--tests/auto/qaudioinput/tst_qaudioinput.cpp120
-rw-r--r--tests/auto/qaudiooutput/4.wavbin0 -> 5538 bytes-rw-r--r--tests/auto/qaudiooutput/qaudiooutput.pro12
-rw-r--r--tests/auto/qaudiooutput/tst_qaudiooutput.cpp156
-rw-r--r--tests/auto/qbytearray/tst_qbytearray.cpp2
-rw-r--r--tests/auto/qchar/tst_qchar.cpp3
-rw-r--r--tests/auto/qclipboard/tst_qclipboard.cpp2
-rw-r--r--tests/auto/qcolumnview/tst_qcolumnview.cpp42
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp6
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp138
-rw-r--r--tests/auto/qcopchannel/tst_qcopchannel.cpp2
-rw-r--r--tests/auto/qcssparser/qcssparser.pro2
-rw-r--r--tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp2
-rw-r--r--tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp21
-rw-r--r--tests/auto/qdbusabstractinterface/com.trolltech.QtDBus.Pinger.xml30
-rw-r--r--tests/auto/qdbusabstractinterface/interface.cpp48
-rw-r--r--tests/auto/qdbusabstractinterface/interface.h113
-rw-r--r--tests/auto/qdbusabstractinterface/pinger.cpp67
-rw-r--r--tests/auto/qdbusabstractinterface/pinger.h145
-rw-r--r--tests/auto/qdbusabstractinterface/qdbusabstractinterface.pro15
-rw-r--r--tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp576
-rw-r--r--tests/auto/qdbusinterface/tst_qdbusinterface.cpp194
-rw-r--r--tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp121
-rw-r--r--tests/auto/qdesktopservices/tst_qdesktopservices.cpp2
-rw-r--r--tests/auto/qdir/tst_qdir.cpp94
-rw-r--r--tests/auto/qdirectpainter/tst_qdirectpainter.cpp4
-rw-r--r--tests/auto/qdiriterator/tst_qdiriterator.cpp51
-rw-r--r--tests/auto/qdom/qdom.pro4
-rw-r--r--tests/auto/qdom/tst_qdom.cpp54
-rw-r--r--tests/auto/qfile/tst_qfile.cpp127
-rw-r--r--tests/auto/qfiledialog/tst_qfiledialog.cpp52
-rw-r--r--tests/auto/qfileinfo/tst_qfileinfo.cpp95
-rw-r--r--tests/auto/qfilesystemmodel/qfilesystemmodel.pro2
-rw-r--r--tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp4
-rw-r--r--tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp80
-rw-r--r--tests/auto/qflags/tst_qflags.cpp24
-rw-r--r--tests/auto/qfontcombobox/tst_qfontcombobox.cpp6
-rw-r--r--tests/auto/qfontdialog/tst_qfontdialog.cpp10
-rw-r--r--tests/auto/qformlayout/tst_qformlayout.cpp30
-rw-r--r--tests/auto/qgl/qgl.pro3
-rw-r--r--tests/auto/qgl/tst_qgl.cpp353
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp711
-rw-r--r--tests/auto/qgraphicslayout/tst_qgraphicslayout.cpp1
-rw-r--r--tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp84
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp221
-rw-r--r--tests/auto/qgraphicssceneindex/qgraphicssceneindex.pro4
-rw-r--r--tests/auto/qgraphicssceneindex/tst_qgraphicssceneindex.cpp305
-rw-r--r--tests/auto/qgraphicstransform/qgraphicstransform.pro2
-rw-r--r--tests/auto/qgraphicstransform/tst_qgraphicstransform.cpp162
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp277
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp11
-rw-r--r--tests/auto/qgroupbox/tst_qgroupbox.cpp11
-rw-r--r--tests/auto/qguard/qguard.pro2
-rw-r--r--tests/auto/qguard/tst_qguard.cpp350
-rw-r--r--tests/auto/qhelpenginecore/data/collection.qhcbin10240 -> 10240 bytes-rw-r--r--tests/auto/qhelpenginecore/data/collection1.qhcbin10240 -> 10240 bytes-rw-r--r--tests/auto/qhelpenginecore/data/linguist-3.3.8.qchbin131072 -> 131072 bytes-rw-r--r--tests/auto/qhelpenginecore/data/qmake-3.3.8.qchbin61440 -> 61440 bytes-rw-r--r--tests/auto/qhelpenginecore/data/qmake-4.3.0.qchbin93184 -> 93184 bytes-rw-r--r--tests/auto/qhelpenginecore/data/test.qchbin22528 -> 22528 bytes-rw-r--r--tests/auto/qhelpenginecore/tst_qhelpenginecore.cpp40
-rw-r--r--tests/auto/qhelpgenerator/data/test.qhp7
-rw-r--r--tests/auto/qhelpindexmodel/data/collection.qhcbin10240 -> 10240 bytes-rw-r--r--tests/auto/qhelpindexmodel/data/collection1.qhcbin10240 -> 10240 bytes-rw-r--r--tests/auto/qhelpindexmodel/data/linguist-3.3.8.qchbin131072 -> 131072 bytes-rw-r--r--tests/auto/qhelpindexmodel/data/qmake-3.3.8.qchbin61440 -> 61440 bytes-rw-r--r--tests/auto/qhelpindexmodel/data/qmake-4.3.0.qchbin93184 -> 93184 bytes-rw-r--r--tests/auto/qhelpindexmodel/data/test.qchbin22528 -> 22528 bytes-rw-r--r--tests/auto/qhelpindexmodel/tst_qhelpindexmodel.cpp6
-rw-r--r--tests/auto/qhttp/qhttp.pro2
-rw-r--r--tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro2
-rw-r--r--tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp15
-rw-r--r--tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro2
-rw-r--r--tests/auto/qicoimageformat/icons/valid/Qt.icobin0 -> 31371 bytes-rw-r--r--tests/auto/qicoimageformat/tst_qticoimageformat.cpp33
-rw-r--r--tests/auto/qinputcontext/tst_qinputcontext.cpp4
-rw-r--r--tests/auto/qitemdelegate/tst_qitemdelegate.cpp33
-rw-r--r--tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp2
-rw-r--r--tests/auto/qitemview/tst_qitemview.cpp2
-rw-r--r--tests/auto/qkeysequence/tst_qkeysequence.cpp2
-rw-r--r--tests/auto/qline/qline.pro5
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp67
-rw-r--r--tests/auto/qlocale/tst_qlocale.cpp47
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp50
-rw-r--r--tests/auto/qmainwindow/tst_qmainwindow.cpp6
-rw-r--r--tests/auto/qmake/testdata/simple_app_build/README1
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp48
-rw-r--r--tests/auto/qmenubar/tst_qmenubar.cpp3
-rw-r--r--tests/auto/qmetaobject/qmetaobject.pro3
-rw-r--r--tests/auto/qmetaobject/tst_qmetaobject.cpp34
-rw-r--r--tests/auto/qnativesocketengine/qnativesocketengine.pro2
-rw-r--r--tests/auto/qnetworkreply/qnetworkreply.pro2
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp233
-rw-r--r--tests/auto/qnumeric/tst_qnumeric.cpp5
-rw-r--r--tests/auto/qobject/tst_qobject.cpp16
-rw-r--r--tests/auto/qobjectrace/tst_qobjectrace.cpp8
-rw-r--r--tests/auto/qparallelanimationgroup/tst_qparallelanimationgroup.cpp33
-rw-r--r--tests/auto/qpathclipper/qpathclipper.pro2
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp7
-rw-r--r--tests/auto/qplaintextedit/tst_qplaintextedit.cpp2
-rw-r--r--tests/auto/qprocess/tst_qprocess.cpp7
-rw-r--r--tests/auto/qprogressbar/tst_qprogressbar.cpp30
-rw-r--r--tests/auto/qpropertyanimation/tst_qpropertyanimation.cpp57
-rw-r--r--tests/auto/qreadwritelock/tst_qreadwritelock.cpp2
-rw-r--r--tests/auto/qregexp/qregexp.pro3
-rw-r--r--tests/auto/qregion/tst_qregion.cpp6
-rw-r--r--tests/auto/qresourceengine/qresourceengine.pro1
-rw-r--r--tests/auto/qresourceengine/tst_resourceengine.cpp2
-rw-r--r--tests/auto/qscopedpointer/tst_qscopedpointer.cpp36
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp30
-rw-r--r--tests/auto/qscriptengine/qscriptengine.pro2
-rw-r--r--tests/auto/qscriptengine/script/com/__init__.js4
-rw-r--r--tests/auto/qscriptengine/script/com/trolltech/__init__.js4
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp141
-rw-r--r--tests/auto/qscriptqobject/qscriptqobject.pro2
-rw-r--r--tests/auto/qscriptqobject/tst_qscriptqobject.cpp33
-rw-r--r--tests/auto/qscriptvalue/qscriptvalue.pro2
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp8
-rw-r--r--tests/auto/qsettings/tst_qsettings.cpp38
-rw-r--r--tests/auto/qsharedmemory/src/qsystemlock_win.cpp26
-rw-r--r--tests/auto/qsharedpointer/externaltests.cpp108
-rw-r--r--tests/auto/qsharedpointer/externaltests.h4
-rw-r--r--tests/auto/qsharedpointer/externaltests.pri1
-rw-r--r--tests/auto/qsharedpointer/forwarddeclaration.cpp52
-rw-r--r--tests/auto/qsharedpointer/forwarddeclared.cpp53
-rw-r--r--tests/auto/qsharedpointer/forwarddeclared.h54
-rw-r--r--tests/auto/qsharedpointer/qsharedpointer.pro11
-rw-r--r--tests/auto/qsharedpointer/tst_qsharedpointer.cpp562
-rw-r--r--tests/auto/qsharedpointer/wrapper.cpp60
-rw-r--r--tests/auto/qsharedpointer/wrapper.h55
-rw-r--r--tests/auto/qsocketnotifier/qsocketnotifier.pro2
-rw-r--r--tests/auto/qsocks5socketengine/qsocks5socketengine.pro1
-rw-r--r--tests/auto/qsqldatabase/qsqldatabase.pro5
-rw-r--r--tests/auto/qsqldatabase/tst_databases.h104
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp50
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro1
-rw-r--r--tests/auto/qsqldriver/tst_qsqldriver.cpp4
-rw-r--r--tests/auto/qsqlquery/qsqlquery.pro1
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp40
-rw-r--r--tests/auto/qsqlquerymodel/qsqlquerymodel.pro3
-rw-r--r--tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro3
-rw-r--r--tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp34
-rw-r--r--tests/auto/qsqltablemodel/qsqltablemodel.pro1
-rw-r--r--tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp62
-rw-r--r--tests/auto/qsqlthread/qsqlthread.pro1
-rw-r--r--tests/auto/qsslsocket/certs/qt-test-server-cacert.pem35
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp88
-rw-r--r--tests/auto/qstandarditemmodel/tst_qstandarditemmodel.cpp6
-rw-r--r--tests/auto/qstate/tst_qstate.cpp17
-rw-r--r--tests/auto/qstatemachine/tst_qstatemachine.cpp595
-rw-r--r--tests/auto/qstring/tst_qstring.cpp8
-rw-r--r--tests/auto/qstringbuilder/tst_qstringbuilder.cpp17
-rw-r--r--tests/auto/qstyle/tst_qstyle.cpp2
-rw-r--r--tests/auto/qstylesheetstyle/qstylesheetstyle.pro1
-rw-r--r--tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp280
-rw-r--r--tests/auto/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp29
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp56
-rw-r--r--tests/auto/qtcpserver/tst_qtcpserver.cpp120
-rw-r--r--tests/auto/qtcpsocket/qtcpsocket.pro2
-rw-r--r--tests/auto/qtcpsocket/test/test.pro1
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp25
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp4
-rw-r--r--tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp10
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp4
-rw-r--r--tests/auto/qtextlist/tst_qtextlist.cpp76
-rw-r--r--tests/auto/qtextpiecetable/qtextpiecetable.pro5
-rw-r--r--tests/auto/qtextpiecetable/tst_qtextpiecetable.cpp32
-rw-r--r--tests/auto/qthreadonce/tst_qthreadonce.cpp2
-rw-r--r--tests/auto/qthreadpool/tst_qthreadpool.cpp6
-rw-r--r--tests/auto/qtimer/tst_qtimer.cpp2
-rw-r--r--tests/auto/qtoolbar/tst_qtoolbar.cpp4
-rw-r--r--tests/auto/qtoolbutton/tst_qtoolbutton.cpp27
-rw-r--r--tests/auto/qurl/tst_qurl.cpp106
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp86
-rw-r--r--tests/auto/qvector/qvector.pro1
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp58
-rw-r--r--tests/auto/qwineventnotifier/tst_qwineventnotifier.cpp7
-rw-r--r--tests/auto/qxml/tst_qxml.cpp26
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp176
-rw-r--r--tests/auto/qxmlschema/.gitignore1
-rw-r--r--tests/auto/qxmlschema/qxmlschema.pro5
-rw-r--r--tests/auto/qxmlschema/tst_qxmlschema.cpp372
-rw-r--r--tests/auto/qxmlschemavalidator/.gitignore1
-rw-r--r--tests/auto/qxmlschemavalidator/qxmlschemavalidator.pro5
-rw-r--r--tests/auto/qxmlschemavalidator/tst_qxmlschemavalidator.cpp445
-rw-r--r--tests/auto/qxmlsimplereader/parser/main.cpp1
-rwxr-xr-xtests/auto/runQtXmlPatternsTests.sh2
-rw-r--r--tests/auto/selftests/cmptest/tst_cmptest.cpp46
-rw-r--r--tests/auto/selftests/exception/exception.pro9
-rw-r--r--tests/auto/selftests/exception/tst_exception.cpp69
-rw-r--r--tests/auto/selftests/exceptionthrow/exceptionthrow.pro9
-rw-r--r--tests/auto/selftests/exceptionthrow/tst_exceptionthrow.cpp69
-rw-r--r--tests/auto/selftests/expected_cmptest.txt20
-rw-r--r--tests/auto/selftests/expected_crashes_3.txt8
-rw-r--r--tests/auto/selftests/expected_exceptionthrow.txt (renamed from tests/auto/selftests/expected_exception.txt)0
-rw-r--r--tests/auto/selftests/expected_longstring.txt16
-rw-r--r--tests/auto/selftests/expected_maxwarnings.txt4
-rw-r--r--tests/auto/selftests/longstring/longstring.pro10
-rw-r--r--tests/auto/selftests/longstring/tst_longstring.cpp72
-rw-r--r--tests/auto/selftests/selftests.pro4
-rw-r--r--tests/auto/selftests/selftests.qrc4
-rw-r--r--tests/auto/selftests/tst_selftests.cpp20
-rw-r--r--tests/auto/selftests/xunit/xunit.pro11
-rw-r--r--tests/auto/symbian/orientationchange/tst_orientationchange.cpp4
-rw-r--r--tests/auto/symbian/qmainexceptions/tst_qmainexceptions.cpp4
-rwxr-xr-xtests/auto/test.pl2
-rw-r--r--tests/auto/tests.xml8
-rw-r--r--tests/auto/uic3/uic3.pro3
-rw-r--r--tests/auto/uiloader/baseline/css_scrollarea_base.ui197
-rw-r--r--tests/auto/windowsmobile/test/tst_windowsmobile.cpp2
-rw-r--r--tests/auto/xmlpatterns.pri14
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/test/tst_xmlpatternsdiagnosticsts.cpp2
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro1
-rw-r--r--tests/auto/xmlpatternsschema/.gitignore1
-rw-r--r--tests/auto/xmlpatternsschema/tst_xmlpatternsschema.cpp988
-rw-r--r--tests/auto/xmlpatternsschema/xmlpatternsschema.pro6
-rw-r--r--tests/auto/xmlpatternsschemats/.gitignore4
-rw-r--r--tests/auto/xmlpatternsschemats/Baseline.xml2
-rw-r--r--tests/auto/xmlpatternsschemats/TESTSUITE/.gitignore3
-rw-r--r--tests/auto/xmlpatternsschemats/TESTSUITE/unifyCatalog.xsl21
-rwxr-xr-xtests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh20
-rw-r--r--tests/auto/xmlpatternsschemats/tst_xmlpatternsschemats.cpp44
-rw-r--r--tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro23
-rw-r--r--tests/auto/xmlpatternsvalidator/files/instance.xml3
-rw-r--r--tests/auto/xmlpatternsvalidator/files/invalid_schema.xsd12
-rw-r--r--tests/auto/xmlpatternsvalidator/files/other_valid_schema.xsd12
-rw-r--r--tests/auto/xmlpatternsvalidator/files/sa_invalid_instance.xml3
-rw-r--r--tests/auto/xmlpatternsvalidator/files/sa_valid_instance.xml3
-rw-r--r--tests/auto/xmlpatternsvalidator/files/valid_schema.xsd12
-rw-r--r--tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp174
-rw-r--r--tests/auto/xmlpatternsvalidator/xmlpatternsvalidator.pro5
-rw-r--r--tests/auto/xmlpatternsview/view/MainWindow.cpp32
-rw-r--r--tests/auto/xmlpatternsview/view/MainWindow.h6
-rw-r--r--tests/auto/xmlpatternsview/view/ui_MainWindow.ui9
-rw-r--r--tests/auto/xmlpatternsview/xmlpatternsview.pro1
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.cpp7
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestBaseLine.h9
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestGroup.cpp6
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.cpp26
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TestSuite.h14
-rw-r--r--tests/auto/xmlpatternsxqts/lib/TreeModel.cpp9
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.cpp346
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTSTestCase.h130
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.cpp881
-rw-r--r--tests/auto/xmlpatternsxqts/lib/XSDTestSuiteHandler.h90
-rw-r--r--tests/auto/xmlpatternsxqts/lib/lib.pro4
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_suitetest.cpp15
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_suitetest.h14
-rw-r--r--tests/auto/xmlpatternsxqts/test/tst_xmlpatternsxqts.cpp2
-rw-r--r--tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro3
-rw-r--r--tests/auto/xmlpatternsxslts/tst_xmlpatternsxslts.cpp2
-rw-r--r--tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro1
-rw-r--r--tests/benchmarks/benchmarks.pro4
-rw-r--r--tests/benchmarks/qdir/tst_qdir.cpp35
-rw-r--r--tests/benchmarks/qdiriterator/main.cpp2
-rw-r--r--tests/benchmarks/qdiriterator/qfilesystemiterator.cpp19
-rw-r--r--tests/benchmarks/qfile/main.cpp16
-rw-r--r--tests/benchmarks/qgraphicsitem/qgraphicsitem.pro1
-rw-r--r--tests/benchmarks/qgraphicsitem/tst_qgraphicsitem.cpp51
-rw-r--r--tests/benchmarks/qnetworkreply/main.cpp74
-rw-r--r--tests/benchmarks/qnetworkreply/qnetworkreply.pro13
-rw-r--r--tests/benchmarks/qquaternion/qquaternion.pro6
-rw-r--r--tests/benchmarks/qquaternion/tst_qquaternion.cpp124
-rw-r--r--tests/benchmarks/qstring/main.cpp18
-rw-r--r--tests/benchmarks/qstring/qstring.pro8
-rw-r--r--tests/benchmarks/qstring/utf-8.txt72
-rw-r--r--tests/manual/qdesktopwidget/main.cpp188
-rw-r--r--tests/manual/qdesktopwidget/qdesktopwidget.pro2
-rw-r--r--tests/manual/windowflags/controllerwindow.cpp263
-rw-r--r--tests/manual/windowflags/controllerwindow.h115
-rw-r--r--tests/manual/windowflags/main.cpp52
-rw-r--r--tests/manual/windowflags/previewwindow.cpp146
-rw-r--r--tests/manual/windowflags/previewwindow.h81
-rw-r--r--tests/manual/windowflags/windowflags.pro5
-rw-r--r--tools/activeqt/dumpcpp/main.cpp6
-rw-r--r--tools/assistant/lib/lib.pro96
-rw-r--r--tools/assistant/lib/qhelpprojectdata.cpp49
-rw-r--r--tools/assistant/lib/qhelpsearchengine.cpp14
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader.cpp106
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_clucene.cpp60
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_clucene_p.h36
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_default.cpp49
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_default_p.h37
-rw-r--r--tools/assistant/lib/qhelpsearchindexreader_p.h108
-rw-r--r--tools/assistant/lib/qhelpsearchquerywidget.cpp295
-rw-r--r--tools/assistant/tools/assistant/assistant.qchbin368640 -> 368640 bytes-rw-r--r--tools/assistant/tools/assistant/assistant.rc31
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp28
-rw-r--r--tools/assistant/tools/assistant/centralwidget.h3
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qhp2
-rw-r--r--tools/assistant/tools/assistant/helpviewer.cpp4
-rw-r--r--tools/assistant/tools/assistant/main.cpp18
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp15
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.cpp41
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.h12
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.ui118
-rw-r--r--tools/assistant/tools/qhelpconverter/adpreader.cpp20
-rw-r--r--tools/assistant/tools/qhelpconverter/adpreader.h6
-rw-r--r--tools/checksdk/cesdkhandler.cpp7
-rw-r--r--tools/checksdk/cesdkhandler.h4
-rw-r--r--tools/checksdk/checksdk.pro39
-rw-r--r--tools/checksdk/main.cpp42
-rw-r--r--tools/configure/configure.pro4
-rw-r--r--tools/configure/configureapp.cpp140
-rw-r--r--tools/configure/configureapp.h4
-rw-r--r--tools/configure/environment.cpp218
-rw-r--r--tools/configure/main.cpp2
-rw-r--r--tools/configure/tools.cpp4
-rw-r--r--tools/designer/data/generate_shared.xsl4
-rw-r--r--tools/designer/src/components/formeditor/brushmanagerproxy.h2
-rw-r--r--tools/designer/src/components/formeditor/qdesigner_resource.cpp6
-rw-r--r--tools/designer/src/components/formeditor/qtbrushmanager.h2
-rw-r--r--tools/designer/src/components/propertyeditor/designerpropertymanager.cpp7
-rw-r--r--tools/designer/src/components/signalsloteditor/connectdialog.ui8
-rw-r--r--tools/designer/src/designer/Info_mac.plist2
-rw-r--r--tools/designer/src/designer/designer.pro3
-rw-r--r--tools/designer/src/designer/designer.rc30
-rw-r--r--tools/designer/src/designer/mainwindow.cpp2
-rw-r--r--tools/designer/src/designer/qdesigner_workbench.cpp13
-rw-r--r--tools/designer/src/designer/uifile.icnsbin0 -> 123696 bytes-rw-r--r--tools/designer/src/lib/sdk/abstractformwindow.cpp14
-rw-r--r--tools/designer/src/lib/sdk/script.cpp6
-rw-r--r--tools/designer/src/lib/shared/iconselector_p.h4
-rw-r--r--tools/designer/src/lib/shared/qdesigner_propertysheet.cpp28
-rw-r--r--tools/designer/src/lib/shared/qtresourceeditordialog_p.h2
-rw-r--r--tools/designer/src/lib/shared/qtresourcemodel_p.h4
-rw-r--r--tools/designer/src/lib/shared/qtresourceview_p.h4
-rw-r--r--tools/designer/src/lib/shared/widgetfactory.cpp6
-rw-r--r--tools/designer/src/lib/uilib/abstractformbuilder.cpp14
-rw-r--r--tools/designer/src/lib/uilib/formbuilder.cpp4
-rw-r--r--tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp2
-rw-r--r--tools/designer/src/uitools/quiloader.cpp8
-rw-r--r--tools/designer/src/uitools/quiloader.h2
-rw-r--r--tools/linguist/lconvert/main.cpp23
-rw-r--r--tools/linguist/linguist/linguist.rc31
-rw-r--r--tools/linguist/linguist/mainwindow.cpp22
-rw-r--r--tools/linguist/linguist/mainwindow.h6
-rw-r--r--tools/linguist/linguist/mainwindow.ui2
-rw-r--r--tools/linguist/linguist/messagemodel.cpp2
-rw-r--r--tools/linguist/lrelease/lrelease.112
-rw-r--r--tools/linguist/lrelease/main.cpp32
-rw-r--r--tools/linguist/lupdate/cpp.cpp122
-rw-r--r--tools/linguist/lupdate/lupdate.114
-rw-r--r--tools/linguist/lupdate/main.cpp22
-rw-r--r--tools/linguist/phrasebooks/french.qph227
-rw-r--r--tools/linguist/shared/abstractproitemvisitor.h24
-rw-r--r--tools/linguist/shared/po.cpp5
-rw-r--r--tools/linguist/shared/profileevaluator.cpp1119
-rw-r--r--tools/linguist/shared/profileevaluator.h13
-rw-r--r--tools/linguist/shared/proitems.cpp84
-rw-r--r--tools/linguist/shared/proitems.h33
-rw-r--r--tools/linguist/shared/proparser.pri2
-rw-r--r--tools/linguist/shared/proreader.cpp131
-rw-r--r--tools/linguist/shared/proreader.h57
-rw-r--r--tools/linguist/shared/qm.cpp57
-rw-r--r--tools/linguist/shared/translator.cpp42
-rw-r--r--tools/linguist/shared/translator.h9
-rw-r--r--tools/linguist/shared/ts.cpp4
-rw-r--r--tools/linguist/shared/ts.dtd8
-rw-r--r--tools/linguist/shared/xliff.cpp14
-rw-r--r--tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp11
-rw-r--r--tools/qdoc3/atom.cpp2
-rw-r--r--tools/qdoc3/atom.h1
-rw-r--r--tools/qdoc3/codemarker.cpp81
-rw-r--r--tools/qdoc3/codemarker.h12
-rw-r--r--tools/qdoc3/command.cpp44
-rw-r--r--tools/qdoc3/config.h1
-rw-r--r--tools/qdoc3/cppcodemarker.cpp141
-rw-r--r--tools/qdoc3/cppcodemarker.h5
-rw-r--r--tools/qdoc3/cppcodeparser.cpp310
-rw-r--r--tools/qdoc3/cppcodeparser.h15
-rw-r--r--tools/qdoc3/doc.cpp35
-rw-r--r--tools/qdoc3/generator.cpp355
-rw-r--r--tools/qdoc3/generator.h13
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp35
-rw-r--r--tools/qdoc3/htmlgenerator.cpp654
-rw-r--r--tools/qdoc3/htmlgenerator.h28
-rw-r--r--tools/qdoc3/jambiapiparser.cpp5
-rw-r--r--tools/qdoc3/javadocgenerator.cpp3
-rw-r--r--tools/qdoc3/javadocgenerator.h2
-rw-r--r--tools/qdoc3/main.cpp12
-rw-r--r--tools/qdoc3/node.cpp118
-rw-r--r--tools/qdoc3/node.h135
-rw-r--r--tools/qdoc3/pagegenerator.cpp59
-rw-r--r--tools/qdoc3/qdoc3.pro3
-rw-r--r--tools/qdoc3/separator.cpp36
-rw-r--r--tools/qdoc3/separator.h1
-rw-r--r--tools/qdoc3/test/assistant.qdocconf4
-rw-r--r--tools/qdoc3/test/classic.css51
-rw-r--r--tools/qdoc3/test/designer.qdocconf4
-rw-r--r--tools/qdoc3/test/linguist.qdocconf4
-rw-r--r--tools/qdoc3/test/macros.qdocconf5
-rw-r--r--tools/qdoc3/test/qmake.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-cpp-ignore.qdocconf3
-rw-r--r--tools/qdoc3/test/qt-inc.qdocconf5
-rw-r--r--tools/qdoc3/test/qt.qdocconf4
-rw-r--r--tools/qdoc3/tree.cpp54
-rw-r--r--tools/qdoc3/webxmlgenerator.cpp4
-rw-r--r--tools/qtconfig/paletteeditoradvanced.cpp2
-rw-r--r--tools/qtestlib/wince/cetest/activesyncconnection.cpp42
-rw-r--r--tools/qtestlib/wince/cetest/bootstrapped.pri3
-rw-r--r--tools/qtestlib/wince/cetest/deployment.cpp34
-rw-r--r--tools/qtestlib/wince/cetest/main.cpp1
-rw-r--r--tools/qtestlib/wince/cetest/remoteconnection.cpp32
-rw-r--r--tools/qtestlib/wince/cetest/remoteconnection.h2
-rw-r--r--tools/qtestlib/wince/remotelib/commands.cpp10
-rw-r--r--tools/qtestlib/wince/remotelib/commands.h2
-rw-r--r--tools/shared/qtgradienteditor/qtcolorbutton.h2
-rw-r--r--tools/shared/qtgradienteditor/qtcolorline.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientdialog.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradienteditor.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopscontroller.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopsmodel.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientstopswidget.h2
-rw-r--r--tools/shared/qtgradienteditor/qtgradientwidget.h2
-rw-r--r--tools/shared/qtpropertybrowser/qtbuttonpropertybrowser.h2
-rw-r--r--tools/shared/qtpropertybrowser/qteditorfactory.h30
-rw-r--r--tools/shared/qtpropertybrowser/qtgroupboxpropertybrowser.h2
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertybrowser.h4
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertymanager.h44
-rw-r--r--tools/shared/qtpropertybrowser/qttreepropertybrowser.h2
-rw-r--r--tools/shared/qtpropertybrowser/qtvariantproperty.h4
-rw-r--r--tools/shared/qttoolbardialog/qttoolbardialog.cpp2
-rw-r--r--tools/shared/qttoolbardialog/qttoolbardialog.h4
-rw-r--r--tools/tools.pro2
-rw-r--r--tools/xmlpatterns/main.cpp2
-rw-r--r--tools/xmlpatterns/qcoloringmessagehandler.cpp12
-rw-r--r--tools/xmlpatternsvalidator/main.cpp133
-rw-r--r--tools/xmlpatternsvalidator/main.h76
-rw-r--r--tools/xmlpatternsvalidator/xmlpatternsvalidator.pro19
-rw-r--r--translations/assistant_de.ts100
-rw-r--r--translations/linguist_de.ts194
-rw-r--r--translations/qt_de.ts14
-rw-r--r--util/s60pixelmetrics/bld.inf4
-rw-r--r--util/s60pixelmetrics/pixel_metrics.cpp4
-rw-r--r--util/s60pixelmetrics/pixel_metrics.h4
-rw-r--r--util/s60pixelmetrics/pm_mapper.hrh4
-rw-r--r--util/s60pixelmetrics/pm_mapper.mmp4
-rw-r--r--util/s60pixelmetrics/pm_mapper.rss4
-rw-r--r--util/s60pixelmetrics/pm_mapper_reg.rss4
-rw-r--r--util/s60pixelmetrics/pm_mapperapp.cpp4
-rw-r--r--util/s60pixelmetrics/pm_mapperapp.h4
-rw-r--r--util/s60pixelmetrics/pm_mapperview.cpp4
-rw-r--r--util/s60pixelmetrics/pm_mapperview.h4
-rw-r--r--util/s60theme/main.cpp4
-rw-r--r--util/s60theme/s60themeconvert.cpp4
-rw-r--r--util/s60theme/s60themeconvert.h4
-rwxr-xr-xutil/webkit/mkdist-webkit22
4438 files changed, 183313 insertions, 253333 deletions
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 4c4e67a..f1d94e0 100644
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -3,7 +3,7 @@
# A script for setting binary capabilities based on .pkg file contents.
#
# Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-# Contact: Qt Software Information (qt-info@nokia.com)
+# Contact: Nokia Corporation (qt-info@nokia.com)
#
#######################################################################
@@ -104,4 +104,4 @@ else
print("capabilities supported by self-signed certificates.\n");
print("\nUsage: patch_capabilities.pl pkg_filename [capability list]\n");
print("\nE.g. patch_capabilities.pl myapp_armv5_urel.pkg \"All -TCB\"\n");
-} \ No newline at end of file
+}
diff --git a/bin/syncqt b/bin/syncqt
index 6c4de6a..589659f 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -43,6 +43,7 @@ my %modules = ( # path to module name map
"QtDBus" => "$basedir/src/dbus",
"QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore",
"phonon" => "$basedir/src/phonon",
+ "QtMultimedia" => "$basedir/src/multimedia",
);
my %moduleheaders = ( # restrict the module headers to those found in relative path
"QtWebKit" => "../WebKit/qt/Api",
diff --git a/config.tests/mac/defaultarch.test b/config.tests/mac/defaultarch.test
index 4502af7..80f244a 100755
--- a/config.tests/mac/defaultarch.test
+++ b/config.tests/mac/defaultarch.test
@@ -3,7 +3,7 @@
COMPILER=$1
VERBOSE=$2
WORKDIR=$3
-QT_MAC_DEFUALT_ARCH=
+QT_MAC_DEFAULT_ARCH=
touch defaultarch.c
@@ -17,17 +17,17 @@ rm -f defaultarch.c defaultarch.o
# detect our known archs.
if echo "$FIlE_OUTPUT" | grep '\<i386\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=x86 # configure knows it as "x86" not "i386"
+ QT_MAC_DEFAULT_ARCH=x86 # configure knows it as "x86" not "i386"
fi
if echo "$FIlE_OUTPUT" | grep '\<x86_64\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=x86_64
+ QT_MAC_DEFAULT_ARCH=x86_64
fi
if echo "$FIlE_OUTPUT" | grep '\<ppc\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=ppc
+ QT_MAC_DEFAULT_ARCH=ppc
fi
if echo "$FIlE_OUTPUT" | grep '\<ppc64\>' > /dev/null 2>&1; then
- QT_MAC_DEFUALT_ARCH=ppc64
+ QT_MAC_DEFAULT_ARCH=ppc64
fi
-[ "$VERBOSE" = "yes" ] && echo "setting QT_MAC_DEFUALT_ARCH to \"$QT_MAC_DEFUALT_ARCH\""
-export QT_MAC_DEFUALT_ARCH
+[ "$VERBOSE" = "yes" ] && echo "setting QT_MAC_DEFAULT_ARCH to \"$QT_MAC_DEFAULT_ARCH\""
+export QT_MAC_DEFAULT_ARCH
diff --git a/config.tests/unix/alsa/alsa.pro b/config.tests/unix/alsa/alsa.pro
new file mode 100644
index 0000000..4931d38
--- /dev/null
+++ b/config.tests/unix/alsa/alsa.pro
@@ -0,0 +1,4 @@
+SOURCES = alsatest.cpp
+LIBS+=-lasound
+CONFIG -= qt dylib
+mac:CONFIG -= app_bundle
diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp
new file mode 100644
index 0000000..af2f5d9
--- /dev/null
+++ b/config.tests/unix/alsa/alsatest.cpp
@@ -0,0 +1,6 @@
+#include <alsa/asoundlib.h>
+int main(int argc,char **argv)
+{
+ return 0;
+}
+
diff --git a/config.tests/unix/makeabs b/config.tests/unix/makeabs
index 9d66108..c415cc7 100755
--- a/config.tests/unix/makeabs
+++ b/config.tests/unix/makeabs
@@ -3,7 +3,13 @@
FILE="$1"
RES="$FILE"
-if [ `echo $FILE | cut -b1` = "/" ]; then
+CUT_ARG="-b1"
+if [ `uname -s` = "QNX" ]; then
+ # QNX does not understand "-b1"
+ CUT_ARG="-c1"
+fi
+
+if [ `echo $FILE | cut $CUT_ARG` = "/" ]; then
true
else
RES="$PWD/$FILE"
diff --git a/config.tests/unix/openssl/openssl.pri b/config.tests/unix/openssl/openssl.pri
index c8703c2..377d630 100644
--- a/config.tests/unix/openssl/openssl.pri
+++ b/config.tests/unix/openssl/openssl.pri
@@ -1,12 +1,5 @@
-!cross_compile {
- TRY_INCLUDEPATHS = /include /usr/include /usr/local/include $$QMAKE_INCDIR $$INCLUDEPATH
- # LSB doesn't allow using headers from /include or /usr/include
- linux-lsb-g++:TRY_INCLUDEPATHS = $$QMAKE_INCDIR $$INCLUDEPATH
- for(p, TRY_INCLUDEPATHS) {
- pp = $$join(p, "", "", "/openssl")
- exists($$pp):INCLUDEPATH *= $$p
- }
-}
+# Empty file since Qt 4.6
+# I'm too lazy to find all places where this file is included
symbian{
TRY_INCLUDEPATHS = $${EPOCROOT}epoc32 $${EPOCROOT}epoc32/include $${EPOCROOT}epoc32/include/stdapis $${EPOCROOT}epoc32/include/stdapis/sys $$OS_LAYER_LIBC_SYSTEMINCLUDE $$QMAKE_INCDIR $$INCLUDEPATH
diff --git a/config.tests/unix/stl/stltest.cpp b/config.tests/unix/stl/stltest.cpp
index ff653a4..4d74ed1 100644
--- a/config.tests/unix/stl/stltest.cpp
+++ b/config.tests/unix/stl/stltest.cpp
@@ -9,6 +9,53 @@ templates for common STL container classes.
#include <algorithm>
#include <iostream>
+// something mean to see if the compiler and C++ standard lib are good enough
+template<class K, class T>
+class DummyClass
+{
+ // everything in std namespace ?
+ typedef std::bidirectional_iterator_tag i;
+ typedef std::ptrdiff_t d;
+ // typename implemented ?
+ typedef typename std::map<K,T>::iterator MyIterator;
+};
+
+// extracted from QVector's strict iterator
+template<class T>
+class DummyIterator
+{
+ typedef DummyIterator<int> iterator;
+public:
+ T *i;
+ typedef std::random_access_iterator_tag iterator_category;
+ typedef ptrdiff_t difference_type;
+ typedef T value_type;
+ typedef T *pointer;
+ typedef T &reference;
+
+ inline DummyIterator() : i(0) {}
+ inline DummyIterator(T *n) : i(n) {}
+ inline DummyIterator(const DummyIterator &o): i(o.i){}
+ inline T &operator*() const { return *i; }
+ inline T *operator->() const { return i; }
+ inline T &operator[](int j) const { return *(i + j); }
+ inline bool operator==(const DummyIterator &o) const { return i == o.i; }
+ inline bool operator!=(const DummyIterator &o) const { return i != o.i; }
+ inline bool operator<(const DummyIterator& other) const { return i < other.i; }
+ inline bool operator<=(const DummyIterator& other) const { return i <= other.i; }
+ inline bool operator>(const DummyIterator& other) const { return i > other.i; }
+ inline bool operator>=(const DummyIterator& other) const { return i >= other.i; }
+ inline DummyIterator &operator++() { ++i; return *this; }
+ inline DummyIterator operator++(int) { T *n = i; ++i; return n; }
+ inline DummyIterator &operator--() { i--; return *this; }
+ inline DummyIterator operator--(int) { T *n = i; i--; return n; }
+ inline DummyIterator &operator+=(int j) { i+=j; return *this; }
+ inline DummyIterator &operator-=(int j) { i-=j; return *this; }
+ inline DummyIterator operator+(int j) const { return DummyIterator(i+j); }
+ inline DummyIterator operator-(int j) const { return DummyIterator(i-j); }
+ inline int operator-(DummyIterator j) const { return i - j.i; }
+};
+
int main()
{
std::vector<int> v1;
@@ -53,16 +100,10 @@ int main()
int m2size = m2.size();
m2size = 0;
+ DummyIterator<int> it1, it2;
+ int n = std::distance(it1, it2);
+ std::advance(it1, 3);
+
return 0;
}
-// something mean to see if the compiler and C++ standard lib are good enough
-template<class K, class T>
-class DummyClass
-{
- // everything in std namespace ?
- typedef std::bidirectional_iterator_tag i;
- typedef std::ptrdiff_t d;
- // typename implemented ?
- typedef typename std::map<K,T>::iterator MyIterator;
-};
diff --git a/config.tests/x11/xsync/xsync.cpp b/config.tests/x11/xsync/xsync.cpp
new file mode 100644
index 0000000..a23fb08
--- /dev/null
+++ b/config.tests/x11/xsync/xsync.cpp
@@ -0,0 +1,11 @@
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/sync.h>
+
+int main(int, char **)
+{
+ XSyncValue value;
+ (void*)&XSyncIntToValue;
+ (void*)&XSyncCreateCounter;
+ return 0;
+}
diff --git a/config.tests/x11/xsync/xsync.pro b/config.tests/x11/xsync/xsync.pro
new file mode 100644
index 0000000..58b8238
--- /dev/null
+++ b/config.tests/x11/xsync/xsync.pro
@@ -0,0 +1,3 @@
+CONFIG += x11
+CONFIG -= qt
+SOURCES = xsync.cpp
diff --git a/configure b/configure
index f9b3030..1d1f826 100755
--- a/configure
+++ b/configure
@@ -542,9 +542,12 @@ cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
QMakeVar add styles "cde mac motif plastique cleanlooks windows"
QMakeVar add decorations "default windows styled"
-QMakeVar add gfx-drivers "linuxfb"
+QMakeVar add mouse-drivers "pc"
+if [ "$UNAME_SYSTEM" = "Linux" ] ; then
+ QMakeVar add gfx-drivers "linuxfb"
+ QMakeVar add mouse-drivers "linuxtp"
+fi
QMakeVar add kbd-drivers "tty"
-QMakeVar add mouse-drivers "pc linuxtp"
if [ "$CFG_DEV" = "yes" ]; then
QMakeVar add kbd-drivers "um"
@@ -570,6 +573,7 @@ CFG_DEBUG_RELEASE=no
CFG_SHARED=yes
CFG_SM=auto
CFG_XSHAPE=auto
+CFG_XSYNC=auto
CFG_XINERAMA=runtime
CFG_XFIXES=runtime
CFG_ZLIB=auto
@@ -605,6 +609,7 @@ CFG_NOBUILD_PARTS=""
CFG_RELEASE_QMAKE=no
CFG_PHONON=auto
CFG_PHONON_BACKEND=yes
+CFG_MULTIMEDIA=yes
CFG_SVG=yes
CFG_WEBKIT=auto # (yes|no|auto)
@@ -613,11 +618,17 @@ CFG_GFX_ON="linuxfb multiscreen"
CFG_GFX_PLUGIN_AVAILABLE=
CFG_GFX_PLUGIN=
CFG_GFX_OFF=
-CFG_KBD_AVAILABLE="tty linuxinput sl5000 yopy vr41xx qvfb"
+CFG_KBD_AVAILABLE="tty linuxinput qvfb"
CFG_KBD_ON="tty" #default, see QMakeVar above
-CFG_MOUSE_AVAILABLE="pc bus linuxtp yopy vr41xx tslib qvfb"
+CFG_MOUSE_AVAILABLE="pc linuxtp linuxinput tslib qvfb"
CFG_MOUSE_ON="pc linuxtp" #default, see QMakeVar above
+if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
+ CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} qnx"
+ CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
+ CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
+fi
+
CFG_ARCH=
CFG_HOST_ARCH=
CFG_KBD_PLUGIN_AVAILABLE=
@@ -699,6 +710,7 @@ OPT_VERBOSE=no
OPT_HELP=
CFG_SILENT=no
CFG_GRAPHICS_SYSTEM=default
+CFG_ALSA=auto
# initalize variables used for installation
QT_INSTALL_PREFIX=
@@ -838,7 +850,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-svg|-webkit|-scripttools|-rpath|-force-pkg-config)
+ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xshape|-xinput|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-svg|-webkit|-scripttools|-rpath|-force-pkg-config)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
@@ -1165,6 +1177,8 @@ while [ "$#" -gt 0 ]; do
else
if [ "$VAL" = "opengl" ]; then
CFG_GRAPHICS_SYSTEM="opengl"
+ elif [ "$VAL" = "openvg" ]; then
+ CFG_GRAPHICS_SYSTEM="openvg"
elif [ "$VAL" = "raster" ]; then
CFG_GRAPHICS_SYSTEM="raster"
else
@@ -1444,6 +1458,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ xsync)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_XSYNC="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
xinput)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "runtime" ]; then
CFG_XINPUT="$VAL"
@@ -1957,6 +1978,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ multimedia)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_MULTIMEDIA="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
*)
UNKNOWN_OPT=yes
;;
@@ -2011,6 +2039,12 @@ for e in gawk nawk awk; do
fi
done
+# find perl
+PERL="/usr/bin/perl"
+if "$WHICH" perl >/dev/null 2>&1 && ( perl /dev/null ) >/dev/null 2>&1; then
+ PERL=`$WHICH perl`
+fi
+
### skip this if the user just needs help...
if [ "$OPT_HELP" != "yes" ]; then
@@ -2239,6 +2273,13 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
XPLATFORM="qws/linux-$CFG_EMBEDDED-g++"
fi
;;
+ QNX:*)
+ [ -z "$PLATFORM" ] && PLATFORM=unsupported/qws/qnx-generic-g++
+ if [ -z "$XPLATFORM" ]; then
+ [ "$CFG_EMBEDDED" = "auto" ] && CFG_EMBEDDED=generic
+ XPLATFORM="unsupported/qws/qnx-$CFG_EMBEDDED-g++"
+ fi
+ ;;
CYGWIN*:*)
CFG_EMBEDDED=x86
;;
@@ -2390,6 +2431,9 @@ if [ -z "$PLATFORM" ]; then
UNIX_SV:*)
PLATFORM=unixware-g++
;;
+ QNX:*)
+ PLATFORM=unsupported/qnx-g++
+ ;;
*)
if [ "$OPT_HELP" != "yes" ]; then
echo
@@ -2615,6 +2659,16 @@ if [ -z "${CFG_HOST_ARCH}" ]; then
fi
CFG_HOST_ARCH=sparc
;;
+ QNX:*:*)
+ case "$UNAME_MACHINE" in
+ x86pc)
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ echo " QNX on Intel 80x86 (i386)"
+ fi
+ CFG_HOST_ARCH=i386
+ ;;
+ esac
+ ;;
*:*:*)
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " Trying '$UNAME_MACHINE'..."
@@ -3107,6 +3161,7 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns]
[-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend]
[-no-openssl] [-openssl] [-openssl-linked]
+ [-no-multimedia] [-multimedia]
[-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]
[-no-scripttools] [-scripttools]
@@ -3247,6 +3302,9 @@ fi
-no-phonon-backend.. Do not build the platform phonon plugin.
+ -phonon-backend..... Build the platform phonon plugin.
+ -no-multimedia ..... Do not build the multimedia module.
+ * -multimedia ........ Build the multimedia module.
+
-no-svg ............ Do not build the SVG module.
+ -svg ............... Build the SVG module.
@@ -3517,6 +3575,10 @@ Qt/X11 only:
$SHY -xshape ............ Compile XShape support.
Requires X11/extensions/shape.h.
+ $SHN -no-xsync .......... Do not compile XSync support.
+ $SHY -xsync ............. Compile XSync support.
+ Requires X11/extensions/sync.h.
+
$XAN -no-xinerama ....... Do not compile Xinerama (multihead) support.
$XAY -xinerama .......... Compile Xinerama support.
Requires X11/extensions/Xinerama.h and libXinerama.
@@ -3757,7 +3819,7 @@ elif [ "$Edition" = "OpenSource" ]; then
read acceptance
fi
echo
- if [ "$acceptance" = "yes" ]; then
+ if [ "$acceptance" = "yes" ] || [ "$acceptance" = "y" ]; then
break
elif [ "$acceptance" = "no" ]; then
echo "You are not licensed to use this software."
@@ -5064,6 +5126,23 @@ if [ "$PLATFORM_X11" = "yes" ]; then
fi
fi
+ # auto-detect XSync support
+ if [ "$CFG_XSYNC" != "no" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xsync "XSync" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
+ CFG_XSYNC=yes
+ else
+ if [ "$CFG_XSYNC" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
+ echo "XSync support cannot be enabled due to functionality tests!"
+ echo " Turn on verbose messaging (-v) to $0 to see the final report."
+ echo " If you believe this message is in error you may use the continue"
+ echo " switch (-continue) to $0 to continue."
+ exit 101
+ else
+ CFG_XSYNC=no
+ fi
+ fi
+ fi
+
# auto-detect Xinerama support
if [ "$CFG_XINERAMA" != "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xinerama "Xinerama" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@@ -5583,6 +5662,12 @@ if [ "$CFG_OPENVG" != "no" ]; then
fi
fi
+# if openvg is disabled and the user specified graphicssystem vg, disable it...
+if [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && [ "$CFG_OPENVG" = "no" ]; then
+ echo "OpenVG Graphics System is disabled due to missing OpenVG support..."
+ CFG_GRAPHICS_SYSTEM=default
+fi
+
if [ "$CFG_PTMALLOC" != "no" ]; then
# build ptmalloc, copy .a file to lib/
echo "Building ptmalloc. Please wait..."
@@ -5592,6 +5677,14 @@ if [ "$CFG_PTMALLOC" != "no" ]; then
QMakeVar add QMAKE_LFLAGS "$outpath/lib/libptmalloc3.a"
fi
+if [ "$CFG_ALSA" = "auto" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/alsa "alsa" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_ALSA=yes
+ else
+ CFG_ALSA=no
+ fi
+fi
+
#-------------------------------------------------------------------------------
# ask for all that hasn't been auto-detected or specified in the arguments
#-------------------------------------------------------------------------------
@@ -5635,17 +5728,23 @@ if [ "$CFG_MAC_DWARF2" = "yes" ]; then
QT_CONFIG="$QT_CONFIG dwarf2"
fi
-# Set the default arch. Select 32-bit/carbon if nothing else has
-# been specified on the configure line.
+# Set the default arch.
+# Carbon builds: 32 bit x86/ppc.
+# For "-cocoa" builds on snow leopard : compiler default (64-bit).
+# For "-cocoa" builds on leopard : compiler default (32-bit).
if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_ARCHS" == "" ]; then
source "$mactests/defaultarch.test" "$TEST_COMPILER" "$OPT_VERBOSE" "$mactests"
- if [ "$QT_MAC_DEFUALT_ARCH" == "x86_64" ]; then
- CFG_MAC_ARCHS=" x86"
- elif [ "$QT_MAC_DEFUALT_ARCH" == "ppc64" ]; then
- CFG_MAC_ARCHS=" ppc"
- else
- CFG_MAC_ARCHS=" $QT_MAC_DEFUALT_ARCH"
+ if [ "$CFG_MAC_COCOA" != "yes" ]; then
+ if [ "$QT_MAC_DEFAULT_ARCH" == "x86_64" ]; then
+ CFG_MAC_ARCHS=" x86"
+ elif [ "$QT_MAC_DEFAULT_ARCH" == "ppc64" ]; then
+ CFG_MAC_ARCHS=" ppc"
+ else
+ CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
+ fi
+ else
+ CFG_MAC_ARCHS=" $QT_MAC_DEFAULT_ARCH"
fi
[ "$OPT_VERBOSE" == "yes" ] && echo "Setting Mac architechture to$CFG_MAC_ARCHS."
@@ -5686,6 +5785,13 @@ case "$PLATFORM,$CFG_MAC_COCOA" in
;;
esac
+# disable Qt 3 support on VxWorks
+case "$XPLATFORM" in
+ unsupported/vxworks*)
+ CFG_QT3SUPPORT="no"
+ ;;
+esac
+
# enable Qt 3 support functionality
if [ "$CFG_QT3SUPPORT" = "yes" ]; then
QT_CONFIG="$QT_CONFIG qt3support"
@@ -5924,6 +6030,9 @@ if [ "$PLATFORM_X11" = "yes" ]; then
if [ "$CFG_XSHAPE" = "yes" ]; then
QT_CONFIG="$QT_CONFIG xshape"
fi
+ if [ "$CFG_XSYNC" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG xsync"
+ fi
if [ "$CFG_XINERAMA" = "yes" ]; then
QT_CONFIG="$QT_CONFIG xinerama"
QMakeVar set QMAKE_LIBS_X11 '-lXinerama $$QMAKE_LIBS_X11'
@@ -6016,6 +6125,10 @@ if [ "$CFG_EXCEPTIONS" != "no" ]; then
QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
fi
+if [ "$CFG_ALSA" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG alsa"
+fi
+
#
# Some Qt modules are too advanced in C++ for some old compilers
# Detect here the platforms where they are known to work.
@@ -6025,6 +6138,7 @@ fi
#
canBuildQtXmlPatterns="yes"
canBuildWebKit="$HAVE_STL"
+canBuildQtConcurrent="yes"
# WebKit requires stdint.h
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/stdint "Stdint" $L_FLAGS $I_FLAGS $l_FLAGS
@@ -6051,14 +6165,21 @@ case "$XPLATFORM" in
;;
esac
;;
+ unsupported/vxworks-*-g++*)
+ canBuildWebKit="no"
+ ;;
+ unsupported/vxworks-*-dcc*)
+ canBuildWebKit="no"
+ canBuildQtXmlPatterns="no"
+ ;;
*-g++*)
# Check gcc's version
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
4*|3.4*)
;;
- 3.3*)
- canBuildWebKit="no"
- ;;
+ 3.3*)
+ canBuildWebKit="no"
+ ;;
*)
canBuildWebKit="no"
canBuildQtXmlPatterns="no"
@@ -6066,30 +6187,74 @@ case "$XPLATFORM" in
esac
;;
solaris-cc*)
- # Check the compiler version
- case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
- *)
- canBuildWebKit="no"
- canBuildQtXmlPatterns="no"
- ;;
- esac
- ;;
+ # Check the compiler version
+ case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in
+ 5.[012345678])
+ canBuildWebKit="no"
+ canBuildQtXmlPatterns="no"
+ canBuildQtConcurrent="no"
+ ;;
+ 5.9)
+ canBuildWebKit="no"
+ canBuildQtConcurrent="no"
+ ;;
+ esac
+ ;;
hpux-acc*)
canBuildWebKit="no"
canBuildQtXmlPatterns="no"
+ canBuildQtConcurrent="no"
;;
hpuxi-acc*)
canBuildWebKit="no"
;;
aix-xlc*)
- canBuildWebKit="no"
- canBuildQtXmlPatterns="no"
- ;;
+ # Get the xlC version
+ cat > xlcver.c <<EOF
+#include <stdio.h>
+int main()
+{
+ printf("%d.%d\n", __xlC__ >> 8, __xlC__ & 0xFF);
+ return 0;
+}
+EOF
+ xlcver=
+ if ${QMAKE_CONF_COMPILER} -o xlcver xlcver.c >/dev/null 2>/dev/null; then
+ xlcver=`./xlcver 2>/dev/null`
+ rm -f ./xlcver
+ fi
+ if [ "$OPT_VERBOSE" = "yes" ]; then
+ if [ -n "$xlcver" ]; then
+ echo Found IBM xlC version: $xlcver.
+ else
+ echo Could not determine IBM xlC version, assuming oldest supported.
+ fi
+ fi
+
+ case "$xlcver" in
+ [123456].*)
+ canBuildWebKit="no"
+ canBuildQtXmlPatterns="no"
+ canBuildQtConcurrent="no"
+ ;;
+ *)
+ canBuildWebKit="no"
+ canBuildQtConcurrent="no"
+ ;;
+ esac
+ ;;
irix-cc*)
canBuildWebKit="no"
+ canBuildQtConcurrent="no"
;;
esac
+CFG_CONCURRENT="yes"
+if [ "$canBuildQtConcurrent" = "no" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT"
+ CFG_CONCURRENT="no"
+fi
+
if [ "$CFG_XMLPATTERNS" = "yes" -a "$CFG_EXCEPTIONS" = "no" ]; then
echo "QtXmlPatterns was requested, but it can't be built due to exceptions being disabled."
exit 1
@@ -6135,6 +6300,12 @@ else
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SCRIPTTOOLS"
fi
+if [ "$CFG_MULTIMEDIA" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG multimedia"
+else
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MULTIMEDIA"
+fi
+
if [ "$CFG_EXCEPTIONS" = "no" ]; then
case "$COMPILER" in
g++*)
@@ -6243,10 +6414,8 @@ esac
# Different edition modules:
# network canvas table xml opengl sql
#
-# Options:
-# stl
-#
# Things that do not affect the Qt API/ABI:
+# stl
# system-jpeg no-jpeg jpeg
# system-mng no-mng mng
# system-png no-png png
@@ -6256,7 +6425,6 @@ esac
# debug release
# dll staticlib
#
-# internal
# nocrosscompiler
# GNUmake
# largefile
@@ -6268,7 +6436,7 @@ esac
# X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
# Embedded: embedded freetype
#
-ALL_OPTIONS="stl"
+ALL_OPTIONS=
BUILD_CONFIG=
BUILD_OPTIONS=
@@ -6282,12 +6450,6 @@ for config_option in $QMAKE_CONFIG $QT_CONFIG; do
BUILD_CONFIG="$config_option"
;;
- stl)
- # these config options affect the Qt API/ABI. they should influence
- # the generation of the buildkey, so we don't skip them
- SKIP="no"
- ;;
-
*) # skip all other options since they don't affect the Qt API/ABI.
;;
esac
@@ -6607,6 +6769,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
if [ "$PLATFORM_QWS" != "yes" ]; then
[ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
[ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
+ [ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENVG"
fi
# X11/Unix/Mac only configs
@@ -6636,6 +6799,7 @@ fi
[ "$CFG_XRENDER" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XRENDER"
[ "$CFG_MITSHM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_MITSHM"
[ "$CFG_XSHAPE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SHAPE"
+[ "$CFG_XSYNC" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XSYNC"
[ "$CFG_XINPUT" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_XINPUT QT_NO_TABLET"
[ "$CFG_XCURSOR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XCURSOR"
@@ -6643,6 +6807,7 @@ fi
[ "$CFG_XFIXES" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XFIXES"
[ "$CFG_XRANDR" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XRANDR"
[ "$CFG_XINPUT" = "runtime" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_RUNTIME_XINPUT"
+[ "$CFG_ALSA" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_ALSA"
# sort QCONFIG_FLAGS for neatness if we can
[ '!' -z "$AWK" ] && QCONFIG_FLAGS=`echo $QCONFIG_FLAGS | $AWK '{ gsub(" ", "\n"); print }' | sort | uniq`
@@ -6736,6 +6901,9 @@ fi
if [ "$PLATFORM_MAC" = "yes" ]; then
QT_CONFIG="$QT_CONFIG $CFG_MAC_ARCHS"
fi
+if [ "$CFG_DEV" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG private_tests"
+fi
# Make the application arch follow the Qt arch for single arch builds.
# (for multiple-arch builds, set CONFIG manually in the application .pro file)
@@ -6995,9 +7163,11 @@ echo "Qt 3 compatibility .. $CFG_QT3SUPPORT"
[ "$CFG_DBUS" = "no" ] && echo "QtDBus module ....... no"
[ "$CFG_DBUS" = "yes" ] && echo "QtDBus module ....... yes (run-time)"
[ "$CFG_DBUS" = "linked" ] && echo "QtDBus module ....... yes (linked)"
+echo "QtConcurrent code.... $CFG_CONCURRENT"
echo "QtScriptTools module $CFG_SCRIPTTOOLS"
echo "QtXmlPatterns module $CFG_XMLPATTERNS"
echo "Phonon module ....... $CFG_PHONON"
+echo "Multimedia module ... $CFG_MULTIMEDIA"
echo "SVG module .......... $CFG_SVG"
echo "WebKit module ....... $CFG_WEBKIT"
echo "STL support ......... $CFG_STL"
@@ -7094,6 +7264,7 @@ fi
if [ "$PLATFORM_X11" = "yes" ]; then
echo "NAS sound support ... $CFG_NAS"
echo "XShape support ...... $CFG_XSHAPE"
+ echo "XSync support ....... $CFG_XSYNC"
echo "Xinerama support .... $CFG_XINERAMA"
echo "Xcursor support ..... $CFG_XCURSOR"
echo "Xfixes support ...... $CFG_XFIXES"
@@ -7147,6 +7318,7 @@ if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG"
echo "NOTE: Mac OS X frameworks implicitly build debug and release Qt libraries."
echo
fi
+echo "alsa support ........ $CFG_ALSA"
echo
sepath=`echo "$relpath" | sed -e 's/\\./\\\\./g'`
diff --git a/configure.exe b/configure.exe
index 0a0d121..1019167 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/browser/browserapplication.cpp b/demos/browser/browserapplication.cpp
index 5ef3ce6..b27b5c1 100644
--- a/demos/browser/browserapplication.cpp
+++ b/demos/browser/browserapplication.cpp
@@ -205,6 +205,7 @@ void BrowserApplication::postLaunch()
if (directory.isEmpty())
directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
QWebSettings::setIconDatabasePath(directory);
+ QWebSettings::setOfflineStoragePath(directory);
setWindowIcon(QIcon(QLatin1String(":browser.svg")));
diff --git a/demos/browser/browsermainwindow.cpp b/demos/browser/browsermainwindow.cpp
index c386991..8dd59d5 100644
--- a/demos/browser/browsermainwindow.cpp
+++ b/demos/browser/browsermainwindow.cpp
@@ -81,6 +81,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
, m_stop(0)
, m_reload(0)
{
+ setToolButtonStyle(Qt::ToolButtonFollowStyle);
setAttribute(Qt::WA_DeleteOnClose, true);
statusBar()->setSizeGripEnabled(true);
setupMenu();
diff --git a/demos/demobase.pri b/demos/demobase.pri
index 9ec8fe9..ec26f3a 100644
--- a/demos/demobase.pri
+++ b/demos/demobase.pri
@@ -1,12 +1,12 @@
-symbian {
- RSS_RULES ="group_name=\"QtDemos\";"
-
- vendorinfo = \
- "; Localised Vendor name" \
- "%{\"Nokia, Qt Software\"}" \
- " " \
- "; Unique Vendor name" \
- ":\"Nokia, Qt Software\"" \
- " "
- default_deployment.pkg_prerules += vendorinfo
-} \ No newline at end of file
+symbian {
+ RSS_RULES ="group_name=\"QtDemos\";"
+
+ vendorinfo = \
+ "; Localised Vendor name" \
+ "%{\"Nokia, Qt Software\"}" \
+ " " \
+ "; Unique Vendor name" \
+ ":\"Nokia, Qt Software\"" \
+ " "
+ default_deployment.pkg_prerules += vendorinfo
+}
diff --git a/demos/demos.pro b/demos/demos.pro
index 3856591..d734c05 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -13,7 +13,8 @@ SUBDIRS = \
demos_textedit \
demos_chip \
demos_embeddeddialogs \
- demos_undo
+ demos_undo \
+ demos_sub-attaq
symbian: SUBDIRS = \
demos_shared \
@@ -68,6 +69,7 @@ demos_mediaplayer.subdir = mediaplayer
demos_browser.subdir = browser
demos_boxes.subdir = boxes
+demos_sub-attaq.subdir = sub-attaq
#CONFIG += ordered
!ordered {
diff --git a/demos/embedded/anomaly/src/AddressBar.cpp b/demos/embedded/anomaly/src/AddressBar.cpp
index 64734c8..0fd3d35 100644
--- a/demos/embedded/anomaly/src/AddressBar.cpp
+++ b/demos/embedded/anomaly/src/AddressBar.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/AddressBar.h b/demos/embedded/anomaly/src/AddressBar.h
index 632ae1f..a1e58d2 100644
--- a/demos/embedded/anomaly/src/AddressBar.h
+++ b/demos/embedded/anomaly/src/AddressBar.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BookmarksView.cpp b/demos/embedded/anomaly/src/BookmarksView.cpp
index f705383..62e483c 100644
--- a/demos/embedded/anomaly/src/BookmarksView.cpp
+++ b/demos/embedded/anomaly/src/BookmarksView.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BookmarksView.h b/demos/embedded/anomaly/src/BookmarksView.h
index 95abdd7..3c9a054 100644
--- a/demos/embedded/anomaly/src/BookmarksView.h
+++ b/demos/embedded/anomaly/src/BookmarksView.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserView.cpp b/demos/embedded/anomaly/src/BrowserView.cpp
index 4ef1920..b882a2e 100644
--- a/demos/embedded/anomaly/src/BrowserView.cpp
+++ b/demos/embedded/anomaly/src/BrowserView.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserView.h b/demos/embedded/anomaly/src/BrowserView.h
index 0dba14e..a9cf8d2 100644
--- a/demos/embedded/anomaly/src/BrowserView.h
+++ b/demos/embedded/anomaly/src/BrowserView.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserWindow.cpp b/demos/embedded/anomaly/src/BrowserWindow.cpp
index fd2f833..61dcb61 100644
--- a/demos/embedded/anomaly/src/BrowserWindow.cpp
+++ b/demos/embedded/anomaly/src/BrowserWindow.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/BrowserWindow.h b/demos/embedded/anomaly/src/BrowserWindow.h
index 50a6508..b65d421 100644
--- a/demos/embedded/anomaly/src/BrowserWindow.h
+++ b/demos/embedded/anomaly/src/BrowserWindow.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ControlStrip.cpp b/demos/embedded/anomaly/src/ControlStrip.cpp
index 72bc485..4801870 100644
--- a/demos/embedded/anomaly/src/ControlStrip.cpp
+++ b/demos/embedded/anomaly/src/ControlStrip.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ControlStrip.h b/demos/embedded/anomaly/src/ControlStrip.h
index 99fc58d..d3fb253 100644
--- a/demos/embedded/anomaly/src/ControlStrip.h
+++ b/demos/embedded/anomaly/src/ControlStrip.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/HomeView.cpp b/demos/embedded/anomaly/src/HomeView.cpp
index 0f59d54..f4e19f5 100644
--- a/demos/embedded/anomaly/src/HomeView.cpp
+++ b/demos/embedded/anomaly/src/HomeView.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/HomeView.h b/demos/embedded/anomaly/src/HomeView.h
index b54f07e..a33881a 100644
--- a/demos/embedded/anomaly/src/HomeView.h
+++ b/demos/embedded/anomaly/src/HomeView.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/Main.cpp b/demos/embedded/anomaly/src/Main.cpp
index 6ab7403..f3e2298 100644
--- a/demos/embedded/anomaly/src/Main.cpp
+++ b/demos/embedded/anomaly/src/Main.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/TitleBar.cpp b/demos/embedded/anomaly/src/TitleBar.cpp
index ff7837c..2e4eda5 100644
--- a/demos/embedded/anomaly/src/TitleBar.cpp
+++ b/demos/embedded/anomaly/src/TitleBar.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/TitleBar.h b/demos/embedded/anomaly/src/TitleBar.h
index 10ef2a8..7f56860 100644
--- a/demos/embedded/anomaly/src/TitleBar.h
+++ b/demos/embedded/anomaly/src/TitleBar.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ZoomStrip.cpp b/demos/embedded/anomaly/src/ZoomStrip.cpp
index 80bfdea..8848347 100644
--- a/demos/embedded/anomaly/src/ZoomStrip.cpp
+++ b/demos/embedded/anomaly/src/ZoomStrip.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/ZoomStrip.h b/demos/embedded/anomaly/src/ZoomStrip.h
index fdf0328..f613249 100644
--- a/demos/embedded/anomaly/src/ZoomStrip.h
+++ b/demos/embedded/anomaly/src/ZoomStrip.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Anomaly project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/flickcharm.cpp b/demos/embedded/anomaly/src/flickcharm.cpp
index 620ef88..851cadf 100644
--- a/demos/embedded/anomaly/src/flickcharm.cpp
+++ b/demos/embedded/anomaly/src/flickcharm.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Graphics Dojo project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/anomaly/src/flickcharm.h b/demos/embedded/anomaly/src/flickcharm.h
index 3b3831f..74de9c5 100644
--- a/demos/embedded/anomaly/src/flickcharm.h
+++ b/demos/embedded/anomaly/src/flickcharm.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Graphics Dojo project on Qt Labs.
**
@@ -14,7 +14,7 @@
** http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
diff --git a/demos/embedded/desktopservices/contenttab.cpp b/demos/embedded/desktopservices/contenttab.cpp
index e2618b0..8b70c1d 100644
--- a/demos/embedded/desktopservices/contenttab.cpp
+++ b/demos/embedded/desktopservices/contenttab.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/contenttab.h b/demos/embedded/desktopservices/contenttab.h
index 21da07f..e703754 100644
--- a/demos/embedded/desktopservices/contenttab.h
+++ b/demos/embedded/desktopservices/contenttab.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/desktopwidget.cpp b/demos/embedded/desktopservices/desktopwidget.cpp
index f3c02dc..fbcc078 100644
--- a/demos/embedded/desktopservices/desktopwidget.cpp
+++ b/demos/embedded/desktopservices/desktopwidget.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/desktopwidget.h b/demos/embedded/desktopservices/desktopwidget.h
index 6b0af79..c550715 100644
--- a/demos/embedded/desktopservices/desktopwidget.h
+++ b/demos/embedded/desktopservices/desktopwidget.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/linktab.cpp b/demos/embedded/desktopservices/linktab.cpp
index 67dbccf..95024da 100644
--- a/demos/embedded/desktopservices/linktab.cpp
+++ b/demos/embedded/desktopservices/linktab.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/linktab.h b/demos/embedded/desktopservices/linktab.h
index e44b785..3f8cc5d 100644
--- a/demos/embedded/desktopservices/linktab.h
+++ b/demos/embedded/desktopservices/linktab.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/desktopservices/main.cpp b/demos/embedded/desktopservices/main.cpp
index 0abfc78..89c31d8 100644
--- a/demos/embedded/desktopservices/main.cpp
+++ b/demos/embedded/desktopservices/main.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the demonstration applications of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/demos/embedded/embedded.pro b/demos/embedded/embedded.pro
index a5e3465..f876dc1 100644
--- a/demos/embedded/embedded.pro
+++ b/demos/embedded/embedded.pro
@@ -3,8 +3,8 @@ SUBDIRS = styledemo
contains(QT_CONFIG, svg) {
SUBDIRS += embeddedsvgviewer \
- fluidlauncher \
desktopservices
+ !vxworks:!qnx:SUBDIRS += fluidlauncher
}
contains(QT_CONFIG, webkit) {
diff --git a/demos/qtdemo/qtdemo.rc b/demos/qtdemo/qtdemo.rc
index 4cf2a63..882b355 100644
--- a/demos/qtdemo/qtdemo.rc
+++ b/demos/qtdemo/qtdemo.rc
@@ -1,2 +1,32 @@
+#include "winver.h"
+
IDI_ICON1 ICON DISCARDABLE "qtdemo.ico"
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGS 0x0L
+ FILEFLAGSMASK 0x3fL
+ FILEOS 0x00040004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", "Nokia Corporation and/or its subsidiary(-ies)"
+ VALUE "FileDescription", "Qt Examples and Demos"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "LegalCopyright", "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)."
+ VALUE "InternalName", "qtdemo"
+ VALUE "OriginalFilename", "qtdemo.exe"
+ VALUE "ProductName", "Qt Examples and Demos"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index 2560848..1b0b533 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -18,6 +18,7 @@
<example filename="browser" name="Browser" />
<example filename="mediaplayer" name="Media Player" />
<example filename="boxes" name="Boxes" />
+ <example filename="sub-attaq" name="Sub-attaq" />
</demos>
<category dirname="animation" name="Animation Framework">
<example filename="animatedtiles" name="Animated Tiles" />
@@ -26,7 +27,6 @@
<example filename="moveblocks" name="Moving Blocks" />
<example filename="states" name="UI States" />
<example filename="stickman" name="Stickman" />
- <example filename="sub-attaq" name="Sub-attaq" />
</category>
<category dirname="qtconcurrent" name="Concurrent Programming">
<example filename="map" name="Map" executable="false" />
@@ -154,6 +154,11 @@
<category dirname="phonon" name="Phonon">
<example filename="musicplayer" name="Music Player" />
</category>
+ <category dirname="multimedia/audio" name="Multimedia">
+ <example filename="audiodevices" name="Audio Devices" />
+ <example filename="audiooutput" name="Audio Output" />
+ <example filename="audioinput" name="Audio Input" />
+ </category>
<category dirname="richtext" name="Rich Text">
<example filename="calendar" name="Calendar" />
<example filename="orderform" name="Order Form" />
@@ -246,5 +251,6 @@
<example filename="qobjectxmlmodel" name="QObjectXmlModel" />
<example filename="filetree" name="File Tree" />
<example filename="trafficinfo" name="Traffic Info" />
+ <example filename="schema" name="XML Schema Validation" />
</category>
</categories>
diff --git a/examples/animation/sub-attaq/animationmanager.cpp b/demos/sub-attaq/animationmanager.cpp
index 13266f9..13266f9 100644
--- a/examples/animation/sub-attaq/animationmanager.cpp
+++ b/demos/sub-attaq/animationmanager.cpp
diff --git a/examples/animation/sub-attaq/animationmanager.h b/demos/sub-attaq/animationmanager.h
index 63ecae6..63ecae6 100644
--- a/examples/animation/sub-attaq/animationmanager.h
+++ b/demos/sub-attaq/animationmanager.h
diff --git a/demos/sub-attaq/boat.cpp b/demos/sub-attaq/boat.cpp
new file mode 100644
index 0000000..68e646e
--- /dev/null
+++ b/demos/sub-attaq/boat.cpp
@@ -0,0 +1,318 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "boat.h"
+#include "boat_p.h"
+#include "bomb.h"
+#include "pixmapitem.h"
+#include "graphicsscene.h"
+#include "animationmanager.h"
+#include "custompropertyanimation.h"
+#include "qanimationstate.h"
+
+//Qt
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QHistoryState>
+#include <QtCore/QFinalState>
+#include <QtCore/QState>
+#include <QtCore/QSequentialAnimationGroup>
+
+static QAbstractAnimation *setupDestroyAnimation(Boat *boat)
+{
+ QSequentialAnimationGroup *group = new QSequentialAnimationGroup(boat);
+#if QT_VERSION >=0x040500
+ PixmapItem *step1 = new PixmapItem(QString("explosion/boat/step1"),GraphicsScene::Big, boat);
+ step1->setZValue(6);
+ PixmapItem *step2 = new PixmapItem(QString("explosion/boat/step2"),GraphicsScene::Big, boat);
+ step2->setZValue(6);
+ PixmapItem *step3 = new PixmapItem(QString("explosion/boat/step3"),GraphicsScene::Big, boat);
+ step3->setZValue(6);
+ PixmapItem *step4 = new PixmapItem(QString("explosion/boat/step4"),GraphicsScene::Big, boat);
+ step4->setZValue(6);
+ step1->setOpacity(0);
+ step2->setOpacity(0);
+ step3->setOpacity(0);
+ step4->setOpacity(0);
+ CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(boat);
+ anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim1->setDuration(100);
+ anim1->setEndValue(1);
+ CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(boat);
+ anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim2->setDuration(100);
+ anim2->setEndValue(1);
+ CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(boat);
+ anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim3->setDuration(100);
+ anim3->setEndValue(1);
+ CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(boat);
+ anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim4->setDuration(100);
+ anim4->setEndValue(1);
+ CustomPropertyAnimation *anim5 = new CustomPropertyAnimation(boat);
+ anim5->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim5->setDuration(100);
+ anim5->setEndValue(0);
+ CustomPropertyAnimation *anim6 = new CustomPropertyAnimation(boat);
+ anim6->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim6->setDuration(100);
+ anim6->setEndValue(0);
+ CustomPropertyAnimation *anim7 = new CustomPropertyAnimation(boat);
+ anim7->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim7->setDuration(100);
+ anim7->setEndValue(0);
+ CustomPropertyAnimation *anim8 = new CustomPropertyAnimation(boat);
+ anim8->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim8->setDuration(100);
+ anim8->setEndValue(0);
+ group->addAnimation(anim1);
+ group->addAnimation(anim2);
+ group->addAnimation(anim3);
+ group->addAnimation(anim4);
+ group->addAnimation(anim5);
+ group->addAnimation(anim6);
+ group->addAnimation(anim7);
+ group->addAnimation(anim8);
+#else
+ // work around for a bug where we don't transition if the duration is zero.
+ QtPauseAnimation *anim = new QtPauseAnimation(group);
+ anim->setDuration(1);
+ group->addAnimation(anim);
+#endif
+ AnimationManager::self()->registerAnimation(group);
+ return group;
+}
+
+
+
+Boat::Boat(QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0)
+{
+ pixmapItem = new PixmapItem(QString("boat"),GraphicsScene::Big, this);
+ setZValue(4);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable);
+ resize(pixmapItem->boundingRect().size());
+
+ //The movement animation used to animate the boat
+ movementAnimation = new QPropertyAnimation(this, "pos");
+
+ //The movement animation used to animate the boat
+ destroyAnimation = setupDestroyAnimation(this);
+
+ //We setup the state machien of the boat
+ machine = new QStateMachine(this);
+ QState *moving = new QState(machine);
+ StopState *stopState = new StopState(this, moving);
+ machine->setInitialState(moving);
+ moving->setInitialState(stopState);
+ MoveStateRight *moveStateRight = new MoveStateRight(this, moving);
+ MoveStateLeft *moveStateLeft = new MoveStateLeft(this, moving);
+ LaunchStateRight *launchStateRight = new LaunchStateRight(this, machine);
+ LaunchStateLeft *launchStateLeft = new LaunchStateLeft(this, machine);
+
+ //then setup the transitions for the rightMove state
+ KeyStopTransition *leftStopRight = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Left);
+ leftStopRight->setTargetState(stopState);
+ KeyMoveTransition *leftMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Left);
+ leftMoveRight->setTargetState(moveStateRight);
+ KeyMoveTransition *rightMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightMoveRight->setTargetState(moveStateRight);
+ KeyMoveTransition *rightMoveStop = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightMoveStop->setTargetState(moveStateRight);
+
+ //then setup the transitions for the leftMove state
+ KeyStopTransition *rightStopLeft = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightStopLeft->setTargetState(stopState);
+ KeyMoveTransition *rightMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
+ rightMoveLeft->setTargetState(moveStateLeft);
+ KeyMoveTransition *leftMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
+ leftMoveLeft->setTargetState(moveStateLeft);
+ KeyMoveTransition *leftMoveStop = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
+ leftMoveStop->setTargetState(moveStateLeft);
+
+ //We set up the right move state
+ moveStateRight->addTransition(leftStopRight);
+ moveStateRight->addTransition(leftMoveRight);
+ moveStateRight->addTransition(rightMoveRight);
+ stopState->addTransition(rightMoveStop);
+
+ //We set up the left move state
+ moveStateLeft->addTransition(rightStopLeft);
+ moveStateLeft->addTransition(leftMoveLeft);
+ moveStateLeft->addTransition(rightMoveLeft);
+ stopState->addTransition(leftMoveStop);
+
+ //The animation is finished, it means we reached the border of the screen, the boat is stopped so we move to the stop state
+ moveStateLeft->addTransition(movementAnimation, SIGNAL(finished()), stopState);
+ moveStateRight->addTransition(movementAnimation, SIGNAL(finished()), stopState);
+
+ //We set up the keys for dropping bombs
+ KeyLaunchTransition *upFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
+ upFireLeft->setTargetState(launchStateRight);
+ KeyLaunchTransition *upFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
+ upFireRight->setTargetState(launchStateRight);
+ KeyLaunchTransition *upFireStop = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
+ upFireStop->setTargetState(launchStateRight);
+ KeyLaunchTransition *downFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
+ downFireLeft->setTargetState(launchStateLeft);
+ KeyLaunchTransition *downFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
+ downFireRight->setTargetState(launchStateLeft);
+ KeyLaunchTransition *downFireMove = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
+ downFireMove->setTargetState(launchStateLeft);
+
+ //We set up transitions for fire up
+ moveStateRight->addTransition(upFireRight);
+ moveStateLeft->addTransition(upFireLeft);
+ stopState->addTransition(upFireStop);
+
+ //We set up transitions for fire down
+ moveStateRight->addTransition(downFireRight);
+ moveStateLeft->addTransition(downFireLeft);
+ stopState->addTransition(downFireMove);
+
+ //Finally the launch state should come back to its original state
+ QHistoryState *historyState = new QHistoryState(moving);
+ launchStateLeft->addTransition(historyState);
+ launchStateRight->addTransition(historyState);
+
+ QFinalState *final = new QFinalState(machine);
+
+ //This state play the destroyed animation
+ QAnimationState *destroyedState = new QAnimationState(machine);
+ destroyedState->setAnimation(destroyAnimation);
+
+ //Play a nice animation when the boat is destroyed
+ moving->addTransition(this, SIGNAL(boatDestroyed()),destroyedState);
+
+ //Transition to final state when the destroyed animation is finished
+ destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the boat is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(boatExecutionFinished()));
+
+}
+
+void Boat::run()
+{
+ //We register animations
+ AnimationManager::self()->registerAnimation(movementAnimation);
+ AnimationManager::self()->registerAnimation(destroyAnimation);
+ machine->start();
+}
+
+void Boat::stop()
+{
+ movementAnimation->stop();
+ machine->stop();
+}
+
+void Boat::updateBoatMovement()
+{
+ if (speed == 0 || direction == Boat::None) {
+ movementAnimation->stop();
+ return;
+ }
+
+ movementAnimation->stop();
+ movementAnimation->setStartValue(pos());
+
+ if (direction == Boat::Left) {
+ movementAnimation->setEndValue(QPointF(0,y()));
+ movementAnimation->setDuration(x()/speed*15);
+ }
+ else /*if (direction == Boat::Right)*/ {
+ movementAnimation->setEndValue(QPointF(scene()->width()-size().width(),y()));
+ movementAnimation->setDuration((scene()->width()-size().width()-x())/speed*15);
+ }
+ movementAnimation->start();
+}
+
+void Boat::destroy()
+{
+ movementAnimation->stop();
+ emit boatDestroyed();
+}
+
+int Boat::bombsLaunched() const
+{
+ return bombsAlreadyLaunched;
+}
+
+void Boat::setBombsLaunched(int number)
+{
+ if (number > MAX_BOMB) {
+ qWarning("Boat::setBombsLaunched : It impossible to launch that number of bombs");
+ return;
+ }
+ bombsAlreadyLaunched = number;
+}
+
+int Boat::currentSpeed() const
+{
+ return speed;
+}
+
+void Boat::setCurrentSpeed(int speed)
+{
+ if (speed > 3 || speed < 0) {
+ qWarning("Boat::setCurrentSpeed: The boat can't run on that speed");
+ return;
+ }
+ this->speed = speed;
+}
+
+enum Boat::Movement Boat::currentDirection() const
+{
+ return direction;
+}
+
+void Boat::setCurrentDirection(Movement direction)
+{
+ this->direction = direction;
+}
+
+int Boat::type() const
+{
+ return Type;
+}
diff --git a/examples/animation/sub-attaq/boat.h b/demos/sub-attaq/boat.h
index f6b1a90..f6b1a90 100644
--- a/examples/animation/sub-attaq/boat.h
+++ b/demos/sub-attaq/boat.h
diff --git a/examples/animation/sub-attaq/boat_p.h b/demos/sub-attaq/boat_p.h
index 4e962fc..4e962fc 100644
--- a/examples/animation/sub-attaq/boat_p.h
+++ b/demos/sub-attaq/boat_p.h
diff --git a/demos/sub-attaq/bomb.cpp b/demos/sub-attaq/bomb.cpp
new file mode 100644
index 0000000..e92a723
--- /dev/null
+++ b/demos/sub-attaq/bomb.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "bomb.h"
+#include "submarine.h"
+#include "pixmapitem.h"
+#include "animationmanager.h"
+#include "qanimationstate.h"
+
+//Qt
+#include <QtCore/QSequentialAnimationGroup>
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+
+Bomb::Bomb(QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), launchAnimation(0)
+{
+ pixmapItem = new PixmapItem(QString("bomb"),GraphicsScene::Big, this);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setFlags(QGraphicsItem::ItemIsMovable);
+ setZValue(2);
+ resize(pixmapItem->boundingRect().size());
+}
+
+void Bomb::launch(Bomb::Direction direction)
+{
+ launchAnimation = new QSequentialAnimationGroup();
+ AnimationManager::self()->registerAnimation(launchAnimation);
+ qreal delta = direction == Right ? 20 : - 20;
+ QPropertyAnimation *anim = new QPropertyAnimation(this, "pos");
+ anim->setEndValue(QPointF(x() + delta,y() - 20));
+ anim->setDuration(150);
+ launchAnimation->addAnimation(anim);
+ anim = new QPropertyAnimation(this, "pos");
+ anim->setEndValue(QPointF(x() + delta*2, y() ));
+ anim->setDuration(150);
+ launchAnimation->addAnimation(anim);
+ anim = new QPropertyAnimation(this, "pos");
+ anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
+ anim->setDuration(y()/2*60);
+ launchAnimation->addAnimation(anim);
+ connect(anim,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
+
+ //We setup the state machine of the bomb
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the launch animation is playing
+ QAnimationState *launched = new QAnimationState(machine);
+ launched->setAnimation(launchAnimation);
+
+ //End
+ QFinalState *final = new QFinalState(machine);
+
+ machine->setInitialState(launched);
+
+ //### Add a nice animation when the bomb is destroyed
+ launched->addTransition(this, SIGNAL(bombExplosed()),final);
+
+ //If the animation is finished, then we move to the final state
+ launched->addTransition(launched, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the boat is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(bombExecutionFinished()));
+
+ machine->start();
+
+}
+
+void Bomb::onAnimationLaunchValueChanged(const QVariant &)
+{
+ foreach (QGraphicsItem * item , collidingItems(Qt::IntersectsItemBoundingRect)) {
+ if (item->type() == SubMarine::Type) {
+ SubMarine *s = static_cast<SubMarine *>(item);
+ destroy();
+ s->destroy();
+ }
+ }
+}
+
+void Bomb::destroy()
+{
+ launchAnimation->stop();
+ emit bombExplosed();
+}
diff --git a/examples/animation/sub-attaq/bomb.h b/demos/sub-attaq/bomb.h
index ed6b0f5..ed6b0f5 100644
--- a/examples/animation/sub-attaq/bomb.h
+++ b/demos/sub-attaq/bomb.h
diff --git a/demos/sub-attaq/custompropertyanimation.cpp b/demos/sub-attaq/custompropertyanimation.cpp
new file mode 100644
index 0000000..27a4eba
--- /dev/null
+++ b/demos/sub-attaq/custompropertyanimation.cpp
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "custompropertyanimation.h"
+
+// Qt
+#include <QtCore/qdebug.h>
+
+CustomPropertyAnimation::CustomPropertyAnimation(QObject *parent) :
+ QVariantAnimation(parent), animProp(0)
+{
+}
+
+CustomPropertyAnimation::~CustomPropertyAnimation()
+{
+}
+
+void CustomPropertyAnimation::setProperty(AbstractProperty *_animProp)
+{
+ if (animProp == _animProp)
+ return;
+ delete animProp;
+ animProp = _animProp;
+}
+
+/*!
+ \reimp
+ */
+void CustomPropertyAnimation::updateCurrentValue(const QVariant &value)
+{
+ if (!animProp || state() == QAbstractAnimation::Stopped)
+ return;
+
+ animProp->write(value);
+}
+
+
+/*!
+ \reimp
+*/
+void CustomPropertyAnimation::updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState)
+{
+ // Initialize start value
+ if (oldState == QAbstractAnimation::Stopped) {
+ if (!animProp)
+ return;
+ QVariant def = animProp->read();
+ if (def.isValid()) {
+ const int t = def.userType();
+ KeyValues values = keyValues();
+ //this ensures that all the keyValues are of type t
+ for (int i = 0; i < values.count(); ++i) {
+ QVariantAnimation::KeyValue &pair = values[i];
+ if (pair.second.userType() != t)
+ pair.second.convert(static_cast<QVariant::Type>(t));
+ }
+ //let's now update the key values
+ setKeyValues(values);
+ }
+
+ if ((animProp && !startValue().isValid() && currentTime() == 0)
+ || (currentTime() == duration() && currentLoop() == (loopCount() - 1))) {
+ setStartValue(def);
+ }
+ }
+
+ QVariantAnimation::updateState(oldState, newState);
+}
+
+#include "moc_custompropertyanimation.cpp"
diff --git a/examples/animation/sub-attaq/custompropertyanimation.h b/demos/sub-attaq/custompropertyanimation.h
index a984163..a984163 100644
--- a/examples/animation/sub-attaq/custompropertyanimation.h
+++ b/demos/sub-attaq/custompropertyanimation.h
diff --git a/demos/sub-attaq/data.xml b/demos/sub-attaq/data.xml
new file mode 100644
index 0000000..0f30515
--- /dev/null
+++ b/demos/sub-attaq/data.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<subattaq>
+ <submarines>
+ <submarine type="0" points="10" name="Q1" />
+ <submarine type="1" points="20" name="Q2" />
+ </submarines>
+ <levels>
+ <level id="0" name="Seaman recruit">
+ <subinstance type="0" nb="1"/>
+ </level>
+ <level id="1" name="Seaman apprentice">
+ <subinstance type="0" nb="2"/>
+ </level>
+ <level id="2" name="Seaman">
+ <subinstance type="0" nb="4"/>
+ </level>
+ <level id="3" name="Petty Officer Third Class">
+ <subinstance type="0" nb="6"/>
+ </level>
+ <level id="4" name="Petty Officer Second Class">
+ <subinstance type="0" nb="6"/>
+ </level>
+ <level id="5" name="Petty Officer First Class">
+ <subinstance type="0" nb="8"/>
+ </level>
+ <level id="6" name="Lieutenant">
+ <subinstance type="0" nb="10"/>
+ </level>
+ <level id="7" name="Commander">
+ <subinstance type="0" nb="15"/>
+ </level>
+ <level id="8" name="Captain">
+ <subinstance type="0" nb="12"/>
+ </level>
+ <level id="9" name="Admiral">
+ <subinstance type="0" nb="12"/>
+ </level>
+ </levels>
+</subattaq>
diff --git a/demos/sub-attaq/graphicsscene.cpp b/demos/sub-attaq/graphicsscene.cpp
new file mode 100644
index 0000000..fcbc1b3
--- /dev/null
+++ b/demos/sub-attaq/graphicsscene.cpp
@@ -0,0 +1,374 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "graphicsscene.h"
+#include "states.h"
+#include "boat.h"
+#include "submarine.h"
+#include "torpedo.h"
+#include "bomb.h"
+#include "pixmapitem.h"
+#include "custompropertyanimation.h"
+#include "animationmanager.h"
+#include "qanimationstate.h"
+#include "progressitem.h"
+
+//Qt
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QSequentialAnimationGroup>
+#include <QtCore/QParallelAnimationGroup>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+#include <QtCore/QPauseAnimation>
+#include <QtGui/QAction>
+#include <QtCore/QDir>
+#include <QtGui/QApplication>
+#include <QtGui/QMessageBox>
+#include <QtGui/QGraphicsView>
+#include <QtGui/QGraphicsSceneMouseEvent>
+#include <QtCore/QXmlStreamReader>
+
+//helper function that creates an animation for position and inserts it into group
+static CustomPropertyAnimation *addGraphicsItemPosAnimation(QSequentialAnimationGroup *group,
+ QGraphicsItem *item, const QPointF &endPos)
+{
+ CustomPropertyAnimation *ret = new CustomPropertyAnimation(group);
+ ret->setMemberFunctions(item, &QGraphicsItem::pos, &QGraphicsItem::setPos);
+ ret->setEndValue(endPos);
+ ret->setDuration(200);
+ ret->setEasingCurve(QEasingCurve::OutElastic);
+ group->addPause(50);
+ return ret;
+}
+
+//helper function that creates an animation for opacity and inserts it into group
+static void addGraphicsItemFadeoutAnimation(QAnimationGroup *group, QGraphicsItem *item)
+{
+#if QT_VERSION >=0x040500
+ CustomPropertyAnimation *anim = new CustomPropertyAnimation(group);
+ anim->setMemberFunctions(item, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim->setDuration(800);
+ anim->setEndValue(0);
+ anim->setEasingCurve(QEasingCurve::OutQuad);
+#else
+ // work around for a bug where we don't transition if the duration is zero.
+ QtPauseAnimation *anim = new QtPauseAnimation(group);
+ anim->setDuration(1);
+#endif
+}
+
+GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
+ : QGraphicsScene(x,y,width,height), mode(mode), newAction(0), quitAction(0), boat(0)
+{
+ backgroundItem = new PixmapItem(QString("background"),mode);
+ backgroundItem->setZValue(1);
+ backgroundItem->setPos(0,0);
+ addItem(backgroundItem);
+
+ PixmapItem *surfaceItem = new PixmapItem(QString("surface"),mode);
+ surfaceItem->setZValue(3);
+ surfaceItem->setPos(0,sealLevel() - surfaceItem->boundingRect().height()/2);
+ addItem(surfaceItem);
+
+ //The item that display score and level
+ progressItem = new ProgressItem(backgroundItem);
+
+ //We create the boat
+ boat = new Boat();
+ addItem(boat);
+ boat->setPos(this->width()/2, sealLevel() - boat->size().height());
+ boat->hide();
+
+ //parse the xml that contain all data of the game
+ QXmlStreamReader reader;
+ QFile file(":data.xml");
+ file.open(QIODevice::ReadOnly);
+ reader.setDevice(&file);
+ LevelDescription currentLevel;
+ while (!reader.atEnd()) {
+ reader.readNext();
+ if (reader.tokenType() == QXmlStreamReader::StartElement) {
+ if (reader.name() == "submarine")
+ {
+ SubmarineDescription desc;
+ desc.name = reader.attributes().value("name").toString();
+ desc.points = reader.attributes().value("points").toString().toInt();
+ desc.type = reader.attributes().value("type").toString().toInt();
+ submarinesData.append(desc);
+ }
+ if (reader.name() == "level")
+ {
+ currentLevel.id = reader.attributes().value("id").toString().toInt();
+ currentLevel.name = reader.attributes().value("name").toString();
+ }
+ if (reader.name() == "subinstance")
+ {
+ currentLevel.submarines.append(qMakePair(reader.attributes().value("type").toString().toInt(),reader.attributes().value("nb").toString().toInt()));
+ }
+ }
+ if (reader.tokenType() == QXmlStreamReader::EndElement) {
+ if (reader.name() == "level")
+ {
+ levelsData.insert(currentLevel.id,currentLevel);
+ currentLevel.submarines.clear();
+ }
+ }
+ }
+}
+
+qreal GraphicsScene::sealLevel() const
+{
+ if (mode == Big)
+ return 220;
+ else
+ return 160;
+}
+
+void GraphicsScene::setupScene(const QList<QAction *> &actions)
+{
+ newAction = actions.at(0);
+ quitAction = actions.at(1);
+
+ QGraphicsItem *logo_s = addWelcomeItem(QPixmap(":/logo-s"));
+ QGraphicsItem *logo_u = addWelcomeItem(QPixmap(":/logo-u"));
+ QGraphicsItem *logo_b = addWelcomeItem(QPixmap(":/logo-b"));
+ QGraphicsItem *logo_dash = addWelcomeItem(QPixmap(":/logo-dash"));
+ QGraphicsItem *logo_a = addWelcomeItem(QPixmap(":/logo-a"));
+ QGraphicsItem *logo_t = addWelcomeItem(QPixmap(":/logo-t"));
+ QGraphicsItem *logo_t2 = addWelcomeItem(QPixmap(":/logo-t2"));
+ QGraphicsItem *logo_a2 = addWelcomeItem(QPixmap(":/logo-a2"));
+ QGraphicsItem *logo_q = addWelcomeItem(QPixmap(":/logo-q"));
+ QGraphicsItem *logo_excl = addWelcomeItem(QPixmap(":/logo-excl"));
+ logo_s->setZValue(3);
+ logo_u->setZValue(4);
+ logo_b->setZValue(5);
+ logo_dash->setZValue(6);
+ logo_a->setZValue(7);
+ logo_t->setZValue(8);
+ logo_t2->setZValue(9);
+ logo_a2->setZValue(10);
+ logo_q->setZValue(11);
+ logo_excl->setZValue(12);
+ logo_s->setPos(QPointF(-1000, -1000));
+ logo_u->setPos(QPointF(-800, -1000));
+ logo_b->setPos(QPointF(-600, -1000));
+ logo_dash->setPos(QPointF(-400, -1000));
+ logo_a->setPos(QPointF(1000, 2000));
+ logo_t->setPos(QPointF(800, 2000));
+ logo_t2->setPos(QPointF(600, 2000));
+ logo_a2->setPos(QPointF(400, 2000));
+ logo_q->setPos(QPointF(200, 2000));
+ logo_excl->setPos(QPointF(0, 2000));
+
+ QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this);
+ QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this);
+
+ //creation of the animations for moving letters
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_s, QPointF(300, 150));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_u, QPointF(350, 150));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_b, QPointF(400, 120));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_dash, QPointF(460, 150));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_a, QPointF(350, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_t, QPointF(400, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_t2, QPointF(430, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_a2, QPointF(465, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_q, QPointF(510, 250));
+ addGraphicsItemPosAnimation(lettersGroupMoving, logo_excl, QPointF(570, 220));
+
+ //creation of the animations for fading out the letters
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_s);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_u);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_b);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_dash);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t2);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a2);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_q);
+ addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_excl);
+ connect(lettersGroupFading, SIGNAL(finished()), this, SLOT(onIntroAnimationFinished()));
+
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the player is playing
+ PlayState *gameState = new PlayState(this,machine);
+
+ //Final state
+ QFinalState *final = new QFinalState(machine);
+
+ //Animation when the player enter in the game
+ QAnimationState *lettersMovingState = new QAnimationState(machine);
+ lettersMovingState->setAnimation(lettersGroupMoving);
+
+ //Animation when the welcome screen disappear
+ QAnimationState *lettersFadingState = new QAnimationState(machine);
+ lettersFadingState->setAnimation(lettersGroupFading);
+
+ //if new game then we fade out the welcome screen and start playing
+ lettersMovingState->addTransition(newAction, SIGNAL(triggered()),lettersFadingState);
+ lettersFadingState->addTransition(lettersFadingState, SIGNAL(animationFinished()),gameState);
+
+ //New Game is triggered then player start playing
+ gameState->addTransition(newAction, SIGNAL(triggered()),gameState);
+
+ //Wanna quit, then connect to CTRL+Q
+ gameState->addTransition(quitAction, SIGNAL(triggered()),final);
+ lettersMovingState->addTransition(quitAction, SIGNAL(triggered()),final);
+
+ //Welcome screen is the initial state
+ machine->setInitialState(lettersMovingState);
+
+ machine->start();
+
+ //We reach the final state, then we quit
+ connect(machine,SIGNAL(finished()),this, SLOT(onQuitGameTriggered()));
+}
+
+void GraphicsScene::addItem(Bomb *bomb)
+{
+ bombs.insert(bomb);
+ connect(bomb,SIGNAL(bombExecutionFinished()),this, SLOT(onBombExecutionFinished()));
+ QGraphicsScene::addItem(bomb);
+}
+
+void GraphicsScene::addItem(Torpedo *torpedo)
+{
+ torpedos.insert(torpedo);
+ connect(torpedo,SIGNAL(torpedoExecutionFinished()),this, SLOT(onTorpedoExecutionFinished()));
+ QGraphicsScene::addItem(torpedo);
+}
+
+void GraphicsScene::addItem(SubMarine *submarine)
+{
+ submarines.insert(submarine);
+ connect(submarine,SIGNAL(subMarineExecutionFinished()),this, SLOT(onSubMarineExecutionFinished()));
+ QGraphicsScene::addItem(submarine);
+}
+
+void GraphicsScene::addItem(QGraphicsItem *item)
+{
+ QGraphicsScene::addItem(item);
+}
+
+void GraphicsScene::mousePressEvent (QGraphicsSceneMouseEvent * event)
+{
+ event->ignore();
+}
+
+void GraphicsScene::onQuitGameTriggered()
+{
+ qApp->closeAllWindows();
+}
+
+void GraphicsScene::onBombExecutionFinished()
+{
+ Bomb *bomb = qobject_cast<Bomb *>(sender());
+ bombs.remove(bomb);
+ bomb->deleteLater();
+ if (boat)
+ boat->setBombsLaunched(boat->bombsLaunched() - 1);
+}
+
+void GraphicsScene::onTorpedoExecutionFinished()
+{
+ Torpedo *torpedo = qobject_cast<Torpedo *>(sender());
+ torpedos.remove(torpedo);
+ torpedo->deleteLater();
+}
+
+void GraphicsScene::onSubMarineExecutionFinished()
+{
+ SubMarine *submarine = qobject_cast<SubMarine *>(sender());
+ submarines.remove(submarine);
+ if (submarines.count() == 0) {
+ emit allSubMarineDestroyed(submarine->points());
+ } else {
+ emit subMarineDestroyed(submarine->points());
+ }
+ submarine->deleteLater();
+}
+
+int GraphicsScene::remainingSubMarines() const
+{
+ return submarines.count();
+}
+
+void GraphicsScene::clearScene()
+{
+ foreach (SubMarine *sub,submarines) {
+ sub->destroy();
+ sub->deleteLater();
+ }
+
+ foreach (Torpedo *torpedo,torpedos) {
+ torpedo->destroy();
+ torpedo->deleteLater();
+ }
+
+ foreach (Bomb *bomb,bombs) {
+ bomb->destroy();
+ bomb->deleteLater();
+ }
+
+ submarines.clear();
+ bombs.clear();
+ torpedos.clear();
+
+ AnimationManager::self()->unregisterAllAnimations();
+
+ boat->stop();
+ boat->hide();
+}
+
+QGraphicsPixmapItem *GraphicsScene::addWelcomeItem(const QPixmap &pm)
+{
+ QGraphicsPixmapItem *item = addPixmap(pm);
+ welcomeItems << item;
+ return item;
+}
+
+void GraphicsScene::onIntroAnimationFinished()
+{
+ qDeleteAll(welcomeItems);
+ welcomeItems.clear();
+}
+
diff --git a/examples/animation/sub-attaq/graphicsscene.h b/demos/sub-attaq/graphicsscene.h
index 068ee97..068ee97 100644
--- a/examples/animation/sub-attaq/graphicsscene.h
+++ b/demos/sub-attaq/graphicsscene.h
diff --git a/examples/animation/sub-attaq/main.cpp b/demos/sub-attaq/main.cpp
index 4f6f4f9..4f6f4f9 100644
--- a/examples/animation/sub-attaq/main.cpp
+++ b/demos/sub-attaq/main.cpp
diff --git a/examples/animation/sub-attaq/mainwindow.cpp b/demos/sub-attaq/mainwindow.cpp
index bcccd34..bcccd34 100644
--- a/examples/animation/sub-attaq/mainwindow.cpp
+++ b/demos/sub-attaq/mainwindow.cpp
diff --git a/examples/animation/sub-attaq/mainwindow.h b/demos/sub-attaq/mainwindow.h
index 08cfcd9..08cfcd9 100644
--- a/examples/animation/sub-attaq/mainwindow.h
+++ b/demos/sub-attaq/mainwindow.h
diff --git a/examples/animation/sub-attaq/pics/big/background.png b/demos/sub-attaq/pics/big/background.png
index 9f58157..9f58157 100644
--- a/examples/animation/sub-attaq/pics/big/background.png
+++ b/demos/sub-attaq/pics/big/background.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/boat.png b/demos/sub-attaq/pics/big/boat.png
index be82dff..be82dff 100644
--- a/examples/animation/sub-attaq/pics/big/boat.png
+++ b/demos/sub-attaq/pics/big/boat.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/bomb.png b/demos/sub-attaq/pics/big/bomb.png
index 3af5f2f..3af5f2f 100644
--- a/examples/animation/sub-attaq/pics/small/bomb.png
+++ b/demos/sub-attaq/pics/big/bomb.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step1.png b/demos/sub-attaq/pics/big/explosion/boat/step1.png
index c9fd8b0..c9fd8b0 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step1.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step1.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step2.png b/demos/sub-attaq/pics/big/explosion/boat/step2.png
index 7528f2d..7528f2d 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step2.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step3.png b/demos/sub-attaq/pics/big/explosion/boat/step3.png
index aae9c9c..aae9c9c 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step3.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step3.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/boat/step4.png b/demos/sub-attaq/pics/big/explosion/boat/step4.png
index d697c1b..d697c1b 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/boat/step4.png
+++ b/demos/sub-attaq/pics/big/explosion/boat/step4.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png b/demos/sub-attaq/pics/big/explosion/submarine/step1.png
index 88ca514..88ca514 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step1.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step1.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png b/demos/sub-attaq/pics/big/explosion/submarine/step2.png
index 524f589..524f589 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step2.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png b/demos/sub-attaq/pics/big/explosion/submarine/step3.png
index 2cca1e8..2cca1e8 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step3.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step3.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png b/demos/sub-attaq/pics/big/explosion/submarine/step4.png
index 82100a8..82100a8 100644
--- a/examples/animation/sub-attaq/pics/big/explosion/submarine/step4.png
+++ b/demos/sub-attaq/pics/big/explosion/submarine/step4.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/submarine.png b/demos/sub-attaq/pics/big/submarine.png
index df435dc..df435dc 100644
--- a/examples/animation/sub-attaq/pics/big/submarine.png
+++ b/demos/sub-attaq/pics/big/submarine.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/surface.png b/demos/sub-attaq/pics/big/surface.png
index 4eba29e..4eba29e 100644
--- a/examples/animation/sub-attaq/pics/big/surface.png
+++ b/demos/sub-attaq/pics/big/surface.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/torpedo.png b/demos/sub-attaq/pics/big/torpedo.png
index f9c2687..f9c2687 100644
--- a/examples/animation/sub-attaq/pics/small/torpedo.png
+++ b/demos/sub-attaq/pics/big/torpedo.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/scalable/background-n810.svg b/demos/sub-attaq/pics/scalable/background-n810.svg
index ece9f7a..ece9f7a 100644
--- a/examples/animation/sub-attaq/pics/scalable/background-n810.svg
+++ b/demos/sub-attaq/pics/scalable/background-n810.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/background.svg b/demos/sub-attaq/pics/scalable/background.svg
index 0be2680..0be2680 100644
--- a/examples/animation/sub-attaq/pics/scalable/background.svg
+++ b/demos/sub-attaq/pics/scalable/background.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/boat.svg b/demos/sub-attaq/pics/scalable/boat.svg
index 5298821b..5298821b 100644
--- a/examples/animation/sub-attaq/pics/scalable/boat.svg
+++ b/demos/sub-attaq/pics/scalable/boat.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/bomb.svg b/demos/sub-attaq/pics/scalable/bomb.svg
index 294771a..294771a 100644
--- a/examples/animation/sub-attaq/pics/scalable/bomb.svg
+++ b/demos/sub-attaq/pics/scalable/bomb.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/sand.svg b/demos/sub-attaq/pics/scalable/sand.svg
index 8af11b7..8af11b7 100644
--- a/examples/animation/sub-attaq/pics/scalable/sand.svg
+++ b/demos/sub-attaq/pics/scalable/sand.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/see.svg b/demos/sub-attaq/pics/scalable/see.svg
index 0666691..0666691 100644
--- a/examples/animation/sub-attaq/pics/scalable/see.svg
+++ b/demos/sub-attaq/pics/scalable/see.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/sky.svg b/demos/sub-attaq/pics/scalable/sky.svg
index 1546c08..1546c08 100644
--- a/examples/animation/sub-attaq/pics/scalable/sky.svg
+++ b/demos/sub-attaq/pics/scalable/sky.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/sub-attaq.svg b/demos/sub-attaq/pics/scalable/sub-attaq.svg
index b075179..b075179 100644
--- a/examples/animation/sub-attaq/pics/scalable/sub-attaq.svg
+++ b/demos/sub-attaq/pics/scalable/sub-attaq.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/submarine.svg b/demos/sub-attaq/pics/scalable/submarine.svg
index 8a0ffdd..8a0ffdd 100644
--- a/examples/animation/sub-attaq/pics/scalable/submarine.svg
+++ b/demos/sub-attaq/pics/scalable/submarine.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/surface.svg b/demos/sub-attaq/pics/scalable/surface.svg
index 40ed239..40ed239 100644
--- a/examples/animation/sub-attaq/pics/scalable/surface.svg
+++ b/demos/sub-attaq/pics/scalable/surface.svg
diff --git a/examples/animation/sub-attaq/pics/scalable/torpedo.svg b/demos/sub-attaq/pics/scalable/torpedo.svg
index 48e429d..48e429d 100644
--- a/examples/animation/sub-attaq/pics/scalable/torpedo.svg
+++ b/demos/sub-attaq/pics/scalable/torpedo.svg
diff --git a/examples/animation/sub-attaq/pics/small/background.png b/demos/sub-attaq/pics/small/background.png
index 5ad3db6..5ad3db6 100644
--- a/examples/animation/sub-attaq/pics/small/background.png
+++ b/demos/sub-attaq/pics/small/background.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/boat.png b/demos/sub-attaq/pics/small/boat.png
index 114ccc3..114ccc3 100644
--- a/examples/animation/sub-attaq/pics/small/boat.png
+++ b/demos/sub-attaq/pics/small/boat.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/bomb.png b/demos/sub-attaq/pics/small/bomb.png
index 3af5f2f..3af5f2f 100644
--- a/examples/animation/sub-attaq/pics/big/bomb.png
+++ b/demos/sub-attaq/pics/small/bomb.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/submarine.png b/demos/sub-attaq/pics/small/submarine.png
index 0c0c350..0c0c350 100644
--- a/examples/animation/sub-attaq/pics/small/submarine.png
+++ b/demos/sub-attaq/pics/small/submarine.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/small/surface.png b/demos/sub-attaq/pics/small/surface.png
index 06d0e47..06d0e47 100644
--- a/examples/animation/sub-attaq/pics/small/surface.png
+++ b/demos/sub-attaq/pics/small/surface.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/big/torpedo.png b/demos/sub-attaq/pics/small/torpedo.png
index f9c2687..f9c2687 100644
--- a/examples/animation/sub-attaq/pics/big/torpedo.png
+++ b/demos/sub-attaq/pics/small/torpedo.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-a.png b/demos/sub-attaq/pics/welcome/logo-a.png
index 67dd76d..67dd76d 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-a.png
+++ b/demos/sub-attaq/pics/welcome/logo-a.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-a2.png b/demos/sub-attaq/pics/welcome/logo-a2.png
index 17668b0..17668b0 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-a2.png
+++ b/demos/sub-attaq/pics/welcome/logo-a2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-b.png b/demos/sub-attaq/pics/welcome/logo-b.png
index cf6c045..cf6c045 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-b.png
+++ b/demos/sub-attaq/pics/welcome/logo-b.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-dash.png b/demos/sub-attaq/pics/welcome/logo-dash.png
index 219233c..219233c 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-dash.png
+++ b/demos/sub-attaq/pics/welcome/logo-dash.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-excl.png b/demos/sub-attaq/pics/welcome/logo-excl.png
index 8dd0a2e..8dd0a2e 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-excl.png
+++ b/demos/sub-attaq/pics/welcome/logo-excl.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-q.png b/demos/sub-attaq/pics/welcome/logo-q.png
index 86e588d..86e588d 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-q.png
+++ b/demos/sub-attaq/pics/welcome/logo-q.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-s.png b/demos/sub-attaq/pics/welcome/logo-s.png
index 7b6a36e..7b6a36e 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-s.png
+++ b/demos/sub-attaq/pics/welcome/logo-s.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-t.png b/demos/sub-attaq/pics/welcome/logo-t.png
index b2e3526..b2e3526 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-t.png
+++ b/demos/sub-attaq/pics/welcome/logo-t.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-t2.png b/demos/sub-attaq/pics/welcome/logo-t2.png
index b11a778..b11a778 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-t2.png
+++ b/demos/sub-attaq/pics/welcome/logo-t2.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pics/welcome/logo-u.png b/demos/sub-attaq/pics/welcome/logo-u.png
index 24eede8..24eede8 100644
--- a/examples/animation/sub-attaq/pics/welcome/logo-u.png
+++ b/demos/sub-attaq/pics/welcome/logo-u.png
Binary files differ
diff --git a/examples/animation/sub-attaq/pixmapitem.cpp b/demos/sub-attaq/pixmapitem.cpp
index ed0f075..ed0f075 100644
--- a/examples/animation/sub-attaq/pixmapitem.cpp
+++ b/demos/sub-attaq/pixmapitem.cpp
diff --git a/examples/animation/sub-attaq/pixmapitem.h b/demos/sub-attaq/pixmapitem.h
index e32973e..e32973e 100644
--- a/examples/animation/sub-attaq/pixmapitem.h
+++ b/demos/sub-attaq/pixmapitem.h
diff --git a/examples/animation/sub-attaq/progressitem.cpp b/demos/sub-attaq/progressitem.cpp
index 9ccaa72..9ccaa72 100644
--- a/examples/animation/sub-attaq/progressitem.cpp
+++ b/demos/sub-attaq/progressitem.cpp
diff --git a/examples/animation/sub-attaq/progressitem.h b/demos/sub-attaq/progressitem.h
index 7be57c9..7be57c9 100644
--- a/examples/animation/sub-attaq/progressitem.h
+++ b/demos/sub-attaq/progressitem.h
diff --git a/examples/animation/sub-attaq/qanimationstate.cpp b/demos/sub-attaq/qanimationstate.cpp
index 4e6df56..4e6df56 100644
--- a/examples/animation/sub-attaq/qanimationstate.cpp
+++ b/demos/sub-attaq/qanimationstate.cpp
diff --git a/examples/animation/sub-attaq/qanimationstate.h b/demos/sub-attaq/qanimationstate.h
index 6c5b565..6c5b565 100644
--- a/examples/animation/sub-attaq/qanimationstate.h
+++ b/demos/sub-attaq/qanimationstate.h
diff --git a/demos/sub-attaq/states.cpp b/demos/sub-attaq/states.cpp
new file mode 100644
index 0000000..d6c0b5a
--- /dev/null
+++ b/demos/sub-attaq/states.cpp
@@ -0,0 +1,327 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "states.h"
+#include "graphicsscene.h"
+#include "boat.h"
+#include "submarine.h"
+#include "torpedo.h"
+#include "animationmanager.h"
+#include "progressitem.h"
+
+//Qt
+#include <QtGui/QMessageBox>
+#include <QtGui/QGraphicsView>
+#include <QtCore/QStateMachine>
+#include <QtGui/QKeyEventTransition>
+#include <QtCore/QSignalEvent>
+#include <QtCore/QFinalState>
+
+PlayState::PlayState(GraphicsScene *scene, QState *parent)
+ : QState(parent),
+ scene(scene),
+ machine(0),
+ currentLevel(0),
+ score(0)
+{
+}
+
+PlayState::~PlayState()
+{
+}
+
+void PlayState::onEntry(QEvent *)
+{
+ //We are now playing?
+ if (machine) {
+ machine->stop();
+ scene->clearScene();
+ currentLevel = 0;
+ score = 0;
+ delete machine;
+ }
+
+ machine = new QStateMachine(this);
+
+ //This state is when player is playing
+ LevelState *levelState = new LevelState(scene, this, machine);
+
+ //This state is when the player is actually playing but the game is not paused
+ QState *playingState = new QState(levelState);
+ levelState->setInitialState(playingState);
+
+ //This state is when the game is paused
+ PauseState *pauseState = new PauseState(scene, levelState);
+
+ //We have one view, it receive the key press event
+ QKeyEventTransition *pressPplay = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
+ pressPplay->setTargetState(pauseState);
+ QKeyEventTransition *pressPpause = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
+ pressPpause->setTargetState(playingState);
+
+ //Pause "P" is triggered, the player pause the game
+ playingState->addTransition(pressPplay);
+
+ //To get back playing when the game has been paused
+ pauseState->addTransition(pressPpause);
+
+ //This state is when player have lost
+ LostState *lostState = new LostState(scene, this, machine);
+
+ //This state is when player have won
+ WinState *winState = new WinState(scene, this, machine);
+
+ //The boat has been destroyed then the game is finished
+ levelState->addTransition(scene->boat, SIGNAL(boatExecutionFinished()),lostState);
+
+ //This transition check if we won or not
+ WinTransition *winTransition = new WinTransition(scene, this, winState);
+
+ //The boat has been destroyed then the game is finished
+ levelState->addTransition(winTransition);
+
+ //This state is an animation when the score changed
+ UpdateScoreState *scoreState = new UpdateScoreState(this, levelState);
+
+ //This transition update the score when a submarine die
+ UpdateScoreTransition *scoreTransition = new UpdateScoreTransition(scene, this, levelState);
+ scoreTransition->setTargetState(scoreState);
+
+ //The boat has been destroyed then the game is finished
+ playingState->addTransition(scoreTransition);
+
+ //We go back to play state
+ scoreState->addTransition(playingState);
+
+ //We start playing!!!
+ machine->setInitialState(levelState);
+
+ //Final state
+ QFinalState *final = new QFinalState(machine);
+
+ //This transition is triggered when the player press space after completing a level
+ CustomSpaceTransition *spaceTransition = new CustomSpaceTransition(scene->views().at(0), this, QEvent::KeyPress, Qt::Key_Space);
+ spaceTransition->setTargetState(levelState);
+ winState->addTransition(spaceTransition);
+
+ //We lost we should reach the final state
+ lostState->addTransition(lostState, SIGNAL(finished()), final);
+
+ machine->start();
+}
+
+LevelState::LevelState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
+{
+}
+void LevelState::onEntry(QEvent *)
+{
+ initializeLevel();
+}
+
+void LevelState::initializeLevel()
+{
+ //we re-init the boat
+ scene->boat->setPos(scene->width()/2, scene->sealLevel() - scene->boat->size().height());
+ scene->boat->setCurrentSpeed(0);
+ scene->boat->setCurrentDirection(Boat::None);
+ scene->boat->setBombsLaunched(0);
+ scene->boat->show();
+ scene->setFocusItem(scene->boat,Qt::OtherFocusReason);
+ scene->boat->run();
+
+ scene->progressItem->setScore(game->score);
+ scene->progressItem->setLevel(game->currentLevel + 1);
+
+ GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
+
+ for (int i = 0; i < currentLevelDescription.submarines.size(); ++i ) {
+
+ QPair<int,int> subContent = currentLevelDescription.submarines.at(i);
+ GraphicsScene::SubmarineDescription submarineDesc = scene->submarinesData.at(subContent.first);
+
+ for (int j = 0; j < subContent.second; ++j ) {
+ SubMarine *sub = new SubMarine(submarineDesc.type, submarineDesc.name, submarineDesc.points);
+ scene->addItem(sub);
+ int random = (qrand() % 15 + 1);
+ qreal x = random == 13 || random == 5 ? 0 : scene->width() - sub->size().width();
+ qreal y = scene->height() -(qrand() % 150 + 1) - sub->size().height();
+ sub->setPos(x,y);
+ sub->setCurrentDirection(x == 0 ? SubMarine::Right : SubMarine::Left);
+ sub->setCurrentSpeed(qrand() % 3 + 1);
+ }
+ }
+}
+
+/** Pause State */
+PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent),scene(scene)
+{
+}
+void PauseState::onEntry(QEvent *)
+{
+ AnimationManager::self()->pauseAll();
+ scene->boat->setEnabled(false);
+}
+void PauseState::onExit(QEvent *)
+{
+ AnimationManager::self()->resumeAll();
+ scene->boat->setEnabled(true);
+ scene->boat->setFocus();
+}
+
+/** Lost State */
+LostState::LostState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
+{
+}
+
+void LostState::onEntry(QEvent *)
+{
+ //The message to display
+ QString message = QString("You lose on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
+
+ //We set the level back to 0
+ game->currentLevel = 0;
+
+ //We set the score back to 0
+ game->score = 0;
+
+ //We clear the scene
+ scene->clearScene();
+
+ //we have only one view
+ QMessageBox::information(scene->views().at(0),"You lose",message);
+}
+
+/** Win State */
+WinState::WinState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
+{
+}
+
+void WinState::onEntry(QEvent *)
+{
+ //We clear the scene
+ scene->clearScene();
+
+ QString message;
+ if (scene->levelsData.size() - 1 != game->currentLevel) {
+ message = QString("You win the level %1. Your score is %2.\nPress Space to continue after closing this dialog.").arg(game->currentLevel+1).arg(game->score);
+ //We increment the level number
+ game->currentLevel++;
+ } else {
+ message = QString("You finish the game on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
+ //We set the level back to 0
+ game->currentLevel = 0;
+ //We set the score back to 0
+ game->score = 0;
+ }
+
+ //we have only one view
+ QMessageBox::information(scene->views().at(0),"You win",message);
+}
+
+/** UpdateScore State */
+UpdateScoreState::UpdateScoreState(PlayState *game, QState *parent) : QState(parent)
+{
+ this->game = game;
+}
+void UpdateScoreState::onEntry(QEvent *e)
+{
+ QState::onEntry(e);
+}
+
+/** Win transition */
+UpdateScoreTransition::UpdateScoreTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
+ : QSignalTransition(scene,SIGNAL(subMarineDestroyed(int))),
+ game(game), scene(scene)
+{
+ setTargetState(target);
+}
+
+bool UpdateScoreTransition::eventTest(QEvent *event)
+{
+ if (!QSignalTransition::eventTest(event))
+ return false;
+ else {
+ QSignalEvent *se = static_cast<QSignalEvent*>(event);
+ game->score += se->arguments().at(0).toInt();
+ scene->progressItem->setScore(game->score);
+ return true;
+ }
+}
+
+/** Win transition */
+WinTransition::WinTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
+ : QSignalTransition(scene,SIGNAL(allSubMarineDestroyed(int))),
+ game(game), scene(scene)
+{
+ setTargetState(target);
+}
+
+bool WinTransition::eventTest(QEvent *event)
+{
+ if (!QSignalTransition::eventTest(event))
+ return false;
+ else {
+ QSignalEvent *se = static_cast<QSignalEvent*>(event);
+ game->score += se->arguments().at(0).toInt();
+ scene->progressItem->setScore(game->score);
+ return true;
+ }
+}
+
+/** Space transition */
+CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, QEvent::Type type, int key)
+ : QKeyEventTransition(widget, type, key),
+ game(game)
+{
+}
+
+bool CustomSpaceTransition::eventTest(QEvent *event)
+{
+ Q_UNUSED(event);
+ if (!QKeyEventTransition::eventTest(event))
+ return false;
+ if (game->currentLevel != 0)
+ return true;
+ else
+ return false;
+
+}
diff --git a/examples/animation/sub-attaq/states.h b/demos/sub-attaq/states.h
index c3d81e7..c3d81e7 100644
--- a/examples/animation/sub-attaq/states.h
+++ b/demos/sub-attaq/states.h
diff --git a/demos/sub-attaq/sub-attaq.pro b/demos/sub-attaq/sub-attaq.pro
new file mode 100644
index 0000000..ad1327d
--- /dev/null
+++ b/demos/sub-attaq/sub-attaq.pro
@@ -0,0 +1,37 @@
+contains(QT_CONFIG, opengl):QT += opengl
+
+HEADERS += boat.h \
+ bomb.h \
+ mainwindow.h \
+ submarine.h \
+ torpedo.h \
+ pixmapitem.h \
+ graphicsscene.h \
+ animationmanager.h \
+ states.h \
+ boat_p.h \
+ submarine_p.h \
+ custompropertyanimation.h \
+ qanimationstate.h \
+ progressitem.h
+SOURCES += boat.cpp \
+ bomb.cpp \
+ main.cpp \
+ mainwindow.cpp \
+ submarine.cpp \
+ torpedo.cpp \
+ pixmapitem.cpp \
+ graphicsscene.cpp \
+ animationmanager.cpp \
+ states.cpp \
+ custompropertyanimation.cpp \
+ qanimationstate.cpp \
+ progressitem.cpp
+RESOURCES += subattaq.qrc
+
+# install
+target.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS sub-attaq.pro pics
+sources.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq
+INSTALLS += target sources
+
diff --git a/examples/animation/sub-attaq/subattaq.qrc b/demos/sub-attaq/subattaq.qrc
index 80a3af1..80a3af1 100644
--- a/examples/animation/sub-attaq/subattaq.qrc
+++ b/demos/sub-attaq/subattaq.qrc
diff --git a/demos/sub-attaq/submarine.cpp b/demos/sub-attaq/submarine.cpp
new file mode 100644
index 0000000..029e04b
--- /dev/null
+++ b/demos/sub-attaq/submarine.cpp
@@ -0,0 +1,218 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "submarine.h"
+#include "submarine_p.h"
+#include "torpedo.h"
+#include "pixmapitem.h"
+#include "graphicsscene.h"
+#include "animationmanager.h"
+#include "custompropertyanimation.h"
+#include "qanimationstate.h"
+
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+#include <QtCore/QSequentialAnimationGroup>
+
+static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub)
+{
+ QSequentialAnimationGroup *group = new QSequentialAnimationGroup(sub);
+#if QT_VERSION >=0x040500
+ PixmapItem *step1 = new PixmapItem(QString("explosion/submarine/step1"),GraphicsScene::Big, sub);
+ step1->setZValue(6);
+ PixmapItem *step2 = new PixmapItem(QString("explosion/submarine/step2"),GraphicsScene::Big, sub);
+ step2->setZValue(6);
+ PixmapItem *step3 = new PixmapItem(QString("explosion/submarine/step3"),GraphicsScene::Big, sub);
+ step3->setZValue(6);
+ PixmapItem *step4 = new PixmapItem(QString("explosion/submarine/step4"),GraphicsScene::Big, sub);
+ step4->setZValue(6);
+ step1->setOpacity(0);
+ step2->setOpacity(0);
+ step3->setOpacity(0);
+ step4->setOpacity(0);
+ CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(sub);
+ anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim1->setDuration(100);
+ anim1->setEndValue(1);
+ CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(sub);
+ anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim2->setDuration(100);
+ anim2->setEndValue(1);
+ CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(sub);
+ anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim3->setDuration(100);
+ anim3->setEndValue(1);
+ CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(sub);
+ anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
+ anim4->setDuration(100);
+ anim4->setEndValue(1);
+ group->addAnimation(anim1);
+ group->addAnimation(anim2);
+ group->addAnimation(anim3);
+ group->addAnimation(anim4);
+#else
+ // work around for a bug where we don't transition if the duration is zero.
+ QtPauseAnimation *anim = new QtPauseAnimation(group);
+ anim->setDuration(1);
+ group->addAnimation(anim);
+#endif
+ AnimationManager::self()->registerAnimation(group);
+ return group;
+}
+
+
+SubMarine::SubMarine(int type, const QString &name, int points, QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), subType(type), subName(name), subPoints(points), speed(0), direction(SubMarine::None)
+{
+ pixmapItem = new PixmapItem(QString("submarine"),GraphicsScene::Big, this);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setZValue(5);
+ setFlags(QGraphicsItem::ItemIsMovable);
+ resize(pixmapItem->boundingRect().width(),pixmapItem->boundingRect().height());
+ setTransformOriginPoint(boundingRect().center());
+
+ graphicsRotation = new QGraphicsRotation3D(this);
+ graphicsRotation->setAxis(QVector3D(0, 1, 0));
+ graphicsRotation->setOrigin(QPointF(size().width()/2, size().height()/2));
+ QList<QGraphicsTransform *> r;
+ r.append(graphicsRotation);
+ setTransformations(r);
+
+ //We setup the state machine of the submarine
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the boat is moving/rotating
+ QState *moving = new QState(machine);
+
+ //This state is when the boat is moving from left to right
+ MovementState *movement = new MovementState(this, moving);
+
+ //This state is when the boat is moving from left to right
+ ReturnState *rotation = new ReturnState(this, moving);
+
+ //This is the initial state of the moving root state
+ moving->setInitialState(movement);
+
+ movement->addTransition(this, SIGNAL(subMarineStateChanged()), moving);
+
+ //This is the initial state of the machine
+ machine->setInitialState(moving);
+
+ //End
+ QFinalState *final = new QFinalState(machine);
+
+ //If the moving animation is finished we move to the return state
+ movement->addTransition(movement, SIGNAL(animationFinished()), rotation);
+
+ //If the return animation is finished we move to the moving state
+ rotation->addTransition(rotation, SIGNAL(animationFinished()), movement);
+
+ //This state play the destroyed animation
+ QAnimationState *destroyedState = new QAnimationState(machine);
+ destroyedState->setAnimation(setupDestroyAnimation(this));
+
+ //Play a nice animation when the submarine is destroyed
+ moving->addTransition(this, SIGNAL(subMarineDestroyed()), destroyedState);
+
+ //Transition to final state when the destroyed animation is finished
+ destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the submarine is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(subMarineExecutionFinished()));
+
+ machine->start();
+}
+
+int SubMarine::points()
+{
+ return subPoints;
+}
+
+void SubMarine::setCurrentDirection(SubMarine::Movement direction)
+{
+ if (this->direction == direction)
+ return;
+ if (direction == SubMarine::Right && this->direction == SubMarine::None) {
+ graphicsRotation->setAngle(180);
+ }
+ this->direction = direction;
+}
+
+enum SubMarine::Movement SubMarine::currentDirection() const
+{
+ return direction;
+}
+
+void SubMarine::setCurrentSpeed(int speed)
+{
+ if (speed < 0 || speed > 3) {
+ qWarning("SubMarine::setCurrentSpeed : The speed is invalid");
+ }
+ this->speed = speed;
+ emit subMarineStateChanged();
+}
+
+int SubMarine::currentSpeed() const
+{
+ return speed;
+}
+
+void SubMarine::launchTorpedo(int speed)
+{
+ Torpedo * torp = new Torpedo();
+ GraphicsScene *scene = static_cast<GraphicsScene *>(this->scene());
+ scene->addItem(torp);
+ torp->setPos(x(), y());
+ torp->setCurrentSpeed(speed);
+ torp->launch();
+}
+
+void SubMarine::destroy()
+{
+ emit subMarineDestroyed();
+}
+
+int SubMarine::type() const
+{
+ return Type;
+}
diff --git a/demos/sub-attaq/submarine.h b/demos/sub-attaq/submarine.h
new file mode 100644
index 0000000..564e9c6
--- /dev/null
+++ b/demos/sub-attaq/submarine.h
@@ -0,0 +1,96 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef __SUBMARINE__H__
+#define __SUBMARINE__H__
+
+//Qt
+#include <QtCore/QVariantAnimation>
+#include <QtGui/QGraphicsWidget>
+#include <QtGui/QGraphicsTransform>
+
+class PixmapItem;
+
+class Torpedo;
+
+class SubMarine : public QGraphicsWidget
+{
+Q_OBJECT
+public:
+ enum Movement {
+ None = 0,
+ Left,
+ Right
+ };
+ enum { Type = UserType + 1 };
+ SubMarine(int type, const QString &name, int points, QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0);
+
+ int points();
+
+ void setCurrentDirection(Movement direction);
+ enum Movement currentDirection() const;
+
+ void setCurrentSpeed(int speed);
+ int currentSpeed() const;
+
+ void launchTorpedo(int speed);
+ void destroy();
+
+ virtual int type() const;
+
+ QGraphicsRotation3D *rotation3d() const { return graphicsRotation; }
+
+signals:
+ void subMarineDestroyed();
+ void subMarineExecutionFinished();
+ void subMarineStateChanged();
+
+private:
+ int subType;
+ QString subName;
+ int subPoints;
+ int speed;
+ Movement direction;
+ PixmapItem *pixmapItem;
+ QGraphicsRotation3D *graphicsRotation;
+};
+
+#endif //__SUBMARINE__H__
diff --git a/demos/sub-attaq/submarine_p.h b/demos/sub-attaq/submarine_p.h
new file mode 100644
index 0000000..c04b25b
--- /dev/null
+++ b/demos/sub-attaq/submarine_p.h
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef SUBMARINE_P_H
+#define SUBMARINE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+//Own
+#include "animationmanager.h"
+#include "submarine.h"
+#include "qanimationstate.h"
+
+//Qt
+#include <QtCore/QPropertyAnimation>
+#include <QtGui/QGraphicsScene>
+
+//This state is describing when the boat is moving right
+class MovementState : public QAnimationState
+{
+Q_OBJECT
+public:
+ MovementState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ {
+ movementAnimation = new QPropertyAnimation(submarine, "pos");
+ connect(movementAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationMovementValueChanged(const QVariant &)));
+ setAnimation(movementAnimation);
+ AnimationManager::self()->registerAnimation(movementAnimation);
+ this->submarine = submarine;
+ }
+
+protected slots:
+ void onAnimationMovementValueChanged(const QVariant &)
+ {
+ if (qrand() % 200 + 1 == 3)
+ submarine->launchTorpedo(qrand() % 3 + 1);
+ }
+
+protected:
+ void onEntry(QEvent *e)
+ {
+ if (submarine->currentDirection() == SubMarine::Left) {
+ movementAnimation->setEndValue(QPointF(0,submarine->y()));
+ movementAnimation->setDuration(submarine->x()/submarine->currentSpeed()*12);
+ }
+ else /*if (submarine->currentDirection() == SubMarine::Right)*/ {
+ movementAnimation->setEndValue(QPointF(submarine->scene()->width()-submarine->size().width(),submarine->y()));
+ movementAnimation->setDuration((submarine->scene()->width()-submarine->size().width()-submarine->x())/submarine->currentSpeed()*12);
+ }
+ movementAnimation->setStartValue(submarine->pos());
+ QAnimationState::onEntry(e);
+ }
+
+private:
+ SubMarine *submarine;
+ QPropertyAnimation *movementAnimation;
+};
+
+//This state is describing when the boat is moving right
+class ReturnState : public QAnimationState
+{
+public:
+ ReturnState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
+ {
+ returnAnimation = new QPropertyAnimation(submarine->rotation3d(), "angle");
+ AnimationManager::self()->registerAnimation(returnAnimation);
+ setAnimation(returnAnimation);
+ this->submarine = submarine;
+ }
+
+protected:
+ void onEntry(QEvent *e)
+ {
+ returnAnimation->stop();
+ returnAnimation->setStartValue(submarine->rotation3d()->angle());
+ returnAnimation->setEndValue(submarine->currentDirection() == SubMarine::Right ? 360. : 180.);
+ returnAnimation->setDuration(500);
+ QAnimationState::onEntry(e);
+ }
+
+ void onExit(QEvent *e)
+ {
+ submarine->currentDirection() == SubMarine::Right ? submarine->setCurrentDirection(SubMarine::Left) : submarine->setCurrentDirection(SubMarine::Right);
+ QAnimationState::onExit(e);
+ }
+
+private:
+ SubMarine *submarine;
+ QPropertyAnimation *returnAnimation;
+};
+
+#endif // SUBMARINE_P_H
diff --git a/demos/sub-attaq/torpedo.cpp b/demos/sub-attaq/torpedo.cpp
new file mode 100644
index 0000000..fe79488
--- /dev/null
+++ b/demos/sub-attaq/torpedo.cpp
@@ -0,0 +1,120 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//Own
+#include "torpedo.h"
+#include "pixmapitem.h"
+#include "boat.h"
+#include "graphicsscene.h"
+#include "animationmanager.h"
+#include "qanimationstate.h"
+
+#include <QtCore/QPropertyAnimation>
+#include <QtCore/QStateMachine>
+#include <QtCore/QFinalState>
+
+Torpedo::Torpedo(QGraphicsItem * parent, Qt::WindowFlags wFlags)
+ : QGraphicsWidget(parent,wFlags), currentSpeed(0), launchAnimation(0)
+{
+ pixmapItem = new PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big, this);
+ setZValue(2);
+ setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ setFlags(QGraphicsItem::ItemIsMovable);
+ resize(pixmapItem->boundingRect().size());
+}
+
+void Torpedo::launch()
+{
+ launchAnimation = new QPropertyAnimation(this, "pos");
+ AnimationManager::self()->registerAnimation(launchAnimation);
+ launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
+ launchAnimation->setEasingCurve(QEasingCurve::InQuad);
+ launchAnimation->setDuration(y()/currentSpeed*10);
+ connect(launchAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
+
+ //We setup the state machine of the torpedo
+ QStateMachine *machine = new QStateMachine(this);
+
+ //This state is when the launch animation is playing
+ QAnimationState *launched = new QAnimationState(machine);
+ launched->setAnimation(launchAnimation);
+
+ //End
+ QFinalState *final = new QFinalState(machine);
+
+ machine->setInitialState(launched);
+
+ //### Add a nice animation when the torpedo is destroyed
+ launched->addTransition(this, SIGNAL(torpedoExplosed()),final);
+
+ //If the animation is finished, then we move to the final state
+ launched->addTransition(launched, SIGNAL(animationFinished()), final);
+
+ //The machine has finished to be executed, then the boat is dead
+ connect(machine,SIGNAL(finished()),this, SIGNAL(torpedoExecutionFinished()));
+
+ machine->start();
+}
+
+void Torpedo::setCurrentSpeed(int speed)
+{
+ if (speed < 0) {
+ qWarning("Torpedo::setCurrentSpeed : The speed is invalid");
+ return;
+ }
+ currentSpeed = speed;
+}
+
+void Torpedo::onAnimationLaunchValueChanged(const QVariant &)
+{
+ foreach (QGraphicsItem *item , collidingItems(Qt::IntersectsItemBoundingRect)) {
+ if (item->type() == Boat::Type) {
+ Boat *b = static_cast<Boat *>(item);
+ b->destroy();
+ }
+ }
+}
+
+void Torpedo::destroy()
+{
+ launchAnimation->stop();
+ emit torpedoExplosed();
+}
diff --git a/examples/animation/sub-attaq/torpedo.h b/demos/sub-attaq/torpedo.h
index c44037f..c44037f 100644
--- a/examples/animation/sub-attaq/torpedo.h
+++ b/demos/sub-attaq/torpedo.h
diff --git a/demos/textedit/textedit.cpp b/demos/textedit/textedit.cpp
index 7f4e032..be740be 100644
--- a/demos/textedit/textedit.cpp
+++ b/demos/textedit/textedit.cpp
@@ -75,6 +75,7 @@ const QString rsrcPath = ":/images/win";
TextEdit::TextEdit(QWidget *parent)
: QMainWindow(parent)
{
+ setToolButtonStyle(Qt::ToolButtonFollowStyle);
setupFileActions();
setupEditActions();
setupTextActions();
@@ -160,6 +161,7 @@ void TextEdit::setupFileActions()
QAction *a;
a = new QAction(QIcon(rsrcPath + "/filenew.png"), tr("&New"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::New);
connect(a, SIGNAL(triggered()), this, SLOT(fileNew()));
tb->addAction(a);
@@ -181,6 +183,7 @@ void TextEdit::setupFileActions()
menu->addAction(a);
a = new QAction(tr("Save &As..."), this);
+ a->setPriority(QAction::LowPriority);
connect(a, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
menu->addAction(a);
menu->addSeparator();
@@ -197,6 +200,7 @@ void TextEdit::setupFileActions()
menu->addAction(a);
a = new QAction(QIcon(rsrcPath + "/exportpdf.png"), tr("&Export PDF..."), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(Qt::CTRL + Qt::Key_D);
connect(a, SIGNAL(triggered()), this, SLOT(filePrintPdf()));
tb->addAction(a);
@@ -226,19 +230,23 @@ void TextEdit::setupEditActions()
tb->addAction(a);
menu->addAction(a);
a = actionRedo = new QAction(QIcon(rsrcPath + "/editredo.png"), tr("&Redo"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Redo);
tb->addAction(a);
menu->addAction(a);
menu->addSeparator();
a = actionCut = new QAction(QIcon(rsrcPath + "/editcut.png"), tr("Cu&t"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Cut);
tb->addAction(a);
menu->addAction(a);
a = actionCopy = new QAction(QIcon(rsrcPath + "/editcopy.png"), tr("&Copy"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Copy);
tb->addAction(a);
menu->addAction(a);
a = actionPaste = new QAction(QIcon(rsrcPath + "/editpaste.png"), tr("&Paste"), this);
+ a->setPriority(QAction::LowPriority);
a->setShortcut(QKeySequence::Paste);
tb->addAction(a);
menu->addAction(a);
@@ -257,6 +265,7 @@ void TextEdit::setupTextActions()
menuBar()->addMenu(menu);
actionTextBold = new QAction(QIcon(rsrcPath + "/textbold.png"), tr("&Bold"), this);
+ actionTextBold->setPriority(QAction::LowPriority);
actionTextBold->setShortcut(Qt::CTRL + Qt::Key_B);
QFont bold;
bold.setBold(true);
@@ -267,6 +276,7 @@ void TextEdit::setupTextActions()
actionTextBold->setCheckable(true);
actionTextItalic = new QAction(QIcon(rsrcPath + "/textitalic.png"), tr("&Italic"), this);
+ actionTextItalic->setPriority(QAction::LowPriority);
actionTextItalic->setShortcut(Qt::CTRL + Qt::Key_I);
QFont italic;
italic.setItalic(true);
@@ -277,6 +287,7 @@ void TextEdit::setupTextActions()
actionTextItalic->setCheckable(true);
actionTextUnderline = new QAction(QIcon(rsrcPath + "/textunder.png"), tr("&Underline"), this);
+ actionTextUnderline->setPriority(QAction::LowPriority);
actionTextUnderline->setShortcut(Qt::CTRL + Qt::Key_U);
QFont underline;
underline.setUnderline(true);
@@ -305,12 +316,16 @@ void TextEdit::setupTextActions()
actionAlignLeft->setShortcut(Qt::CTRL + Qt::Key_L);
actionAlignLeft->setCheckable(true);
+ actionAlignLeft->setPriority(QAction::LowPriority);
actionAlignCenter->setShortcut(Qt::CTRL + Qt::Key_E);
actionAlignCenter->setCheckable(true);
+ actionAlignCenter->setPriority(QAction::LowPriority);
actionAlignRight->setShortcut(Qt::CTRL + Qt::Key_R);
actionAlignRight->setCheckable(true);
+ actionAlignRight->setPriority(QAction::LowPriority);
actionAlignJustify->setShortcut(Qt::CTRL + Qt::Key_J);
actionAlignJustify->setCheckable(true);
+ actionAlignJustify->setPriority(QAction::LowPriority);
tb->addActions(grp->actions());
menu->addActions(grp->actions());
@@ -340,6 +355,8 @@ void TextEdit::setupTextActions()
comboStyle->addItem("Ordered List (Decimal)");
comboStyle->addItem("Ordered List (Alpha lower)");
comboStyle->addItem("Ordered List (Alpha upper)");
+ comboStyle->addItem("Ordered List (Roman lower)");
+ comboStyle->addItem("Ordered List (Roman upper)");
connect(comboStyle, SIGNAL(activated(int)),
this, SLOT(textStyle(int)));
@@ -577,6 +594,12 @@ void TextEdit::textStyle(int styleIndex)
case 6:
style = QTextListFormat::ListUpperAlpha;
break;
+ case 7:
+ style = QTextListFormat::ListLowerRoman;
+ break;
+ case 8:
+ style = QTextListFormat::ListUpperRoman;
+ break;
}
cursor.beginEditBlock();
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0
index 4c7bf52..7a6decf 100644
--- a/dist/changes-4.6.0
+++ b/dist/changes-4.6.0
@@ -31,10 +31,18 @@ information about a particular change.
* Platform Specific Changes *
****************************************************************************
+ - Significant external contribution from Milan Burda for planned removal
+ of (non-unicode) Windows 9x/ME support.
+ - QRegion is no longer a GDI object by default. This means it is no
+ longer subjuect to gui-thread only nor does it potentially impact
+ the 10.000 GDI object limit per process. By explicitly calling
+ .handle() a GDI object will be created and memory managed by
+ QRegion. The native handle is for reading out only. Any GDI calls
+ made on the HRGN handle will not affect the QRegion.
****************************************************************************
-* Important Behavior Changes *
+* Important Behavior Changes *
****************************************************************************
- The experimental Direct3D paint engine has been removed. The reason for
@@ -68,3 +76,33 @@ information about a particular change.
to the item's position and transformation, you can set the flag
QGraphicsItem::ItemSendsGeometryChanges (which is enabled by default by
QGraphicsWidget and QGraphicsProxyWidget).
+
+ - QDesktopWidget on X11 no longer emits the resized(int) signal when screens
+ are added or removed. This was not done on other platforms. Use the
+ screenCountChanged signal instead
+
+ - QUrl's parser is more strict when for hostnames in URLs. QUrl now
+ enforces STD 3 rules:
+
+ * each individual hostname section (between dots) must be at most
+ 63 ASCII characters in length;
+
+ * only letters, digits, and the hyphen character are allowed in the
+ ASCII range; letters outside the ASCII range follow the normal
+ IDN rules
+
+ That means QUrl no longer accepts some URLs that were invalid
+ before, but weren't interpreted as such.
+
+ - The Unix configure-time check for STL is stricter now in Qt
+ 4.6.0. This means some legacy STL implementations may fail to pass
+ the test and, therefore, Qt will automatically disable STL support.
+
+ This is a binary-compatible change: existing code will continue to
+ work without being recompiled. However, it affects the source code,
+ since some STL-compatibility API will not be enabled.
+
+ Platforms affected by this change:
+ * solaris-cc-* with the default (Cstd) C++ STL library
+ recommendation: use -library=stlport4
+ See Sun Studio's documentation for the effects of this option
diff --git a/doc/doc.pri b/doc/doc.pri
index a4c77fe..13d481f 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -2,13 +2,6 @@
# Qt documentation build
#####################################################################
-win32 {
- QT_WINCONFIG = release/
- !CONFIG(release, debug|release) {
- QT_WINCONFIG = debug/
- }
-}
-
DOCS_GENERATION_DEFINES = -Dopensourceedition
GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
@@ -21,9 +14,9 @@ win32:!win32-g++ {
}
$$unixstyle {
- QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/tools/qdoc3/$${QT_WINCONFIG}qdoc3 $$DOCS_GENERATION_DEFINES
+ QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/tools/qdoc3/qdoc3 $$DOCS_GENERATION_DEFINES
} else {
- QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && set QT_BUILD_TREE=$$QT_BUILD_TREE&& set QT_SOURCE_TREE=$$QT_SOURCE_TREE&& $$QT_BUILD_TREE/tools/qdoc3/$${QT_WINCONFIG}qdoc3.exe $$DOCS_GENERATION_DEFINES
+ QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && set QT_BUILD_TREE=$$QT_BUILD_TREE&& set QT_SOURCE_TREE=$$QT_SOURCE_TREE&& $$QT_BUILD_TREE/tools/qdoc3/qdoc3.exe $$DOCS_GENERATION_DEFINES
QDOC = $$replace(QDOC, "/", "\\")
}
macx {
diff --git a/doc/src/annotated.qdoc b/doc/src/annotated.qdoc
deleted file mode 100644
index a817df6..0000000
--- a/doc/src/annotated.qdoc
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/****************************************************************************
-**
-** Documentation for class overview.
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt GUI Toolkit.
-** EDITIONS: FREE, PROFESSIONAL, ENTERPRISE
-**
-****************************************************************************/
-
-/*!
- \page annotated.html
- \title Annotated Class Index
- \ingroup classlists
-
- Qt's classes with brief descriptions:
-
- \generatelist annotatedclasses
-*/
diff --git a/doc/src/bughowto.qdoc b/doc/src/bughowto.qdoc
index 927cb04..fae1180 100644
--- a/doc/src/bughowto.qdoc
+++ b/doc/src/bughowto.qdoc
@@ -52,7 +52,9 @@
Notes}, and the \l{Task Tracker} on the Qt website to see
if the issue is already known.
- Always include the following information in your bug report:
+ If you have found a new bug, please submit a bug report using
+ the \l{Bug Report Form}. Always include the following information
+ in your bug report:
\list 1
\o The name and version number of your compiler
@@ -66,6 +68,6 @@
such a program can be created with some minor changes to one
of the many example programs in Qt's \c examples directory.
- Please submit the bug report using the \l{Task Tracker} on the Qt
- website.
+ If you have implemented a bug fix and want to contribute your fix
+ directly, then you can do so through the \l{Public Qt Repository}.
*/
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
index dddc96f..e955a5a 100644
--- a/doc/src/classes.qdoc
+++ b/doc/src/classes.qdoc
@@ -40,17 +40,31 @@
****************************************************************************/
/*!
+ \group groups
+ \title Grouped Classes
+ \ingroup classlists
+
+ This page provides a way of navigating Qt's classes by grouping
+ related classes together. Some classes may appear in more than one group.
+
+ \generatelist{related}
+
+*/
+
+/*!
\page classes.html
\title Qt's Classes
\ingroup classlists
- This is a list of all Qt classes excluding the \l{Qt 3
- compatibility classes}. For a shorter list that only includes the
- most frequently used classes, see \l{Qt's Main Classes}.
+ This is a list of all Qt classes. For a shorter list of the most
+ frequently used Qt classes, see \l{Qt's Main Classes}. For a list
+ of the classes provided for compatibility with Qt3, see \l{Qt 3
+ compatibility classes}. For classes that have been deprecated, see
+ the \l{Obsolete Classes} list.
\generatelist classes
- \sa {Qt 3 Compatibility Classes}, {Qt's Modules}
+ \sa {Qt 3 Compatibility Classes}, {Qt's Modules}, {Obsolete Classes}
*/
/*!
@@ -63,3 +77,77 @@
\generatelist{namespaces}
*/
+
+/*!
+ \page obsoleteclasses.html
+ \title Obsolete Classes
+ \ingroup classlists
+
+
+ This is a list of Qt classes that are obsolete (deprecated). These
+ classes are provided to keep old source code working but they are
+ no longer maintained. We strongly advise against using these
+ classes in new code.
+
+ \generatelist obsoleteclasses
+
+ \sa {Qt's Classes}, {Qt's Modules}
+*/
+
+/*!
+ \page annotated.html
+ \title Annotated Class Index
+ \ingroup classlists
+
+ Qt's classes with brief descriptions:
+
+ \generatelist annotatedclasses
+*/
+
+/*!
+ \page functions.html
+ \title Member Function Index
+ \ingroup classlists
+
+ Here is the list of all the documented member functions in the Qt
+ API with links to the class documentation for each function.
+
+ \generatelist functionindex
+*/
+
+/*!
+ \page hierarchy.html
+
+ \title Class Inheritance Hierarchy
+ \ingroup classlists
+
+ This list shows the C++ class inheritance relations between the
+ classes in the Qt API.
+
+ \generatelist classhierarchy
+*/
+
+/*!
+ \page mainclasses.html
+ \title Qt's Main Classes
+ \ingroup classlists
+
+ These are the most frequently used Qt classes. For the complete
+ list see \link classes.html Qt's Classes \endlink.
+
+ \generatelist mainclasses
+*/
+
+/*!
+ \page compatclasses.html
+ \title Qt 3 Compatibility Classes
+ \ingroup classlists
+
+ This is a list of the classes that Qt provides for compatibility
+ with Qt 3. The vast majority of these are provided by the
+ Qt3Support module.
+
+ \generatelist compatclasses
+
+ \sa {Qt's Classes}, {Qt's Modules}
+*/
diff --git a/doc/src/phonon-api.qdoc b/doc/src/classes/phonon-api.qdoc
index 09274bf..09274bf 100644
--- a/doc/src/phonon-api.qdoc
+++ b/doc/src/classes/phonon-api.qdoc
diff --git a/doc/src/q3asciicache.qdoc b/doc/src/classes/q3asciicache.qdoc
index 43537cc..43537cc 100644
--- a/doc/src/q3asciicache.qdoc
+++ b/doc/src/classes/q3asciicache.qdoc
diff --git a/doc/src/q3asciidict.qdoc b/doc/src/classes/q3asciidict.qdoc
index 9a51db1..9a51db1 100644
--- a/doc/src/q3asciidict.qdoc
+++ b/doc/src/classes/q3asciidict.qdoc
diff --git a/doc/src/q3cache.qdoc b/doc/src/classes/q3cache.qdoc
index d8799b6..d8799b6 100644
--- a/doc/src/q3cache.qdoc
+++ b/doc/src/classes/q3cache.qdoc
diff --git a/doc/src/q3dict.qdoc b/doc/src/classes/q3dict.qdoc
index 0e6d51d..0e6d51d 100644
--- a/doc/src/q3dict.qdoc
+++ b/doc/src/classes/q3dict.qdoc
diff --git a/doc/src/q3intcache.qdoc b/doc/src/classes/q3intcache.qdoc
index dfff679..dfff679 100644
--- a/doc/src/q3intcache.qdoc
+++ b/doc/src/classes/q3intcache.qdoc
diff --git a/doc/src/q3intdict.qdoc b/doc/src/classes/q3intdict.qdoc
index cef2e79..cef2e79 100644
--- a/doc/src/q3intdict.qdoc
+++ b/doc/src/classes/q3intdict.qdoc
diff --git a/doc/src/q3memarray.qdoc b/doc/src/classes/q3memarray.qdoc
index b9c1f73..b9c1f73 100644
--- a/doc/src/q3memarray.qdoc
+++ b/doc/src/classes/q3memarray.qdoc
diff --git a/doc/src/q3popupmenu.qdoc b/doc/src/classes/q3popupmenu.qdoc
index a2cfe08..a2cfe08 100644
--- a/doc/src/q3popupmenu.qdoc
+++ b/doc/src/classes/q3popupmenu.qdoc
diff --git a/doc/src/q3ptrdict.qdoc b/doc/src/classes/q3ptrdict.qdoc
index 38ca0bb..38ca0bb 100644
--- a/doc/src/q3ptrdict.qdoc
+++ b/doc/src/classes/q3ptrdict.qdoc
diff --git a/doc/src/q3ptrlist.qdoc b/doc/src/classes/q3ptrlist.qdoc
index 3000940..3000940 100644
--- a/doc/src/q3ptrlist.qdoc
+++ b/doc/src/classes/q3ptrlist.qdoc
diff --git a/doc/src/q3ptrqueue.qdoc b/doc/src/classes/q3ptrqueue.qdoc
index b3af5f6..b3af5f6 100644
--- a/doc/src/q3ptrqueue.qdoc
+++ b/doc/src/classes/q3ptrqueue.qdoc
diff --git a/doc/src/q3ptrstack.qdoc b/doc/src/classes/q3ptrstack.qdoc
index 1650d69..1650d69 100644
--- a/doc/src/q3ptrstack.qdoc
+++ b/doc/src/classes/q3ptrstack.qdoc
diff --git a/doc/src/q3ptrvector.qdoc b/doc/src/classes/q3ptrvector.qdoc
index fa78de5..fa78de5 100644
--- a/doc/src/q3ptrvector.qdoc
+++ b/doc/src/classes/q3ptrvector.qdoc
diff --git a/doc/src/q3sqlfieldinfo.qdoc b/doc/src/classes/q3sqlfieldinfo.qdoc
index ba064f3..ba064f3 100644
--- a/doc/src/q3sqlfieldinfo.qdoc
+++ b/doc/src/classes/q3sqlfieldinfo.qdoc
diff --git a/doc/src/q3sqlrecordinfo.qdoc b/doc/src/classes/q3sqlrecordinfo.qdoc
index 64236d2..64236d2 100644
--- a/doc/src/q3sqlrecordinfo.qdoc
+++ b/doc/src/classes/q3sqlrecordinfo.qdoc
diff --git a/doc/src/q3valuelist.qdoc b/doc/src/classes/q3valuelist.qdoc
index fd73763..fd73763 100644
--- a/doc/src/q3valuelist.qdoc
+++ b/doc/src/classes/q3valuelist.qdoc
diff --git a/doc/src/q3valuestack.qdoc b/doc/src/classes/q3valuestack.qdoc
index e3ae677..e3ae677 100644
--- a/doc/src/q3valuestack.qdoc
+++ b/doc/src/classes/q3valuestack.qdoc
diff --git a/doc/src/q3valuevector.qdoc b/doc/src/classes/q3valuevector.qdoc
index 353b7fa..353b7fa 100644
--- a/doc/src/q3valuevector.qdoc
+++ b/doc/src/classes/q3valuevector.qdoc
diff --git a/doc/src/qalgorithms.qdoc b/doc/src/classes/qalgorithms.qdoc
index 7634322..7634322 100644
--- a/doc/src/qalgorithms.qdoc
+++ b/doc/src/classes/qalgorithms.qdoc
diff --git a/doc/src/qcache.qdoc b/doc/src/classes/qcache.qdoc
index 6c88ede..6c88ede 100644
--- a/doc/src/qcache.qdoc
+++ b/doc/src/classes/qcache.qdoc
diff --git a/doc/src/qcolormap.qdoc b/doc/src/classes/qcolormap.qdoc
index 95f7dc0..95f7dc0 100644
--- a/doc/src/qcolormap.qdoc
+++ b/doc/src/classes/qcolormap.qdoc
diff --git a/doc/src/classes/qdesktopwidget.qdoc b/doc/src/classes/qdesktopwidget.qdoc
new file mode 100644
index 0000000..56a882d
--- /dev/null
+++ b/doc/src/classes/qdesktopwidget.qdoc
@@ -0,0 +1,266 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QDesktopWidget
+ \brief The QDesktopWidget class provides access to screen information on multi-head systems.
+
+ \ingroup advanced
+ \ingroup desktop
+ \ingroup environment
+ \mainclass
+
+ QApplication::desktop() function should be used to get an instance
+ of the QDesktopWidget.
+
+ Systems with more than one graphics card and monitor can manage the
+ physical screen space available either as multiple desktops, or as a
+ large virtual desktop, which usually has the size of the bounding
+ rectangle of all the screens (see virtualDesktop). For an
+ application, one of the available screens is the primary screen, i.e.
+ the screen where the main widget resides (see primaryScreen). All
+ windows opened in the context of the application should be
+ constrained to the boundaries of the primary screen; for example,
+ it would be inconvenient if a dialog box popped up on a different
+ screen, or split over two screens.
+
+ The QDesktopWidget provides information about the geometry of the
+ available screens with screenGeometry(). The number of screens
+ available is returned by screenCount, and the screenCountChanged
+ signal is emitted when screens are added or removed during runtime.
+ The screen number that a particular point or widget is located in
+ is returned by screenNumber().
+
+ Widgets provided by Qt use this class, for example, to place
+ tooltips, menus and dialog boxes according to the parent or
+ application widget. Applications can use this class to save window
+ positions, or to place child widgets and dialogs on one particular
+ screen.
+
+ \img qdesktopwidget.png Managing Multiple Screens
+
+ In the illustration above, Application One's primary screen is
+ screen 0, and App Two's primary screen is screen 1.
+
+ \target multiple screens note
+ \note QDesktopWidget inherits the QWidget properties, width() and
+ height(), which specify the size of the desktop. However, for
+ desktops with multiple screens, the size of the desktop is the union
+ of all the screen sizes, so width() and height() should \e not be
+ used for computing the size of a widget to be placed on one of the
+ screens. The correct width and height values are obtained using
+ availableGeometry() or screenGeometry() for a particular screen.
+
+ \sa QApplication, QApplication::desktop(), QX11Info::appRootWindow()
+*/
+
+/*!
+ \fn QDesktopWidget::QDesktopWidget()
+
+ \internal
+
+ Creates the desktop widget.
+
+ If the system supports a virtual desktop, this widget will have
+ the size of the virtual desktop; otherwise this widget will have
+ the size of the primary screen.
+
+ Instead of using QDesktopWidget directly, use QApplication::desktop().
+*/
+
+/*!
+ \fn QDesktopWidget::~QDesktopWidget()
+
+ \internal
+
+ Destroys the desktop widget and frees any allocated resources.
+*/
+
+/*!
+ \fn int QDesktopWidget::numScreens() const
+
+ Returns the number of available screens.
+
+ \obsolete
+
+ This function is deprecated. Use screenCount instead.
+
+ \sa primaryScreen
+*/
+
+/*!
+ \fn QWidget *QDesktopWidget::screen(int screen)
+
+ Returns a widget that represents the screen with index \a screen
+ (a value of -1 means the default screen).
+
+ If the system uses a virtual desktop, the returned widget will
+ have the geometry of the entire virtual desktop; i.e., bounding
+ every \a screen.
+
+ \sa primaryScreen, screenCount, virtualDesktop
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::availableGeometry(int screen) const
+
+ Returns the available geometry of the screen with index \a screen. What
+ is available will be subrect of screenGeometry() based on what the
+ platform decides is available (for example excludes the dock and menu bar
+ on Mac OS X, or the task bar on Windows). The default screen is used if
+ \a screen is -1.
+
+ \sa screenNumber(), screenGeometry()
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::availableGeometry(const QWidget *widget) const
+ \overload
+
+ Returns the available geometry of the screen which contains \a widget.
+
+ \sa screenGeometry()
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::availableGeometry(const QPoint &p) const
+ \overload
+
+ Returns the available geometry of the screen which contains \a p.
+
+ \sa screenGeometry()
+*/
+
+
+/*!
+ \fn const QRect QDesktopWidget::screenGeometry(int screen) const
+
+ Returns the geometry of the screen with index \a screen. The default
+ screen is used if \a screen is -1.
+
+ \sa screenNumber()
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const
+ \overload
+
+ Returns the geometry of the screen which contains \a widget.
+*/
+
+/*!
+ \fn const QRect QDesktopWidget::screenGeometry(const QPoint &p) const
+ \overload
+
+ Returns the geometry of the screen which contains \a p.
+*/
+
+
+/*!
+ \fn int QDesktopWidget::screenNumber(const QWidget *widget) const
+
+ Returns the index of the screen that contains the largest
+ part of \a widget, or -1 if the widget not on a screen.
+
+ \sa primaryScreen
+*/
+
+/*!
+ \fn int QDesktopWidget::screenNumber(const QPoint &point) const
+
+ \overload
+ Returns the index of the screen that contains the \a point, or the
+ screen which is the shortest distance from the \a point.
+
+ \sa primaryScreen
+*/
+
+/*!
+ \fn void QDesktopWidget::resizeEvent(QResizeEvent *event)
+ \reimp
+*/
+
+/*!
+ \fn void QDesktopWidget::resized(int screen)
+
+ This signal is emitted when the size of \a screen changes.
+*/
+
+/*!
+ \fn void QDesktopWidget::workAreaResized(int screen)
+
+ This signal is emitted when the work area available on \a screen changes.
+*/
+
+/*!
+ \property QDesktopWidget::screenCount
+ \brief the number of screens currently available on the system.
+
+ \since 4.6
+
+ \sa screenCountChanged()
+*/
+
+/*!
+ \property QDesktopWidget::primaryScreen
+ \brief the index of the screen that is configured to be the primary screen
+ on the system.
+*/
+
+/*!
+ \property QDesktopWidget::virtualDesktop
+
+ \brief if the system manages the available screens in a virtual desktop.
+
+ For virtual desktops, screen() will always return the same widget.
+ The size of the virtual desktop is the size of this desktop
+ widget.
+*/
+
+/*!
+ \fn void QDesktopWidget::screenCountChanged(int newCount)
+
+ \since 4.6
+
+ This signal is emitted when the number of screens changes to \a newCount.
+
+ \sa screenCount
+*/
diff --git a/doc/src/qiterator.qdoc b/doc/src/classes/qiterator.qdoc
index 416b4bc..416b4bc 100644
--- a/doc/src/qiterator.qdoc
+++ b/doc/src/classes/qiterator.qdoc
diff --git a/doc/src/qstyles.qdoc b/doc/src/classes/qmacstyle.qdoc
index ae2d95b..ae2d95b 100644
--- a/doc/src/qstyles.qdoc
+++ b/doc/src/classes/qmacstyle.qdoc
diff --git a/doc/src/classes/qnamespace.qdoc b/doc/src/classes/qnamespace.qdoc
new file mode 100644
index 0000000..0436547
--- /dev/null
+++ b/doc/src/classes/qnamespace.qdoc
@@ -0,0 +1,2745 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \namespace Qt
+ \inmodule QtCore
+
+ \brief The Qt namespace contains miscellaneous identifiers
+ used throughout the Qt library.
+
+ \ingroup misc
+*/
+
+/*!
+ \enum Qt::Orientation
+
+ This type is used to signify an object's orientation.
+
+ \value Horizontal
+ \value Vertical
+
+ Orientation is used with QScrollBar for example.
+*/
+
+/*!
+ \enum Qt::AlignmentFlag
+
+ This enum type is used to describe alignment. It contains
+ horizontal and vertical flags that can be combined to produce
+ the required effect.
+
+ The \l{TextElideMode} enum can also be used in many situations
+ to fine-tune the appearance of aligned text.
+
+ The horizontal flags are:
+
+ \value AlignLeft Aligns with the left edge.
+ \value AlignRight Aligns with the right edge.
+ \value AlignHCenter Centers horizontally in the available space.
+ \value AlignJustify Justifies the text in the available space.
+ \omitvalue AlignAuto
+
+ The vertical flags are:
+
+ \value AlignTop Aligns with the top.
+ \value AlignBottom Aligns with the bottom.
+ \value AlignVCenter Centers vertically in the available space.
+
+ You can use only one of the horizontal flags at a time. There is
+ one two-dimensional flag:
+
+ \value AlignCenter Centers in both dimensions.
+
+ You can use at most one horizontal and one vertical flag at a
+ time. Qt::AlignCenter counts as both horizontal and vertical.
+
+ Three enum values are useful in applications that can be run in
+ right-to-left mode:
+
+ \value AlignAbsolute If the widget's layout direction is
+ Qt::RightToLeft (instead of Qt::LeftToRight, the default),
+ Qt::AlignLeft refers to the \e right edge and Qt::AlignRight
+ to the \e left edge. This is normally the desired behavior.
+ If you want Qt::AlignLeft to always mean "left" and
+ Qt::AlignRight to always mean "right", combine the flag with
+ Qt::AlignAbsolute.
+ \value AlignLeading Synonym for Qt::AlignLeft.
+ \value AlignTrailing Synonym for Qt::AlignRight.
+
+ Masks:
+
+ \value AlignHorizontal_Mask
+ \value AlignVertical_Mask
+
+ Conflicting combinations of flags have undefined meanings.
+*/
+
+/*!
+ \enum Qt::ApplicationAttribute
+
+ This enum describes attributes that change the behavior of
+ application-wide features. These are enabled and disabled using
+ QCoreApplication::setAttribute(), and can be tested for with
+ QCoreApplication::testAttribute().
+
+ \value AA_ImmediateWidgetCreation Ensures that widgets are created
+ as soon as they are constructed. By default, resources for
+ widgets are allocated on demand to improve efficiency and
+ minimize resource usage. Setting or clearing this attribute
+ affects widgets constructed after the change. Setting it
+ tells Qt to create toplevel windows immediately.
+ Therefore, if it is important to minimize resource
+ consumption, do not set this attribute.
+
+ \value AA_MSWindowsUseDirect3DByDefault This value is obsolete and
+ has no effect.
+
+ \value AA_DontShowIconsInMenus Actions with the Icon property won't be
+ shown in any menus unless specifically set by the
+ QAction::iconVisibleInMenu property.
+
+ Menus that are currently open or menus already created in the native
+ Mac OS X menubar \e{may not} pick up a change in this attribute. Changes
+ in the QAction::iconVisibleInMenu property will always be picked up.
+
+ \value AA_NativeWindows Ensures that widgets have native windows.
+
+ \value AA_DontCreateNativeWidgetSiblings Ensures that siblings of native
+ widgets stay non-native unless specifically set by the
+ Qt::WA_NativeWindow attribute.
+
+ \value AA_MacPluginApplication Stops the Qt mac application from doing
+ specific initializations that do not necessarily make sense when using Qt
+ to author a plugin. This includes avoiding loading our nib for the main
+ menu and not taking possession of the native menu bar. When setting this
+ attribute to true will also set the AA_DontUseNativeMenuBar attribute
+ to true.
+
+ \value AA_DontUseNativeMenuBar All menubars created while this attribute is
+ set to true won't be used as a native menubar (e.g, the menubar at
+ the top of the main screen on Mac OS X or at the bottom in Windows CE).
+
+ \value AA_MacDontSwapCtrlAndMeta On Mac OS X by default, Qt swaps the
+ Control and Meta (Command) keys (i.e., whenever Control is pressed, Qt
+ sends Meta and whenever Meta is pressed Control is sent. When this
+ attribute is true, Qt will not do the flip. QKeySequence::StandardShortcuts
+ will also flip accordingly (i.e., QKeySequence::Copy will be
+ Command+C on the keyboard regardless of the value set, though what is output for
+ QKeySequence::toString(QKeySequence::PortableText) will be different).
+
+ \omitvalue AA_AttributeCount
+*/
+
+/*!
+ \enum Qt::MouseButton
+
+ This enum type describes the different mouse buttons.
+
+ \value NoButton The button state does not refer to any
+ button (see QMouseEvent::button()).
+ \value LeftButton The left button is pressed, or an event refers
+ to the left button. (The left button may be the right button on
+ left-handed mice.)
+ \value RightButton The right button.
+ \value MidButton The middle button.
+ \value XButton1 The first X button.
+ \value XButton2 The second X button.
+
+ \omitvalue MouseButtonMask
+
+ \sa KeyboardModifier Modifier
+*/
+
+/*!
+ \enum Qt::KeyboardModifier
+
+ This enum describes the modifier keys.
+
+ \value NoModifier No modifier key is pressed.
+ \value ShiftModifier A Shift key on the keyboard is pressed.
+ \value ControlModifier A Ctrl key on the keyboard is pressed.
+ \value AltModifier An Alt key on the keyboard is pressed.
+ \value MetaModifier A Meta key on the keyboard is pressed.
+ \value KeypadModifier A keypad button is pressed.
+ \value GroupSwitchModifier X11 only. A Mode_switch key on the keyboard is pressed.
+
+ \omitvalue KeyboardModifierMask
+
+ \note On Mac OS X, the \c ControlModifier value corresponds to
+ the Command keys on the Macintosh keyboard, and the \c MetaModifier value
+ corresponds to the Control keys. The \c KeypadModifier value will also be set
+ when an arrow key is pressed as the arrow keys are considered part of the
+ keypad.
+
+ \note On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped
+ to the Windows key.
+
+ \sa MouseButton Modifier
+*/
+
+/*!
+ \enum Qt::Modifier
+
+ This enum provides shorter names for the keyboard modifier keys
+ supported by Qt.
+
+ \bold{Note:} On Mac OS X, the \c CTRL value corresponds to
+ the Command keys on the Macintosh keyboard, and the \c META value
+ corresponds to the Control keys.
+
+ \value SHIFT The Shift keys provided on all standard keyboards.
+ \value META The Meta keys.
+ \value CTRL The Ctrl keys.
+ \value ALT The normal Alt keys, but not keys like AltGr.
+ \value UNICODE_ACCEL The shortcut is specified as a Unicode code
+ point, not as a Qt Key.
+ \omitvalue MODIFIER_MASK
+
+ \sa KeyboardModifier MouseButton
+*/
+
+/*!
+ \enum Qt::GlobalColor
+
+ \raw HTML
+ <style type="text/css" id="colorstyles">
+ #white { background-color: #ffffff; color: #000000 }
+ #black { background-color: #000000; color: #ffffff }
+ #red { background-color: #ff0000; color: #000000 }
+ #darkRed { background-color: #800000; color: #ffffff }
+ #green { background-color: #00ff00; color: #000000 }
+ #darkGreen { background-color: #008000; color: #ffffff }
+ #blue { background-color: #0000ff; color: #ffffff }
+ #darkBlue { background-color: #000080; color: #ffffff }
+ #cyan { background-color: #00ffff; color: #000000 }
+ #darkCyan { background-color: #008080; color: #ffffff }
+ #magenta { background-color: #ff00ff; color: #000000 }
+ #darkMagenta { background-color: #800080; color: #ffffff }
+ #yellow { background-color: #ffff00; color: #000000 }
+ #darkYellow { background-color: #808000; color: #ffffff }
+ #gray { background-color: #a0a0a4; color: #000000 }
+ #darkGray { background-color: #808080; color: #ffffff }
+ #lightGray { background-color: #c0c0c0; color: #000000 }
+ </style>
+ \endraw
+
+ Qt's predefined QColor objects:
+
+ \value white \raw HTML
+ White <tt id="white">(#ffffff)</tt>
+ \endraw
+ \value black \raw HTML
+ Black <tt id="black">(#000000)</tt>
+ \endraw
+ \value red \raw HTML
+ Red <tt id="red">(#ff0000)</tt>
+ \endraw
+ \value darkRed \raw HTML
+ Dark red <tt id="darkRed">(#800000)</tt>
+ \endraw
+ \value green \raw HTML
+ Green <tt id="green">(#00ff00)</tt>
+ \endraw
+ \value darkGreen \raw HTML
+ Dark green <tt id="darkGreen">(#008000)</tt>
+ \endraw
+ \value blue \raw HTML
+ Blue <tt id="blue">(#0000ff)</tt>
+ \endraw
+ \value darkBlue \raw HTML
+ Dark blue <tt id="darkBlue">(#000080)</tt>
+ \endraw
+ \value cyan \raw HTML
+ Cyan <tt id="cyan">(#00ffff)</tt>
+ \endraw
+ \value darkCyan \raw HTML
+ Dark cyan <tt id="darkCyan">(#008080)</tt>
+ \endraw
+ \value magenta \raw HTML
+ Magenta <tt id="magenta">(#ff00ff)</tt>
+ \endraw
+ \value darkMagenta \raw HTML
+ Dark magenta <tt id="darkMagenta">(#800080)</tt>
+ \endraw
+ \value yellow \raw HTML
+ Yellow <tt id="yellow">(#ffff00)</tt>
+ \endraw
+ \value darkYellow \raw HTML
+ Dark yellow <tt id="darkYellow">(#808000)</tt>
+ \endraw
+ \value gray \raw HTML
+ Gray <tt id="gray">(#a0a0a4)</tt>
+ \endraw
+ \value darkGray \raw HTML
+ Dark gray <tt id="darkGray">(#808080)</tt>
+ \endraw
+ \value lightGray \raw HTML
+ Light gray <tt id="lightGray">(#c0c0c0)</tt>
+ \endraw
+ \value transparent a transparent black value (i.e., QColor(0, 0, 0, 0))
+ \value color0 0 pixel value (for bitmaps)
+ \value color1 1 pixel value (for bitmaps)
+
+ \sa QColor
+
+*/
+
+/*!
+ \enum Qt::PenStyle
+
+ This enum type defines the pen styles that can be drawn using
+ QPainter. The styles are:
+
+ \table
+ \row
+ \o \inlineimage qpen-solid.png
+ \o \inlineimage qpen-dash.png
+ \o \inlineimage qpen-dot.png
+ \row
+ \o Qt::SolidLine
+ \o Qt::DashLine
+ \o Qt::DotLine
+ \row
+ \o \inlineimage qpen-dashdot.png
+ \o \inlineimage qpen-dashdotdot.png
+ \o \inlineimage qpen-custom.png
+ \row
+ \o Qt::DashDotLine
+ \o Qt::DashDotDotLine
+ \o Qt::CustomDashLine
+ \endtable
+
+ \value NoPen no line at all. For example, QPainter::drawRect()
+ fills but does not draw any boundary line.
+
+ \value SolidLine A plain line.
+ \value DashLine Dashes separated by a few pixels.
+ \value DotLine Dots separated by a few pixels.
+ \value DashDotLine Alternate dots and dashes.
+ \value DashDotDotLine One dash, two dots, one dash, two dots.
+ \value CustomDashLine A custom pattern defined using
+ QPainterPathStroker::setDashPattern().
+
+ \omitvalue MPenStyle
+
+ \sa QPen
+*/
+
+/*!
+ \enum Qt::PenCapStyle
+
+ This enum type defines the pen cap styles supported by Qt, i.e.
+ the line end caps that can be drawn using QPainter.
+
+ \table
+ \row
+ \o \inlineimage qpen-square.png
+ \o \inlineimage qpen-flat.png
+ \o \inlineimage qpen-roundcap.png
+ \row
+ \o Qt::SquareCap
+ \o Qt::FlatCap
+ \o Qt::RoundCap
+ \endtable
+
+ \value FlatCap a square line end that does not cover the end
+ point of the line.
+ \value SquareCap a square line end that covers the end point and
+ extends beyond it by half the line width.
+ \value RoundCap a rounded line end.
+ \omitvalue MPenCapStyle
+
+ \sa QPen
+*/
+
+/*!
+ \enum Qt::PenJoinStyle
+
+ This enum type defines the pen join styles supported by Qt, i.e.
+ which joins between two connected lines can be drawn using
+ QPainter.
+
+ \table
+ \row
+ \o \inlineimage qpen-bevel.png
+ \o \inlineimage qpen-miter.png
+ \o \inlineimage qpen-roundjoin.png
+ \row
+ \o Qt::BevelJoin
+ \o Qt::MiterJoin
+ \o Qt::RoundJoin
+ \endtable
+
+ \value MiterJoin The outer edges of the lines are extended to
+ meet at an angle, and this area is filled.
+ \value BevelJoin The triangular notch between the two lines is filled.
+ \value RoundJoin A circular arc between the two lines is filled.
+ \value SvgMiterJoin A miter join corresponding to the definition of
+ a miter join in the \l{SVG 1.2 Tiny} specification.
+ \omitvalue MPenJoinStyle
+
+ \sa QPen
+*/
+
+/*!
+ \enum Qt::BrushStyle
+
+ This enum type defines the brush styles supported by Qt, i.e. the
+ fill pattern of shapes drawn using QPainter.
+
+ \image brush-styles.png Brush Styles
+
+ \value NoBrush No brush pattern.
+ \value SolidPattern Uniform color.
+ \value Dense1Pattern Extremely dense brush pattern.
+ \value Dense2Pattern Very dense brush pattern.
+ \value Dense3Pattern Somewhat dense brush pattern.
+ \value Dense4Pattern Half dense brush pattern.
+ \value Dense5Pattern Somewhat sparse brush pattern.
+ \value Dense6Pattern Very sparse brush pattern.
+ \value Dense7Pattern Extremely sparse brush pattern.
+ \value HorPattern Horizontal lines.
+ \value VerPattern Vertical lines.
+ \value CrossPattern Crossing horizontal and vertical lines.
+ \value BDiagPattern Backward diagonal lines.
+ \value FDiagPattern Forward diagonal lines.
+ \value DiagCrossPattern Crossing diagonal lines.
+ \value LinearGradientPattern Linear gradient (set using a dedicated QBrush constructor).
+ \value ConicalGradientPattern Conical gradient (set using a dedicated QBrush constructor).
+ \value RadialGradientPattern Radial gradient (set using a dedicated QBrush constructor).
+ \value TexturePattern Custom pattern (see QBrush::setTexture()).
+
+ \omitvalue CustomPattern
+
+ \sa QBrush
+*/
+
+/*!
+ \enum Qt::TextFlag
+
+ This enum type is used to define some modifier flags. Some of
+ these flags only make sense in the context of printing:
+
+ \value TextSingleLine Treats all whitespace as spaces and prints just
+ one line.
+ \value TextDontClip If it's impossible to stay within the given bounds,
+ it prints outside.
+ \value TextExpandTabs Makes the U+0009 (ASCII tab) character move to
+ the next tab stop.
+ \value TextShowMnemonic Displays the string "\&P" as \underline{P}
+ (see QButton for an example). For an ampersand, use "\&\&".
+ \value TextWordWrap Breaks lines at appropriate points, e.g. at word
+ boundaries.
+ \value TextWrapAnywhere Breaks lines anywhere, even within words.
+ \value TextHideMnemonic Same as Qt::TextShowMnemonic but doesn't draw the underlines.
+ \value TextDontPrint Treat this text as "hidden" and don't print
+ it.
+ \value IncludeTrailingSpaces When this option is set, QTextLine::naturalTextWidth() and naturalTextRect() will
+ return a value that includes the width of trailing spaces in the text; otherwise
+ this width is excluded.
+ \value TextIncludeTrailingSpaces Same as IncludeTrailingSpaces
+ \value TextJustificationForced Ensures that text lines are justified.
+
+ \omitvalue BreakAnywhere
+ \omitvalue DontClip
+ \omitvalue DontPrint
+ \omitvalue ExpandTabs
+ \omitvalue IncludeTrailingSpaces
+ \omitvalue NoAccel
+ \omitvalue ShowPrefix
+ \omitvalue SingleLine
+ \omitvalue WordBreak
+ \omitvalue TextForceLeftToRight
+ \omitvalue TextForceRightToLeft
+
+ You can use as many modifier flags as you want, except that
+ Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.
+
+ Flags that are inappropriate for a given use are generally
+ ignored.
+*/
+
+/*!
+ \enum Qt::BGMode
+
+ Background mode:
+
+ \value TransparentMode
+ \value OpaqueMode
+*/
+
+/*!
+ \enum Qt::ConnectionType
+
+ This enum describes the types of connection that can be used between signals and
+ slots. In particular, it determines whether a particular signal is delivered to a
+ slot immediately or queued for delivery at a later time.
+
+ \omitvalue AutoCompatConnection
+ \value DirectConnection When emitted, the signal is immediately delivered to the slot.
+ \value QueuedConnection When emitted, the signal is queued until the event loop is
+ able to deliver it to the slot.
+ \value BlockingQueuedConnection
+ Same as QueuedConnection, except that the current thread blocks
+ until the slot has been delivered. This connection type should
+ only be used for receivers in a different thread. Note that misuse
+ of this type can lead to deadlocks in your application.
+ \value AutoConnection If the signal is emitted from the thread
+ in which the receiving object lives, the
+ slot is invoked directly, as with
+ Qt::DirectConnection; otherwise the
+ signal is queued, as with
+ Qt::QueuedConnection.
+ \value UniqueConnection Same as AutoConnection, but there will be a check that the signal is
+ not already connected to the same slot before connecting, otherwise,
+ the connection will fail.
+ This value was introduced in Qt 4.6.
+
+ With queued connections, the parameters must be of types that are known to
+ Qt's meta-object system, because Qt needs to copy the arguments to store them
+ in an event behind the scenes. If you try to use a queued connection and
+ get the error message
+
+ \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 0
+
+ call qRegisterMetaType() to register the data type before you
+ establish the connection.
+
+ \sa {Thread Support in Qt}, QObject::connect(), qRegisterMetaType()
+*/
+
+/*!
+ \enum Qt::DateFormat
+
+ \value TextDate The default Qt format, which includes the day and month name,
+ the day number in the month, and the year in full. The day and month names will
+ be short, localized names. This is basically equivalent to using the date format
+ string, "ddd MMM d yyyy". See QDate::toString() for more information.
+
+ \value ISODate ISO 8601 extended format: either \c{YYYY-MM-DD} for dates or
+ \c{YYYY-MM-DDTHH:MM:SS} for combined dates and times.
+
+ \value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used
+ by the \l{QLocale::system()}{operating system}.
+
+ \value SystemLocaleLongDate The \l{QLocale::LongFormat}{long format} used
+ by the \l{QLocale::system()}{operating system}.
+
+ \value DefaultLocaleShortDate The \l{QLocale::ShortFormat}{short format} specified
+ by the \l{QLocale::setDefault()}{application's locale}.
+
+ \value DefaultLocaleLongDate The \l{QLocale::LongFormat}{long format} used
+ by the \l{QLocale::setDefault()}{application's locale}.
+
+ \value SystemLocaleDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
+ instead (or Qt::SystemLocaleLongDate if you want long dates).
+
+ \value LocaleDate \e{This enum value is deprecated.} Use Qt::DefaultLocaleShortDate
+ instead (or Qt::DefaultLocaleLongDate if you want long dates).
+
+ \value LocalDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
+ instead (or Qt::SystemLocaleLongDate if you want long dates).
+
+ \note For \c ISODate formats, each \c Y, \c M and \c D represents a single digit
+ of the year, month and day used to specify the date. Each \c H, \c M and \c S
+ represents a single digit of the hour, minute and second used to specify the time.
+ The presence of a literal \c T character is used to separate the date and time when
+ both are specified.
+*/
+
+
+/*!
+ \enum Qt::TimeSpec
+
+ \value LocalTime Locale dependent time (Timezones and Daylight Savings Time).
+ \value UTC Coordinated Universal Time, replaces Greenwich Mean Time.
+ \value OffsetFromUTC An offset in seconds from Coordinated Universal Time.
+*/
+
+/*!
+ \enum Qt::DayOfWeek
+
+ \value Monday
+ \value Tuesday
+ \value Wednesday
+ \value Thursday
+ \value Friday
+ \value Saturday
+ \value Sunday
+*/
+
+/*!
+ \enum Qt::CaseSensitivity
+
+ \value CaseInsensitive
+ \value CaseSensitive
+*/
+
+/*!
+ \enum Qt::ToolBarArea
+
+ \value LeftToolBarArea
+ \value RightToolBarArea
+ \value TopToolBarArea
+ \value BottomToolBarArea
+ \value AllToolBarAreas
+ \value NoToolBarArea
+
+ \omitvalue ToolBarArea_Mask
+*/
+
+/*!
+ \enum Qt::DockWidgetArea
+
+ \value LeftDockWidgetArea
+ \value RightDockWidgetArea
+ \value TopDockWidgetArea
+ \value BottomDockWidgetArea
+ \value AllDockWidgetAreas
+ \value NoDockWidgetArea
+
+ \omitvalue DockWidgetArea_Mask
+*/
+
+/*!
+ \enum Qt::BackgroundMode
+
+ \compat
+
+ \value FixedColor
+ \value FixedPixmap
+ \value NoBackground
+ \value PaletteForeground
+ \value PaletteButton
+ \value PaletteLight
+ \value PaletteMidlight
+ \value PaletteDark
+ \value PaletteMid
+ \value PaletteText
+ \value PaletteBrightText
+ \value PaletteBase
+ \value PaletteBackground
+ \value PaletteShadow
+ \value PaletteHighlight
+ \value PaletteHighlightedText
+ \value PaletteButtonText
+ \value PaletteLink
+ \value PaletteLinkVisited
+ \value X11ParentRelative
+*/
+
+/*!
+ \enum Qt::ImageConversionFlag
+
+ The options marked "(default)" are set if no other values from
+ the list are included (since the defaults are zero):
+
+ Color/Mono preference (ignored for QBitmap):
+
+ \value AutoColor (default) - If the image has \link
+ QImage::depth() depth\endlink 1 and contains only
+ black and white pixels, the pixmap becomes monochrome.
+ \value ColorOnly The pixmap is dithered/converted to the
+ \link QPixmap::defaultDepth() native display depth\endlink.
+ \value MonoOnly The pixmap becomes monochrome. If necessary,
+ it is dithered using the chosen dithering algorithm.
+
+ Dithering mode preference for RGB channels:
+
+ \value DiffuseDither (default) - A high-quality dither.
+ \value OrderedDither A faster, more ordered dither.
+ \value ThresholdDither No dithering; closest color is used.
+
+ Dithering mode preference for alpha channel:
+
+ \value ThresholdAlphaDither (default) - No dithering.
+ \value OrderedAlphaDither A faster, more ordered dither.
+ \value DiffuseAlphaDither A high-quality dither.
+ \omitvalue NoAlpha
+
+ Color matching versus dithering preference:
+
+ \value PreferDither (default when converting to a pixmap) - Always dither
+ 32-bit images when the image is converted to 8 bits.
+ \value AvoidDither (default when converting for the purpose of saving to
+ file) - Dither 32-bit images only if the image has more than 256
+ colors and it is being converted to 8 bits.
+ \omitvalue AutoDither
+
+ \omitvalue ColorMode_Mask
+ \omitvalue Dither_Mask
+ \omitvalue AlphaDither_Mask
+ \omitvalue DitherMode_Mask
+ \omitvalue NoOpaqueDetection
+*/
+
+/*! \enum Qt::GUIStyle
+
+ \compat
+
+ \value WindowsStyle
+ \value MotifStyle
+ \value MacStyle
+ \value Win3Style
+ \value PMStyle
+*/
+
+/*!
+ \enum Qt::UIEffect
+
+ This enum describes the available UI effects.
+
+ By default, Qt will try to use the platform specific desktop
+ settings for each effect. Use the
+ QApplication::setDesktopSettingsAware() function (passing \c false
+ as argument) to prevent this, and the
+ QApplication::setEffectEnabled() to enable or disable a particular
+ effect.
+
+ Note that all effects are disabled on screens running at less than
+ 16-bit color depth.
+
+ \omitvalue UI_General
+
+ \value UI_AnimateMenu Show animated menus.
+ \value UI_FadeMenu Show faded menus.
+ \value UI_AnimateCombo Show animated comboboxes.
+ \value UI_AnimateTooltip Show tooltip animations.
+ \value UI_FadeTooltip Show tooltip fading effects.
+ \value UI_AnimateToolBox Reserved
+
+ \sa QApplication::setEffectEnabled(), QApplication::setDesktopSettingsAware()
+*/
+
+/*! \enum Qt::AspectRatioMode
+
+ This enum type defines what happens to the aspect ratio when
+ scaling an rectangle.
+
+ \image qimage-scaling.png
+
+ \value IgnoreAspectRatio The size is scaled freely. The aspect
+ ratio is not preserved.
+ \value KeepAspectRatio The size is scaled to a rectangle as
+ large as possible inside a given
+ rectangle, preserving the aspect ratio.
+ \value KeepAspectRatioByExpanding The size is scaled to a
+ rectangle as small as possible
+ outside a given rectangle,
+ preserving the aspect ratio.
+
+ \omitvalue ScaleFree
+ \omitvalue ScaleMin
+ \omitvalue ScaleMax
+
+ \sa QSize::scale(), QImage::scaled()
+*/
+
+/*! \typedef Qt::ScaleMode
+ \compat
+
+ Use Qt::AspectRatioMode instead.
+
+ The enum values have been renamed as follows:
+
+ \table
+ \row \i Old enum value \i New enum value
+ \row \i Qt::ScaleFree \i Qt::IgnoreAspectRatio
+ \row \i Qt::ScaleMin \i Qt::KeepAspectRatio
+ \row \i Qt::ScaleMax \i Qt::KeepAspectRatioByExpanding
+ \endtable
+*/
+
+/*! \enum Qt::TransformationMode
+
+ This enum type defines whether image transformations (e.g.,
+ scaling) should be smooth or not.
+
+ \value FastTransformation The transformation is performed
+ quickly, with no smoothing.
+ \value SmoothTransformation The resulting image is transformed
+ using bilinear filtering.
+
+ \sa QImage::scaled()
+*/
+
+/*! \enum Qt::Axis
+
+ This enum type defines three values to represent the three
+ axes in the cartesian coordinate system.
+
+ \value XAxis The X axis.
+ \value YAxis The Y axis.
+ \value ZAxis The Z axis.
+
+ \sa QTransform::rotate(), QTransform::rotateRadians()
+ */
+
+/*!
+ \enum Qt::WidgetAttribute
+
+ \keyword widget attributes
+
+ This enum type is used to specify various widget attributes.
+ Attributes are set and cleared with QWidget::setAttribute(), and
+ queried with QWidget::testAttribute(), although some have special
+ convenience functions which are mentioned below.
+
+ \value WA_AcceptDrops Allows data from drag and drop operations
+ to be dropped onto the widget (see QWidget::setAcceptDrops()).
+
+ \value WA_AlwaysShowToolTips Enables tooltips for inactive windows.
+
+ \value WA_ContentsPropagated This flag is superfluous and
+ obsolete; it no longer has any effect. Since Qt 4.1, all widgets
+ that do not set WA_PaintOnScreen propagate their contents.
+
+ \value WA_CustomWhatsThis Indicates that the widget wants to
+ continue operating normally in "What's This?" mode. This is set by the
+ widget's author.
+
+ \value WA_DeleteOnClose Makes Qt delete this widget when the
+ widget has accepted the close event (see QWidget::closeEvent()).
+
+ \value WA_Disabled Indicates that the widget is disabled, i.e.
+ it does not receive any mouse or keyboard events. There is also a
+ getter functions QWidget::isEnabled(). This is set/cleared by the
+ Qt kernel.
+
+ \omitvalue WA_DropSiteRegistered
+ \omitvalue WA_ForceAcceptDrops
+
+ \value WA_ForceDisabled Indicates that the widget is
+ explicitly disabled, i.e. it will remain disabled even when all
+ its ancestors are set to the enabled state. This implies
+ WA_Disabled. This is set/cleared by QWidget::setEnabled() and
+ QWidget::setDisabled().
+
+ \value WA_ForceUpdatesDisabled Indicates that updates are
+ explicitly disabled for the widget; i.e. it will remain disabled
+ even when all its ancestors are set to the updates-enabled state.
+ This implies WA_UpdatesDisabled. This is set/cleared by
+ QWidget::setUpdatesEnabled().
+
+ \value WA_GroupLeader
+ \e{This attribute has been deprecated.} Use QWidget::windowModality
+ instead.
+
+ \value WA_Hover Forces Qt to generate paint events when the mouse
+ enters or leaves the widget. This feature is typically used when
+ implementing custom styles; see the \l{widgets/styles}{Styles}
+ example for details.
+
+ \value WA_InputMethodEnabled Enables input methods for Asian languages.
+ Must be set when creating custom text editing widgets.
+ On Windows CE this flag can be used in addition to
+ QApplication::autoSipEnabled to automatically display the SIP when
+ entering a widget.
+
+ \value WA_KeyboardFocusChange Set on a toplevel window when
+ the users changes focus with the keyboard (tab, backtab, or shortcut).
+
+ \value WA_KeyCompression Enables key event compression if set,
+ and disables it if not set. By default key compression is off, so
+ widgets receive one key press event for each key press (or more,
+ since autorepeat is usually on). If you turn it on and your
+ program doesn't keep up with key input, Qt may try to compress key
+ events so that more than one character can be processed in each
+ event.
+ For example, a word processor widget might receive 2, 3 or more
+ characters in each QKeyEvent::text(), if the layout recalculation
+ takes too long for the CPU.
+ If a widget supports multiple character unicode input, it is
+ always safe to turn the compression on.
+ Qt performs key event compression only for printable characters.
+ Qt::Modifier keys, cursor movement keys, function keys and
+ miscellaneous action keys (e.g. Escape, Enter, Backspace,
+ PrintScreen) will stop key event compression, even if there are
+ more compressible key events available.
+ Platforms other than Mac and X11 do not support this compression,
+ in which case turning it on will have no effect.
+ This is set/cleared by the widget's author.
+
+ \value WA_LayoutOnEntireRect Indicates that the widget
+ wants QLayout to operate on the entire QWidget::rect(), not only
+ on QWidget::contentsRect(). This is set by the widget's author.
+
+ \value WA_LayoutUsesWidgetRect Ignore the layout item rect from the style
+ when laying out this widget with QLayout. This makes a difference in
+ QMacStyle and QPlastiqueStyle for some widgets.
+
+ \value WA_MacNoClickThrough When a widget that has this attribute set
+ is clicked, and its window is inactive, the click will make the window
+ active but won't be seen by the widget. Typical use of this attribute
+ is on widgets with "destructive" actions, such as a "Delete" button.
+ WA_MacNoClickThrough also applies to all child widgets of the widget
+ that has it set.
+
+ \value WA_MacOpaqueSizeGrip Indicates that the native Carbon size grip
+ should be opaque instead of transparent (the default). This attribute
+ is only applicable to Mac OS X and is set by the widget's author.
+
+ \value WA_MacShowFocusRect Indicates that this widget should get a
+ QFocusFrame around it. Some widgets draw their own focus halo
+ regardless of this attribute. Not that the QWidget::focusPolicy
+ also plays the main role in whether something is given focus or
+ not, this only controls whether or not this gets the focus
+ frame. This attribute is only applicable to Mac OS X.
+
+ \value WA_MacNormalSize Indicates the widget should have the
+ normal size for widgets in Mac OS X. This attribute is only
+ applicable to Mac OS X.
+
+ \value WA_MacSmallSize Indicates the widget should have the small
+ size for widgets in Mac OS X. This attribute is only applicable to
+ Mac OS X.
+
+ \value WA_MacMiniSize Indicates the widget should have the mini
+ size for widgets in Mac OS X. This attribute is only applicable to
+ Mac OS X.
+
+ \value WA_MacVariableSize Indicates the widget can choose between
+ alternative sizes for widgets to avoid clipping.
+ This attribute is only applicable to Mac OS X.
+
+ \value WA_MacBrushedMetal Indicates the widget should be drawn in
+ the brushed metal style as supported by the windowing system. This
+ attribute is only applicable to Mac OS X.
+
+ \omitvalue WA_MacMetalStyle
+
+ \value WA_Mapped Indicates that the widget is mapped on screen.
+ This is set/cleared by the Qt kernel.
+
+ \value WA_MouseNoMask Makes the widget receive mouse events for
+ the entire widget regardless of the currently set mask,
+ overriding QWidget::setMask(). This is not applicable for
+ top-level windows.
+
+ \value WA_MouseTracking Indicates that the widget has mouse
+ tracking enabled. See QWidget::mouseTracking.
+
+ \value WA_Moved Indicates that the widget has an explicit
+ position. This is set/cleared by QWidget::move() and
+ by QWidget::setGeometry().
+
+ \value WA_MSWindowsUseDirect3D This value is obsolete and has no
+ effect.
+
+ \value WA_NoBackground This value is obsolete. Use
+ WA_OpaquePaintEvent instead.
+
+ \value WA_NoChildEventsForParent Indicates that the widget does
+ not want ChildAdded or ChildRemoved events sent to its
+ parent. This is rarely necessary but can help to avoid automatic
+ insertion widgets like splitters and layouts. This is set by a
+ widget's author.
+
+ \value WA_NoChildEventsFromChildren Indicates that the widget does
+ not want to receive ChildAdded or ChildRemoved events sent from its
+ children. This is set by a widget's author.
+
+ \value WA_NoMouseReplay Used for pop-up widgets. Indicates that the most
+ recent mouse press event should not be replayed when the pop-up widget
+ closes. The flag is set by the widget's author and cleared by the Qt kernel
+ every time the widget receives a new mouse event.
+
+ \value WA_NoMousePropagation Prohibits mouse events from being propagated
+ to the widget's parent. This attribute is disabled by default.
+
+ \value WA_TransparentForMouseEvents When enabled, this attribute disables
+ the delivery of mouse events to the widget and its children. Mouse events
+ are delivered to other widgets as if the widget and its children were not
+ present in the widget hierarchy; mouse clicks and other events effectively
+ "pass through" them. This attribute is disabled by default.
+
+ \value WA_NoSystemBackground Indicates that the widget has no background,
+ i.e. when the widget receives paint events, the background is not
+ automatically repainted. \note Unlike WA_OpaquePaintEvent, newly exposed
+ areas are \bold never filled with the background (e.g., after showing a
+ window for the first time the user can see "through" it until the
+ application processes the paint events). This flag is set or cleared by the
+ widget's author.
+
+ \value WA_OpaquePaintEvent Indicates that the widget paints all its pixels
+ when it receives a paint event. Thus, it is not required for operations
+ like updating, resizing, scrolling and focus changes to erase the widget
+ before generating paint events. The use of WA_OpaquePaintEvent provides a
+ small optimization by helping to reduce flicker on systems that do not
+ support double buffering and avoiding computational cycles necessary to
+ erase the background prior to painting. \note Unlike
+ WA_NoSystemBackground, WA_OpaquePaintEvent makes an effort to avoid
+ transparent window backgrounds. This flag is set or cleared by the widget's
+ author.
+
+ \value WA_OutsideWSRange Indicates that the widget is outside
+ the valid range of the window system's coordinate system. A widget
+ outside the valid range cannot be mapped on screen. This is
+ set/cleared by the Qt kernel.
+
+ \value WA_PaintOnScreen Indicates that the widget wants to draw directly
+ onto the screen. Widgets with this attribute set do not participate in
+ composition management, i.e. they cannot be semi-transparent or shine
+ through semi-transparent overlapping widgets. \note This flag is only
+ supported on X11 and it disables double buffering. On Qt for Embedded
+ Linux, the flag only works when set on a top-level widget and it relies on
+ support from the active screen driver. This flag is set or cleared by the
+ widget's author. To render outside of Qt's paint system, e.g., if you
+ require native painting primitives, you need to reimplement
+ QWidget::paintEngine() to return 0 and set this flag.
+
+ \value WA_PaintOutsidePaintEvent Makes it possible to use QPainter to
+ paint on the widget outside \l{QWidget::paintEvent()}{paintEvent()}. This
+ flag is not supported on Windows, Mac OS X or Embedded Linux. We recommend
+ that you use it only when porting Qt 3 code to Qt 4.
+
+ \value WA_PaintUnclipped Makes all painters operating on this widget
+ unclipped. Children of this widget or other widgets in front of it do not
+ clip the area the painter can paint on. This flag is only supported for
+ widgets with the WA_PaintOnScreen flag set. The preferred way to do this in
+ a cross platform way is to create a transparent widget that lies in front
+ of the other widgets.
+
+ \value WA_PendingMoveEvent Indicates that a move event is pending, e.g.,
+ when a hidden widget was moved. This flag is set or cleared by the Qt
+ kernel.
+
+ \value WA_PendingResizeEvent Indicates that a resize event is pending,
+ e.g., when a hidden widget was resized. This flag is set or cleared by the
+ Qt kernel.
+
+ \value WA_QuitOnClose Makes Qt quit the application when the last widget
+ with the attribute set has accepted closeEvent(). This behavior can be
+ modified with the QApplication::quitOnLastWindowClosed property. By default
+ this attribute is set for all widgets of type Qt::Window.
+
+ \value WA_Resized Indicates that the widget has an explicit size. This flag
+ is set or cleared by QWidget::resize() and QWidget::setGeometry().
+
+ \value WA_RightToLeft Indicates that the layout direction for the widget
+ is right to left.
+
+ \value WA_SetCursor Indicates that the widget has a cursor of its own. This
+ flag is set or cleared by QWidget::setCursor() and QWidget::unsetCursor().
+
+ \value WA_SetFont Indicates that the widget has a font of its own. This
+ flag is set or cleared by QWidget::setFont().
+
+ \value WA_SetPalette Indicates that the widget has a palette of its own.
+ This flag is set or cleared by QWidget::setPalette().
+
+ \value WA_SetStyle Indicates that the widget has a style of its own. This
+ flag is set or cleared by QWidget::setStyle().
+
+ \value WA_ShowModal \e{This attribute has been deprecated.} Use
+ QWidget::windowModality instead.
+
+ \value WA_StaticContents Indicates that the widget contents are north-west
+ aligned and static. On resize, such a widget will receive paint events only
+ for parts of itself that are newly visible. This flag is set or cleared by
+ the widget's author.
+
+ \value WA_StyleSheet Indicates that the widget is styled using a
+ \l{Qt Style Sheets}{style sheet}.
+
+ \value WA_TranslucentBackground Indicates that the widget should have a
+ translucent background, i.e., any non-opaque regions of the widgets will be
+ translucent because the widget will have an alpha channel. Setting this
+ flag causes WA_NoSystemBackground to be set. On Windows the
+ widget also needs the Qt::FramelessWindowHint window flag to be set.
+ This flag is set or cleared by the widget's author.
+
+ \value WA_UnderMouse Indicates that the widget is under the mouse cursor.
+ The value is not updated correctly during drag and drop operations. There
+ is also a getter function, QWidget::underMouse(). This flag is set or
+ cleared by the Qt kernel.
+
+ \value WA_UpdatesDisabled Indicates that updates are blocked (including the
+ system background). This flag is set or cleared by the Qt kernel.
+ \warning This flag must \e never be set or cleared by the widget's author.
+
+ \value WA_WindowModified Indicates that the window is marked as modified.
+ On some platforms this flag will do nothing, on others (including Mac OS X
+ and Windows) the window will take a modified appearance. This flag is set
+ or cleared by QWidget::setWindowModified().
+
+ \value WA_WindowPropagation Makes a toplevel window inherit font and
+ palette from its parent.
+
+ \value WA_MacAlwaysShowToolWindow On Mac OS X, show the tool window even
+ when the application is not active. By default, all tool windows are
+ hidden when the application is inactive.
+
+ \value WA_SetLocale Indicates the locale should be taken into consideration
+ in the widget.
+
+ \value WA_StyledBackground Indicates the widget should be drawn using a
+ styled background.
+
+ \value WA_ShowWithoutActivating Show the widget without making it active.
+
+ \value WA_NativeWindow Indicates that a native window is created for the
+ widget. Enabling this flag will also force a native window for the widget's
+ ancestors unless Qt::WA_DontCreateNativeAncestors is set.
+
+ \value WA_DontCreateNativeAncestors Indicates that the widget's ancestors
+ are kept non-native even though the widget itself is native.
+
+ \value WA_X11NetWmWindowTypeDesktop Adds _NET_WM_WINDOW_TYPE_DESKTOP to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms.
+
+ \value WA_X11NetWmWindowTypeDock Adds _NET_WM_WINDOW_TYPE_DOCK to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms.
+
+ \value WA_X11NetWmWindowTypeToolBar Adds _NET_WM_WINDOW_TYPE_TOOLBAR to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automaticaly sets this
+ attribute for QToolBar.
+
+ \value WA_X11NetWmWindowTypeMenu Adds _NET_WM_WINDOW_TYPE_MENU to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for QMenu when torn-off.
+
+ \value WA_X11NetWmWindowTypeUtility Adds _NET_WM_WINDOW_TYPE_UTILITY to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the Qt::Tool window type.
+
+ \value WA_X11NetWmWindowTypeSplash Adds _NET_WM_WINDOW_TYPE_SPLASH to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the Qt::SplashScreen window type.
+
+ \value WA_X11NetWmWindowTypeDialog Adds _NET_WM_WINDOW_TYPE_DIALOG
+ to the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This
+ attribute has no effect on non-X11 platforms. \note Qt automatically sets
+ this attribute for the Qt::Dialog and Qt::Sheet window types.
+
+ \value WA_X11NetWmWindowTypeDropDownMenu Adds
+ _NET_WM_WINDOW_TYPE_DROPDOWN_MENU to the window's
+ _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This
+ attribute has no effect on non-X11 platforms. \note Qt
+ automatically sets this attribute for QMenus added to a QMenuBar.
+
+ \value WA_X11NetWmWindowTypePopupMenu Adds _NET_WM_WINDOW_TYPE_POPUP_MENU
+ to the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for QMenu.
+
+ \value WA_X11NetWmWindowTypeToolTip Adds _NET_WM_WINDOW_TYPE_TOOLTIP to the
+ window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the Qt::ToolTip window type.
+
+ \value WA_X11NetWmWindowTypeNotification Adds
+ _NET_WM_WINDOW_TYPE_NOTIFICATION to the window's _NET_WM_WINDOW_TYPE X11
+ window property. See http://standards.freedesktop.org/wm-spec/ for more
+ details. This attribute has no effect on non-X11 platforms.
+
+ \value WA_X11NetWmWindowTypeCombo Adds _NET_WM_WINDOW_TYPE_COMBO
+ to the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute for the QComboBox pop-up.
+
+ \value WA_X11NetWmWindowTypeDND Adds _NET_WM_WINDOW_TYPE_DND to
+ the window's _NET_WM_WINDOW_TYPE X11 window property. See
+ http://standards.freedesktop.org/wm-spec/ for more details. This attribute
+ has no effect on non-X11 platforms. \note Qt automatically sets this
+ attribute on the feedback widget used during a drag.
+
+ \value WA_MacFrameworkScaled Enables resolution independence aware mode
+ on Mac when using Carbon. This attribute has no effect on Cocoa.
+ The attribute is off by default and can be enabled on a per-window basis.
+
+ \value WA_AcceptTouchEvents Allows touch events (see QTouchEvent)
+ to be sent to the widget. Must be set on all widgets that can
+ handle touch events. Without this attribute set, events from a
+ touch device will be sent as mouse events.
+
+ \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single
+ touch events to be sent to the widget.
+
+ \omitvalue WA_SetLayoutDirection
+ \omitvalue WA_InputMethodTransparent
+ \omitvalue WA_WState_CompressKeys
+ \omitvalue WA_WState_ConfigPending
+ \omitvalue WA_WState_Created
+ \omitvalue WA_WState_DND
+ \omitvalue WA_WState_ExplicitShowHide
+ \omitvalue WA_WState_Hidden
+ \omitvalue WA_WState_InPaintEvent
+ \omitvalue WA_WState_OwnSizePolicy
+ \omitvalue WA_WState_Polished
+ \omitvalue WA_WState_Reparented
+ \omitvalue WA_WState_Visible
+ \omitvalue WA_SetWindowIcon
+ \omitvalue WA_PendingUpdate
+ \omitvalue WA_LaidOut
+ \omitvalue WA_GrabbedShortcut
+ \omitvalue WA_DontShowOnScreen
+ \omitvalue WA_InvalidSize
+ \omitvalue WA_ForceUpdatesDisabled
+ \omitvalue WA_NoX11EventCompression
+ \omitvalue WA_TintedBackground
+ \omitvalue WA_X11OpenGLOverlay
+ \omitvalue WA_CanHostQMdiSubWindowTitleBar
+ \omitvalue WA_AttributeCount
+ \omitvalue WA_StyleSheet
+ \omitvalue WA_X11BypassTransientForHint
+ \omitvalue WA_SetWindowModality
+ \omitvalue WA_WState_WindowOpacitySet
+ \omitvalue WA_WState_AcceptedTouchBeginEvent
+*/
+
+/*! \typedef Qt::HANDLE
+
+ Platform-specific handle type for system objects. This is
+ equivalent to \c{void *} on Mac OS X and embedded Linux,
+ and to \c{unsigned long} on X11. On Windows it is the
+ DWORD returned by the Win32 function getCurrentThreadId().
+
+ \warning Using this type is not portable.
+*/
+
+/*!
+ \enum Qt::Key
+
+ The key names used by Qt.
+
+ \value Key_Escape
+ \value Key_Tab
+ \value Key_Backtab
+ \omitvalue Key_BackTab
+ \value Key_Backspace
+ \omitvalue Key_BackSpace
+ \value Key_Return
+ \value Key_Enter Typically located on the keypad.
+ \value Key_Insert
+ \value Key_Delete
+ \value Key_Pause
+ \value Key_Print
+ \value Key_SysReq
+ \value Key_Clear
+ \value Key_Home
+ \value Key_End
+ \value Key_Left
+ \value Key_Up
+ \value Key_Right
+ \value Key_Down
+ \value Key_PageUp
+ \omitvalue Key_Prior
+ \value Key_PageDown
+ \omitvalue Key_Next
+ \value Key_Shift
+ \value Key_Control On Mac OS X, this corresponds to the Command keys.
+ \value Key_Meta On Mac OS X, this corresponds to the Control keys.
+ On Windows keyboards, this key is mapped to the
+ Windows key.
+ \value Key_Alt
+ \value Key_AltGr On Windows, when the KeyDown event for this key is
+ sent, the Ctrl+Alt modifiers are also set.
+ \value Key_CapsLock
+ \value Key_NumLock
+ \value Key_ScrollLock
+ \value Key_F1
+ \value Key_F2
+ \value Key_F3
+ \value Key_F4
+ \value Key_F5
+ \value Key_F6
+ \value Key_F7
+ \value Key_F8
+ \value Key_F9
+ \value Key_F10
+ \value Key_F11
+ \value Key_F12
+ \value Key_F13
+ \value Key_F14
+ \value Key_F15
+ \value Key_F16
+ \value Key_F17
+ \value Key_F18
+ \value Key_F19
+ \value Key_F20
+ \value Key_F21
+ \value Key_F22
+ \value Key_F23
+ \value Key_F24
+ \value Key_F25
+ \value Key_F26
+ \value Key_F27
+ \value Key_F28
+ \value Key_F29
+ \value Key_F30
+ \value Key_F31
+ \value Key_F32
+ \value Key_F33
+ \value Key_F34
+ \value Key_F35
+ \value Key_Super_L
+ \value Key_Super_R
+ \value Key_Menu
+ \value Key_Hyper_L
+ \value Key_Hyper_R
+ \value Key_Help
+ \value Key_Direction_L
+ \value Key_Direction_R
+ \value Key_Space
+ \value Key_Any
+ \value Key_Exclam
+ \value Key_QuoteDbl
+ \value Key_NumberSign
+ \value Key_Dollar
+ \value Key_Percent
+ \value Key_Ampersand
+ \value Key_Apostrophe
+ \value Key_ParenLeft
+ \value Key_ParenRight
+ \value Key_Asterisk
+ \value Key_Plus
+ \value Key_Comma
+ \value Key_Minus
+ \value Key_Period
+ \value Key_Slash
+ \value Key_0
+ \value Key_1
+ \value Key_2
+ \value Key_3
+ \value Key_4
+ \value Key_5
+ \value Key_6
+ \value Key_7
+ \value Key_8
+ \value Key_9
+ \value Key_Colon
+ \value Key_Semicolon
+ \value Key_Less
+ \value Key_Equal
+ \value Key_Greater
+ \value Key_Question
+ \value Key_At
+ \value Key_A
+ \value Key_B
+ \value Key_C
+ \value Key_D
+ \value Key_E
+ \value Key_F
+ \value Key_G
+ \value Key_H
+ \value Key_I
+ \value Key_J
+ \value Key_K
+ \value Key_L
+ \value Key_M
+ \value Key_N
+ \value Key_O
+ \value Key_P
+ \value Key_Q
+ \value Key_R
+ \value Key_S
+ \value Key_T
+ \value Key_U
+ \value Key_V
+ \value Key_W
+ \value Key_X
+ \value Key_Y
+ \value Key_Z
+ \value Key_BracketLeft
+ \value Key_Backslash
+ \value Key_BracketRight
+ \value Key_AsciiCircum
+ \value Key_Underscore
+ \value Key_QuoteLeft
+ \value Key_BraceLeft
+ \value Key_Bar
+ \value Key_BraceRight
+ \value Key_AsciiTilde
+ \value Key_nobreakspace
+ \value Key_exclamdown
+ \value Key_cent
+ \value Key_sterling
+ \value Key_currency
+ \value Key_yen
+ \value Key_brokenbar
+ \value Key_section
+ \value Key_diaeresis
+ \value Key_copyright
+ \value Key_ordfeminine
+ \value Key_guillemotleft
+ \value Key_notsign
+ \value Key_hyphen
+ \value Key_registered
+ \value Key_macron
+ \value Key_degree
+ \value Key_plusminus
+ \value Key_twosuperior
+ \value Key_threesuperior
+ \value Key_acute
+ \value Key_mu
+ \value Key_paragraph
+ \value Key_periodcentered
+ \value Key_cedilla
+ \value Key_onesuperior
+ \value Key_masculine
+ \value Key_guillemotright
+ \value Key_onequarter
+ \value Key_onehalf
+ \value Key_threequarters
+ \value Key_questiondown
+ \value Key_Agrave
+ \value Key_Aacute
+ \value Key_Acircumflex
+ \value Key_Atilde
+ \value Key_Adiaeresis
+ \value Key_Aring
+ \value Key_AE
+ \value Key_Ccedilla
+ \value Key_Egrave
+ \value Key_Eacute
+ \value Key_Ecircumflex
+ \value Key_Ediaeresis
+ \value Key_Igrave
+ \value Key_Iacute
+ \value Key_Icircumflex
+ \value Key_Idiaeresis
+ \value Key_ETH
+ \value Key_Ntilde
+ \value Key_Ograve
+ \value Key_Oacute
+ \value Key_Ocircumflex
+ \value Key_Otilde
+ \value Key_Odiaeresis
+ \value Key_multiply
+ \value Key_Ooblique
+ \value Key_Ugrave
+ \value Key_Uacute
+ \value Key_Ucircumflex
+ \value Key_Udiaeresis
+ \value Key_Yacute
+ \value Key_THORN
+ \value Key_ssharp
+ \omitvalue Key_agrave
+ \omitvalue Key_aacute
+ \omitvalue Key_acircumflex
+ \omitvalue Key_atilde
+ \omitvalue Key_adiaeresis
+ \omitvalue Key_aring
+ \omitvalue Key_ae
+ \omitvalue Key_ccedilla
+ \omitvalue Key_egrave
+ \omitvalue Key_eacute
+ \omitvalue Key_ecircumflex
+ \omitvalue Key_ediaeresis
+ \omitvalue Key_igrave
+ \omitvalue Key_iacute
+ \omitvalue Key_icircumflex
+ \omitvalue Key_idiaeresis
+ \omitvalue Key_eth
+ \omitvalue Key_ntilde
+ \omitvalue Key_ograve
+ \omitvalue Key_oacute
+ \omitvalue Key_ocircumflex
+ \omitvalue Key_otilde
+ \omitvalue Key_odiaeresis
+ \value Key_division
+ \omitvalue Key_oslash
+ \omitvalue Key_ugrave
+ \omitvalue Key_uacute
+ \omitvalue Key_ucircumflex
+ \omitvalue Key_udiaeresis
+ \omitvalue Key_yacute
+ \omitvalue Key_thorn
+ \value Key_ydiaeresis
+ \value Key_Multi_key
+ \value Key_Codeinput
+ \value Key_SingleCandidate
+ \value Key_MultipleCandidate
+ \value Key_PreviousCandidate
+ \value Key_Mode_switch
+ \value Key_Kanji
+ \value Key_Muhenkan
+ \value Key_Henkan
+ \value Key_Romaji
+ \value Key_Hiragana
+ \value Key_Katakana
+ \value Key_Hiragana_Katakana
+ \value Key_Zenkaku
+ \value Key_Hankaku
+ \value Key_Zenkaku_Hankaku
+ \value Key_Touroku
+ \value Key_Massyo
+ \value Key_Kana_Lock
+ \value Key_Kana_Shift
+ \value Key_Eisu_Shift
+ \value Key_Eisu_toggle
+ \value Key_Hangul
+ \value Key_Hangul_Start
+ \value Key_Hangul_End
+ \value Key_Hangul_Hanja
+ \value Key_Hangul_Jamo
+ \value Key_Hangul_Romaja
+ \value Key_Hangul_Jeonja
+ \value Key_Hangul_Banja
+ \value Key_Hangul_PreHanja
+ \value Key_Hangul_PostHanja
+ \value Key_Hangul_Special
+ \value Key_Dead_Grave
+ \value Key_Dead_Acute
+ \value Key_Dead_Circumflex
+ \value Key_Dead_Tilde
+ \value Key_Dead_Macron
+ \value Key_Dead_Breve
+ \value Key_Dead_Abovedot
+ \value Key_Dead_Diaeresis
+ \value Key_Dead_Abovering
+ \value Key_Dead_Doubleacute
+ \value Key_Dead_Caron
+ \value Key_Dead_Cedilla
+ \value Key_Dead_Ogonek
+ \value Key_Dead_Iota
+ \value Key_Dead_Voiced_Sound
+ \value Key_Dead_Semivoiced_Sound
+ \value Key_Dead_Belowdot
+ \value Key_Dead_Hook
+ \value Key_Dead_Horn
+ \value Key_Back
+ \value Key_Forward
+ \value Key_Stop
+ \value Key_Refresh
+ \value Key_VolumeDown
+ \value Key_VolumeMute
+ \value Key_VolumeUp
+ \value Key_BassBoost
+ \value Key_BassUp
+ \value Key_BassDown
+ \value Key_TrebleUp
+ \value Key_TrebleDown
+ \value Key_MediaPlay
+ \value Key_MediaStop
+ \value Key_MediaPrevious
+ \omitvalue Key_MediaPrev
+ \value Key_MediaNext
+ \value Key_MediaRecord
+ \value Key_HomePage
+ \value Key_Favorites
+ \value Key_Search
+ \value Key_Standby
+ \value Key_OpenUrl
+ \value Key_LaunchMail
+ \value Key_LaunchMedia
+ \value Key_Launch0
+ \value Key_Launch1
+ \value Key_Launch2
+ \value Key_Launch3
+ \value Key_Launch4
+ \value Key_Launch5
+ \value Key_Launch6
+ \value Key_Launch7
+ \value Key_Launch8
+ \value Key_Launch9
+ \value Key_LaunchA
+ \value Key_LaunchB
+ \value Key_LaunchC
+ \value Key_LaunchD
+ \value Key_LaunchE
+ \value Key_LaunchF
+ \value Key_MediaLast
+ \value Key_unknown
+
+ \value Key_Call
+ \value Key_Context1
+ \value Key_Context2
+ \value Key_Context3
+ \value Key_Context4
+ \value Key_Flip
+ \value Key_Hangup
+ \value Key_No
+ \value Key_Select
+ \value Key_Yes
+
+ \value Key_Execute
+ \value Key_Printer
+ \value Key_Play
+ \value Key_Sleep
+ \value Key_Zoom
+ \value Key_Cancel
+
+ \sa QKeyEvent::key()
+*/
+
+/*!
+ \enum Qt::HitTestAccuracy
+
+ This enum contains the types of accuracy that can be used by the
+ QTextDocument class when testing for mouse clicks on text documents.
+
+ \value ExactHit The point at which input occurred must coincide
+ exactly with input-sensitive parts of the document.
+ \value FuzzyHit The point at which input occurred can lie close to
+ input-sensitive parts of the document.
+
+ This enum is defined in the \c <QTextDocument> header file.
+*/
+
+/*!
+ \enum Qt::WhiteSpaceMode
+
+ This enum describes the types of whitespace mode that are used by
+ the QTextDocument class to meet the requirements of different kinds
+ of textual information.
+
+ \value WhiteSpaceNormal The whitespace mode used to display
+ normal word wrapped text in paragraphs.
+ \value WhiteSpacePre A preformatted text mode in which
+ whitespace is reproduced exactly.
+ \value WhiteSpaceNoWrap
+
+ \omitvalue WhiteSpaceModeUndefined
+
+ This enum is defined in the \c <QTextDocument> header file.
+*/
+
+/*!
+ \enum Qt::ButtonState_enum
+ \compat
+ \value ShiftButton
+ \value ControlButton
+ \value AltButton
+ \value MetaButton
+ \value Keypad
+ \value KeyButtonMask
+
+ Use Qt::KeyboardModifier instead.
+*/
+
+/*!
+ \typedef Qt::ButtonState
+ \compat
+
+ Use Qt::KeyboardModifier instead.
+*/
+
+/*!
+ \enum Qt::CheckState
+
+ This enum describes the state of checkable items, controls, and widgets.
+
+ \value Unchecked The item is unchecked.
+ \value PartiallyChecked The item is partially checked. Items in hierarchical models
+ may be partially checked if some, but not all, of their
+ children are checked.
+ \value Checked The item is checked.
+
+ \sa QCheckBox, Qt::ItemFlags, Qt::ItemDataRole
+*/
+
+
+/*!
+ \enum Qt::ToolButtonStyle
+
+ The style of the tool button, describing how the button's text and
+ icon should be displayed.
+
+ \value ToolButtonIconOnly Only display the icon.
+ \value ToolButtonTextOnly Only display the text.
+ \value ToolButtonTextBesideIcon The text appears beside the icon.
+ \value ToolButtonTextUnderIcon The text appears under the icon.
+ \value ToolButtonFollowStyle Follow the \l{QStyle::SH_ToolButtonStyle}{style}.
+*/
+
+/*!
+ \enum Qt::Corner
+
+ This enum type specifies a corner in a rectangle:
+
+ \value TopLeftCorner The top-left corner of the rectangle.
+ \value TopRightCorner The top-right corner of the rectangle.
+ \value BottomLeftCorner The bottom-left corner of the rectangle.
+ \value BottomRightCorner The bottom-right corner of the rectangle.
+
+ \omitvalue TopLeft
+ \omitvalue TopRight
+ \omitvalue BottomLeft
+ \omitvalue BottomRight
+*/
+
+/*!
+ \enum Qt::ScrollBarPolicy
+
+ This enum type describes the various modes of QAbstractScrollArea's scroll
+ bars.
+
+ \value ScrollBarAsNeeded QAbstractScrollArea shows a scroll bar when the
+ content is too large to fit and not otherwise. This is the
+ default.
+
+ \value ScrollBarAlwaysOff QAbstractScrollArea never shows a scroll bar.
+
+ \value ScrollBarAlwaysOn QAbstractScrollArea always shows a scroll bar.
+
+ (The modes for the horizontal and vertical scroll bars are
+ independent.)
+*/
+
+/*!
+ \enum Qt::ArrowType
+
+ \value NoArrow
+ \value UpArrow
+ \value DownArrow
+ \value LeftArrow
+ \value RightArrow
+*/
+
+/*!
+ \enum Qt::FocusReason
+
+ This enum specifies why the focus changed. It will be passed
+ through QWidget::setFocus and can be retrieved in the QFocusEvent
+ sent to the widget upon focus change.
+
+ \value MouseFocusReason A mouse action occurred.
+ \value TabFocusReason The Tab key was pressed.
+ \value BacktabFocusReason A Backtab occurred. The input for this may
+ include the Shift or Control keys;
+ e.g. Shift+Tab.
+ \value ActiveWindowFocusReason The window system made this window either
+ active or inactive.
+ \value PopupFocusReason The application opened/closed a pop-up that
+ grabbed/released the keyboard focus.
+ \value ShortcutFocusReason The user typed a label's buddy shortcut
+ \value MenuBarFocusReason The menu bar took focus.
+ \value OtherFocusReason Another reason, usually application-specific.
+
+ \omitvalue NoFocusReason
+
+ \sa {Keyboard Focus}
+*/
+
+/*!
+ \enum Qt::WindowState
+
+ \keyword window state
+
+ This enum type is used to specify the current state of a top-level
+ window.
+
+ The states are
+
+ \value WindowNoState The window has no state set (in normal state).
+ \value WindowMinimized The window is minimized (i.e. iconified).
+ \value WindowMaximized The window is maximized with a frame around it.
+ \value WindowFullScreen The window fills the entire screen without any frame around it.
+ \value WindowActive The window is the active window, i.e. it has keyboard focus.
+
+*/
+
+/*!
+ \enum Qt::ContextMenuPolicy
+
+ This enum type defines the various policies a widget can have with
+ respect to showing a context menu.
+
+ \value NoContextMenu the widget does not feature a context menu,
+ context menu handling is deferred to the widget's parent.
+ \value PreventContextMenu the widget does not feature a context
+ menu, and in contrast to \c NoContextMenu, the handling is \e not
+ deferred to the widget's parent. This means that all right mouse
+ button events are guaranteed to be delivered to the widget itself
+ through mousePressEvent(), and mouseReleaseEvent().
+ \value DefaultContextMenu the widget's QWidget::contextMenuEvent() handler is called.
+ \value ActionsContextMenu the widget displays its QWidget::actions() as context menu.
+ \value CustomContextMenu the widget emits the QWidget::customContextMenuRequested() signal.
+*/
+
+/*!
+ \enum Qt::FocusPolicy
+
+ This enum type defines the various policies a widget can have with
+ respect to acquiring keyboard focus.
+
+ \value TabFocus the widget accepts focus by tabbing.
+ \value ClickFocus the widget accepts focus by clicking.
+ \value StrongFocus the widget accepts focus by both tabbing
+ and clicking. On Mac OS X this will also
+ be indicate that the widget accepts tab focus
+ when in 'Text/List focus mode'.
+ \value WheelFocus like Qt::StrongFocus plus the widget accepts
+ focus by using the mouse wheel.
+ \value NoFocus the widget does not accept focus.
+
+*/
+
+/*!
+ \enum Qt::ShortcutContext
+
+ For a QEvent::Shortcut event to occur, the shortcut's key sequence
+ must be entered by the user in a context where the shortcut is
+ active. The possible contexts are these:
+
+ \value WidgetShortcut The shortcut is active when its
+ parent widget has focus.
+ \value WidgetWithChildrenShortcut The shortcut is active
+ when its parent widget, or any of its children has focus.
+ Children which are top-level widgets, except pop-ups, are
+ not affected by this shortcut context.
+ \value WindowShortcut The shortcut is active when its
+ parent widget is a logical subwidget of the
+ active top-level window.
+ \value ApplicationShortcut The shortcut is active when one of
+ the applications windows are active.
+*/
+
+/*!
+ \typedef Qt::WFlags
+
+ Synonym for Qt::WindowFlags.
+*/
+
+/*!
+ \enum Qt::WindowType
+
+ \keyword window flag
+
+ This enum type is used to specify various window-system properties
+ for the widget. They are fairly unusual but necessary in a few
+ cases. Some of these flags depend on whether the underlying window
+ manager supports them.
+
+ The main types are
+
+ \value Widget This is the default type for QWidget. Widgets of
+ this type are child widgets if they have a parent,
+ and independent windows if they have no parent.
+ See also Qt::Window and Qt::SubWindow.
+
+ \value Window Indicates that the widget is a window, usually
+ with a window system frame and a title bar,
+ irrespective of whether the widget has a parent or
+ not. Note that it is not possible to unset this
+ flag if the widget does not have a parent.
+
+ \value Dialog Indicates that the widget is a window that should
+ be decorated as a dialog (i.e., typically no
+ maximize or minimize buttons in the title bar).
+ This is the default type for QDialog. If you want
+ to use it as a modal dialog, it should be launched
+ from another window, or have a parent and used
+ with the QWidget::windowModality property. If you make
+ it modal, the dialog will prevent other top-level
+ windows in the application from getting any input.
+ We refer to a top-level window that has a parent
+ as a \e secondary window.
+
+ \value Sheet Indicates that the window is a Macintosh sheet. Since
+ using a sheet implies window modality, the recommended
+ way is to use QWidget::setWindowModality(), or
+ QDialog::open(), instead.
+
+ \value Drawer Indicates that the widget is a Macintosh drawer.
+
+ \value Popup Indicates that the widget is a pop-up top-level
+ window, i.e. that it is modal, but has a window
+ system frame appropriate for pop-up menus.
+
+ \value Tool Indicates that the widget is a tool window. A tool
+ window is often a small window with a smaller than
+ usual title bar and decoration, typically used for
+ collections of tool buttons. It there is a parent,
+ the tool window will always be kept on top of it.
+ If there isn't a parent, you may consider using
+ Qt::WindowStaysOnTopHint as well. If the window
+ system supports it, a tool window can be decorated
+ with a somewhat lighter frame. It can also be
+ combined with Qt::FramelessWindowHint.
+ \br
+ \br
+ On Mac OS X, tool windows correspond to the
+ \l{http://developer.apple.com/documentation/Carbon/Conceptual/HandlingWindowsControls/hitb-wind_cont_concept/chapter_2_section_2.html}{Floating}
+ class of windows. This means that the window lives on a
+ level above normal windows; it impossible to put a normal
+ window on top of it. By default, tool windows will disappear
+ when the application is inactive. This can be controlled by
+ the Qt::WA_MacAlwaysShowToolWindow attribute.
+
+ \value ToolTip Indicates that the widget is a tooltip. This is
+ used internally to implement
+ \l{QWidget::toolTip}{tooltips}.
+
+ \value SplashScreen Indicates that the window is a splash screen.
+ This is the default type for QSplashScreen.
+
+ \value Desktop Indicates that this widget is the desktop. This
+ is the type for QDesktopWidget.
+
+ \value SubWindow Indicates that this widget is a sub-window, such
+ as a QMdiSubWindow widget.
+
+ There are also a number of flags which you can use to customize
+ the appearance of top-level windows. These have no effect on other
+ windows:
+
+ \value MSWindowsFixedSizeDialogHint Gives the window a thin dialog border on Windows.
+ This style is traditionally used for fixed-size dialogs.
+
+ \value MSWindowsOwnDC Gives the window its own display
+ context on Windows.
+
+ \value X11BypassWindowManagerHint Bypass the window
+ manager completely. This results in a borderless window
+ that is not managed at all (i.e., no keyboard input unless
+ you call QWidget::activateWindow() manually).
+
+ \value FramelessWindowHint Produces a borderless window.
+ The user cannot move or resize a borderless window via the window
+ system. On X11, the result of the flag is dependent on the window manager and its
+ ability to understand Motif and/or NETWM hints. Most existing
+ modern window managers can handle this.
+
+ The \c CustomizeWindowHint flag is used to enable customization of
+ the window controls. This flag must be set to allow the \c
+ WindowTitleHint, \c WindowSystemMenuHint, \c
+ WindowMinimizeButtonHint, \c WindowMaximizeButtonHint and \c
+ WindowCloseButtonHint flags to be changed.
+
+ \value CustomizeWindowHint Turns off the default window title hints.
+
+ \value WindowTitleHint Gives the window a title bar.
+
+ \value WindowSystemMenuHint Adds a window system menu, and
+ possibly a close button (for example on Mac). If you need to hide
+ or show a close button, it is more portable to use \c
+ WindowCloseButtonHint.
+
+ \value WindowMinimizeButtonHint Adds a minimize button. On
+ some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value WindowMaximizeButtonHint Adds a maximize button. On
+ some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value WindowMinMaxButtonsHint Adds a minimize and a maximize
+ button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value WindowCloseButtonHint Adds a close button. On
+ some platforms this implies Qt::WindowSystemMenuHint for it
+ to work.
+
+ \value WindowContextHelpButtonHint Adds a context help button to dialogs.
+ On some platforms this implies Qt::WindowSystemMenuHint for it to work.
+
+ \value MacWindowToolBarButtonHint On Mac OS X adds a tool bar button (i.e.,
+ the oblong button that is on the top right of windows that have toolbars.
+
+ \value BypassGraphicsProxyWidget Prevents the window and its children from
+ automatically embedding themselves into a QGraphicsProxyWidget if the
+ parent widget is already embedded. You can set this flag if you
+ want your widget to always be a toplevel widget on the desktop,
+ regardless of whether the parent widget is embedded in a scene or
+ not.
+
+ \value WindowShadeButtonHint
+
+ \value WindowStaysOnTopHint Informs the window system that the
+ window should stay on top of all other windows. Note that
+ on some window managers on X11 you also have to pass
+ Qt::X11BypassWindowManagerHint for this flag to work
+ correctly.
+
+ \value WindowStaysOnBottomHint Informs the window system that the
+ window should stay on bottom of all other windows. Note
+ that on X11 this hint will work only in window managers
+ that support _NET_WM_STATE_BELOW atom. If a window always
+ on the bottom has a parent, the parent will also be left on
+ the bottom. This window hint is currently not implemented
+ for Mac OS X.
+
+ \value WindowOkButtonHint Adds an OK button to the window decoration of a dialog.
+ Only supported for Windows CE.
+
+ \value WindowCancelButtonHint Adds a Cancel button to the window decoration of a dialog.
+ Only supported for Windows CE.
+
+ \value WindowType_Mask A mask for extracting the window type
+ part of the window flags.
+
+ Obsolete flags:
+
+ \value WMouseNoMask Use Qt::WA_MouseNoMask instead.
+ \value WDestructiveClose Use Qt::WA_DeleteOnClose instead.
+ \value WStaticContents Use Qt::WA_StaticContents instead.
+ \value WGroupLeader No longer needed.
+ \value WShowModal Use QWidget::windowModality instead.
+ \value WNoMousePropagation Use Qt::WA_NoMousePropagation instead.
+ \value WType_TopLevel Use Qt::Window instead.
+ \value WType_Dialog Use Qt::Dialog instead.
+ \value WType_Popup Use Qt::Popup instead.
+ \value WType_Desktop Use Qt::Desktop instead.
+ \value WType_Mask Use Qt::WindowType_Mask instead.
+
+ \value WStyle_Customize No longer needed.
+ \value WStyle_NormalBorder No longer needed.
+ \value WStyle_DialogBorder Use Qt::MSWindowsFixedSizeDialogHint instead.
+ \value WStyle_NoBorder Use Qt::FramelessWindowHint instead.
+ \value WStyle_Title Use Qt::WindowTitleHint instead.
+ \value WStyle_SysMenu Use Qt::WindowSystemMenuHint instead.
+ \value WStyle_Minimize Use Qt::WindowMinimizeButtonHint instead.
+ \value WStyle_Maximize Use Qt::WindowMaximizeButtonHint instead.
+ \value WStyle_MinMax Use Qt::WindowMinMaxButtonsHint instead.
+ \value WStyle_Tool Use Qt::Tool instead.
+ \value WStyle_StaysOnTop Use Qt::WindowStaysOnTopHint instead.
+ \value WStyle_ContextHelp Use Qt::WindowContextHelpButtonHint instead.
+
+ \value WPaintDesktop No longer needed.
+ \value WPaintClever No longer needed.
+
+ \value WX11BypassWM Use Qt::X11BypassWindowManagerHint instead.
+ \value WWinOwnDC Use Qt::MSWindowsOwnDC instead.
+ \value WMacSheet Use Qt::Sheet instead.
+ \value WMacDrawer Use Qt::Drawer instead.
+
+ \value WStyle_Splash Use Qt::SplashScreen instead.
+
+ \value WNoAutoErase No longer needed.
+ \value WRepaintNoErase No longer needed.
+ \value WNorthWestGravity Use Qt::WA_StaticContents instead.
+ \value WType_Modal Use Qt::Dialog and QWidget::windowModality instead.
+ \value WStyle_Dialog Use Qt::Dialog instead.
+ \value WStyle_NoBorderEx Use Qt::FramelessWindowHint instead.
+ \value WResizeNoErase No longer needed.
+ \value WMacNoSheet No longer needed.
+
+ \sa QWidget::windowFlags, {Window Flags Example}
+*/
+
+/*!
+ \enum Qt::DropAction
+
+ \value CopyAction Copy the data to the target.
+ \value MoveAction Move the data from the source to the target.
+ \value LinkAction Create a link from the source to the target.
+ \value ActionMask
+ \value IgnoreAction Ignore the action (do nothing with the data).
+ \value TargetMoveAction On Windows, this value is used when the ownership of the D&D data
+ should be taken over by the target application,
+ i.e., the source application should not delete
+ the data.
+ \br
+ On X11 this value is used to do a move.
+ \br
+ TargetMoveAction is not used on the Mac.
+*/
+
+#if defined(Q_OS_WIN) && defined(QT3_SUPPORT)
+/*!
+ \enum Qt::WindowsVersion
+ \compat
+
+ \value WV_32s
+ \value WV_95
+ \value WV_98
+ \value WV_Me
+ \value WV_DOS_based
+ \value WV_NT
+ \value WV_2000
+ \value WV_XP
+ \value WV_2003
+ \value WV_NT_based
+ \value WV_CE
+ \value WV_CENET
+ \value WV_CE_based
+ \value WV_CE_5
+ \value WV_CE_6
+*/
+#endif
+
+#if defined(Q_OS_MAC) && defined(QT3_SUPPORT)
+/*!
+ \enum Qt::MacintoshVersion
+ \compat
+
+ \value MV_Unknown Use QSysInfo::MV_Unknown instead.
+ \value MV_9 Use QSysInfo::MV_9 instead.
+ \value MV_10_DOT_0 Use QSysInfo::MV_10_0 instead.
+ \value MV_10_DOT_1 Use QSysInfo::MV_10_1 instead.
+ \value MV_10_DOT_2 Use QSysInfo::MV_10_2 instead.
+ \value MV_10_DOT_3 Use QSysInfo::MV_10_3 instead.
+ \value MV_10_DOT_4 Use QSysInfo::MV_10_4 instead.
+
+ \value MV_CHEETAH Use QSysInfo::MV_10_0 instead.
+ \value MV_PUMA Use QSysInfo::MV_10_1 instead.
+ \value MV_JAGUAR Use QSysInfo::MV_10_2 instead.
+ \value MV_PANTHER Use QSysInfo::MV_10_3 instead.
+ \value MV_TIGER Use QSysInfo::MV_10_4 instead.
+
+ \sa QSysInfo::MacVersion
+*/
+#endif
+
+/*! \typedef Qt::ToolBarDock
+ \compat
+
+ Use Qt::Dock instead.
+*/
+
+/*!
+ \enum Qt::Dock
+ \compat
+
+ Each dock window can be in one of the following positions:
+
+ \value DockUnmanaged not managed by a Q3MainWindow.
+
+ \value DockTornOff the dock window floats as its own top level
+ window which always stays on top of the main window.
+
+ \value DockTop above the central widget, below the menu bar.
+
+ \value DockBottom below the central widget, above the status bar.
+
+ \value DockRight to the right of the central widget.
+
+ \value DockLeft to the left of the central widget.
+
+ \value DockMinimized the dock window is not shown (this is
+ effectively a 'hidden' dock area); the handles of all minimized
+ dock windows are drawn in one row below the menu bar.
+
+ \omitvalue Bottom
+ \omitvalue Left
+ \omitvalue Minimized
+ \omitvalue Right
+ \omitvalue Top
+ \omitvalue TornOff
+ \omitvalue Unmanaged
+*/
+
+/*!
+ \enum Qt::AnchorAttribute
+
+ An anchor has one or more of the following attributes:
+
+ \value AnchorName the name attribute of the anchor. This attribute is
+ used when scrolling to an anchor in the document.
+
+ \value AnchorHref the href attribute of the anchor. This attribute is
+ used when a link is clicked to determine what content to load.
+*/
+
+/*!
+ \enum Qt::SortOrder
+
+ This enum describes how the items in a widget are sorted.
+
+ \value AscendingOrder The items are sorted ascending e.g. starts with
+ 'AAA' ends with 'ZZZ' in Latin-1 locales
+
+ \value DescendingOrder The items are sorted descending e.g. starts with
+ 'ZZZ' ends with 'AAA' in Latin-1 locales
+
+ \omitvalue Ascending
+ \omitvalue Descending
+*/
+
+/*!
+ \enum Qt::ClipOperation
+
+ \value NoClip This operation turns clipping off.
+
+ \value ReplaceClip Replaces the current clip path/rect/region with
+ the one supplied in the function call.
+
+ \value IntersectClip Intersects the current clip path/rect/region
+ with the one supplied in the function call.
+
+ \value UniteClip Unites the current clip path/rect/region with the
+ one supplied in the function call.
+*/
+
+/*!
+ \enum Qt::ItemSelectionMode
+
+ This enum is used in QGraphicsItem, QGraphicsScene and QGraphicsView to
+ specify how items are selected, or how to determine if a shapes and items
+ collide.
+
+ \value ContainsItemShape The output list contains only items whose
+ \l{QGraphicsItem::shape()}{shape} is fully contained inside the
+ selection area. Items that intersect with the area's outline are
+ not included.
+
+ \value IntersectsItemShape The output list contains both items whose
+ \l{QGraphicsItem::shape()}{shape} is fully contained inside the
+ selection area, and items that intersect with the area's
+ outline. This is a common mode for rubber band selection.
+
+ \value ContainsItemBoundingRect The output list contains only items whose
+ \l{QGraphicsItem::boundingRect()}{bounding rectangle} is fully
+ contained inside the selection area. Items that intersect with the
+ area's outline are not included.
+
+ \value IntersectsItemBoundingRect The output list contains both items
+ whose \l{QGraphicsItem::boundingRect()}{bounding rectangle} is
+ fully contained inside the selection area, and items that intersect
+ with the area's outline. This method is commonly used for
+ determining areas that need redrawing.
+
+ \sa QGraphicsScene::items(), QGraphicsScene::collidingItems(),
+ QGraphicsView::items(), QGraphicsItem::collidesWithItem(),
+ QGraphicsItem::collidesWithPath()
+*/
+
+/*!
+ \enum Qt::FillRule
+
+ Specifies which method should be used to fill the paths and polygons.
+
+ \value OddEvenFill Specifies that the region is filled using the
+ odd even fill rule. With this rule, we determine whether a point
+ is inside the shape by using the following method.
+ Draw a horizontal line from the point to a location outside the shape,
+ and count the number of intersections. If the number of intersections
+ is an odd number, the point is inside the shape. This mode is the
+ default.
+
+ \value WindingFill Specifies that the region is filled using the
+ non zero winding rule. With this rule, we determine whether a
+ point is inside the shape by using the following method.
+ Draw a horizontal line from the point to a location outside the shape.
+ Determine whether the direction of the line at each intersection point
+ is up or down. The winding number is determined by summing the
+ direction of each intersection. If the number is non zero, the point
+ is inside the shape. This fill mode can also in most cases be considered
+ as the intersection of closed shapes.
+*/
+
+/*!
+ \enum Qt::PaintUnit
+
+ \compat
+
+ \value PixelUnit
+ \value LoMetricUnit Obsolete
+ \value HiMetricUnit Obsolete
+ \value LoEnglishUnit Obsolete
+ \value HiEnglishUnit Obsolete
+ \value TwipsUnit Obsolete
+*/
+
+/*!
+ \enum Qt::TextFormat
+
+ This enum is used in widgets that can display both plain text and
+ rich text, e.g. QLabel. It is used for deciding whether a text
+ string should be interpreted as one or the other. This is normally
+ done by passing one of the enum values to a setTextFormat()
+ function.
+
+ \value PlainText The text string is interpreted as a plain text
+ string.
+
+ \value RichText The text string is interpreted as a rich text
+ string.
+
+ \value AutoText The text string is interpreted as for
+ Qt::RichText if Qt::mightBeRichText() returns true, otherwise
+ as Qt::PlainText.
+
+ \value LogText A special, limited text format which is only used
+ by Q3TextEdit in an optimized mode.
+*/
+
+/*!
+ \enum Qt::CursorShape
+
+ This enum type defines the various cursors that can be used.
+
+ The standard arrow cursor is the default for widgets in a normal state.
+
+ \value ArrowCursor \inlineimage cursor-arrow.png
+ The standard arrow cursor.
+ \value UpArrowCursor \inlineimage cursor-uparrow.png
+ An arrow pointing upwards toward the top of the screen.
+ \value CrossCursor \inlineimage cursor-cross.png
+ A crosshair cursor, typically used to help the
+ user accurately select a point on the screen.
+ \value WaitCursor \inlineimage cursor-wait.png
+ An hourglass or watch cursor, usually shown during
+ operations that prevent the user from interacting with
+ the application.
+ \value IBeamCursor \inlineimage cursor-ibeam.png
+ A caret or ibeam cursor, indicating that a widget can
+ accept and display text input.
+ \value SizeVerCursor \inlineimage cursor-sizev.png
+ A cursor used for elements that are used to vertically
+ resize top-level windows.
+ \value SizeHorCursor \inlineimage cursor-sizeh.png
+ A cursor used for elements that are used to horizontally
+ resize top-level windows.
+ \value SizeBDiagCursor \inlineimage cursor-sizeb.png
+ A cursor used for elements that are used to diagonally
+ resize top-level windows at their top-right and
+ bottom-left corners.
+ \value SizeFDiagCursor \inlineimage cursor-sizef.png
+ A cursor used for elements that are used to diagonally
+ resize top-level windows at their top-left and
+ bottom-right corners.
+ \value SizeAllCursor \inlineimage cursor-sizeall.png
+ A cursor used for elements that are used to resize
+ top-level windows in any direction.
+ \value BlankCursor A blank/invisible cursor, typically used when the cursor
+ shape needs to be hidden.
+ \value SplitVCursor \inlineimage cursor-vsplit.png
+ A cursor used for vertical splitters, indicating that
+ a handle can be dragged horizontally to adjust the use
+ of available space.
+ \value SplitHCursor \inlineimage cursor-hsplit.png
+ A cursor used for horizontal splitters, indicating that
+ a handle can be dragged vertically to adjust the use
+ of available space.
+ \value PointingHandCursor \inlineimage cursor-hand.png
+ A pointing hand cursor that is typically used for
+ clickable elements such as hyperlinks.
+ \value ForbiddenCursor \inlineimage cursor-forbidden.png
+ A slashed circle cursor, typically used during drag
+ and drop operations to indicate that dragged content
+ cannot be dropped on particular widgets or inside
+ certain regions.
+ \value OpenHandCursor \inlineimage cursor-openhand.png
+ A cursor representing an open hand, typically used to
+ indicate that the area under the cursor is the visible
+ part of a canvas that the user can click and drag in
+ order to scroll around.
+ \value ClosedHandCursor \inlineimage cursor-closedhand.png
+ A cursor representing a closed hand, typically used to
+ indicate that a dragging operation is in progress that
+ involves scrolling.
+ \value WhatsThisCursor \inlineimage cursor-whatsthis.png
+ An arrow with a question mark, typically used to indicate
+ the presence of What's This? help for a widget.
+ \value BusyCursor \inlineimage cursor-wait.png
+ An hourglass or watch cursor, usually shown during
+ operations that allow the user to interact with
+ the application while they are performed in the
+ background.
+ \value BitmapCursor
+ \omitvalue LastCursor
+ \omitvalue CustomCursor
+
+ \omitvalue arrowCursor
+ \omitvalue upArrowCursor
+ \omitvalue crossCursor
+ \omitvalue waitCursor
+ \omitvalue ibeamCursor
+ \omitvalue sizeVerCursor
+ \omitvalue sizeHorCursor
+ \omitvalue sizeBDiagCursor
+ \omitvalue sizeFDiagCursor
+ \omitvalue sizeAllCursor
+ \omitvalue blankCursor
+ \omitvalue splitVCursor
+ \omitvalue splitHCursor
+ \omitvalue pointingHandCursor
+ \omitvalue forbiddenCursor
+ \omitvalue whatsThisCursor
+*/
+
+/*!
+ \typedef Qt::TextFlags
+ \compat
+
+ Use Qt::TextFlag instead.
+*/
+
+/*!
+ \enum Qt::LayoutDirection
+
+ Specifies the direction of Qt's layouts:
+
+ \value LeftToRight Left-to-right layout.
+ \value RightToLeft Right-to-left layout.
+
+ Right-to-left layouts are necessary for certain languages,
+ notably Arabic and Hebrew.
+
+ \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection()
+*/
+
+/*!
+ \enum Qt::InputMethodHint
+
+ \value ImhNone No hints.
+ \value ImhHiddenText Characters should be hidden, as is typically used when entering passwords.
+ This is automatically set when setting QLineEdit::echoMode to \c Password.
+ \value ImhNumbersOnly Only number input is allowed.
+ \value ImhUppercaseOnly Only upper case letter input is allowed.
+ \value ImhLowercaseOnly Only lower case letter input is allowed.
+ \value ImhNoAutoUppercase The input method should not try to automatically switch to upper case
+ when a sentence ends.
+ \value ImhPreferNumbers Numbers are preferred (but not required).
+ \value ImhPreferUppercase Upper case letters are preferred (but not required).
+ \value ImhPreferLowercase Lower case letters are preferred (but not required).
+ \value ImhNoPredictiveText Do not use predictive text (i.e. dictionary lookup) while typing.
+ \value ImhDialableCharactersOnly Only characters suitable for phone dialling are allowed.
+
+ \note If several flags ending with \c Only are ORed together, the resulting character set will
+ consist of the union of the specified sets. For instance specifying \c ImhNumbersOnly and
+ \c ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.
+
+ \sa QGraphicsItem::inputMethodHints()
+*/
+
+/*!
+ \enum Qt::InputMethodQuery
+
+ \value ImMicroFocus The rectangle covering the area of the input cursor in widget coordinates.
+ \value ImFont The currently used font for text input.
+ \value ImCursorPosition The logical position of the cursor within the text surrounding the input area (see \c ImSurroundingText).
+ \value ImSurroundingText The plain text around the input area, for example the current paragraph.
+ \value ImCurrentSelection The currently selected text.
+ \value ImMaximumTextLength The maximum number of characters that the widget can hold. If there is no limit, QVariant() is returned.
+ \value ImAnchorPosition The position of the selection anchor. This may be less or greater than \c ImCursorPosition, depending on which side of selection the cursor is. If there is no selection, it returns the same as \c ImCursorPosition.
+*/
+
+/*!
+ \enum Qt::ItemDataRole
+
+ Each item in the model has a set of data elements associated with
+ it, each with its own role. The roles are used by the view to indicate
+ to the model which type of data it needs.
+
+ The general purpose roles are:
+
+ \value DisplayRole The key data to be rendered in the form of text.
+ \value DecorationRole The data to be rendered as a decoration in the form
+ of an icon.
+ \value EditRole The data in a form suitable for editing in an
+ editor.
+ \value ToolTipRole The data displayed in the item's tooltip.
+ \value StatusTipRole The data displayed in the status bar.
+ \value WhatsThisRole The data displayed for the item in "What's This?"
+ mode.
+ \value SizeHintRole The size hint for the item that will be supplied
+ to views.
+
+ Roles describing appearance and meta data:
+
+ \value FontRole The font used for items rendered with the default
+ delegate.
+ \value TextAlignmentRole The alignment of the text for items rendered with the
+ default delegate.
+ \value BackgroundRole The background brush used for items rendered with
+ the default delegate.
+ \value BackgroundColorRole This role is obsolete. Use BackgroundRole instead.
+ \value ForegroundRole The foreground brush (text color, typically)
+ used for items rendered with the default delegate.
+ \value TextColorRole This role is obsolete. Use ForegroundRole instead.
+ \value CheckStateRole This role is used to obtain the checked state of
+ an item (see \l Qt::CheckState).
+
+ Accessibility roles:
+
+ \value AccessibleTextRole The text to be used by accessibility
+ extensions and plugins, such as screen
+ readers.
+ \value AccessibleDescriptionRole A description of the item for accessibility
+ purposes.
+
+ User roles:
+
+ \value UserRole The first role that can be used for application-specific purposes.
+
+ \omitvalue DisplayPropertyRole
+ \omitvalue DecorationPropertyRole
+ \omitvalue ToolTipPropertyRole
+ \omitvalue StatusTipPropertyRole
+ \omitvalue WhatsThisPropertyRole
+*/
+
+/*!
+ \enum Qt::ItemFlag
+
+ This enum describes the properties of an item:
+
+ \value NoItemFlags It does not have any properties set.
+ \value ItemIsSelectable It can be selected.
+ \value ItemIsEditable It can be edited.
+ \value ItemIsDragEnabled It can be dragged.
+ \value ItemIsDropEnabled It can be used as a drop target.
+ \value ItemIsUserCheckable It can be checked or unchecked by the user.
+ \value ItemIsEnabled The user can interact with the item.
+ \value ItemIsTristate The item is checkable with three separate states.
+
+ Note that checkable items need to be given both a suitable set of flags
+ and an initial state, indicating whether the item is checked or not.
+ This is handled automatically for model/view components, but needs
+ to be explicitly set for instances of QListWidgetItem, QTableWidgetItem,
+ and QTreeWidgetItem.
+
+ \sa QAbstractItemModel
+*/
+
+/*!
+ \enum Qt::MatchFlag
+
+ This enum describes the type of matches that can be used when searching
+ for items in a model.
+
+ \value MatchExactly Performs QVariant-based matching.
+ \value MatchFixedString Performs string-based matching.
+ String-based comparisons are case-insensitive unless the
+ \c MatchCaseSensitive flag is also specified.
+ \value MatchContains The search term is contained in the item.
+ \value MatchStartsWith The search term matches the start of the item.
+ \value MatchEndsWith The search term matches the end of the item.
+ \value MatchCaseSensitive The search is case sensitive.
+ \value MatchRegExp Performs string-based matching using a regular
+ expression as the search term.
+ \value MatchWildcard Performs string-based matching using a string with
+ wildcards as the search term.
+ \value MatchWrap Perform a search that wraps around, so that when
+ the search reaches the last item in the model, it begins again at
+ the first item and continues until all items have been examined.
+ \value MatchRecursive Searches the entire hierarchy.
+
+ \sa QString::compare(), QRegExp
+*/
+
+/*!
+ \enum Qt::TextElideMode
+
+ This enum specifies where the ellipsis should appear when
+ displaying texts that don't fit:
+
+ \value ElideLeft The ellipsis should appear at the beginning of the text.
+ \value ElideRight The ellipsis should appear at the end of the text.
+ \value ElideMiddle The ellipsis should appear in the middle of the text.
+ \value ElideNone Ellipsis should NOT appear in the text.
+
+ Qt::ElideMiddle is normally the most appropriate choice for URLs (e.g.,
+ "\l{http://www.qtsoftware.com/careers/movingto/beijing/}{http://www.qtsof...ovingto/beijing/}"),
+ whereas Qt::ElideRight is appropriate
+ for other strings (e.g.,
+ "\l{http://doc.trolltech.com/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
+
+ \sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag QTabBar::elideMode
+*/
+
+/*!
+ \enum Qt::WindowModality
+
+ \keyword modal
+
+ This enum specifies the behavior of a modal window. A modal window
+ is one that blocks input to other windows. Note that windows that
+ are children of a modal window are not blocked.
+
+ The values are:
+ \value NonModal The window is not modal and does not block input to other windows.
+ \value WindowModal The window is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
+ \value ApplicationModal The window is modal to the application and blocks input to all windows.
+
+ \sa QWidget::windowModality, QDialog
+*/
+
+/*!
+ \enum Qt::TextInteractionFlag
+
+ This enum specifies how a text displaying widget reacts to user input.
+
+ \value NoTextInteraction No interaction with the text is possible.
+ \value TextSelectableByMouse Text can be selected with the mouse and copied to the clipboard using
+ a context menu or standard keyboard shortcuts.
+ \value TextSelectableByKeyboard Text can be selected with the cursor keys on the keyboard. A text cursor is shown.
+ \value LinksAccessibleByMouse Links can be highlighted and activated with the mouse.
+ \value LinksAccessibleByKeyboard Links can be focused using tab and activated with enter.
+ \value TextEditable The text is fully editable.
+
+ \value TextEditorInteraction The default for a text editor.
+ \value TextBrowserInteraction The default for QTextBrowser.
+*/
+
+/*!
+ \enum Qt::MaskMode
+
+ This enum specifies the behavior of the
+ QPixmap::createMaskFromColor() and QImage::createMaskFromColor()
+ functions.
+
+ \value MaskInColor Creates a mask where all pixels matching the given color are opaque.
+ \value MaskOutColor Creates a mask where all pixels matching the given color are transparent.
+*/
+
+/*!
+ \enum Qt::DockWidgetAreaSizes
+ \internal
+*/
+
+/*!
+ \enum Qt::ToolBarAreaSizes
+ \internal
+*/
+
+/*!
+ \enum Qt::EventPriority
+
+ This enum can be used to specify event priorities.
+
+ \value HighEventPriority Events with this priority are sent before
+ events with NormalEventPriority or LowEventPriority.
+
+ \value NormalEventPriority Events with this priority are sent
+ after events with HighEventPriority, but before events with
+ LowEventPriority.
+
+ \value LowEventPriority Events with this priority are sent after
+ events with HighEventPriority or NormalEventPriority.
+
+ Note that these values are provided purely for convenience, since
+ event priorities can be any value between \c INT_MAX and \c
+ INT_MIN, inclusive. For example, you can define custom priorities
+ as being relative to each other:
+
+ \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 1
+
+ \sa QCoreApplication::postEvent()
+*/
+/*!
+ \enum Qt::SizeHint
+ \since 4.4
+
+ This enum is used by QGraphicsLayoutItem::sizeHint()
+
+ \value MinimumSize is used to specify the minimum size of a graphics layout item.
+ \value PreferredSize is used to specify the preferred size of a graphics layout item.
+ \value MaximumSize is used to specify the maximum size of a graphics layout item.
+ \value MinimumDescent is used to specify the minimum descent of a text string in a graphics layout item.
+ \omitvalue NSizeHints
+
+ \sa QGraphicsLayoutItem::sizeHint()
+*/
+
+/*!
+ \enum Qt::SizeMode
+ \since 4.4
+
+ This enum is used by QPainter::drawRoundedRect() and QPainterPath::addRoundedRect()
+ functions to specify the radii of rectangle corners with respect to the dimensions
+ of the bounding rectangles specified.
+
+ \value AbsoluteSize Specifies the size using absolute measurements.
+ \value RelativeSize Specifies the size relative to the bounding rectangle,
+ typically using percentage measurements.
+*/
+
+/*!
+ \enum Qt::WindowFrameSection
+ \since 4.4
+
+ This enum is used to describe parts of a window frame. It is returned by
+ QGraphicsWidget::windowFrameSectionAt() to describe what section of the window
+ frame is under the mouse.
+
+ \value NoSection
+ \value LeftSection
+ \value TopLeftSection
+ \value TopSection
+ \value TopRightSection
+ \value RightSection
+ \value BottomRightSection
+ \value BottomSection
+ \value BottomLeftSection
+ \value TitleBarArea
+
+ \sa QGraphicsWidget::windowFrameEvent()
+ \sa QGraphicsWidget::paintWindowFrame()
+ \sa QGraphicsWidget::windowFrameSectionAt()
+
+*/
+
+/*!
+ \enum Qt::TileRule
+ \since 4.6
+
+ This enum describes how to repeat or stretch the parts of an image
+ when drawing.
+
+ \value Stretch Scale the image to fit to the available area.
+
+ \value Repeat Tile the image until there is no more space. May crop
+ the last image.
+
+ \value Round Like Repeat, but scales the images down to ensure that
+ the last image is not cropped.
+*/
+
+/*!
+ \enum Qt::Initialization
+ \internal
+*/
+
+/*!
+ \enum Qt::GestureState
+ \since 4.6
+
+ This enum type describes the state of a gesture.
+
+ \omitvalue NoGesture
+ \value GestureStarted A continuous gesture has started.
+ \value GestureUpdated A gesture continues.
+ \value GestureFinished A gesture has finished.
+
+ \sa QGesture
+*/
diff --git a/doc/src/qpagesetupdialog.qdoc b/doc/src/classes/qpagesetupdialog.qdoc
index 7f0b09e..7f0b09e 100644
--- a/doc/src/qpagesetupdialog.qdoc
+++ b/doc/src/classes/qpagesetupdialog.qdoc
diff --git a/doc/src/qpaintdevice.qdoc b/doc/src/classes/qpaintdevice.qdoc
index 0f4e9a0..0f4e9a0 100644
--- a/doc/src/qpaintdevice.qdoc
+++ b/doc/src/classes/qpaintdevice.qdoc
diff --git a/doc/src/qpair.qdoc b/doc/src/classes/qpair.qdoc
index 6d8a0f9..6d8a0f9 100644
--- a/doc/src/qpair.qdoc
+++ b/doc/src/classes/qpair.qdoc
diff --git a/doc/src/qpatternistdummy.cpp b/doc/src/classes/qpatternistdummy.cpp
index a690184..a690184 100644
--- a/doc/src/qpatternistdummy.cpp
+++ b/doc/src/classes/qpatternistdummy.cpp
diff --git a/doc/src/qplugin.qdoc b/doc/src/classes/qplugin.qdoc
index 4fbd198..4fbd198 100644
--- a/doc/src/qplugin.qdoc
+++ b/doc/src/classes/qplugin.qdoc
diff --git a/doc/src/qprintdialog.qdoc b/doc/src/classes/qprintdialog.qdoc
index 8011f62..8011f62 100644
--- a/doc/src/qprintdialog.qdoc
+++ b/doc/src/classes/qprintdialog.qdoc
diff --git a/doc/src/qprinterinfo.qdoc b/doc/src/classes/qprinterinfo.qdoc
index a4ffeb2..a4ffeb2 100644
--- a/doc/src/qprinterinfo.qdoc
+++ b/doc/src/classes/qprinterinfo.qdoc
diff --git a/doc/src/qset.qdoc b/doc/src/classes/qset.qdoc
index 0db3775..0db3775 100644
--- a/doc/src/qset.qdoc
+++ b/doc/src/classes/qset.qdoc
diff --git a/doc/src/qsignalspy.qdoc b/doc/src/classes/qsignalspy.qdoc
index 4ee7590..4ee7590 100644
--- a/doc/src/qsignalspy.qdoc
+++ b/doc/src/classes/qsignalspy.qdoc
diff --git a/doc/src/qsizepolicy.qdoc b/doc/src/classes/qsizepolicy.qdoc
index c74beb8..c74beb8 100644
--- a/doc/src/qsizepolicy.qdoc
+++ b/doc/src/classes/qsizepolicy.qdoc
diff --git a/doc/src/classes/qtdesigner-api.qdoc b/doc/src/classes/qtdesigner-api.qdoc
new file mode 100644
index 0000000..d7c47b1
--- /dev/null
+++ b/doc/src/classes/qtdesigner-api.qdoc
@@ -0,0 +1,1413 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \class QDesignerMemberSheetExtension
+
+ \brief The QDesignerMemberSheetExtension class allows you to
+ manipulate a widget's member functions which is displayed when
+ configuring connections using Qt Designer's mode for editing
+ signals and slots.
+
+ \inmodule QtDesigner
+
+ QDesignerMemberSheetExtension is a collection of functions that is
+ typically used to query a widget's member functions, and to
+ manipulate the member functions' appearance in \QD's signals and
+ slots editing mode. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 2
+
+ When implementing a custom widget plugin, a pointer to \QD's
+ current QDesignerFormEditorInterface object (\c formEditor in the
+ example above) is provided by the
+ QDesignerCustomWidgetInterface::initialize() function's parameter.
+
+ The member sheet (and any other extension), can be retrieved by
+ querying \QD's extension manager using the qt_extension()
+ function. When you want to release the extension, you only need to
+ delete the pointer.
+
+ All widgets have a default member sheet used in \QD's signals and
+ slots editing mode with the widget's member functions. But
+ QDesignerMemberSheetExtension also provides an interface for
+ creating custom member sheet extensions.
+
+ \warning \QD uses the QDesignerMemberSheetExtension to facilitate
+ the signal and slot editing mode. Whenever a connection between
+ two widgets is requested, \QD will query for the widgets' member
+ sheet extensions. If a widget has an implemented member sheet
+ extension, this extension will override the default member sheet.
+
+ To create a member sheet extension, your extension class must
+ inherit from both QObject and QDesignerMemberSheetExtension. Then,
+ since we are implementing an interface, we must ensure that it's
+ made known to the meta object system using the Q_INTERFACES()
+ macro:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 3
+
+ This enables \QD to use qobject_cast() to query for
+ supported interfaces using nothing but a QObject pointer.
+
+ In \QD the extensions are not created until they are
+ required. For that reason, when implementing a member sheet
+ extension, you must also create a QExtensionFactory, i.e a class
+ that is able to make an instance of your extension, and register
+ it using \QD's \l {QExtensionManager}{extension manager}.
+
+ When a widget's member sheet extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until the first one that is able to create a member sheet
+ extension for that widget, is found. This factory will then make
+ an instance of the extension. If no such factory is found, \QD
+ will use the default member sheet.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension, QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension and
+ QDesignerTaskMenuExtension. \QD's behavior is the same whether the
+ requested extension is associated with a multi page container, a
+ member sheet, a property sheet or a task menu.
+
+ The QExtensionFactory class provides a standard extension
+ factory, and can also be used as an interface for custom
+ extension factories. You can either create a new
+ QExtensionFactory and reimplement the
+ QExtensionFactory::createExtension() function. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 4
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a member sheet extension as well. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 5
+
+ For a complete example using an extension class, see \l
+ {designer/taskmenuextension}{Task Menu Extension example}. The
+ example shows how to create a custom widget plugin for Qt
+ Designer, and how to to use the QDesignerTaskMenuExtension class
+ to add custom items to \QD's task menu.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension()
+
+ Destroys the member sheet extension.
+*/
+
+/*!
+ \fn int QDesignerMemberSheetExtension::count() const
+
+ Returns the extension's number of member functions.
+*/
+
+/*!
+ \fn int QDesignerMemberSheetExtension::indexOf(const QString &name) const
+
+ Returns the index of the member function specified by the given \a
+ name.
+
+ \sa memberName()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::memberName(int index) const
+
+ Returns the name of the member function with the given \a index.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::memberGroup(int index) const
+
+ Returns the name of the member group specified for the function
+ with the given \a index.
+
+ \sa indexOf(), setMemberGroup()
+*/
+
+/*!
+ \fn void QDesignerMemberSheetExtension::setMemberGroup(int index, const QString &group)
+
+ Sets the member group of the member function with the given \a
+ index, to \a group.
+
+ \sa indexOf(), memberGroup()
+*/
+
+/*!
+ \fn bool QDesignerMemberSheetExtension::isVisible(int index) const
+
+ Returns true if the member function with the given \a index is
+ visible in \QD's signal and slot editor, otherwise false.
+
+ \sa indexOf(), setVisible()
+*/
+
+/*!
+ \fn void QDesignerMemberSheetExtension::setVisible(int index, bool visible)
+
+ If \a visible is true, the member function with the given \a index
+ is visible in \QD's signals and slots editing mode; otherwise the
+ member function is hidden.
+
+ \sa indexOf(), isVisible()
+*/
+
+/*!
+ \fn virtual bool QDesignerMemberSheetExtension::isSignal(int index) const
+
+ Returns true if the member function with the given \a index is a
+ signal, otherwise false.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn bool QDesignerMemberSheetExtension::isSlot(int index) const
+
+ Returns true if the member function with the given \a index is a
+ slot, otherwise false.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn bool QDesignerMemberSheetExtension::inheritedFromWidget(int index) const
+
+ Returns true if the member function with the given \a index is
+ inherited from QWidget, otherwise false.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::declaredInClass(int index) const
+
+ Returns the name of the class in which the member function with
+ the given \a index is declared.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerMemberSheetExtension::signature(int index) const
+
+ Returns the signature of the member function with the given \a
+ index.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterTypes(int index) const
+
+ Returns the parameter types of the member function with the given
+ \a index, as a QByteArray list.
+
+ \sa indexOf(), parameterNames()
+*/
+
+/*!
+ \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterNames(int index) const
+
+ Returns the parameter names of the member function with the given
+ \a index, as a QByteArray list.
+
+ \sa indexOf(), parameterTypes()
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerLayoutDecorationExtension
+ \brief The QDesignerLayoutDecorationExtension class provides an extension to a layout in \QD.
+ \inmodule QtDesigner
+ \internal
+*/
+
+/*!
+ \enum QDesignerLayoutDecorationExtension::InsertMode
+
+ This enum describes the modes that are used to insert items into a layout.
+
+ \value InsertWidgetMode Widgets are inserted into empty cells in a layout.
+ \value InsertRowMode Whole rows are inserted into a vertical or grid layout.
+ \value InsertColumnMode Whole columns are inserted into a horizontal or grid layout.
+*/
+
+/*!
+ \fn virtual QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension()
+
+ Destroys the extension.
+*/
+
+/*!
+ \fn virtual QList<QWidget*> QDesignerLayoutDecorationExtension::widgets(QLayout *layout) const
+
+ Returns the widgets that are managed by the given \a layout.
+
+ \sa insertWidget(), removeWidget()
+*/
+
+/*!
+ \fn QRect QDesignerLayoutDecorationExtension::itemInfo(int index) const
+
+ Returns the rectangle covered by the item at the given \a index in the layout.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::indexOf(QWidget *widget) const
+
+ Returns the index of the specified \a widget in the layout.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::indexOf(QLayoutItem *item) const
+
+ Returns the index of the specified layout \a item.
+*/
+
+/*!
+ \fn QDesignerLayoutDecorationExtension::InsertMode QDesignerLayoutDecorationExtension::currentInsertMode() const
+
+ Returns the current insertion mode.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::currentIndex() const
+
+ Returns the current index in the layout.
+*/
+
+/*!
+ \fn QPair<int, int> QDesignerLayoutDecorationExtension::currentCell() const
+
+ Returns a pair containing the row and column of the current cell in the layout.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::insertWidget(QWidget *widget, const QPair<int, int> &cell)
+
+ Inserts the given \a widget into the specified \a cell in the layout.
+
+ \sa removeWidget()
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::removeWidget(QWidget *widget)
+
+ Removes the specified \a widget from the layout.
+
+ \sa insertWidget()
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::insertRow(int row)
+
+ Inserts a new row into the form at the position specified by \a row.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::insertColumn(int column)
+
+ Inserts a new column into the form at the position specified by \a column.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::simplify()
+
+ Simplifies the layout by removing unnecessary empty rows and columns, and by changing the
+ number of rows or columns spanned by widgets.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::findItemAt(const QPoint &position) const
+
+ Returns the index of the item in the layout that covers the given \a position.
+*/
+
+/*!
+ \fn int QDesignerLayoutDecorationExtension::findItemAt(int row, int column) const
+
+ Returns the item in the layout that occupies the specified \a row and \a column in the layout.
+
+ Currently, this only applies to grid layouts.
+*/
+
+/*!
+ \fn void QDesignerLayoutDecorationExtension::adjustIndicator(const QPoint &position, int index)
+
+ Adjusts the indicator for the item specified by \a index so that
+ it lies at the given \a position on the form.
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerContainerExtension
+ \brief The QDesignerContainerExtension class allows you to add pages to
+ a custom multi-page container in Qt Designer's workspace.
+ \inmodule QtDesigner
+
+ QDesignerContainerExtension provide an interface for creating
+ custom container extensions. A container extension consists of a
+ collection of functions that \QD needs to manage a multi-page
+ container plugin, and a list of the container's pages.
+
+ \image containerextension-example.png
+
+ \warning This is \e not an extension for container plugins in
+ general, only custom \e multi-page containers.
+
+ To create a container extension, your extension class must inherit
+ from both QObject and QDesignerContainerExtension. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 6
+
+ Since we are implementing an interface, we must ensure that it's
+ made known to the meta object system using the Q_INTERFACES()
+ macro. This enables \QD to use the qobject_cast() function to
+ query for supported interfaces using nothing but a QObject
+ pointer.
+
+ You must reimplement several functions to enable \QD to manage a
+ custom multi-page container widget: \QD uses count() to keep track
+ of the number pages in your container, widget() to return the page
+ at a given index in the list of the container's pages, and
+ currentIndex() to return the list index of the selected page. \QD
+ uses the addWidget() function to add a given page to the
+ container, expecting it to be appended to the list of pages, while
+ it expects the insertWidget() function to add a given page to the
+ container by inserting it at a given index.
+
+ In \QD the extensions are not created until they are
+ required. For that reason you must also create a
+ QExtensionFactory, i.e a class that is able to make an instance of
+ your extension, and register it using \QD's \l
+ {QExtensionManager}{extension manager}.
+
+ When a container extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until the first one that is able to create a container
+ extension, is found. This factory will then create the extension
+ for the plugin.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension , QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension and QDesignerTaskMenuExtension.
+ \QD's behavior is the same whether the requested extension is
+ associated with a multi page container, a member sheet, a property
+ sheet or a task menu.
+
+ The QExtensionFactory class provides a standard extension factory,
+ and can also be used as an interface for custom extension
+ factories. You can either create a new QExtensionFactory and
+ reimplement the QExtensionFactory::createExtension() function. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 7
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a container extension as well. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 8
+
+ For a complete example using the QDesignerContainerExtension
+ class, see the \l {designer/containerextension}{Container
+ Extension example}. The example shows how to create a custom
+ multi-page plugin for \QD.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerContainerExtension::~QDesignerContainerExtension()
+
+ Destroys the extension.
+*/
+
+/*!
+ \fn int QDesignerContainerExtension::count() const
+
+ Returns the number of pages in the container.
+*/
+
+/*!
+ \fn QWidget *QDesignerContainerExtension::widget(int index) const
+
+ Returns the page at the given \a index in the extension's list of
+ pages.
+
+ \sa addWidget(), insertWidget()
+*/
+
+/*!
+ \fn int QDesignerContainerExtension::currentIndex() const
+
+ Returns the index of the currently selected page in the
+ container.
+
+ \sa setCurrentIndex()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::setCurrentIndex(int index)
+
+ Sets the currently selected page in the container to be the
+ page at the given \a index in the extension's list of pages.
+
+ \sa currentIndex()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::addWidget(QWidget *page)
+
+ Adds the given \a page to the container by appending it to the
+ extension's list of pages.
+
+ \sa insertWidget(), remove(), widget()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::insertWidget(int index, QWidget *page)
+
+ Adds the given \a page to the container by inserting it at the
+ given \a index in the extension's list of pages.
+
+ \sa addWidget(), remove(), widget()
+*/
+
+/*!
+ \fn void QDesignerContainerExtension::remove(int index)
+
+ Removes the page at the given \a index from the extension's list
+ of pages.
+
+ \sa addWidget(), insertWidget()
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerTaskMenuExtension
+ \brief The QDesignerTaskMenuExtension class allows you to add custom
+ menu entries to Qt Designer's task menu.
+ \inmodule QtDesigner
+
+ QDesignerTaskMenuExtension provides an interface for creating
+ custom task menu extensions. It is typically used to create task
+ menu entries that are specific to a plugin in \QD.
+
+ \QD uses the QDesignerTaskMenuExtension to feed its task
+ menu. Whenever a task menu is requested, \QD will query
+ for the selected widget's task menu extension.
+
+ \image taskmenuextension-example-faded.png
+
+ A task menu extension is a collection of QActions. The actions
+ appear as entries in the task menu when the plugin with the
+ specified extension is selected. The image above shows the custom
+ \gui {Edit State...} action which appears in addition to \QD's
+ default task menu entries: \gui Cut, \gui Copy, \gui Paste etc.
+
+ To create a custom task menu extension, your extension class must
+ inherit from both QObject and QDesignerTaskMenuExtension. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 9
+
+ Since we are implementing an interface, we must ensure that it
+ is made known to the meta-object system using the Q_INTERFACES()
+ macro. This enables \QD to use the qobject_cast() function to
+ query for supported interfaces using nothing but a QObject
+ pointer.
+
+ You must reimplement the taskActions() function to return a list
+ of actions that will be included in \QD task menu. Optionally, you
+ can reimplement the preferredEditAction() function to set the
+ action that is invoked when selecting your plugin and pressing
+ \key F2. The preferred edit action must be one of the actions
+ returned by taskActions() and, if it's not defined, pressing the
+ \key F2 key will simply be ignored.
+
+ In \QD, extensions are not created until they are required. A
+ task menu extension, for example, is created when you click the
+ right mouse button over a widget in \QD's workspace. For that
+ reason you must also construct an extension factory, using either
+ QExtensionFactory or a subclass, and register it using \QD's
+ \l {QExtensionManager}{extension manager}.
+
+ When a task menu extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until it finds one that is able to create a task menu
+ extension for the selected widget. This factory will then make an
+ instance of the extension.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension, QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension, and QDesignerTaskMenuExtension.
+ \QD's behavior is the same whether the requested extension is
+ associated with a container, a member sheet, a property sheet or a
+ task menu.
+
+ The QExtensionFactory class provides a standard extension factory,
+ and can also be used as an interface for custom extension
+ factories. You can either create a new QExtensionFactory and
+ reimplement the QExtensionFactory::createExtension() function. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 10
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a task menu extension as well. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 11
+
+ For a complete example using the QDesignerTaskMenuExtension class,
+ see the \l {designer/taskmenuextension}{Task Menu Extension
+ example}. The example shows how to create a custom widget plugin
+ for \QD, and how to to use the QDesignerTaskMenuExtension
+ class to add custom items to \QD's task menu.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension()
+
+ Destroys the task menu extension.
+*/
+
+/*!
+ \fn QAction *QDesignerTaskMenuExtension::preferredEditAction() const
+
+ Returns the action that is invoked when selecting a plugin with
+ the specified extension and pressing \key F2.
+
+ The action must be one of the actions returned by taskActions().
+*/
+
+/*!
+ \fn QList<QAction*> QDesignerTaskMenuExtension::taskActions() const
+
+ Returns the task menu extension as a list of actions which will be
+ included in \QD's task menu when a plugin with the specified
+ extension is selected.
+
+ The function must be reimplemented to add actions to the list.
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerCustomWidgetCollectionInterface
+
+ \brief The QDesignerCustomWidgetCollectionInterface class allows
+ you to include several custom widgets in one single library.
+
+ \inmodule QtDesigner
+
+ When implementing a custom widget plugin, you build it as a
+ separate library. If you want to include several custom widget
+ plugins in the same library, you must in addition subclass
+ QDesignerCustomWidgetCollectionInterface.
+
+ QDesignerCustomWidgetCollectionInterface contains one single
+ function returning a list of the collection's
+ QDesignerCustomWidgetInterface objects. For example, if you have
+ several custom widgets \c CustomWidgetOne, \c CustomWidgetTwo and
+ \c CustomWidgetThree, the class definition may look like this:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 12
+
+ In the class constructor you add the interfaces to your custom
+ widgets to the list which you return in the customWidgets()
+ function:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 13
+
+ Note that instead of exporting each custom widget plugin using the
+ Q_EXPORT_PLUGIN2() macro, you export the entire collection. The
+ Q_EXPORT_PLUGIN2() macro ensures that \QD can access and construct
+ the custom widgets. Without this macro, there is no way for \QD to
+ use them.
+
+ \sa QDesignerCustomWidgetInterface, {Creating Custom Widgets for
+ Qt Designer}
+*/
+
+/*!
+ \fn QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface() {
+
+ Destroys the custom widget collection interface.
+*/
+
+/*!
+ \fn QList<QDesignerCustomWidgetInterface*> QDesignerCustomWidgetCollectionInterface::customWidgets() const
+
+ Returns a list of interfaces to the collection's custom widgets.
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerCustomWidgetInterface
+
+ \brief The QDesignerCustomWidgetInterface class enables Qt Designer
+ to access and construct custom widgets.
+
+ \inmodule QtDesigner
+
+ QDesignerCustomWidgetInterface provides a custom widget with an
+ interface. The class contains a set of functions that must be subclassed
+ to return basic information about the widget, such as its class name and
+ the name of its header file. Other functions must be implemented to
+ initialize the plugin when it is loaded, and to construct instances of
+ the custom widget for \QD to use.
+
+ When implementing a custom widget you must subclass
+ QDesignerCustomWidgetInterface to expose your widget to \QD. For
+ example, this is the declaration for the plugin used in the
+ \l{Custom Widget Plugin Example}{Custom Widget Plugin example} that
+ enables an analog clock custom widget to be used by \QD:
+
+ \snippet examples/designer/customwidgetplugin/customwidgetplugin.h 0
+
+ Note that the only part of the class definition that is specific
+ to this particular custom widget is the class name. In addition,
+ since we are implementing an interface, we must ensure that it's
+ made known to the meta object system using the Q_INTERFACES()
+ macro. This enables \QD to use the qobject_cast() function to
+ query for supported interfaces using nothing but a QObject
+ pointer.
+
+ After \QD loads a custom widget plugin, it calls the interface's
+ initialize() function to enable it to set up any resources that it
+ may need. This function is called with a QDesignerFormEditorInterface
+ parameter that provides the plugin with a gateway to all of \QD's API.
+
+ \QD constructs instances of the custom widget by calling the plugin's
+ createWidget() function with a suitable parent widget. Plugins must
+ construct and return an instance of a custom widget with the specified
+ parent widget.
+
+ In the implementation of the class you must remember to export
+ your custom widget plugin to \QD using the Q_EXPORT_PLUGIN2()
+ macro. For example, if a library called \c libcustomwidgetplugin.so
+ (on Unix) or \c libcustomwidget.dll (on Windows) contains a widget
+ class called \c MyCustomWidget, we can export it by adding the
+ following line to the file containing the plugin implementation:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 14
+
+ This macro ensures that \QD can access and construct the custom widget.
+ Without this macro, there is no way for \QD to use it.
+
+ When implementing a custom widget plugin, you build it as a
+ separate library. If you want to include several custom widget
+ plugins in the same library, you must in addition subclass
+ QDesignerCustomWidgetCollectionInterface.
+
+ \warning If your custom widget plugin contains QVariant
+ properties, be aware that only the following \l
+ {QVariant::Type}{types} are supported:
+
+ \list
+ \o QVariant::ByteArray
+ \o QVariant::Bool
+ \o QVariant::Color
+ \o QVariant::Cursor
+ \o QVariant::Date
+ \o QVariant::DateTime
+ \o QVariant::Double
+ \o QVariant::Int
+ \o QVariant::Point
+ \o QVariant::Rect
+ \o QVariant::Size
+ \o QVariant::SizePolicy
+ \o QVariant::String
+ \o QVariant::Time
+ \o QVariant::UInt
+ \endlist
+
+ For a complete example using the QDesignerCustomWidgetInterface
+ class, see the \l {designer/customwidgetplugin}{Custom Widget
+ Example}. The example shows how to create a custom widget plugin
+ for \QD.
+
+ \sa QDesignerCustomWidgetCollectionInterface {Creating Custom
+ Widgets for Qt Designer}
+*/
+
+/*!
+ \fn QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface()
+
+ Destroys the custom widget interface.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::name() const
+
+ Returns the class name of the custom widget supplied by the interface.
+
+ The name returned \e must be identical to the class name used for the
+ custom widget.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::group() const
+
+ Returns the name of the group to which the custom widget belongs.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::toolTip() const
+
+ Returns a short description of the widget that can be used by \QD
+ in a tool tip.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::whatsThis() const
+
+ Returns a description of the widget that can be used by \QD in
+ "What's This?" help for the widget.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::includeFile() const
+
+ Returns the path to the include file that \l uic uses when
+ creating code for the custom widget.
+*/
+
+/*!
+ \fn QIcon QDesignerCustomWidgetInterface::icon() const
+
+ Returns the icon used to represent the custom widget in \QD's
+ widget box.
+*/
+
+/*!
+ \fn bool QDesignerCustomWidgetInterface::isContainer() const
+
+ Returns true if the custom widget is intended to be used as a
+ container; otherwise returns false.
+
+ Most custom widgets are not used to hold other widgets, so their
+ implementations of this function will return false, but custom
+ containers will return true to ensure that they behave correctly
+ in \QD.
+*/
+
+/*!
+ \fn QWidget *QDesignerCustomWidgetInterface::createWidget(QWidget *parent)
+
+ Returns a new instance of the custom widget, with the given \a
+ parent.
+*/
+
+/*!
+ \fn bool QDesignerCustomWidgetInterface::isInitialized() const
+
+ Returns true if the widget has been initialized; otherwise returns
+ false.
+
+ \sa initialize()
+*/
+
+/*!
+ \fn void QDesignerCustomWidgetInterface::initialize(QDesignerFormEditorInterface *formEditor)
+
+ Initializes the widget for use with the specified \a formEditor
+ interface.
+
+ \sa isInitialized()
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::domXml() const
+
+ Returns the XML that is used to describe the custom widget's
+ properties to \QD.
+*/
+
+/*!
+ \fn QString QDesignerCustomWidgetInterface::codeTemplate() const
+
+ This function is reserved for future use by \QD.
+
+ \omit
+ Returns the code template that \QD includes in forms that contain
+ the custom widget when they are saved.
+ \endomit
+*/
+
+/*!
+ \macro QDESIGNER_WIDGET_EXPORT
+ \relates QDesignerCustomWidgetInterface
+ \since 4.1
+
+ This macro is used when defining custom widgets to ensure that they are
+ correctly exported from plugins for use with \QD.
+
+ On some platforms, the symbols required by \QD to create new widgets
+ are removed from plugins by the build system, making them unusable.
+ Using this macro ensures that the symbols are retained on those platforms,
+ and has no side effects on other platforms.
+
+ For example, the \l{designer/worldtimeclockplugin}{World Time Clock Plugin}
+ example exports a custom widget class with the following declaration:
+
+ \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 0
+ \dots
+ \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 2
+
+ \sa {Creating Custom Widgets for Qt Designer}
+*/
+
+
+// Doc: Abstract class
+
+/*!
+ \class QDesignerDnDItemInterface
+ \brief The QDesignerDnDItemInterface class provides an interface that is used to manage items
+ during a drag and drop operation.
+ \inmodule QtDesigner
+ \internal
+*/
+
+/*!
+ \enum QDesignerDnDItemInterface::DropType
+
+ This enum describes the result of a drag and drop operation.
+
+ \value MoveDrop The item was moved.
+ \value CopyDrop The item was copied.
+*/
+
+/*!
+ \fn QDesignerDnDItemInterface::QDesignerDnDItemInterface()
+
+ Constructs a new interface to a drag and drop item.
+*/
+
+/*!
+ \fn QDesignerDnDItemInterface::~QDesignerDnDItemInterface()
+
+ Destroys the interface to the item.
+*/
+
+/*!
+ \fn DomUI *QDesignerDnDItemInterface::domUi() const
+
+ Returns a user interface object for the item.
+*/
+
+/*!
+ \fn QWidget *QDesignerDnDItemInterface::widget() const
+
+ Returns the widget being copied or moved in the drag and drop operation.
+
+ \sa source()
+*/
+
+/*!
+ \fn QWidget *QDesignerDnDItemInterface::decoration() const
+
+ Returns the widget used to represent the item.
+*/
+
+/*!
+ \fn QPoint QDesignerDnDItemInterface::hotSpot() const
+
+ Returns the cursor's hotspot.
+
+ \sa QDrag::hotSpot()
+*/
+
+/*!
+ \fn DropType QDesignerDnDItemInterface::type() const
+
+ Returns the type of drag and drop operation in progress.
+*/
+
+/*!
+ \fn QWidget *QDesignerDnDItemInterface::source() const
+
+ Returns the widget that is the source of the drag and drop operation; i.e. the original
+ container of the widget being dragged.
+
+ \sa widget()
+*/
+
+
+// Doc: Abstract class
+
+/*!
+ \class QDesignerIconCacheInterface
+ \brief The QDesignerIconCacheInterface class provides an interface to \QD's icon cache.
+ \inmodule QtDesigner
+ \internal
+*/
+
+/*!
+ \fn QDesignerIconCacheInterface::QDesignerIconCacheInterface(QObject *parent)
+
+ Constructs a new interface with the given \a parent.
+*/
+
+/*!
+ \fn QIcon QDesignerIconCacheInterface::nameToIcon(const QString &filePath, const QString &qrcPath)
+
+ Returns the icon associated with the name specified by \a filePath in the resource
+ file specified by \a qrcPath.
+
+ If \a qrcPath refers to a valid resource file, the name used for the file path is a path
+ within those resources; otherwise the file path refers to a local file.
+
+ \sa {The Qt Resource System}, nameToPixmap()
+*/
+
+/*!
+ \fn QPixmap QDesignerIconCacheInterface::nameToPixmap(const QString &filePath, const QString &qrcPath)
+
+ Returns the pixmap associated with the name specified by \a filePath in the resource
+ file specified by \a qrcPath.
+
+ If \a qrcPath refers to a valid resource file, the name used for the file path is a path
+ within those resources; otherwise the file path refers to a local file.
+
+ \sa {The Qt Resource System}, nameToIcon()
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::iconToFilePath(const QIcon &icon) const
+
+ Returns the file path associated with the given \a icon. The file path is a path within
+ an application resources.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::iconToQrcPath(const QIcon &icon) const
+
+ Returns the path to the resource file that refers to the specified \a icon. The resource
+ path refers to a local file.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::pixmapToFilePath(const QPixmap &pixmap) const
+
+ Returns the file path associated with the given \a pixmap. The file path is a path within
+ an application resources.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::pixmapToQrcPath(const QPixmap &pixmap) const
+
+ Returns the path to the resource file that refers to the specified \a pixmap. The resource
+ path refers to a local file.
+*/
+
+/*!
+ \fn QList<QPixmap> QDesignerIconCacheInterface::pixmapList() const
+
+ Returns a list of pixmaps for the icons provided by the icon cache.
+*/
+
+/*!
+ \fn QList<QIcon> QDesignerIconCacheInterface::iconList() const
+
+ Returns a list of icons provided by the icon cache.
+*/
+
+/*!
+ \fn QString QDesignerIconCacheInterface::resolveQrcPath(const QString &filePath, const QString &qrcPath, const QString &workingDirectory) const
+
+ Returns a path to a resource specified by the \a filePath within
+ the resource file located at \a qrcPath. If \a workingDirectory is
+ a valid path to a directory, the path returned will be relative to
+ that directory; otherwise an absolute path is returned.
+
+ \omit
+ ### Needs checking
+ \endomit
+*/
+
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerPropertySheetExtension
+
+ \brief The QDesignerPropertySheetExtension class allows you to
+ manipulate a widget's properties which is displayed in Qt
+ Designer's property editor.
+
+ \sa QDesignerDynamicPropertySheetExtension
+
+ \inmodule QtDesigner
+
+ QDesignerPropertySheetExtension provides a collection of functions that
+ are typically used to query a widget's properties, and to
+ manipulate the properties' appearance in the property editor. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 15
+
+ Note that if you change the value of a property using the
+ QDesignerPropertySheetExtension::setProperty() function, the undo
+ stack is not updated. To ensure that a property's value can be
+ reverted using the undo stack, you must use the
+ QDesignerFormWindowCursorInterface::setProperty() function, or its
+ buddy \l
+ {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
+ instead.
+
+ When implementing a custom widget plugin, a pointer to \QD's
+ current QDesignerFormEditorInterface object (\c formEditor in the
+ example above) is provided by the
+ QDesignerCustomWidgetInterface::initialize() function's parameter.
+
+ The property sheet, or any other extension, can be retrieved by
+ querying \QD's extension manager using the qt_extension()
+ function. When you want to release the extension, you only need to
+ delete the pointer.
+
+ All widgets have a default property sheet which populates \QD's
+ property editor with the widget's properties (i.e the ones defined
+ with the Q_PROPERTY() macro). But QDesignerPropertySheetExtension
+ also provides an interface for creating custom property sheet
+ extensions.
+
+ \warning \QD uses the QDesignerPropertySheetExtension to feed its
+ property editor. Whenever a widget is selected in its workspace,
+ \QD will query for the widget's property sheet extension. If the
+ selected widget has an implemented property sheet extension, this
+ extension will override the default property sheet.
+
+ To create a property sheet extension, your extension class must
+ inherit from both QObject and
+ QDesignerPropertySheetExtension. Then, since we are implementing
+ an interface, we must ensure that it's made known to the meta
+ object system using the Q_INTERFACES() macro:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 16
+
+ This enables \QD to use qobject_cast() to query for supported
+ interfaces using nothing but a QObject pointer.
+
+ In \QD the extensions are not created until they are
+ required. For that reason, when implementing a property sheet
+ extension, you must also create a QExtensionFactory, i.e a class
+ that is able to make an instance of your extension, and register
+ it using \QD's \l {QExtensionManager}{extension manager}.
+
+ When a property sheet extension is required, \QD's \l
+ {QExtensionManager}{extension manager} will run through all its
+ registered factories calling QExtensionFactory::createExtension()
+ for each until the first one that is able to create a property
+ sheet extension for the selected widget, is found. This factory
+ will then make an instance of the extension. If no such factory
+ can be found, \QD will use the default property sheet.
+
+ There are four available types of extensions in \QD:
+ QDesignerContainerExtension, QDesignerMemberSheetExtension,
+ QDesignerPropertySheetExtension and QDesignerTaskMenuExtension. Qt
+ Designer's behavior is the same whether the requested extension is
+ associated with a multi page container, a member sheet, a property
+ sheet or a task menu.
+
+ The QExtensionFactory class provides a standard extension factory,
+ and can also be used as an interface for custom extension
+ factories. You can either create a new QExtensionFactory and
+ reimplement the QExtensionFactory::createExtension() function. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 17
+
+ Or you can use an existing factory, expanding the
+ QExtensionFactory::createExtension() function to make the factory
+ able to create a property sheet extension extension as well. For
+ example:
+
+ \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 18
+
+ For a complete example using an extension class, see the \l
+ {designer/taskmenuextension}{Task Menu Extension example}. The
+ example shows how to create a custom widget plugin for Qt
+ Designer, and how to to use the QDesignerTaskMenuExtension class
+ to add custom items to \QD's task menu.
+
+ \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
+ Extensions}
+*/
+
+/*!
+ \fn QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension()
+
+ Destroys the property sheet extension.
+*/
+
+/*!
+ \fn int QDesignerPropertySheetExtension::count() const
+
+ Returns the selected widget's number of properties.
+*/
+
+/*!
+ \fn int QDesignerPropertySheetExtension::indexOf(const QString &name) const
+
+ Returns the index for a given property \a name.
+
+ \sa propertyName()
+*/
+
+/*!
+ \fn QString QDesignerPropertySheetExtension::propertyName(int index) const
+
+ Returns the name of the property at the given \a index.
+
+ \sa indexOf()
+*/
+
+/*!
+ \fn QString QDesignerPropertySheetExtension::propertyGroup(int index) const
+
+ Returns the property group for the property at the given \a index.
+
+ \QD's property editor supports property groups, i.e. sections of
+ related properties. A property can be related to a group using the
+ setPropertyGroup() function. The default group of any property is
+ the name of the class that defines it. For example, the
+ QObject::objectName property appears within the QObject property
+ group.
+
+ \sa indexOf(), setPropertyGroup()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setPropertyGroup(int index, const QString &group)
+
+ Sets the property group for the property at the given \a index to
+ \a group.
+
+ Relating a property to a group makes it appear within that group's
+ section in the property editor. The default property group of any
+ property is the name of the class that defines it. For example,
+ the QObject::objectName property appears within the QObject
+ property group.
+
+ \sa indexOf(), property(), propertyGroup()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::hasReset(int index) const
+
+ Returns true if the property at the given \a index has a reset
+ button in \QD's property editor, otherwise false.
+
+ \sa indexOf(), reset()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::reset(int index)
+
+ Resets the value of the property at the given \a index, to the
+ default value. Returns true if a default value could be found, otherwise false.
+
+ \sa indexOf(), hasReset(), isChanged()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::isVisible(int index) const
+
+ Returns true if the property at the given \a index is visible in
+ \QD's property editor, otherwise false.
+
+ \sa indexOf(), setVisible()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setVisible(int index, bool visible)
+
+ If \a visible is true, the property at the given \a index is
+ visible in \QD's property editor; otherwise the property is
+ hidden.
+
+ \sa indexOf(), isVisible()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::isAttribute(int index) const
+
+ Returns true if the property at the given \a index is an attribute,
+ which will be \e excluded from the UI file, otherwise false.
+
+ \sa indexOf(), setAttribute()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setAttribute(int index, bool attribute)
+
+ If \a attribute is true, the property at the given \a index is
+ made an attribute which will be \e excluded from the UI file;
+ otherwise it will be included.
+
+ \sa indexOf(), isAttribute()
+*/
+
+/*!
+ \fn QVariant QDesignerPropertySheetExtension::property(int index) const
+
+ Returns the value of the property at the given \a index.
+
+ \sa indexOf(), setProperty(), propertyGroup()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setProperty(int index, const QVariant &value)
+
+ Sets the \a value of the property at the given \a index.
+
+ \warning If you change the value of a property using this
+ function, the undo stack is not updated. To ensure that a
+ property's value can be reverted using the undo stack, you must
+ use the QDesignerFormWindowCursorInterface::setProperty()
+ function, or its buddy \l
+ {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
+ instead.
+
+ \sa indexOf(), property(), propertyGroup()
+*/
+
+/*!
+ \fn bool QDesignerPropertySheetExtension::isChanged(int index) const
+
+ Returns true if the value of the property at the given \a index
+ differs from the property's default value, otherwise false.
+
+ \sa indexOf(), setChanged(), reset()
+*/
+
+/*!
+ \fn void QDesignerPropertySheetExtension::setChanged(int index, bool changed)
+
+ Sets whether the property at the given \a index is different from
+ its default value, or not, depending on the \a changed parameter.
+
+ \sa indexOf(), isChanged()
+*/
+
+// Doc: Interface only
+
+/*!
+ \class QDesignerDynamicPropertySheetExtension
+
+ \brief The QDesignerDynamicPropertySheetExtension class allows you to
+ manipulate a widget's dynamic properties in Qt Designer's property editor.
+
+ \sa QDesignerPropertySheetExtension, {QObject#Dynamic Properties}{Dynamic Properties}
+
+ \inmodule QtDesigner
+ \since 4.3
+*/
+
+/*!
+ \fn QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension()
+
+ Destroys the dynamic property sheet extension.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::dynamicPropertiesAllowed() const
+
+ Returns true if the widget supports dynamic properties; otherwise returns false.
+*/
+
+/*!
+ \fn int QDesignerDynamicPropertySheetExtension::addDynamicProperty(const QString &propertyName, const QVariant &value)
+
+ Adds a dynamic property named \a propertyName and sets its value to \a value.
+ Returns the index of the property if it was added successfully; otherwise returns -1 to
+ indicate failure.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::removeDynamicProperty(int index)
+
+ Removes the dynamic property at the given \a index.
+ Returns true if the operation succeeds; otherwise returns false.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::isDynamicProperty(int index) const
+
+ Returns true if the property at the given \a index is a dynamic property; otherwise
+ returns false.
+*/
+
+/*!
+ \fn bool QDesignerDynamicPropertySheetExtension::canAddDynamicProperty(const QString &propertyName) const
+
+ Returns true if \a propertyName is a valid, unique name for a dynamic
+ property; otherwise returns false.
+
+*/
diff --git a/doc/src/qtendian.qdoc b/doc/src/classes/qtendian.qdoc
index dcffb5d..dcffb5d 100644
--- a/doc/src/qtendian.qdoc
+++ b/doc/src/classes/qtendian.qdoc
diff --git a/doc/src/qtestevent.qdoc b/doc/src/classes/qtestevent.qdoc
index 2e111b3..2e111b3 100644
--- a/doc/src/qtestevent.qdoc
+++ b/doc/src/classes/qtestevent.qdoc
diff --git a/doc/src/qvarlengtharray.qdoc b/doc/src/classes/qvarlengtharray.qdoc
index ac6bb6e..ac6bb6e 100644
--- a/doc/src/qvarlengtharray.qdoc
+++ b/doc/src/classes/qvarlengtharray.qdoc
diff --git a/doc/src/qwaitcondition.qdoc b/doc/src/classes/qwaitcondition.qdoc
index ae94e35..ae94e35 100644
--- a/doc/src/qwaitcondition.qdoc
+++ b/doc/src/classes/qwaitcondition.qdoc
diff --git a/doc/src/compatclasses.qdoc b/doc/src/compatclasses.qdoc
deleted file mode 100644
index cb6d7dd..0000000
--- a/doc/src/compatclasses.qdoc
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page compatclasses.html
- \title Qt 3 Compatibility Classes
- \ingroup classlists
-
- This is a list of the classes that Qt provides for compatibility
- with Qt 3. The vast majority of these are provided by the
- Qt3Support module.
-
- \generatelist compatclasses
-
- \sa {Qt's Classes}, {Qt's Modules}
-*/
diff --git a/doc/src/compiler-notes.qdoc b/doc/src/compiler-notes.qdoc
new file mode 100644
index 0000000..4a7451d
--- /dev/null
+++ b/doc/src/compiler-notes.qdoc
@@ -0,0 +1,278 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page compiler-notes.html
+ \ingroup platform-notes
+ \title Compiler Notes
+ \brief Information about the C++ compilers and tools used to build Qt.
+
+ This page contains information about the C++ compilers and tools used
+ to build Qt on various platforms.
+
+ \tableofcontents
+
+ Please refer to the \l{Platform Notes} for information on the platforms
+ Qt is currently known to run on, and see the \l{Supported Platforms}
+ page for information about the status of each platform.
+
+ If you have anything to add to this list or any of the platform or
+ compiler-specific pages, please submit it via the \l{Bug Report Form}
+ or through the \l{Public Qt Repository}.
+
+ \section1 Supported Features
+
+ Not all compilers used to build Qt are able to compile all modules. The following table
+ shows the compiler support for five modules that are not uniformly available for all
+ platforms and compilers.
+
+ \table
+ \header \o Compiler \o{5,1} Features
+ \header \o \o Concurrent \o XmlPatterns \o WebKit \o CLucene \o Phonon
+ \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
+ \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row
+ \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
+ \row
+ \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \row
+ \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
+ \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
+ \endtable
+
+ \target GCC
+ \section1 GCC
+
+ \section2 GCC on Windows (MinGW)
+
+ We have tested Qt with this compiler on Windows XP.
+ The minimal version of MinGW supported is:
+
+ \list
+ \o GCC 3.4.2
+ \o MinGW runtime 3.7
+ \o win32api 3.2
+ \o binutils 2.15.91
+ \o mingw32-make 3.80.0-3
+ \endlist
+
+ \section2 GCC 4.0.0
+
+ The released package of the compiler has some bugs that lead to miscompilations.
+ We recommend using GCC 4.0.1 or later, or to use a recent CVS snapshot of the
+ GCC 4.0 branch. The version of GCC 4.0.0 that is shipped with Mac OS X 10.4
+ "Tiger" is known to work with Qt for Mac OS X.
+
+ \section2 HP-UX
+
+ The hpux-g++ platform is tested with GCC 3.4.4.
+
+ \section2 Solaris
+
+ Please use GCC 3.4.2 or later.
+
+ \section2 Mac OS X
+
+ Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
+ The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code.
+ Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
+
+ \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
+
+ This compiler is known to miscompile some parts of Qt when doing a
+ release build. There are several workarounds:
+
+ \list 1
+ \o Use a debug build instead.
+ \o For each miscompilation encountered, recompile the file, removing the -O2 option.
+ \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.
+ \endlist
+
+ \section1 HP ANSI C++ (aCC)
+
+ The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
+ hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
+
+ \section1 Intel C++ Compiler
+
+ Qt supports the Intel C++ compiler on both Windows and Linux.
+ However, there are a few issues on Linux (see the following
+ section).
+
+ \section2 Intel C++ Compiler for Linux
+
+ Nokia currently tests the following compilers:
+
+ \list
+
+ \o Intel(R) C++ Compiler for applications running on IA-32,
+ Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
+
+ \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
+ Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
+
+ \endlist
+
+ We do not currently test the IA-64 (Itanium) compiler.
+
+ \section2 Known Issues with Intel C++ Compiler for Linux
+
+ \list
+
+ \o Precompiled header support does not work in version 10.0.025
+ and older. For these compilers, you should configure Qt with
+ -no-pch. Precompiled header support works properly in version
+ 10.0.026 and later.
+ \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
+ building in release mode. For now, configure Qt with
+ -debug. Version 10.1.008 and later can compile qmake in release
+ mode.
+ \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
+ known crash with "(0): internal error: 0_47021" when compiling
+ QtXmlPatterns, QtWebKit, and Designer in release mode. Version
+ 10.1.017 compiles these modules correctly in release mode.
+ \endlist
+
+ \section2 Intel C++ Compiler (Windows, Altix)
+
+ Qt 4 has been tested successfully with:
+
+ \list
+ \o Windows - Intel(R) C++ Compiler for 32-bit applications,
+ Version 8.1 Build 20050309Z Package ID: W_CC_PC_8.1.026
+ \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
+ applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
+ \endlist
+
+ We currently only test the Intel compiler on 32-bit Windows versions.
+
+ \section1 MIPSpro (IRIX)
+
+ \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
+ and Qt's Software's online \l{Platform Support Policy} page for details.}
+
+ Qt 4.4.x requires MIPSpro version 7.4.2m.
+
+ Note that MIPSpro version 7.4.4m is currently not supported, since it has
+ introduced a number of problems that have not yet been resolved.
+ We recommend using 7.4.2m for Qt development. However, please note the
+ unsupported status of this platform.
+
+ \target Sun Studio
+ \section1 Forte Developer / Sun Studio (Solaris)
+
+ \section2 Sun Studio
+
+ Qt is tested using Sun Studio 8 (Sun CC 5.5). Go to
+ \l{Sun Studio Patches} page on Sun's Web site to download
+ the latest patches for your Sun compiler.
+
+ \section2 Sun WorkShop 5.0
+
+ Sun WorkShop 5.0 is not supported with Qt 4.
+
+ \section1 Visual Studio (Windows)
+
+ We do most of our Windows development on Windows XP, using Microsoft
+ Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
+ versions).
+
+ Qt works with the Standard Edition, the Professional Edition and Team
+ System Edition of Visual Studio 2005.
+
+ We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.
+
+ In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
+ to download and install the platform SDK. Due to limitations in the
+ Express Edition it is not possible for us to install the Qt Visual
+ Studio Integration. You will need to use our command line tools to
+ build Qt applications with this edition.
+
+ The Visual C++ Linker doesn't understand filenames with spaces (as in
+ \c{C:\Program files\Qt\}) so you will have to move it to another place,
+ or explicitly set the path yourself; for example:
+
+ \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
+
+ If you are experiencing strange problems with using special flags that
+ modify the alignment of structure and union members (such as \c{/Zp2})
+ then you will need to recompile Qt with the flags set for the
+ application as well.
+
+ If you're using Visual Studio .NET (2002) Standard Edition, you should be
+ using the Qt binary package provided, and not the source package.
+ As the Standard Edition does not optimize compiled code, your compiled
+ version of Qt would perform suboptimally with respect to speed.
+
+ With Visual Studio 2005 Service Pack 1 a bug was introduced which
+ causes Qt not to compile, this has been fixed with a hotfix available
+ from Microsoft. See this
+ \l{http://www.qtsoftware.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
+ for more information.
+
+ \section1 IBM xlC (AIX)
+
+ The makeC++SharedLib utility must be in your PATH and be up to date to
+ build shared libraries. From IBM's
+ \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
+ Redbook:
+
+ \list
+ \o "The second step is to use the makeC++SharedLib command to create the
+ shared object. The command has many optional arguments, but in its
+ simplest form, can be used as follows:"
+ \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
+ \o "The full path name to the command is not required; however, to avoid
+ this, you will have to add the directory in which it is located to
+ your PATH environment variable. The command is located in the
+ /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
+ Version 5 compiler."
+ \endlist
+
+ \section2 VisualAge C++ for AIX, Version 6.0
+
+ Make sure you have the
+ \l{http://www-1.ibm.com/support/search.wss?rs=32&amp;tc=SSEP5D&amp;dc=D400}{latest upgrades}
+ installed.
+*/
diff --git a/doc/src/coordsys.qdoc b/doc/src/coordsys.qdoc
index 7ba3946..4a73d67 100644
--- a/doc/src/coordsys.qdoc
+++ b/doc/src/coordsys.qdoc
@@ -224,12 +224,12 @@
Transformations} demo for a visualization of a sheared coordinate
system. All the transformation operations operate on QPainter's
transformation matrix that you can retrieve using the
- QPainter::worldMatrix() function. A matrix transforms a point in the
- plane to another point.
+ QPainter::worldTransform() function. A matrix transforms a point
+ in the plane to another point.
If you need the same transformations over and over, you can also
- use QMatrix objects and the QPainter::worldMatrix() and
- QPainter::setWorldMatrix() functions. You can at any time save the
+ use QTransform objects and the QPainter::worldTransform() and
+ QPainter::setWorldTransform() functions. You can at any time save the
QPainter's transformation matrix by calling the QPainter::save()
function which saves the matrix on an internal stack. The
QPainter::restore() function pops it back.
@@ -318,7 +318,7 @@
transformations affects the result.
For more information about the transformation matrix, see the
- QMatrix documentation.
+ QTransform documentation.
\section1 Window-Viewport Conversion
@@ -328,7 +328,7 @@
The mapping of the logical coordinates to the physical coordinates
are handled by QPainter's world transformation \l
- {QPainter::worldMatrix()}{worldMatrix()} (described in the \l
+ {QPainter::worldTransform()}{worldTransform()} (described in the \l
Transformations section), and QPainter's \l
{QPainter::viewport()}{viewport()} and \l
{QPainter::window()}{window()}. The viewport represents the
@@ -419,14 +419,14 @@
\endtable
The 2D transformations of the coordinate system are specified
- using the QMatrix class:
+ using the QTransform class:
\table
\header \o Class \o Description
\row
- \o QMatrix
+ \o QTransform
\o
- A 3 x 3 transformation matrix. Use QMatrix to rotate, shear,
+ A 3 x 3 transformation matrix. Use QTransform to rotate, shear,
scale, or translate the coordinate system.
\endtable
diff --git a/doc/src/credits.qdoc b/doc/src/credits.qdoc
index 81ded04..15bf1e2 100644
--- a/doc/src/credits.qdoc
+++ b/doc/src/credits.qdoc
@@ -247,6 +247,7 @@
Mike Perik <mikep at crt.com>\br
Mike Sharkey <msharkey at softarc.com>\br
Mikko Ala-Fossi <mikko.ala-fossi at vaisala.com>\br
+ Milan Burda <milan.burda at gmail.com>\br
Miroslav Flidr <flidr at kky.zcu.cz>\br
Miyata Shigeru <miyata at kusm.kyoto-u.ac.jp>\br
Myron Uecker <muecker at csd.net>\br
diff --git a/doc/src/datastreamformat.qdoc b/doc/src/datastreamformat.qdoc
index dea193f..5db85cb 100644
--- a/doc/src/datastreamformat.qdoc
+++ b/doc/src/datastreamformat.qdoc
@@ -220,6 +220,25 @@
\o dx (double)
\o dy (double)
\endlist
+ \row \o QMatrix4x4
+ \o \list
+ \o m11 (double)
+ \o m12 (double)
+ \o m13 (double)
+ \o m14 (double)
+ \o m21 (double)
+ \o m22 (double)
+ \o m23 (double)
+ \o m24 (double)
+ \o m31 (double)
+ \o m32 (double)
+ \o m33 (double)
+ \o m34 (double)
+ \o m41 (double)
+ \o m42 (double)
+ \o m43 (double)
+ \o m44 (double)
+ \endlist
\row \o QPair<T1, T2>
\o \list
\o first (T1)
@@ -266,6 +285,13 @@
\o The x coordinate (qint32)
\o The y coordinate (qint32)
\endlist
+ \row \o QQuaternion
+ \o \list
+ \o The scalar component (double)
+ \o The x coordinate (double)
+ \o The y coordinate (double)
+ \o The z coordinate (double)
+ \endlist
\row \o QRect
\o \list
\o left (qint32)
@@ -301,6 +327,18 @@
\o \list
\o Milliseconds since midnight (quint32)
\endlist
+ \row \o QTransform
+ \o \list
+ \o m11 (double)
+ \o m12 (double)
+ \o m13 (double)
+ \o m21 (double)
+ \o m22 (double)
+ \o m23 (double)
+ \o m31 (double)
+ \o m32 (double)
+ \o m33 (double)
+ \endlist
\row \o QUrl
\o \list
\o Holds an URL (QString)
@@ -311,6 +349,24 @@
\o The null flag (qint8)
\o The data of the specified type
\endlist
+ \row \o QVector2D
+ \o \list
+ \o the x coordinate (double)
+ \o the y coordinate (double)
+ \endlist
+ \row \o QVector3D
+ \o \list
+ \o the x coordinate (double)
+ \o the y coordinate (double)
+ \o the z coordinate (double)
+ \endlist
+ \row \o QVector4D
+ \o \list
+ \o the x coordinate (double)
+ \o the y coordinate (double)
+ \o the z coordinate (double)
+ \o the w coordinate (double)
+ \endlist
\row \o QVector<T>
\o \list
\o The number of items (quint32)
diff --git a/doc/src/demos/sub-attaq.qdoc b/doc/src/demos/sub-attaq.qdoc
new file mode 100644
index 0000000..6bbf763
--- /dev/null
+++ b/doc/src/demos/sub-attaq.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example demos/sub-attaq
+ \title Sub-Attaq
+
+ This demo shows Qt's ability to combine \l{The Animation Framework}{the animation framework}
+ and \l{The State Machine Framework}{the state machine framework} to create a game.
+
+ \image sub-attaq-demo.png
+
+ The purpose of the game is to destroy all submarines to win the current level.
+ The boat can be controlled using left and right keys. To fire a bomb you can press
+ up and down keys.
+*/
diff --git a/doc/src/deployment.qdoc b/doc/src/deployment.qdoc
index 0866930..1da2c06 100644
--- a/doc/src/deployment.qdoc
+++ b/doc/src/deployment.qdoc
@@ -715,17 +715,19 @@
\table 100%
\header
- \o \o VC++ 6.0 \o VC++ 7.1 (2003) \o VC++ 8.0 (2005)
+ \o \o VC++ 6.0 \o VC++ 7.1 (2003) \o VC++ 8.0 (2005) \o VC++ 9.0 (2008)
\row
\o The C run-time
\o \c msvcrt.dll
\o \c msvcr71.dll
\o \c msvcr80.dll
+ \o \c msvcr90.dll
\row
\o The C++ run-time
\o \c msvcp60.dll
\o \c msvcp71.dll
\o \c msvcp80.dll
+ \o \c msvcp90.dll
\endtable
To verify that the application now can be successfully deployed,
@@ -893,7 +895,7 @@
\o \l{qt-conf.html}{Using \c qt.conf}. This approach is the recommended
if you have executables in different places sharing the same plugins.
-
+
\o Using QApplication::addLibraryPath() or
QApplication::setLibraryPaths(). This approach is recommended if you only
have one executable that will use the plugin.
@@ -902,10 +904,10 @@
hard-coded paths in the QtCore library.
\endlist
-
+
If you add a custom path using QApplication::addLibraryPath it could
look like this:
-
+
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 54
Then qApp->libraryPaths() would return something like this:
diff --git a/doc/src/designer-manual.qdoc b/doc/src/designer-manual.qdoc
index 67114b9..ab33185 100644
--- a/doc/src/designer-manual.qdoc
+++ b/doc/src/designer-manual.qdoc
@@ -86,7 +86,7 @@
\o \l{Creating Main Windows in Qt Designer}
\o \l{Editing Resources with Qt Designer}
\o \l{Using Stylesheets with Qt Designer}
- \o \l{Using a Designer .ui File in Your Application}
+ \o \l{Using a Designer UI File in Your Application}
\endlist
For advanced usage of \QD, you can refer to these links:
@@ -158,7 +158,7 @@
has been introduced to aid translators in the case of two source
texts being the same but used for different purposes. For example,
a dialog could have two \gui{Add} buttons for two different
- reasons. \note To maintain compatibility, comments in \c{.ui} files
+ reasons. \note To maintain compatibility, comments in UI files
created prior to Qt 4.5 will be listed in the \gui{Disambiguation}
field.
\endlist
@@ -402,7 +402,7 @@
while setting as few widget size constraints as possible.
For a more technical perspective on Qt's layout classes, refer to the
- \l{Layout Classes} document.
+ \l{Layout Management} documentation.
*/
@@ -620,7 +620,7 @@
\key{Ctrl+O}.
At any point, you can save your form by selecting the \gui{Save From As...}
- option from the \gui File menu. The \c{.ui} files saved by \QD contain
+ option from the \gui File menu. The UI files saved by \QD contain
information about the objects used, and any details of signal and slot
connections between them.
@@ -953,7 +953,7 @@
\image designer-form-layout.png
- The \c{.ui} file above results in the previews shown below.
+ The UI file above results in the previews shown below.
\table
\header
@@ -1226,7 +1226,7 @@
The whole connection can be selected by clicking on any of its path
segments. Once selected, a connection can be deleted with the
- \key Delete key, ensuring that it will not be set up in the \c{.ui}
+ \key Delete key, ensuring that it will not be set up in the UI
file.
\endtable
*/
@@ -1360,7 +1360,7 @@
inside. Both widgets and spacers can be used inside containers.
Stacked widgets, tab widgets, and toolboxes are handled specially in \QD.
- Norwally, when adding pages (tabs, pages, compartments) to these containers
+ Normally, when adding pages (tabs, pages, compartments) to these containers
in your own code, you need to supply existing widgets, either as
placeholders or containing child widgets. In \QD, these are automatically
created for you, so you can add child objects to each page straight away.
@@ -1795,7 +1795,7 @@ pixmap property in the property editor.
\page designer-stylesheet.html
\contentspage {Qt Designer Manual}{Contents}
\previouspage Editing Resources with Qt Designer
- \nextpage Using a Designer .ui File in Your Application
+ \nextpage Using a Designer UI File in Your Application
\title Using Stylesheets with Qt Designer
@@ -1824,7 +1824,7 @@ pixmap property in the property editor.
\contentspage {Qt Designer Manual}{Contents}
\nextpage Using Custom Widgets with Qt Designer
- \title Using a Designer .ui File in Your Application
+ \title Using a Designer UI File in Your Application
With Qt's integrated build tools, \l{qmake Manual}{qmake} and \l uic, the
code for user interface components created with \QD is automatically
@@ -1855,11 +1855,11 @@ pixmap property in the property editor.
\section2 The Direct Approach
- To demonstrate how to use user interface (\c{.ui}) files straight from
+ To demonstrate how to use user interface (UI) files straight from
\QD, we create a simple Calculator Form application. This is based on the
original \l{Calculator Form Example}{Calculator Form} example.
- The application consists of one source file, \c main.cpp and a \c{.ui}
+ The application consists of one source file, \c main.cpp and a UI
file.
The \c{calculatorform.ui} file designed with \QD is shown below:
@@ -1882,7 +1882,7 @@ pixmap property in the property editor.
\snippet doc/src/snippets/uitools/calculatorform/main.cpp 0
This include is an additional check to ensure that we do not generate code
- for \c .ui files that are not used.
+ for UI files that are not used.
The \c main function creates the calculator widget by constructing a
standard QWidget that we use to host the user interface described by the
@@ -2003,7 +2003,7 @@ pixmap property in the property editor.
\section2 The UiTools Approach
- A resource file containing a \c{.ui} file is required to process forms at
+ A resource file containing a UI file is required to process forms at
run time. Also, the application needs to be configured to use the QtUiTools
module. This is done by including the following declaration in a \c qmake
project file, ensuring that the application is compiled and linked
@@ -2034,7 +2034,7 @@ pixmap property in the property editor.
\snippet examples/uitools/textfinder/textfinder.cpp 1
Processing forms at run-time gives the developer the freedom to change a
- program's user interface, just by changing the \c{.ui} file. This is useful
+ program's user interface, just by changing the UI file. This is useful
when customizing programs to suit various user needs, such as extra large
icons or a different colour scheme for accessibility support.
@@ -2130,12 +2130,12 @@ pixmap property in the property editor.
\image designer-form-settings.png
- When saving a form in \QD, it is stored as an \c .ui file. Several form
+ When saving a form in \QD, it is stored as a UI file. Several form
settings, for example the grid settings or the margin and spacing for the
default layout, are stored along with the form's components. These settings
are used when the \l uic generates the form's C++ code. For more
information on how to use forms in your application, see the
- \l{Using a Designer .ui File in Your Application} section.
+ \l{Using a Designer UI File in Your Application} section.
\section1 Modifying the Form Settings
@@ -2168,7 +2168,7 @@ pixmap property in the property editor.
You can also specify the form's \gui{Include Hints}; i.e., provide a list
of the header files which will then be included in the form window's
- associated \c .ui file. Header files may be local, i.e., relative to the
+ associated UI file. Header files may be local, i.e., relative to the
project's directory, \c "mywidget.h", or global, i.e. part of Qt or the
compilers standard libraries: \c <QtGui/QWidget>.
@@ -2331,7 +2331,7 @@ pixmap property in the property editor.
\row
\o \c includeFile()
\o The header file that must be included in applications that use
- this widget. This information is stored in .ui files and will
+ this widget. This information is stored in UI files and will
be used by \c uic to create a suitable \c{#includes} statement
in the code it generates for the form containing the custom
widget.
@@ -2379,12 +2379,12 @@ pixmap property in the property editor.
\section2 Notes on the \c{domXml()} Function
- The \c{domXml()} function returns a \c{.ui} file snippet that is used by
+ The \c{domXml()} function returns a UI file snippet that is used by
\QD's widget factory to create a custom widget and its applicable
properties.
- Since Qt 4.4, \QD's widget box allows for a complete \c{.ui} file to
- describe \bold one custom widget. The \c{.ui} file can be loaded using the
+ Since Qt 4.4, \QD's widget box allows for a complete UI file to
+ describe \bold one custom widget. The UI file can be loaded using the
\c{<ui>} tag. Specifying the <ui> tag allows for adding the <customwidget>
element that contains additional information for custom widgets. The
\c{<widget>} tag is sufficient if no additional information is required
@@ -2800,7 +2800,7 @@ pixmap property in the property editor.
\title Qt Designer's UI File Format
- The \c .ui file format used by \QD is described by the
+ The \c UI file format used by \QD is described by the
\l{http://www.w3.org/XML/Schema}{XML schema} presented below,
which we include for your convenience. Be aware that the format
may change in future Qt releases.
diff --git a/doc/src/diagrams/programs/easingcurve/main.cpp b/doc/src/diagrams/programs/easingcurve/main.cpp
index 8a2d53b..f249dbc 100644
--- a/doc/src/diagrams/programs/easingcurve/main.cpp
+++ b/doc/src/diagrams/programs/easingcurve/main.cpp
@@ -85,32 +85,37 @@ void createCurveIcons()
qreal curveScale = iconSize.height()/2;
- painter.drawLine(yAxis - 2, xAxis - curveScale, yAxis + 2, xAxis - curveScale); // hor
+ painter.drawLine(yAxis - 2, xAxis - curveScale, yAxis + 2, xAxis - curveScale); // hor
painter.drawLine(yAxis + curveScale, xAxis + 2, yAxis + curveScale, xAxis - 2); // ver
painter.drawText(yAxis + curveScale - 8, xAxis - curveScale - 4, QLatin1String("(1,1)"));
-
+
painter.drawText(yAxis + 42, xAxis + 10, QLatin1String("progress"));
- painter.drawText(15, xAxis - curveScale - 10, QLatin1String("ease"));
-
- painter.setPen(QPen(Qt::red, 1, Qt::DotLine));
+ painter.drawText(15, xAxis - curveScale - 10, QLatin1String("value"));
+
+ painter.setPen(QPen(Qt::red, 1, Qt::DotLine));
painter.drawLine(yAxis, xAxis - curveScale, yAxis + curveScale, xAxis - curveScale); // hor
painter.drawLine(yAxis + curveScale, xAxis, yAxis + curveScale, xAxis - curveScale); // ver
-
- QPoint currentPos(yAxis, xAxis);
-
+
+ QPoint start(yAxis, xAxis - curveScale * curve.valueForProgress(0));
+
painter.setPen(Qt::black);
QFont font = oldFont;
font.setPixelSize(oldFont.pixelSize() + 15);
painter.setFont(font);
painter.drawText(0, iconSize.height() - 20, iconSize.width(), 20, Qt::AlignHCenter, name);
-
- for (qreal t = 0; t < 1.0; t+=1.0/curveScale) {
+
+ QPainterPath curvePath;
+ curvePath.moveTo(start);
+ for (qreal t = 0; t <= 1.0; t+=1.0/curveScale) {
QPoint to;
to.setX(yAxis + curveScale * t);
to.setY(xAxis - curveScale * curve.valueForProgress(t));
- painter.drawLine(currentPos, to);
- currentPos = to;
+ curvePath.lineTo(to);
}
+ painter.setRenderHint(QPainter::Antialiasing, true);
+ painter.strokePath(curvePath, QColor(32, 32, 32));
+ painter.setRenderHint(QPainter::Antialiasing, false);
+
QString fileName(QString::fromAscii("qeasingcurve-%1.png").arg(name.toLower()));
printf("%s\n", qPrintable(fileName));
pix.save(QString::fromAscii("%1/%2").arg(output).arg(fileName), "PNG");
diff --git a/doc/src/dnd.qdoc b/doc/src/dnd.qdoc
index 8d3d79d..5ede20c 100644
--- a/doc/src/dnd.qdoc
+++ b/doc/src/dnd.qdoc
@@ -141,15 +141,17 @@
types of data that the widget accepts.
You must reimplement this function if you want to receive either
QDragMoveEvent or QDropEvent in your reimplementations of
- \l{QWidget::dragMoveEvent()}{dragMoveEvent()} and dropEvent().
+ \l{QWidget::dragMoveEvent()}{dragMoveEvent()} and
+ \l{QWidget::dropEvent()}{dropEvent()}.
- The following code shows how dragEnterEvent() can be reimplemented to
+ The following code shows how \l{QWidget::dragEnterEvent()}{dragEnterEvent()}
+ can be reimplemented to
tell the drag and drop system that we can only handle plain text:
\snippet doc/src/snippets/dropevents/window.cpp 3
- The dropEvent() is used to unpack dropped data and handle it in way that
- is suitable for your application.
+ The \l{QWidget::dropEvent()}{dropEvent()} is used to unpack dropped data
+ and handle it in way that is suitable for your application.
In the following code, the text supplied in the event is passed to a
QTextBrowser and a QComboBox is filled with the list of MIME types that
@@ -159,7 +161,8 @@
In this case, we accept the proposed action without checking what it is.
In a real world application, it may be necessary to return from the
- dropEvent() function without accepting the proposed action or handling
+ \l{QWidget::dropEvent()}{dropEvent()} function without accepting the
+ proposed action or handling
the data if the action is not relevant. For example, we may choose to
ignore Qt::LinkAction actions if we do not support
links to external sources in our application.
@@ -435,7 +438,7 @@
\title Porting to Qt 4 - Drag and Drop
\contentspage {Porting Guides}{Contents}
\previouspage Porting to Qt 4 - Virtual Functions
- \nextpage Porting .ui Files to Qt 4
+ \nextpage Porting UI Files to Qt 4
\ingroup porting
\brief An overview of the porting process for applications that use drag and drop.
diff --git a/doc/src/emb-charinput.qdoc b/doc/src/emb-charinput.qdoc
index c9c768c..dc4eed5 100644
--- a/doc/src/emb-charinput.qdoc
+++ b/doc/src/emb-charinput.qdoc
@@ -82,13 +82,13 @@
\section1 Available Keyboard Drivers
- \l {Qt for Embedded Linux} provides ready-made drivers for the SL5000, Yopy,
- Vr41XX, console (TTY) and USB protocols. Run the \c configure
- script to list the available drivers:
+ \l {Qt for Embedded Linux} provides ready-made drivers for the console
+ (TTY) and the standard Linux Input Subsystem (USB, PS/2, ...). Run the
+ \c configure script to list the available drivers:
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 0
- Note that the console keyboard driver also handles console
+ Note that only the console (TTY) keyboard driver handles console
switching (\bold{Ctrl+Alt+F1}, ..., \bold{Ctrl+Alt+F10}) and
termination (\bold{Ctrl+Alt+Backspace}).
@@ -105,6 +105,17 @@
detect the plugin, loading the driver into the server application
at run-time.
+ \section1 Keymaps
+
+ Starting with 4.6, \l {Qt for Embedded Linux} has gained support for
+ user defined keymaps. Keymap handling is supported by the built-in
+ keyboard drivers \c TTY and \c LinuxInput. Custom keyboard drivers can
+ use the existing keymap handling code via
+ QWSKeyboardHandler::processKeycode().
+
+ By default Qt will use an internal, compiled-in US keymap.
+ See the options below for how to load a different keymap.
+
\section1 Specifying a Keyboard Driver
To specify which driver to use, set the QWS_KEYBOARD environment
@@ -113,14 +124,41 @@
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 2
- The \c <driver> argument are \c SL5000, \c Yopy, \c VR41xx, \c
- TTY, \c USB and \l {QKbdDriverPlugin::keys()}{keys} identifying
- custom drivers, and the driver specific options are typically a
- device, e.g., \c /dev/tty0.
+ The \c <driver> arguments are \c TTY, \c LinuxInput and \l
+ {QKbdDriverPlugin::keys()}{keys} identifying custom drivers, and the
+ driver specific options are typically a device, e.g., \c /dev/tty0.
Multiple keyboard drivers can be specified in one go:
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 3
Input will be read from all specified drivers.
+
+ Currently the following options are supported by both the \c TTY and \c
+ LinuxInput driver:
+
+ \table
+ \header \o Option \o Description
+ \row \o \c /dev/xxx \o
+ Open the specified device, instead of the driver's default device.
+ \row \o \c repeat-delay=<d> \o
+ Time (in milliseconds) until auto-repeat kicks in.
+ \row \o \c repeat-rate=<r> \o
+ Time (in milliseconds) specifying the interval between auto-repeats.
+ \row \o \c keymap=xx.qmap \o
+ File name of a keymap file in Qt's \c qmap format. See \l {kmap2qmap}
+ for instructions on how to create thoes files.\br Note that the file
+ name can of course also be the name of a QResource.
+ \row \o \c disable-zap \o
+ Disable the QWS server "Zap" shortcut \bold{Ctrl+Alt+Backspace}
+ \row \o \c enable-compose \o
+ Activate Latin-1 composing features in the built-in US keymap. You can
+ use the right \c AltGr or right \c Alt is used as a dead key modifier,
+ while \c AltGr+. is the compose key. For example:
+ \list
+ \o \c AltGr + \c " + \c u = \uuml (u with diaeresis / umlaut u)
+ \o \c AltGr + \c . + \c / + \c o = \oslash (slashed o)
+ \endlist
+ \endtable
+
*/
diff --git a/doc/src/emb-kmap2qmap.qdoc b/doc/src/emb-kmap2qmap.qdoc
new file mode 100644
index 0000000..19d33c1
--- /dev/null
+++ b/doc/src/emb-kmap2qmap.qdoc
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt-embedded-kmap2qmap.html
+ \title kmap2qmap
+ \ingroup qt-embedded-linux
+
+ \c kmap2qmap is a tool to generate keymaps for use on Embedded Linux.
+ The source files have to be in standard Linux \c kmap format that is
+ e.g. understood by the kernel's \c loadkeys command. This means you
+ can use the following sources to generate \c qmap files:
+
+ \list
+ \o The \l {http://lct.sourceforge.net/}{Linux Console Tools (LCT)} project.
+ \o \l {http://www.x.org/}{Xorg} X11 keymaps can be converted to the \c
+ kmap format with the \c ckbcomp utility.
+ \o Since \c kmap files are plain text files, they can also be hand crafted.
+ \endlist
+
+ The generated \c qmap files are size optimized binary files.
+
+ \c kmap2qmap is a command line program, that needs at least 2 files as
+ parameters. The last one will be the generated \c .qmap file, while all
+ the others will be parsed as input \c .kmap files. For example:
+
+ \code
+ kmap2qmap i386/qwertz/de-latin1-nodeadkeys.kmap include/compose.latin1.inc de-latin1-nodeadkeys.qmap
+ \endcode
+
+ \c kmap2qmap does not support all the (pseudo) symbols that the Linux
+ kernel supports. If you are converting a standard keymap you will get a
+ lot of warnings for things like \c Show_Registers, \c Hex_A, etc.: you
+ can safely ignore those.
+
+ It also doesn't support numeric symbols (e.g. \c{keycode 1 = 4242},
+ instead of \c{keycode 1 = colon}), since these are deprecated and can
+ change from one kernel version to the other.
+
+ On the other hand, \c kmap2qmap supports one additional, Qt specific,
+ symbol: \c QtZap. The built-in US keymap has that symbol mapped tp
+ \c{Ctrl+Alt+Backspace} and it serves as a shortcut to kill your QWS
+ server (similiar to the X11 server).
+
+ See also \l {Qt for Embedded Linux Character Input}
+*/
diff --git a/doc/src/emb-pointer.qdoc b/doc/src/emb-pointer.qdoc
index b13dec0..49504fe 100644
--- a/doc/src/emb-pointer.qdoc
+++ b/doc/src/emb-pointer.qdoc
@@ -64,9 +64,10 @@
\section1 Available Drivers
\l{Qt for Embedded Linux} provides ready-made drivers for the MouseMan,
- IntelliMouse, Microsoft, NEC Vr41XX, Linux Touch Panel and Yopy
- protocols as well as the universal touch screen library,
- tslib. Run the \c configure script to list the available drivers:
+ IntelliMouse, Microsoft and Linux Touch Panel protocols, for the
+ standard Linux Input Subsystem as well as the universal touch screen
+ library, tslib. Run the \c configure script to list the available
+ drivers:
\if defined(QTOPIA_PHONE)
@@ -125,7 +126,7 @@
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 4
The valid values for the \c <driver> argument are \c MouseMan, \c
- IntelliMouse, \c Microsoft, \c VR41xx, \c LinuxTP, \c Yopy, \c
+ IntelliMouse, \c Microsoft, \c LinuxTP, \c LinuxInput, \c
Tslib and \l {QMouseDriverPlugin::keys()}{keys} identifying custom
drivers, and the driver specific options are typically a device,
e.g., \c /dev/mouse for mouse devices and \c /dev/ts for touch
@@ -137,14 +138,6 @@
Input will be read from all specified drivers.
- Note that the \c Vr41xx driver also accepts two optional
- arguments: \c press=<value> defining a mouse click (the default
- value is 750) and \c filter=<value> specifying the length of the
- filter used to eliminate noise (the default length is 3). For
- example:
-
- \snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 6
-
\table
\header \o The Tslib Mouse Driver
\row
diff --git a/doc/src/examples-overview.qdoc b/doc/src/examples-overview.qdoc
index 4313c43..3db4a45 100644
--- a/doc/src/examples-overview.qdoc
+++ b/doc/src/examples-overview.qdoc
@@ -238,6 +238,17 @@
These examples demonstrate the basic techniques used to take advantage of
OpenGL in Qt applications.
+ \section1 \l{Qt Examples#Multimedia}{Multimedia}
+
+ \l{Qt Examples#Multimedia}
+
+ Qt provides low-level audio support on linux,windows and mac platforms by default and
+ an audio plugin API to allow developers to implement there own audio support for
+ custom devices and platforms.
+
+ These examples demonstrate the basic techniques used to take advantage of
+ Audio API in Qt applications.
+
\section1 \l{Qt Examples#SQL}{SQL}
\l{Qt Examples#SQL}{\inlineimage sql-examples.png
diff --git a/doc/src/examples.qdoc b/doc/src/examples.qdoc
index 4ac4fb3..4ff683e 100644
--- a/doc/src/examples.qdoc
+++ b/doc/src/examples.qdoc
@@ -255,6 +255,14 @@
\o \l{phonon/musicplayer}{Music Player}\raisedaster
\endlist
+ \section1 Multimedia
+
+ \list
+ \o \l{multimedia/audio/audiodevices}{Audio Devices}\raisedaster
+ \o \l{multimedia/audio/audiooutput}{Audio Output}\raisedaster
+ \o \l{multimedia/audio/audioinput}{Audio Input}\raisedaster
+ \endlist
+
\section1 Qt Designer
\list
@@ -324,7 +332,6 @@
\o \l{statemachine/pingpong}{Ping Pong States}\raisedaster
\o \l{statemachine/trafficlight}{Traffic Light}\raisedaster
\o \l{statemachine/twowaybutton}{Two-way Button}\raisedaster
- \o \l{statemachine/tankgame}{Tank Game}\raisedaster
\endlist
\section1 Threads
@@ -418,6 +425,7 @@
\o \l{xmlpatterns/qobjectxmlmodel}{QObject XML Model Example}
\o \l{xmlpatterns/xquery/globalVariables}{C++ Source Code Analyzer Example}
\o \l{xmlpatterns/trafficinfo}{Traffic Info}\raisedaster
+ \o \l{xmlpatterns/schema}{XML Schema Validation}\raisedaster
\endlist
\section1 Inter-Process Communication
diff --git a/doc/src/examples/arrowpad.qdoc b/doc/src/examples/arrowpad.qdoc
index 9e9268c..fa19fbb 100644
--- a/doc/src/examples/arrowpad.qdoc
+++ b/doc/src/examples/arrowpad.qdoc
@@ -140,10 +140,10 @@
QLocale::system() can be influenced by setting the \c LANG
environment variable, for example. Notice that the use of a naming
convention that incorporates the locale for \c .qm message files,
- (and \c .ts files), makes it easy to implement choosing the
+ (and TS files), makes it easy to implement choosing the
translation file according to locale.
- If there is no \c .qm message file for the locale chosen the original
+ If there is no QM message file for the locale chosen the original
source text will be used and no error raised.
\section1 Translating to French and Dutch
@@ -194,9 +194,9 @@
\endlist
We have to convert the \c tt1_fr.ts and \c tt1_nl.ts translation source
- files into \c .qm files. We could use \e {Qt Linguist} as we've done
+ files into QM files. We could use \e {Qt Linguist} as we've done
before; however using the command line tool \c lrelease ensures that
- \e all the \c .qm files for the application are created without us
+ \e all the QM files for the application are created without us
having to remember to load and \gui File|Release each one
individually from \e {Qt Linguist}.
diff --git a/doc/src/examples/audiodevices.qdoc b/doc/src/examples/audiodevices.qdoc
new file mode 100644
index 0000000..3b8cdd8
--- /dev/null
+++ b/doc/src/examples/audiodevices.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example multimedia/audio/audiodevices
+ \title Audio Devices Example
+
+ The Audio Devices example demonstrates the basic use of QAudioDeviceInfo class
+ provided with Qt.
+
+ Qt provides the QAudioDeviceInfo class to enable audio querying within
+ a standard application user interface.
+
+ This example allows you to browse audio devices available and try out different
+ configurations to see if they are supported.
+*/
diff --git a/doc/src/examples/audioinput.qdoc b/doc/src/examples/audioinput.qdoc
new file mode 100644
index 0000000..5dfe76e
--- /dev/null
+++ b/doc/src/examples/audioinput.qdoc
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example multimedia/audio/audioinput
+ \title AudioInput Example
+
+ The Audio Input example demonstrates the basic use of QAudioInput class
+ provided with Qt.
+
+ Qt provides the QAudioInput class to enable audio functionality within
+ a standard application user interface.
+
+ This example uses a fast-fourier transform on the input audio from the microphone
+ and displays the output.
+*/
diff --git a/doc/src/examples/audiooutput.qdoc b/doc/src/examples/audiooutput.qdoc
new file mode 100644
index 0000000..9c8a75f
--- /dev/null
+++ b/doc/src/examples/audiooutput.qdoc
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example multimedia/audio/audiooutput
+ \title Audio Output Example
+
+ The Audio Output example demonstrates the basic use of the QAudioOutput class
+ provided with Qt.
+
+ This example provides a tone generator to supply continuous audio playback.
+ The first button allows pause and resume of the playback.
+ The second button allows toggling between push and pull modes of operation.
+*/
diff --git a/doc/src/examples/calculatorform.qdoc b/doc/src/examples/calculatorform.qdoc
index 7cbf2ac..90eef3b 100644
--- a/doc/src/examples/calculatorform.qdoc
+++ b/doc/src/examples/calculatorform.qdoc
@@ -45,8 +45,8 @@
The Calculator Form Example shows how to use a form created with
\QD in an application by using the user interface information from
- a QWidget subclass. We use \l{Using a Designer .ui File in Your Application}
- {uic's auto-connection} feature to automatically connect signals
+ a QWidget subclass. We use \l{Using a Designer UI File in Your Application}
+ {uic's auto-connection} feature to automatically connect signals
from widgets on the form to slots in our code.
\image calculatorform-example.png Screenshot of the Calculator Form example
@@ -59,7 +59,7 @@
\section1 Preparation
The user interface for this example is designed completely using \QD. The
- result is a .ui file describing the form, the widgets used, any signal-slot
+ result is a UI file describing the form, the widgets used, any signal-slot
connections between them, and other standard user interface properties.
To ensure that the example can use this file, we need to include a \c FORMS
diff --git a/doc/src/examples/collidingmice-example.qdoc b/doc/src/examples/collidingmice-example.qdoc
index 5b124f9..f627fbf 100644
--- a/doc/src/examples/collidingmice-example.qdoc
+++ b/doc/src/examples/collidingmice-example.qdoc
@@ -95,11 +95,11 @@
the global qrand() function which is a thread-safe version of the
standard C++ rand() function.
- Then we call the \l {QGraphicsItem::rotate()}{rotate()} function
+ Then we call the \l {QGraphicsItem::setRotation()}{setRotation()} function
inherited from QGraphicsItem. Items live in their own local
coordinate system. Their coordinates are usually centered around
(0, 0), and this is also the center for all transformations. By
- calling the item's \l {QGraphicsItem::rotate()}{rotate()} function
+ calling the item's \l {QGraphicsItem::setRotation()}{setRotation()} function
we alter the direction in which the mouse will start moving.
When the QGraphicsScene decides to advance the scene a frame it will call
diff --git a/doc/src/examples/completer.qdoc b/doc/src/examples/completer.qdoc
index 9aaaf66..3805a7c 100644
--- a/doc/src/examples/completer.qdoc
+++ b/doc/src/examples/completer.qdoc
@@ -100,9 +100,9 @@
\section1 MainWindow Class Definition
- The \c MainWindow class is a subclass of QMainWindow and implements four
- private slots - \c about(), \c changeCase(), \c changeMode(), and
- \c changeModel().
+ The \c MainWindow class is a subclass of QMainWindow and implements five
+ private slots - \c about(), \c changeCase(), \c changeMode(), \c changeModel(),
+ and \c changeMaxVisible().
\snippet examples/tools/completer/mainwindow.h 0
@@ -126,6 +126,9 @@
\snippet examples/tools/completer/mainwindow.cpp 0
+ The \c maxVisibleSpinBox is created and determines the number of visible
+ item in the completer
+
The \c wrapCheckBox is then set up. This \c checkBox determines if the
\c{completer}'s \l{QCompleter::setWrapAround()}{setWrapAround()} property
is enabled or disabled.
@@ -242,10 +245,15 @@
\snippet examples/tools/completer/mainwindow.cpp 14
- The \c about() function provides a brief description about the example.
+ The \c changeMaxVisible() update the maximum number of visible items in
+ the completer.
\snippet examples/tools/completer/mainwindow.cpp 15
+ The \c about() function provides a brief description about the example.
+
+ \snippet examples/tools/completer/mainwindow.cpp 16
+
\section1 \c main() Function
The \c main() function instantiates QApplication and \c MainWindow and
diff --git a/doc/src/examples/googlechat.qdoc b/doc/src/examples/googlechat.qdoc
index 42a0198..7c9d7db 100644
--- a/doc/src/examples/googlechat.qdoc
+++ b/doc/src/examples/googlechat.qdoc
@@ -48,4 +48,5 @@
\image googlechat-example.png
+ \note The Google Talk instant messaging service is a registered trademark of Google Inc.
*/
diff --git a/doc/src/examples/googlesuggest.qdoc b/doc/src/examples/googlesuggest.qdoc
index 1752420..e3d2b1f 100644
--- a/doc/src/examples/googlesuggest.qdoc
+++ b/doc/src/examples/googlesuggest.qdoc
@@ -48,4 +48,5 @@
\image googlesuggest-example.png
+ \note The Google Suggest suggestion service is a registered trademark of Google Inc.
*/
diff --git a/doc/src/examples/helloscript.qdoc b/doc/src/examples/helloscript.qdoc
index a18e4ad..1b0f43c 100644
--- a/doc/src/examples/helloscript.qdoc
+++ b/doc/src/examples/helloscript.qdoc
@@ -121,7 +121,7 @@
window). Don't forget the exclamation mark!
Click the \gui Done checkbox and choose \gui File|Save from the
- menu bar. The \c .ts file will no longer contain
+ menu bar. The TS file will no longer contain
\snippet doc/src/snippets/code/doc_src_examples_hellotr.qdoc 3
@@ -129,11 +129,11 @@
\snippet doc/src/snippets/code/doc_src_examples_hellotr.qdoc 4
- To see the application running in Latin, we have to generate a \c .qm
- file from the \c .ts file. Generating a \c .qm file can be achieved
- either from within \e {Qt Linguist} (for a single \c .ts file), or
- by using the command line program \c lrelease which will produce one \c
- .qm file for each of the \c .ts files listed in the project file.
+ To see the application running in Latin, we have to generate a QM
+ file from the TS file. Generating a QM file can be achieved
+ either from within \e {Qt Linguist} (for a single TS file), or
+ by using the command line program \c lrelease which will produce one
+ QM file for each of the TS files listed in the project file.
Generate \c hellotr_la.qm from \c hellotr_la.ts by choosing
\gui File|Release from \e {Qt Linguist}'s menu bar and pressing
\gui Save in the file save dialog that pops up. Now run the \c helloscript
diff --git a/doc/src/examples/hellotr.qdoc b/doc/src/examples/hellotr.qdoc
index bb38737..18e0715 100644
--- a/doc/src/examples/hellotr.qdoc
+++ b/doc/src/examples/hellotr.qdoc
@@ -108,12 +108,12 @@
Note that the file extension is \c .ts, not \c .qm. The \c .ts
translation source format is designed for use during the
application's development. Programmers or release managers run
- the \c lupdate program to generate and update \c .ts files with
+ the \c lupdate program to generate and update TS files with
the source text that is extracted from the source code.
- Translators read and update the \c .ts files using \e {Qt
+ Translators read and update the TS files using \e {Qt
Linguist} adding and editing their translations.
- The \c .ts format is human-readable XML that can be emailed directly
+ The TS format is human-readable XML that can be emailed directly
and is easy to put under version control. If you edit this file
manually, be aware that the default encoding for XML is UTF-8, not
Latin1 (ISO 8859-1). One way to type in a Latin1 character such as
@@ -121,8 +121,8 @@
"\&#xf8;". This will work for any Unicode 4.0 character.
Once the translations are complete the \c lrelease program is used to
- convert the \c .ts files into the \c .qm Qt message file format. The
- \c .qm format is a compact binary format designed to deliver very
+ convert the TS files into the QM Qt message file format. The
+ QM format is a compact binary format designed to deliver very
fast lookup performance. Both \c lupdate and \c lrelease read all the
project's source and header files (as specified in the HEADERS and
SOURCES lines of the project file) and extract the strings that
@@ -131,7 +131,7 @@
\c lupdate is used to create and update the message files (\c hellotr_la.ts
in this case) to keep them in sync with the source code. It is safe to
run \c lupdate at any time, as \c lupdate does not remove any
- information. For example, you can put it in the makefile, so the \c .ts
+ information. For example, you can put it in the makefile, so the TS
files are updated whenever the source changes.
Try running \c lupdate right now, like this:
@@ -151,7 +151,7 @@
We will use \e {Qt Linguist} to provide the translation, although
you can use any XML or plain text editor to enter a translation into a
- \c .ts file.
+ TS file.
To start \e {Qt Linguist}, type
@@ -163,7 +163,7 @@
window). Don't forget the exclamation mark!
Click the \gui Done checkbox and choose \gui File|Save from the
- menu bar. The \c .ts file will no longer contain
+ menu bar. The TS file will no longer contain
\snippet doc/src/snippets/code/doc_src_examples_hellotr.qdoc 3
@@ -173,11 +173,11 @@
\section1 Running the Application in Latin
- To see the application running in Latin, we have to generate a \c .qm
- file from the \c .ts file. Generating a \c .qm file can be achieved
- either from within \e {Qt Linguist} (for a single \c .ts file), or
- by using the command line program \c lrelease which will produce one \c
- .qm file for each of the \c .ts files listed in the project file.
+ To see the application running in Latin, we have to generate a QM
+ file from the TS file. Generating a QM file can be achieved
+ either from within \e {Qt Linguist} (for a single TS file), or
+ by using the command line program \c lrelease which will produce one
+ QM file for each of the TS files listed in the project file.
Generate \c hellotr_la.qm from \c hellotr_la.ts by choosing
\gui File|Release from \e {Qt Linguist}'s menu bar and pressing
\gui Save in the file save dialog that pops up. Now run the \c hellotr
diff --git a/doc/src/examples/htmlinfo.qdoc b/doc/src/examples/htmlinfo.qdoc
index af236e1..e2be964 100644
--- a/doc/src/examples/htmlinfo.qdoc
+++ b/doc/src/examples/htmlinfo.qdoc
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/examples/moveblocks.qdoc b/doc/src/examples/moveblocks.qdoc
index 2bdcca5..d11af91 100644
--- a/doc/src/examples/moveblocks.qdoc
+++ b/doc/src/examples/moveblocks.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/examples/multipleinheritance.qdoc b/doc/src/examples/multipleinheritance.qdoc
index 5a77275..1622fb0 100644
--- a/doc/src/examples/multipleinheritance.qdoc
+++ b/doc/src/examples/multipleinheritance.qdoc
@@ -103,6 +103,6 @@
There are various approaches to include forms into applications. The
Multiple Inheritance approach is just one of them. See
- \l{Using a Designer .ui File in Your Application} for more information on
+ \l{Using a Designer UI File in Your Application} for more information on
the other approaches available.
*/
diff --git a/doc/src/examples/qtscripttetrix.qdoc b/doc/src/examples/qtscripttetrix.qdoc
index c94697a..fb2d537 100644
--- a/doc/src/examples/qtscripttetrix.qdoc
+++ b/doc/src/examples/qtscripttetrix.qdoc
@@ -57,7 +57,7 @@
\section1 Setting up the GUI
- The graphical user interface is defined in a \c{.ui} file, creating
+ The graphical user interface is defined in a UI file, created
using Qt Designer, and is set up in the example's C++ \c{main.cpp} file.
\snippet examples/script/qstetrix/main.cpp 0
diff --git a/doc/src/examples/schema.qdoc b/doc/src/examples/schema.qdoc
new file mode 100644
index 0000000..675158f
--- /dev/null
+++ b/doc/src/examples/schema.qdoc
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example xmlpatterns/schema
+ \title XML Schema Validation Example
+
+ This example shows how to use QtXmlPatterns to validate XML with
+ a W3C XML Schema.
+
+ \tableofcontents
+
+ \section1 Introduction
+
+ The example application shows different XML schema definitions and
+ for every definition two XML instance documents, one that is valid
+ according to the schema and one that is not.
+ The user can select the valid or invalid instance document, change
+ it and validate it again.
+
+ \section2 The User Interface
+
+ The UI for this example was created using \l{Qt Designer Manual} {Qt
+ Designer}:
+
+ \image schema-example.png
+
+ The UI consists of three parts, at the top the XML schema \l{QComboBox} {selection}
+ and the schema \l{QTextBrowser} {viewer}, below the XML instance \l{QComboBox} {selection}
+ and the instance \l{QTextEdit} {editor} and at the bottom the validation status \l{QLabel} {label}
+ next to the validation \l{QPushButton} {button}.
+
+ \section2 Validating XML Instance Documents
+
+ You can select one of the three predefined XML schemas and for each schema
+ an valid or invalid instance document. A click on the 'Validate' button will
+ validate the content of the XML instance editor against the schema from the
+ XML schema viewer. As you can modify the content of the instance editor, different
+ instances can be tested and validation error messages analysed.
+
+ \section1 Code Walk-Through
+
+ The example's main() function creates the standard instance of
+ QApplication. Then it creates an instance of the mainwindow class, shows it,
+ and starts the Qt event loop:
+
+ \snippet examples/xmlpatterns/schema/main.cpp 0
+
+ \section2 The UI Class: MainWindow
+
+ The example's UI is a conventional Qt GUI application inheriting
+ QMainWindow and the class generated by \l{Qt Designer Manual} {Qt
+ Designer}:
+
+ \snippet examples/xmlpatterns/schema/mainwindow.h 0
+
+ The constructor fills the schema and instance \l{QComboBox} selections with the predefined
+ schemas and instances and connects their \l{QComboBox::currentIndexChanged()} {currentIndexChanged()}
+ signals to the window's \c{schemaSelected()} resp. \c{instanceSelected()} slot.
+ Furthermore the signal-slot connections for the validation \l{QPushButton} {button}
+ and the instance \l{QTextEdit} {editor} are set up.
+
+ The call to \c{schemaSelected(0)} and \c{instanceSelected(0)} will trigger the validation
+ of the initial Contact Schema example.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 0
+
+ In the \c{schemaSelected()} slot the content of the instance \l{QComboBox} {selection}
+ is adapted to the selected schema and the corresponding schema is loaded from the
+ \l{The Qt Resource System} {resource file} and displayed in the schema \l{QTextBrowser} {viewer}.
+ At the end of the method a revalidation is triggered.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 1
+
+ In the \c{instanceSelected()} slot the selected instance is loaded from the
+ \l{The Qt Resource System} {resource file} and loaded into the instance \l{QTextEdit} {editor}
+ an the revalidation is triggered again.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 2
+
+ The \c{validate()} slot does the actual work in this example.
+ At first it stores the content of the schema \l{QTextBrowser} {viewer} and the
+ \l{QTextEdit} {editor} into temporary \l{QByteArray} {variables}.
+ Then it instanciates a \c{MessageHandler} object which inherits from
+ \l{QAbstractMessageHandler} {QAbstractMessageHandler} and is a convenience
+ class to store error messages from the XmlPatterns system.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 4
+
+ After the \l{QXmlSchema} {QXmlSchema} is instanciated and the message handler set
+ on it, the \l{QXmlSchema::load()} {load()} method is called with the schema data as argument.
+ If the schema is invalid or a parsing error has occured, \l{QXmlSchema::isValid()} {isValid()}
+ returns \c{false} and the error is flagged in \c{errorOccurred}.
+ If the loading was successful, a \l{QXmlSchemaValidator} {QXmlSchemaValidator} is
+ instanciated and the schema passed in the constructor.
+ A call to \l{QXmlSchemaValidator::validate()} {validate()} will validate the passed
+ XML instance data against the XML schema. The return value of that method signals
+ whether the validation was successful.
+ Depending on the success the status \l{QLabel} {label} is set to 'validation successful'
+ or the error message stored in the \c{MessageHandler}
+
+ The rest of the code does only some fancy coloring and eyecandy.
+
+ \snippet examples/xmlpatterns/schema/mainwindow.cpp 3
+*/
diff --git a/doc/src/examples/scribble.qdoc b/doc/src/examples/scribble.qdoc
index 3a5e018..f32440a 100644
--- a/doc/src/examples/scribble.qdoc
+++ b/doc/src/examples/scribble.qdoc
@@ -354,7 +354,7 @@
To retrieve a new pen width in the \c penWidth() slot, we use
QInputDialog. The QInputDialog class provides a simple
convenience dialog to get a single value from the user. We use
- the static QInputDialog::getInteger() function, which combines a
+ the static QInputDialog::getInt() function, which combines a
QLabel and a QSpinBox. The QSpinBox is initialized with the
scribble area's pen width, allows a range from 1 to 50, a step of
1 (meaning that the up and down arrow increment or decrement the
diff --git a/doc/src/examples/simpletextviewer.qdoc b/doc/src/examples/simpletextviewer.qdoc
index 87eae57..2531a86 100644
--- a/doc/src/examples/simpletextviewer.qdoc
+++ b/doc/src/examples/simpletextviewer.qdoc
@@ -198,12 +198,7 @@
<file>openfile.html</file>
<file>wildcardmatching.html</file>
<file>images/browse.png</file>
- <file>images/fadedfilemenu.png</file>
- <file>images/filedialog.png</file>
- <file>images/handbook.png</file>
- <file>images/mainwindow.png</file>
- <file>images/open.png</file>
- <file>images/wildcard.png</file>
+ <file>images/*.png</file>
</files>
</filterSection>
</QtHelpProject>
diff --git a/doc/src/examples/svggenerator.qdoc b/doc/src/examples/svggenerator.qdoc
index 09fe6e1..dd7459a 100644
--- a/doc/src/examples/svggenerator.qdoc
+++ b/doc/src/examples/svggenerator.qdoc
@@ -55,8 +55,8 @@
The example consists of two classes: \c Window and \c DisplayWidget.
The \c Window class contains the application logic and constructs the user
- interface from a Qt Designer \c{.ui} file as described in the
- \l{Using a Designer .ui File in Your Application#The Multiple Inheritance Approach}{Qt Designer manual}.
+ interface from a Qt Designer UI file as described in the
+ \l{Using a Designer UI File in Your Application#The Multiple Inheritance Approach}{Qt Designer manual}.
It also contains the code to write an SVG file.
The \c DisplayWidget class performs all the work of painting a picture on
diff --git a/doc/src/examples/tablet.qdoc b/doc/src/examples/tablet.qdoc
index e412815..61c140f 100644
--- a/doc/src/examples/tablet.qdoc
+++ b/doc/src/examples/tablet.qdoc
@@ -275,7 +275,10 @@
In this function we draw on the image based on the movement of the
device. If the device used on the tablet is a stylus we want to draw a
- line between the positions of the stylus recorded in \c polyLine.
+ line between the positions of the stylus recorded in \c polyLine. We
+ also assume that this is a reasonable handling of any unknown device,
+ but update the statusbar with a warning so that the user can see that
+ for his tablet he might have to implement special handling.
If it is an airbrush we want to draw a circle of points with a
point density based on the tangential pressure, which is the position
of the finger wheel on the airbrush. We use the Qt::BrushStyle to
diff --git a/doc/src/examples/tankgame.qdoc b/doc/src/examples/tankgame.qdoc
deleted file mode 100644
index 536e582..0000000
--- a/doc/src/examples/tankgame.qdoc
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example statemachine/tankgame
- \title Tank Game Example
-
- The Tank Game example is part of the in \l{The State Machine Framework}. It shows how to use
- parallel states to implement artificial intelligence controllers that run in parallel, and error
- states to handle run-time errors in parts of the state graph created by external plugins.
-
- \image tankgame-example.png
-
- In this example we write a simple game. The application runs a state machine with two main
- states: A "stopped" state and a "running" state. The user can load plugins from the disk by
- selecting the "Add tank" menu item.
-
- When the "Add tank" menu item is selected, the "plugins" subdirectory in the example's
- directory is searched for compatible plugins. If any are found, they will be listed in a
- dialog box created using QInputDialog::getItem().
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 1
-
- If the user selects a plugin, the application will construct a TankItem object, which inherits
- from QGraphicsItem and QObject, and which implements an agreed-upon interface using the
- meta-object mechanism.
-
- \snippet examples/statemachine/tankgame/tankitem.h 0
-
- The tank item will be passed to the plugin's create() function. This will in turn return a
- QState object which is expected to implement an artificial intelligence which controls the
- tank and attempts to destroy other tanks it detects.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 2
-
- Each returned QState object becomes a descendant of a \c region in the "running" state, which is
- defined as a parallel state. This means that entering the "running" state will cause each of the
- plugged-in QState objects to be entered simultaneously, allowing the tanks to run independently
- of each other.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 0
-
- The maximum number of tanks on the map is four, and when this number is reached, the
- "Add tank" menu item should be disabled. This is implemented by giving the "stopped" state two
- children which define whether the map is full or not.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 5
-
- To make sure that we go into the correct child state when returning from the "running" state
- (if the "Stop game" menu item is selected while the game is running) we also give the "stopped"
- state a history state which we make the initial state of "stopped" state.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 3
-
- Since part of the state graph is defined by external plugins, we have no way of controlling
- whether they contain errors. By default, run-time errors are handled in the state machine by
- entering a top level state which prints out an error message and never exits. If we were to
- use this default behavior, a run-time error in any of the plugins would cause the "running"
- state to exit, and thus all the other tanks to stop running as well. A better solution would
- be if the broken plugin was disabled and the rest of the tanks allowed to continue as before.
-
- This is done by setting the error state of the plugin's top-most state to a special error state
- defined specifically for the plugin in question.
-
- \snippet examples/statemachine/tankgame/mainwindow.cpp 4
-
- If a run-time error occurs in \c pluginState or any of its descendants, the state machine will
- search the hierarchy of ancestors until it finds a state whose error state is different from
- \c null. (Note that if we are worried that a plugin could inadvertedly be overriding our
- error state, we could search the descendants of \c pluginState and verify that their error
- states are set to \c null before accepting the plugin.)
-
- The specialized \c errorState sets the "enabled" property of the tank item in question to false,
- causing it to be painted with a red cross over it to indicate that it is no longer running.
- Since the error state is a child of the same region in the parallel "running" state as
- \c pluginState, it will not exit the "running" state, and the other tanks will continue running
- without disruption.
-
-*/
diff --git a/doc/src/examples/textfinder.qdoc b/doc/src/examples/textfinder.qdoc
index adbbd0d..acfbd0f 100644
--- a/doc/src/examples/textfinder.qdoc
+++ b/doc/src/examples/textfinder.qdoc
@@ -45,7 +45,7 @@
The Text Finder example demonstrates how to dynamically process forms
using the QtUiTools module. Dynamic form processing enables a form to
- be processed at run-time only by changing the .ui file for the project.
+ be processed at run-time only by changing the UI file for the project.
The program allows the user to look up a particular word within the
contents of a text file. This text file is included in the project's
resource and is loaded into the display at startup.
@@ -95,7 +95,7 @@
\snippet examples/uitools/textfinder/textfinder.h 0
The slot \c{on_find_Button_clicked()} is a slot named according to the
- \l{Using a Designer .ui File in Your Application#Automatic Connections}
+ \l{Using a Designer UI File in Your Application#Automatic Connections}
{Automatic Connection} naming convention required
by \c uic.
diff --git a/doc/src/examples/transformations.qdoc b/doc/src/examples/transformations.qdoc
index a449d4c..a5f92a8 100644
--- a/doc/src/examples/transformations.qdoc
+++ b/doc/src/examples/transformations.qdoc
@@ -85,10 +85,10 @@
All the tranformation operations operate on QPainter's
tranformation matrix that you can retrieve using the
- QPainter::matrix() function. A matrix transforms a point in the
+ QPainter::worldTransform() function. A matrix transforms a point in the
plane to another point. For more information about the
transformation matrix, see the \l {The Coordinate System} and
- QMatrix documentation.
+ QTransform documentation.
\snippet examples/painting/transformations/renderarea.h 0
@@ -375,7 +375,7 @@
All the tranformation operations operate on QPainter's
tranformation matrix. For more information about the
transformation matrix, see the \l {The Coordinate System} and
- QMatrix documentation.
+ QTransform documentation.
The Qt reference documentation provides several painting
demos. Among these is the \l {demos/affine}{Affine
diff --git a/doc/src/examples/worldtimeclockbuilder.qdoc b/doc/src/examples/worldtimeclockbuilder.qdoc
index 55246e9..f38062a 100644
--- a/doc/src/examples/worldtimeclockbuilder.qdoc
+++ b/doc/src/examples/worldtimeclockbuilder.qdoc
@@ -66,7 +66,7 @@
generate a dependency on the \c libQtUiTools library containing the QtUiTools
classes.
- Note that we do not inform \c qmake about any .ui files, and so none will
+ Note that we do not inform \c qmake about any UI files, and so none will
be processed and built into the application. The resource file contains
an entry for the particular form that we wish to use:
diff --git a/doc/src/exceptionsafety.qdoc b/doc/src/exceptionsafety.qdoc
index 580cb17..1378f24 100644
--- a/doc/src/exceptionsafety.qdoc
+++ b/doc/src/exceptionsafety.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/functions.qdoc b/doc/src/functions.qdoc
deleted file mode 100644
index e4c8c57..0000000
--- a/doc/src/functions.qdoc
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/****************************************************************************
-**
-** Documentation for class overview.
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt GUI Toolkit.
-** EDITIONS: FREE, PROFESSIONAL, ENTERPRISE
-**
-****************************************************************************/
-
-/*!
- \page functions.html
- \title Member Function Index
- \ingroup classlists
-
- Here is the list of all the documented member functions in the Qt
- API with links to the class documentation for each function.
-
- \generatelist functionindex
-*/
diff --git a/doc/src/graphicsview.qdoc b/doc/src/graphicsview.qdoc
index 4c408cd..89f9f3d 100644
--- a/doc/src/graphicsview.qdoc
+++ b/doc/src/graphicsview.qdoc
@@ -141,7 +141,7 @@
to scene coordinates where appropriate), before sending the events
to the visualized scene.
- Using its transformation matrix, QGraphicsView::matrix(), the view can
+ Using its transformation matrix, QGraphicsView::transform(), the view can
\e transform the scene's coordinate system. This allows advanced
navigation features such as zooming and rotation. For convenience,
QGraphicsView also provides functions for translating between view and
@@ -174,7 +174,7 @@
also provides many functions for mapping coordinates between the item
and the scene, and from item to item. Also, like QGraphicsView, it can
transform its coordinate system using a matrix:
- QGraphicsItem::matrix(). This is useful for rotating and scaling
+ QGraphicsItem::transform(). This is useful for rotating and scaling
individual items.
Items can contain other items (children). Parent items'
@@ -201,6 +201,9 @@
using an untransformed view, one unit on the scene is represented by
one pixel on the screen.
+ \note The inverted Y-axis coordinate system (where \c y grows upwards)
+ is unsupported as Graphics Views uses Qt's coordinate system.
+
There are three effective coordinate systems in play in Graphics View:
Item coordinates, scene coordinates, and view coordinates. To simplify
your implementation, Graphics View provides convenience functions that
@@ -458,11 +461,7 @@
By making an item a child of another, you can achieve the most
essential feature of item grouping: the items will move together, and
- all transformations are propagated from parent to child. QGraphicsItem
- can also handle all events for its children (see
- QGraphicsItem::setHandlesChildEvents()). This allows the parent item
- to act on behalf of its children, effectively treating all items as
- one.
+ all transformations are propagated from parent to child.
In addition, QGraphicsItemGroup is a special item that combines child
event handling with a useful interface for adding and removing items
diff --git a/doc/src/groups.qdoc b/doc/src/groups.qdoc
index 2733853..f7296a3 100644
--- a/doc/src/groups.qdoc
+++ b/doc/src/groups.qdoc
@@ -40,24 +40,6 @@
****************************************************************************/
/*!
- \group groups
- \title Grouped Classes
- \ingroup classlists
-
- This page provides a way of navigating Qt's classes by grouping
- related classes together. Some classes may appear in more than one group.
-
- \generatelist{related}
-
- \omit
- \row
- \o \l{Component Model}
- \o Interfaces and helper classes for the Qt Component Model.
- \endomit
-
-*/
-
-/*!
\group advanced
\title Advanced Widgets
\ingroup groups
@@ -147,12 +129,6 @@
*/
-/* \group componentmodel
- \title Component Model
-
- These classes and interfaces form the basis of the \l{Qt Component Model}.
-
-*/
/*!
\group database
@@ -226,22 +202,8 @@
*/
/*!
- \group explicitly-shared
- \ingroup groups
-
- \title Explicitly Shared Classes
- \brief Classes that use explicit sharing to manage internal data.
-
- \keyword explicit sharing
- \keyword explicitly shared
-
- Unlike many of Qt's data types, which use \l{implicit sharing}, these
- classes use explicit sharing to manage internal data.
-*/
-
-/*!
\group geomanagement
- \title Layout Management
+ \title Layout Classes
\ingroup groups
\brief Classes handling automatic resizing and moving of widgets, for
@@ -401,103 +363,6 @@
*/
/*!
- \group shared
- \title Implicitly Shared Classes
- \ingroup architecture
- \ingroup groups
-
- \brief Classes that use reference counting for fast copying.
-
- \keyword implicit data sharing
- \keyword implicit sharing
- \keyword implicitly shared
- \keyword reference counting
- \keyword shared implicitly
- \keyword shared classes
-
- Many C++ classes in Qt use implicit data sharing to maximize
- resource usage and minimize copying. Implicitly shared classes are
- both safe and efficient when passed as arguments, because only a
- pointer to the data is passed around, and the data is copied only
- if and when a function writes to it, i.e., \e {copy-on-write}.
-
- \tableofcontents
-
- \section1 Overview
-
- A shared class consists of a pointer to a shared data block that
- contains a reference count and the data.
-
- When a shared object is created, it sets the reference count to 1. The
- reference count is incremented whenever a new object references the
- shared data, and decremented when the object dereferences the shared
- data. The shared data is deleted when the reference count becomes
- zero.
-
- \keyword deep copy
- \keyword shallow copy
-
- When dealing with shared objects, there are two ways of copying an
- object. We usually speak about \e deep and \e shallow copies. A deep
- copy implies duplicating an object. A shallow copy is a reference
- copy, i.e. just a pointer to a shared data block. Making a deep copy
- can be expensive in terms of memory and CPU. Making a shallow copy is
- very fast, because it only involves setting a pointer and incrementing
- the reference count.
-
- Object assignment (with operator=()) for implicitly shared objects is
- implemented using shallow copies.
-
- The benefit of sharing is that a program does not need to duplicate
- data unnecessarily, which results in lower memory use and less copying
- of data. Objects can easily be assigned, sent as function arguments,
- and returned from functions.
-
- Implicit sharing takes place behind the scenes; the programmer
- does not need to worry about it. Even in multithreaded
- applications, implicit sharing takes place, as explained in
- \l{Threads and Implicit Sharing}.
-
- \section1 Implicit Sharing in Detail
-
- Implicit sharing automatically detaches the object from a shared
- block if the object is about to change and the reference count is
- greater than one. (This is often called \e {copy-on-write} or
- \e {value semantics}.)
-
- An implicitly shared class has total control of its internal data. In
- any member functions that modify its data, it automatically detaches
- before modifying the data.
-
- The QPen class, which uses implicit sharing, detaches from the shared
- data in all member functions that change the internal data.
-
- Code fragment:
- \snippet doc/src/snippets/code/doc_src_groups.qdoc 0
-
- \section1 List of Classes
-
- The classes listed below automatically detach from common data if
- an object is about to be changed. The programmer will not even
- notice that the objects are shared. Thus you should treat
- separate instances of them as separate objects. They will always
- behave as separate objects but with the added benefit of sharing
- data whenever possible. For this reason, you can pass instances
- of these classes as arguments to functions by value without
- concern for the copying overhead.
-
- Example:
- \snippet doc/src/snippets/code/doc_src_groups.qdoc 1
-
- In this example, \c p1 and \c p2 share data until QPainter::begin()
- is called for \c p2, because painting a pixmap will modify it.
-
- \warning Do not copy an implicitly shared container (QMap,
- QVector, etc.) while you are iterating over it using an non-const
- \l{STL-style iterator}.
-*/
-
-/*!
\group ssl
\title Secure Sockets Layer (SSL) Classes
\ingroup groups
diff --git a/doc/src/hierarchy.qdoc b/doc/src/hierarchy.qdoc
deleted file mode 100644
index 4a278dc..0000000
--- a/doc/src/hierarchy.qdoc
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page hierarchy.html
-
- \title Class Inheritance Hierarchy
- \ingroup classlists
-
- This list shows the C++ class inheritance relations between the
- classes in the Qt API.
-
- \generatelist classhierarchy
-*/
diff --git a/doc/src/i18n.qdoc b/doc/src/i18n.qdoc
index 4109b62..d043f45 100644
--- a/doc/src/i18n.qdoc
+++ b/doc/src/i18n.qdoc
@@ -144,13 +144,13 @@
aligned, so for these languages use the version of drawText() that
takes a QRect since this will align in accordance with the language.
- \o When you write your own text input controls, use \l
- QFontMetrics::charWidth() to determine the width of a character in a
- string. In some languages (e.g. Arabic or languages from the Indian
+ \o When you write your own text input controls, use QTextLayout.
+ In some languages (e.g. Arabic or languages from the Indian
subcontinent), the width and shape of a glyph changes depending on the
- surrounding characters. Writing input controls usually requires a
- certain knowledge of the scripts it is going to be used in. Usually
- the easiest way is to subclass QLineEdit or QTextEdit.
+ surrounding characters, which QTextLayout takes into account.
+ Writing input controls usually requires a certain knowledge of the
+ scripts it is going to be used in. Usually the easiest way is to
+ subclass QLineEdit or QTextEdit.
\endlist
@@ -266,19 +266,19 @@
\o Run \c lupdate to extract translatable text from the C++
source code of the Qt application, resulting in a message file
- for translators (a \c .ts file). The utility recognizes the tr()
+ for translators (a TS file). The utility recognizes the tr()
construct and the \c{QT_TR*_NOOP()} macros described above and
- produces \c .ts files (usually one per language).
+ produces TS files (usually one per language).
- \o Provide translations for the source texts in the \c .ts file, using
- \e{Qt Linguist}. Since \c .ts files are in XML format, you can also
+ \o Provide translations for the source texts in the TS file, using
+ \e{Qt Linguist}. Since TS files are in XML format, you can also
edit them by hand.
- \o Run \c lrelease to obtain a light-weight message file (a \c .qm
- file) from the \c .ts file, suitable only for end use. Think of the \c
- .ts files as "source files", and \c .qm files as "object files". The
- translator edits the \c .ts files, but the users of your application
- only need the \c .qm files. Both kinds of files are platform and
+ \o Run \c lrelease to obtain a light-weight message file (a QM
+ file) from the TS file, suitable only for end use. Think of the TS
+ files as "source files", and QM files as "object files". The
+ translator edits the TS files, but the users of your application
+ only need the QM files. Both kinds of files are platform and
locale independent.
\endlist
diff --git a/doc/src/images/cursor-hsplit.png b/doc/src/images/cursor-hsplit.png
index 1beda25..a5667e3 100644
--- a/doc/src/images/cursor-hsplit.png
+++ b/doc/src/images/cursor-hsplit.png
Binary files differ
diff --git a/doc/src/images/cursor-vsplit.png b/doc/src/images/cursor-vsplit.png
index a5667e3..1beda25 100644
--- a/doc/src/images/cursor-vsplit.png
+++ b/doc/src/images/cursor-vsplit.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-cosinecurve.png b/doc/src/images/qeasingcurve-cosinecurve.png
index b27e763..8cee978 100644
--- a/doc/src/images/qeasingcurve-cosinecurve.png
+++ b/doc/src/images/qeasingcurve-cosinecurve.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inback.png b/doc/src/images/qeasingcurve-inback.png
index 8506c0f..0064cb3 100644
--- a/doc/src/images/qeasingcurve-inback.png
+++ b/doc/src/images/qeasingcurve-inback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inbounce.png b/doc/src/images/qeasingcurve-inbounce.png
index 275b38c..eaa64f8 100644
--- a/doc/src/images/qeasingcurve-inbounce.png
+++ b/doc/src/images/qeasingcurve-inbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incirc.png b/doc/src/images/qeasingcurve-incirc.png
index b985e9c..7bd0f09 100644
--- a/doc/src/images/qeasingcurve-incirc.png
+++ b/doc/src/images/qeasingcurve-incirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incubic.png b/doc/src/images/qeasingcurve-incubic.png
index e417ee1..1ac9eaf 100644
--- a/doc/src/images/qeasingcurve-incubic.png
+++ b/doc/src/images/qeasingcurve-incubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-incurve.png b/doc/src/images/qeasingcurve-incurve.png
index d9a9340..578259e 100644
--- a/doc/src/images/qeasingcurve-incurve.png
+++ b/doc/src/images/qeasingcurve-incurve.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inelastic.png b/doc/src/images/qeasingcurve-inelastic.png
index b242fd3..f976b5a 100644
--- a/doc/src/images/qeasingcurve-inelastic.png
+++ b/doc/src/images/qeasingcurve-inelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inexpo.png b/doc/src/images/qeasingcurve-inexpo.png
index f06316c..1af3652 100644
--- a/doc/src/images/qeasingcurve-inexpo.png
+++ b/doc/src/images/qeasingcurve-inexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutback.png b/doc/src/images/qeasingcurve-inoutback.png
index 9fd1446..480bc05 100644
--- a/doc/src/images/qeasingcurve-inoutback.png
+++ b/doc/src/images/qeasingcurve-inoutback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutbounce.png b/doc/src/images/qeasingcurve-inoutbounce.png
index fb65f31..de62309 100644
--- a/doc/src/images/qeasingcurve-inoutbounce.png
+++ b/doc/src/images/qeasingcurve-inoutbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutcirc.png b/doc/src/images/qeasingcurve-inoutcirc.png
index 123cc54..b4be8ac 100644
--- a/doc/src/images/qeasingcurve-inoutcirc.png
+++ b/doc/src/images/qeasingcurve-inoutcirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutcubic.png b/doc/src/images/qeasingcurve-inoutcubic.png
index b07695c..49dfbef 100644
--- a/doc/src/images/qeasingcurve-inoutcubic.png
+++ b/doc/src/images/qeasingcurve-inoutcubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutelastic.png b/doc/src/images/qeasingcurve-inoutelastic.png
index 65851e1..5b0e54a 100644
--- a/doc/src/images/qeasingcurve-inoutelastic.png
+++ b/doc/src/images/qeasingcurve-inoutelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutexpo.png b/doc/src/images/qeasingcurve-inoutexpo.png
index 7cbfb13..776984a 100644
--- a/doc/src/images/qeasingcurve-inoutexpo.png
+++ b/doc/src/images/qeasingcurve-inoutexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquad.png b/doc/src/images/qeasingcurve-inoutquad.png
index c5eed06..2643330 100644
--- a/doc/src/images/qeasingcurve-inoutquad.png
+++ b/doc/src/images/qeasingcurve-inoutquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquart.png b/doc/src/images/qeasingcurve-inoutquart.png
index 3b66c0d..31fc0c8 100644
--- a/doc/src/images/qeasingcurve-inoutquart.png
+++ b/doc/src/images/qeasingcurve-inoutquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutquint.png b/doc/src/images/qeasingcurve-inoutquint.png
index c74efe9..4d7a745 100644
--- a/doc/src/images/qeasingcurve-inoutquint.png
+++ b/doc/src/images/qeasingcurve-inoutquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inoutsine.png b/doc/src/images/qeasingcurve-inoutsine.png
index 5964f31..012ff75 100644
--- a/doc/src/images/qeasingcurve-inoutsine.png
+++ b/doc/src/images/qeasingcurve-inoutsine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquad.png b/doc/src/images/qeasingcurve-inquad.png
index 3373310..e697c20 100644
--- a/doc/src/images/qeasingcurve-inquad.png
+++ b/doc/src/images/qeasingcurve-inquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquart.png b/doc/src/images/qeasingcurve-inquart.png
index 28086d8..6d65175 100644
--- a/doc/src/images/qeasingcurve-inquart.png
+++ b/doc/src/images/qeasingcurve-inquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-inquint.png b/doc/src/images/qeasingcurve-inquint.png
index 330aa85..faaaea7 100644
--- a/doc/src/images/qeasingcurve-inquint.png
+++ b/doc/src/images/qeasingcurve-inquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-insine.png b/doc/src/images/qeasingcurve-insine.png
index 63d9238..0944903 100644
--- a/doc/src/images/qeasingcurve-insine.png
+++ b/doc/src/images/qeasingcurve-insine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-linear.png b/doc/src/images/qeasingcurve-linear.png
index 2a05885..fb3aaf3 100644
--- a/doc/src/images/qeasingcurve-linear.png
+++ b/doc/src/images/qeasingcurve-linear.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outback.png b/doc/src/images/qeasingcurve-outback.png
index 7cb34c6..83b3fa2 100644
--- a/doc/src/images/qeasingcurve-outback.png
+++ b/doc/src/images/qeasingcurve-outback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outbounce.png b/doc/src/images/qeasingcurve-outbounce.png
index 932fc16..27ac979 100644
--- a/doc/src/images/qeasingcurve-outbounce.png
+++ b/doc/src/images/qeasingcurve-outbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcirc.png b/doc/src/images/qeasingcurve-outcirc.png
index a1a6cb6..0019370 100644
--- a/doc/src/images/qeasingcurve-outcirc.png
+++ b/doc/src/images/qeasingcurve-outcirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcubic.png b/doc/src/images/qeasingcurve-outcubic.png
index aa1d604..45477c0 100644
--- a/doc/src/images/qeasingcurve-outcubic.png
+++ b/doc/src/images/qeasingcurve-outcubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outcurve.png b/doc/src/images/qeasingcurve-outcurve.png
index a949ae4..295b471 100644
--- a/doc/src/images/qeasingcurve-outcurve.png
+++ b/doc/src/images/qeasingcurve-outcurve.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outelastic.png b/doc/src/images/qeasingcurve-outelastic.png
index 2a9ba39..1d407ed 100644
--- a/doc/src/images/qeasingcurve-outelastic.png
+++ b/doc/src/images/qeasingcurve-outelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outexpo.png b/doc/src/images/qeasingcurve-outexpo.png
index e771c2e..5685155 100644
--- a/doc/src/images/qeasingcurve-outexpo.png
+++ b/doc/src/images/qeasingcurve-outexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinback.png b/doc/src/images/qeasingcurve-outinback.png
index 7523727..4700ab0 100644
--- a/doc/src/images/qeasingcurve-outinback.png
+++ b/doc/src/images/qeasingcurve-outinback.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinbounce.png b/doc/src/images/qeasingcurve-outinbounce.png
index ab73d02..12cc1a8 100644
--- a/doc/src/images/qeasingcurve-outinbounce.png
+++ b/doc/src/images/qeasingcurve-outinbounce.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outincirc.png b/doc/src/images/qeasingcurve-outincirc.png
index ec4b8d3..c8a5c86 100644
--- a/doc/src/images/qeasingcurve-outincirc.png
+++ b/doc/src/images/qeasingcurve-outincirc.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outincubic.png b/doc/src/images/qeasingcurve-outincubic.png
index 8b8ae68..42af870 100644
--- a/doc/src/images/qeasingcurve-outincubic.png
+++ b/doc/src/images/qeasingcurve-outincubic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinelastic.png b/doc/src/images/qeasingcurve-outinelastic.png
index 89dde2c..308be57 100644
--- a/doc/src/images/qeasingcurve-outinelastic.png
+++ b/doc/src/images/qeasingcurve-outinelastic.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinexpo.png b/doc/src/images/qeasingcurve-outinexpo.png
index 5909901..0692baa 100644
--- a/doc/src/images/qeasingcurve-outinexpo.png
+++ b/doc/src/images/qeasingcurve-outinexpo.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquad.png b/doc/src/images/qeasingcurve-outinquad.png
index 7ddefee..9e3cd83 100644
--- a/doc/src/images/qeasingcurve-outinquad.png
+++ b/doc/src/images/qeasingcurve-outinquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquart.png b/doc/src/images/qeasingcurve-outinquart.png
index 00ef597..9a3c16f 100644
--- a/doc/src/images/qeasingcurve-outinquart.png
+++ b/doc/src/images/qeasingcurve-outinquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinquint.png b/doc/src/images/qeasingcurve-outinquint.png
index 361bfaa4..add9feb 100644
--- a/doc/src/images/qeasingcurve-outinquint.png
+++ b/doc/src/images/qeasingcurve-outinquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outinsine.png b/doc/src/images/qeasingcurve-outinsine.png
index 1737041..4bc2aaf 100644
--- a/doc/src/images/qeasingcurve-outinsine.png
+++ b/doc/src/images/qeasingcurve-outinsine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquad.png b/doc/src/images/qeasingcurve-outquad.png
index 6f27cbd..c505ff9 100644
--- a/doc/src/images/qeasingcurve-outquad.png
+++ b/doc/src/images/qeasingcurve-outquad.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquart.png b/doc/src/images/qeasingcurve-outquart.png
index d45a0b8..6eac058 100644
--- a/doc/src/images/qeasingcurve-outquart.png
+++ b/doc/src/images/qeasingcurve-outquart.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outquint.png b/doc/src/images/qeasingcurve-outquint.png
index 6e7df0e..77a9ad4 100644
--- a/doc/src/images/qeasingcurve-outquint.png
+++ b/doc/src/images/qeasingcurve-outquint.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-outsine.png b/doc/src/images/qeasingcurve-outsine.png
index 7546a0d..d135b2f 100644
--- a/doc/src/images/qeasingcurve-outsine.png
+++ b/doc/src/images/qeasingcurve-outsine.png
Binary files differ
diff --git a/doc/src/images/qeasingcurve-sinecurve.png b/doc/src/images/qeasingcurve-sinecurve.png
index ca67d44..6134a01 100644
--- a/doc/src/images/qeasingcurve-sinecurve.png
+++ b/doc/src/images/qeasingcurve-sinecurve.png
Binary files differ
diff --git a/doc/src/images/schema-example.png b/doc/src/images/schema-example.png
new file mode 100644
index 0000000..5e95bf5
--- /dev/null
+++ b/doc/src/images/schema-example.png
Binary files differ
diff --git a/doc/src/images/sub-attaq-demo.png b/doc/src/images/sub-attaq-demo.png
new file mode 100644
index 0000000..5a35ec6
--- /dev/null
+++ b/doc/src/images/sub-attaq-demo.png
Binary files differ
diff --git a/doc/src/implicit-sharing.qdoc b/doc/src/implicit-sharing.qdoc
new file mode 100644
index 0000000..85630dc
--- /dev/null
+++ b/doc/src/implicit-sharing.qdoc
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/* TODO: Move some of the documentation from QSharedDataPointer into this
+ document. */
+
+/*!
+ \group shared
+ \title Implicitly Shared Classes
+ \ingroup architecture
+ \ingroup groups
+
+ \brief Classes that use reference counting for fast copying.
+
+ \keyword implicit data sharing
+ \keyword implicit sharing
+ \keyword implicitly shared
+ \keyword reference counting
+ \keyword shared implicitly
+ \keyword shared classes
+
+ Many C++ classes in Qt use implicit data sharing to maximize
+ resource usage and minimize copying. Implicitly shared classes are
+ both safe and efficient when passed as arguments, because only a
+ pointer to the data is passed around, and the data is copied only
+ if and when a function writes to it, i.e., \e {copy-on-write}.
+
+ \tableofcontents
+
+ \section1 Overview
+
+ A shared class consists of a pointer to a shared data block that
+ contains a reference count and the data.
+
+ When a shared object is created, it sets the reference count to 1. The
+ reference count is incremented whenever a new object references the
+ shared data, and decremented when the object dereferences the shared
+ data. The shared data is deleted when the reference count becomes
+ zero.
+
+ \keyword deep copy
+ \keyword shallow copy
+
+ When dealing with shared objects, there are two ways of copying an
+ object. We usually speak about \e deep and \e shallow copies. A deep
+ copy implies duplicating an object. A shallow copy is a reference
+ copy, i.e. just a pointer to a shared data block. Making a deep copy
+ can be expensive in terms of memory and CPU. Making a shallow copy is
+ very fast, because it only involves setting a pointer and incrementing
+ the reference count.
+
+ Object assignment (with operator=()) for implicitly shared objects is
+ implemented using shallow copies.
+
+ The benefit of sharing is that a program does not need to duplicate
+ data unnecessarily, which results in lower memory use and less copying
+ of data. Objects can easily be assigned, sent as function arguments,
+ and returned from functions.
+
+ Implicit sharing takes place behind the scenes; the programmer
+ does not need to worry about it. Even in multithreaded
+ applications, implicit sharing takes place, as explained in
+ \l{Threads and Implicit Sharing}.
+
+ When implementing your own implicitly shared classes, use the
+ QSharedData and QSharedDataPointer classes.
+
+ \section1 Implicit Sharing in Detail
+
+ Implicit sharing automatically detaches the object from a shared
+ block if the object is about to change and the reference count is
+ greater than one. (This is often called \e {copy-on-write} or
+ \e {value semantics}.)
+
+ An implicitly shared class has total control of its internal data. In
+ any member functions that modify its data, it automatically detaches
+ before modifying the data.
+
+ The QPen class, which uses implicit sharing, detaches from the shared
+ data in all member functions that change the internal data.
+
+ Code fragment:
+ \snippet doc/src/snippets/code/doc_src_groups.qdoc 0
+
+
+ \section1 List of Classes
+
+ The classes listed below automatically detach from common data if
+ an object is about to be changed. The programmer will not even
+ notice that the objects are shared. Thus you should treat
+ separate instances of them as separate objects. They will always
+ behave as separate objects but with the added benefit of sharing
+ data whenever possible. For this reason, you can pass instances
+ of these classes as arguments to functions by value without
+ concern for the copying overhead.
+
+ Example:
+ \snippet doc/src/snippets/code/doc_src_groups.qdoc 1
+
+ In this example, \c p1 and \c p2 share data until QPainter::begin()
+ is called for \c p2, because painting a pixmap will modify it.
+
+ \warning Do not copy an implicitly shared container (QMap,
+ QVector, etc.) while you are iterating over it using an non-const
+ \l{STL-style iterator}.
+*/
diff --git a/doc/src/ipc.qdoc b/doc/src/ipc.qdoc
index 1349fde..1f9d36d 100644
--- a/doc/src/ipc.qdoc
+++ b/doc/src/ipc.qdoc
@@ -61,12 +61,12 @@
\section1 TCP/IP
- The cross-platform \l{QtNetwork} module
- provides classes that make network programming portable and
- easy. It offers high-level classes (e.g., QHttp, QFtp) that
- communicate using specific application-level protocols, and
- lower-level classes (e.g., QTcpSocket, QTcpServer, QSslSocket) for
- implementing protocols.
+ The cross-platform \l{QtNetwork} module provides classes that make
+ network programming portable and easy. It offers high-level
+ classes (e.g., QNetworkAccessManager, QFtp) that communicate using
+ specific application-level protocols, and lower-level classes
+ (e.g., QTcpSocket, QTcpServer, QSslSocket) for implementing
+ protocols.
\section1 Shared Memory
diff --git a/doc/src/layout.qdoc b/doc/src/layout.qdoc
index ec88089..9350aa8 100644
--- a/doc/src/layout.qdoc
+++ b/doc/src/layout.qdoc
@@ -42,9 +42,8 @@
/*!
\page layout.html
- \title Layout Classes
+ \title Layout Management
\ingroup architecture
- \ingroup classlists
\brief A tour of the standard layout managers and an introduction to custom
layouts.
diff --git a/doc/src/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc
index 0d86ab3..0d86ab3 100644
--- a/doc/src/3rdparty.qdoc
+++ b/doc/src/legal/3rdparty.qdoc
diff --git a/doc/src/commercialeditions.qdoc b/doc/src/legal/commercialeditions.qdoc
index b6d80c2..b6d80c2 100644
--- a/doc/src/commercialeditions.qdoc
+++ b/doc/src/legal/commercialeditions.qdoc
diff --git a/doc/src/editions.qdoc b/doc/src/legal/editions.qdoc
index 9ed4c9c..9ed4c9c 100644
--- a/doc/src/editions.qdoc
+++ b/doc/src/legal/editions.qdoc
diff --git a/doc/src/gpl.qdoc b/doc/src/legal/gpl.qdoc
index 97959e8..97959e8 100644
--- a/doc/src/gpl.qdoc
+++ b/doc/src/legal/gpl.qdoc
diff --git a/doc/src/legal/licenses.qdoc b/doc/src/legal/licenses.qdoc
new file mode 100644
index 0000000..4689114
--- /dev/null
+++ b/doc/src/legal/licenses.qdoc
@@ -0,0 +1,496 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \group licensing
+ \title Licensing Information
+ \ingroup topics
+ \brief Information about licenses and licensing issues.
+
+ These documents include information about Qt's licenses and the licenses
+ of third party components used in Qt.
+
+ \generatelist{related}
+*/
+
+
+/*!
+ \page licenses.html
+ \title Other Licenses Used in Qt
+ \ingroup licensing
+ \brief Information about other licenses used for Qt components and third-party code.
+
+ Qt contains some code that is not provided under the
+ \l{GNU General Public License (GPL)},
+ \l{GNU Lesser General Public License (LGPL)} or the
+ \l{Qt Commercial Editions}{Qt Commercial License Agreement}, but rather under
+ specific licenses from the original authors. Some pieces of code were developed
+ by Nokia and others originated from third parties.
+ This page lists the licenses used, names the authors, and links
+ to the places where it is used.
+
+ Nokia gratefully acknowledges these and other contributions
+ to Qt. We recommend that programs that use Qt also acknowledge
+ these contributions, and quote these license statements in an
+ appendix to the documentation.
+
+ See also: \l{Licenses for Fonts Used in Qt for Embedded Linux}
+
+ \generatelist legalese
+
+ \hr
+
+ Copyright (C) 2000-2004, International Business Machines\br
+ Corporation and others. All Rights Reserved.\br
+ Copyright (C) 2007 Apple Inc. All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this
+ software and associated documentation files (the "Software"), to deal in the Software
+ without restriction, including without limitation the rights to use, copy, modify,
+ merge, publish, distribute, and/or sell copies of the Software, and to permit persons
+ to whom the Software is furnished to do so, provided that the above copyright notice(s)
+ and this permission notice appear in all copies of the Software and that both the above
+ copyright notice(s) and this permission notice appear in supporting documentation.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER
+ OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
+ CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ Except as contained in this notice, the name of a copyright holder shall not be used in
+ advertising or otherwise to promote the sale, use or other dealings in this Software
+ without prior written authorization of the copyright holder.
+
+ \list
+ \o Parts of WebKit used by the QtWebKit module
+ \endlist
+
+ \hr
+
+ Copyright (c) 1998 by Bjorn Reese <breese@imada.ou.dk>
+
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
+ CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
+
+ \list
+ \o Parts of the QCrashHandler class
+ \endlist
+
+ \hr
+
+ Parts of the FreeType projects have been modified and put into Qt
+ for use in the painting subsystem. These files are ftraster.h,
+ ftraster.c, ftgrays.h and ftgrays.c. The following modifications
+ has been made to these files:
+
+ \list
+ \i Renamed FT_ and ft_ symbols to QT_FT_ and qt_ft_ to avoid name
+ conflicts in \c{qrasterdefs_p.h}.
+ \i Removed parts of code not relevant when compiled with
+ _STANDALONE_ defined.
+ \i Changed behavior in \c{ftraster.c} to follow X polygon filling
+ rules.
+ \i Implemented support in \c{ftraster.c} for winding / odd even
+ polygon fill rules.
+ \i Replaced bitmap generation with span generation in \c{ftraster.c}.
+ \i Renamed \c{ftraster.h} as \c{qblackraster_p.h}.
+ \i Renamed \c{ftraster.c} as \c{qblackraster.c}.
+ \i Renamed \c{ftgrays.h} as \c{qgrayraster_p.h}.
+ \i Renamed \c{ftgrays.c} as \c{qgrayraster.c}.
+ \endlist
+
+ See \c src/3rdparty/freetype/docs/FTL.txt and \c
+ src/3rdparty/freetype/docs/GPL.txt for license details.
+
+ \hr
+
+ Copyright (c) 1985, 1986, 1987 X Consortium
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of the X Consortium shall
+ not be used in advertising or otherwise to promote the sale, use or
+ other dealings in this Software without prior written authorization
+ from the X Consortium.
+
+ \list
+ \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
+ \endlist
+
+ \hr
+
+ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted,
+ provided that the above copyright notice appear in all copies and that
+ both that copyright notice and this permission notice appear in
+ supporting documentation, and that the name of Digital not be
+ used in advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+ WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+ \list
+ \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
+ \endlist
+
+ \hr
+
+ Copyright 1985, 1987, 1998 The Open Group
+
+ Permission to use, copy, modify, distribute, and sell this software and its
+ documentation for any purpose is hereby granted without fee, provided that
+ the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation.
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name of The Open Group shall not be
+ used in advertising or otherwise to promote the sale, use or other dealings
+ in this Software without prior written authorization from The Open Group.
+
+ \list
+ \o Parts of the internal QKeyMapper class on X11 platforms
+ \endlist
+
+ \hr
+
+ pnmscale.c - read a portable anymap and scale it
+
+ Copyright (C) 1989, 1991 by Jef Poskanzer.
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted, provided
+ that the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation. This software is provided "as is" without express or
+ implied warranty.
+
+ \list
+ \o Parts of the internal QImageSmoothScaler::scale() function use code
+ based on pnmscale.c by Jef Poskanzer.
+ \endlist
+
+ \hr
+
+ jQuery JavaScript Library v1.3.2
+ http://jquery.com/
+
+ Copyright (c) 2009 John Resig
+ Dual licensed under the MIT and GPL licenses.
+ http://docs.jquery.com/License
+
+ Sizzle CSS Selector Engine - v0.9.3
+ Copyright 2009, The Dojo Foundation
+ Released under the MIT, BSD, and GPL Licenses.
+ More information: http://sizzlejs.com/
+
+ \list
+ \o examples/webkit/fancybrowser/jquery.min.js
+ \endlist
+*/
+
+/*!
+ \page licenses-fonts.html
+ \title Licenses for Fonts Used in Qt for Embedded Linux
+ \ingroup qt-embedded-linux
+ \ingroup licensing
+ \brief Information about the licenses of fonts supplied with Qt for Embedded Linux.
+
+ The fonts supplied with Qt for Embedded Linux have been obtained under a
+ variety of different licenses listed below.
+
+ \tableofcontents
+
+ See also: \l{Other Licenses Used in Qt}
+
+ \section1 Adobe Helvetica
+
+ Copyright 1984-1989, 1994 Adobe Systems Incorporated.
+ Copyright 1988, 1994 Digital Equipment Corporation.
+
+ Adobe is a trademark of Adobe Systems Incorporated which may be
+ registered in certain jurisdictions.
+ Permission to use these trademarks is hereby granted only in
+ association with the images described in this file.
+
+ Permission to use, copy, modify, distribute and sell this software
+ and its documentation for any purpose and without fee is hereby
+ granted, provided that the above copyright notices appear in all
+ copies and that both those copyright notices and this permission
+ notice appear in supporting documentation, and that the names of
+ Adobe Systems and Digital Equipment Corporation not be used in
+ advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission. Adobe Systems and
+ Digital Equipment Corporation make no representations about the
+ suitability of this software for any purpose. It is provided "as
+ is" without express or implied warranty.
+
+ \section1 Adobe Utopia
+
+ Permission to use, reproduce, display and distribute the listed
+ typefaces is hereby granted, provided that the Adobe Copyright notice
+ appears in all whole and partial copies of the software and that the
+ following trademark symbol and attribution appear in all unmodified
+ copies of the software:
+
+ Copyright (c) 1989 Adobe Systems Incorporated
+ Utopia (R)
+ Utopia is a registered trademark of Adobe Systems Incorporated
+
+ The Utopia font
+ Copyright (c) 1989, 1991 Adobe Systems Incorporated. All Rights
+ Reserved.Utopia is a registered trademark of Adobe Systems
+ Incorporated.
+
+ \section1 Babelfish
+
+ \snippet doc/src/snippets/code/doc_src_licenses.qdoc 1
+
+ \section1 Bigelow & Holmes Luxi
+
+ Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font
+ instruction code copyright (c) 2001 by URW++ GmbH. All Rights
+ Reserved. Luxi is a registered trademark of Bigelow & Holmes Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of these Fonts and associated documentation files (the "Font
+ Software"), to deal in the Font Software, including without
+ limitation the rights to use, copy, merge, publish, distribute,
+ sublicense, and/or sell copies of the Font Software, and to permit
+ persons to whom the Font Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright and trademark notices and this permission notice
+ shall be included in all copies of one or more of the Font Software.
+
+ The Font Software may not be modified, altered, or added to, and in
+ particular the designs of glyphs or characters in the Fonts may not
+ be modified nor may additional glyphs or characters be added to the
+ Fonts. This License becomes null and void when the Fonts or Font
+ Software have been modified.
+
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+ BIGELOW & HOLMES INC. OR URW++ GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES
+ OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT,
+ INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+ INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT
+ SOFTWARE.
+
+ Except as contained in this notice, the names of Bigelow & Holmes
+ Inc. and URW++ GmbH. shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Font Software without
+ prior written authorization from Bigelow & Holmes Inc. and URW++ GmbH.
+
+ For further information, contact:
+
+ info@urwpp.de
+ or
+ design@bigelowandholmes.com
+
+ \section1 Bitstream Charter and Courier
+
+ (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA.
+
+ You are hereby granted permission under all Bitstream propriety rights
+ to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream
+ Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts
+ for any purpose and without restriction; provided, that this notice is
+ left intact on all copies of such fonts and that Bitstream's trademark
+ is acknowledged as shown below on all unmodified copies of the 4 Charter
+ Type 1 fonts.
+
+ BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
+
+ \section1 Bitstream Vera
+
+ Copyright (c) 2003 by Bitstream, Inc.
+
+ All Rights Reserved.
+
+ Bitstream Vera is a trademark of Bitstream, Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the fonts accompanying this license ("Fonts") and associated
+ documentation files (the "Font Software"), to reproduce and distribute
+ the Font Software, including without limitation the rights to use,
+ copy, merge, publish, distribute, and/or sell copies of the Font
+ Software, and to permit persons to whom the Font Software is furnished
+ to do so, subject to the following conditions:
+
+ The above copyright and trademark notices and this permission notice
+ shall be included in all copies of one or more of the Font Software
+ typefaces.
+
+ The Font Software may be modified, altered, or added to, and in
+ particular the designs of glyphs or characters in the Fonts may be
+ modified and additional glyphs or characters may be added to the
+ Fonts, only if the fonts are renamed to names not containing either
+ the words "Bitstream" or the word "Vera".
+
+ This License becomes null and void to the extent applicable to Fonts
+ or Font Software that has been modified and is distributed under the
+ "Bitstream Vera" names.
+
+ The Font Software may be sold as part of a larger software package but
+ no copy of one or more of the Font Software typefaces may be sold by
+ itself.
+
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
+ BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
+ OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
+ SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+ Except as contained in this notice, the names of Gnome, the Gnome
+ Foundation, and Bitstream Inc., shall not be used in advertising or
+ otherwise to promote the sale, use or other dealings in this Font
+ Software without prior written authorization from the Gnome Foundation
+ or Bitstream Inc., respectively. For further information, contact:
+ fonts at gnome dot org.
+
+ \omit
+ http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts
+ \endomit
+
+ See also:
+ \l{http://www.bitstream.com/font_rendering/products/dev_fonts/vera.html}{Vera Open Source Fonts}
+
+ \section1 Cursor
+
+ The Cursor font is distributed with the following declaration:
+
+ \e{Copyright (c) 2000 XFree86, Inc.}
+
+ \section1 DejaVu Fonts
+
+ DejaVu fonts come with the following copyright statement:
+
+ Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below)
+
+ \snippet doc/src/snippets/code/doc_src_licenses.qdoc 2
+
+ \section1 Fixed Fonts
+
+ The 5x7 and 6x13 fonts each contain the following copyright notice:
+
+ \e{Public domain font. Share and enjoy.}
+
+ \section1 IBM Courier
+
+ IBM Courier - Copyright (c) IBM Corporation 1990, 1991
+
+ You are hereby granted permission under the terms of the IBM/MIT X Consortium
+ Courier Typefont agreement to execute, reproduce, distribute, display, market,
+ sell and otherwise transfer copies of the IBM Courier font to third parties.
+
+ The font is provided "AS IS" without charge. NO WARRANTIES OR INDEMNIFICATION
+ ARE GIVEN, WHETHER EXPRESS OR IMPLIED INCLUDING, BUT LIMITED TO THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ \section1 Micro
+
+ The Micro font contains the following copyright notice:
+
+ \e{Public domain font. Share and enjoy.}
+
+ \section1 Unifont
+
+ The Unifont font was originally obtained from
+ \l{http://www.czyborra.com/}{Roman Czyborra} under the following license:
+
+ \e{All of my works you find here are freeware. You may freely copy, use, quote,
+ modify or redistribute them as long as you properly attribute my contribution
+ and have given a quick thought about whether Roman might perhaps be interested
+ to read what you did with his stuff. Horizontal rules don't apply.}
+*/
diff --git a/doc/src/opensourceedition.qdoc b/doc/src/legal/opensourceedition.qdoc
index e7bb26a..e7bb26a 100644
--- a/doc/src/opensourceedition.qdoc
+++ b/doc/src/legal/opensourceedition.qdoc
diff --git a/doc/src/trademarks.qdoc b/doc/src/legal/trademarks.qdoc
index 0e659d2..0e659d2 100644
--- a/doc/src/trademarks.qdoc
+++ b/doc/src/legal/trademarks.qdoc
diff --git a/doc/src/licenses.qdoc b/doc/src/licenses.qdoc
deleted file mode 100644
index 7597e7f..0000000
--- a/doc/src/licenses.qdoc
+++ /dev/null
@@ -1,483 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page licenses.html
- \title Other Licenses Used in Qt
- \ingroup licensing
- \brief Information about other licenses used for Qt components and third-party code.
-
- Qt contains some code that is not provided under the
- \l{GNU General Public License (GPL)},
- \l{GNU Lesser General Public License (LGPL)} or the
- \l{Qt Commercial Editions}{Qt Commercial License Agreement}, but rather under
- specific licenses from the original authors. Some pieces of code were developed
- by Nokia and others originated from third parties.
- This page lists the licenses used, names the authors, and links
- to the places where it is used.
-
- Nokia gratefully acknowledges these and other contributions
- to Qt. We recommend that programs that use Qt also acknowledge
- these contributions, and quote these license statements in an
- appendix to the documentation.
-
- See also: \l{Licenses for Fonts Used in Qt for Embedded Linux}
-
- \generatelist legalese
-
- \hr
-
- Copyright (C) 2000-2004, International Business Machines\br
- Corporation and others. All Rights Reserved.\br
- Copyright (C) 2007 Apple Inc. All rights reserved.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this
- software and associated documentation files (the "Software"), to deal in the Software
- without restriction, including without limitation the rights to use, copy, modify,
- merge, publish, distribute, and/or sell copies of the Software, and to permit persons
- to whom the Software is furnished to do so, provided that the above copyright notice(s)
- and this permission notice appear in all copies of the Software and that both the above
- copyright notice(s) and this permission notice appear in supporting documentation.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER
- OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
- CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- Except as contained in this notice, the name of a copyright holder shall not be used in
- advertising or otherwise to promote the sale, use or other dealings in this Software
- without prior written authorization of the copyright holder.
-
- \list
- \o Parts of WebKit used by the QtWebKit module
- \endlist
-
- \hr
-
- Copyright (c) 1998 by Bjorn Reese <breese@imada.ou.dk>
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
- CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
-
- \list
- \o Parts of the QCrashHandler class
- \endlist
-
- \hr
-
- Parts of the FreeType projects have been modified and put into Qt
- for use in the painting subsystem. These files are ftraster.h,
- ftraster.c, ftgrays.h and ftgrays.c. The following modifications
- has been made to these files:
-
- \list
- \i Renamed FT_ and ft_ symbols to QT_FT_ and qt_ft_ to avoid name
- conflicts in \c{qrasterdefs_p.h}.
- \i Removed parts of code not relevant when compiled with
- _STANDALONE_ defined.
- \i Changed behavior in \c{ftraster.c} to follow X polygon filling
- rules.
- \i Implemented support in \c{ftraster.c} for winding / odd even
- polygon fill rules.
- \i Replaced bitmap generation with span generation in \c{ftraster.c}.
- \i Renamed \c{ftraster.h} as \c{qblackraster_p.h}.
- \i Renamed \c{ftraster.c} as \c{qblackraster.c}.
- \i Renamed \c{ftgrays.h} as \c{qgrayraster_p.h}.
- \i Renamed \c{ftgrays.c} as \c{qgrayraster.c}.
- \endlist
-
- See \c src/3rdparty/freetype/docs/FTL.txt and \c
- src/3rdparty/freetype/docs/GPL.txt for license details.
-
- \hr
-
- Copyright (c) 1985, 1986, 1987 X Consortium
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name of the X Consortium shall
- not be used in advertising or otherwise to promote the sale, use or
- other dealings in this Software without prior written authorization
- from the X Consortium.
-
- \list
- \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
- \endlist
-
- \hr
-
- Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation, and that the name of Digital not be
- used in advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- SOFTWARE.
-
- \list
- \o Parts of the Q3PolygonScanner class used in Qt for Embedded Linux
- \endlist
-
- \hr
-
- Copyright 1985, 1987, 1998 The Open Group
-
- Permission to use, copy, modify, distribute, and sell this software and its
- documentation for any purpose is hereby granted without fee, provided that
- the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation.
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name of The Open Group shall not be
- used in advertising or otherwise to promote the sale, use or other dealings
- in this Software without prior written authorization from The Open Group.
-
- \list
- \o Parts of the internal QKeyMapper class on X11 platforms
- \endlist
-
- \hr
-
- pnmscale.c - read a portable anymap and scale it
-
- Copyright (C) 1989, 1991 by Jef Poskanzer.
-
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted, provided
- that the above copyright notice appear in all copies and that both that
- copyright notice and this permission notice appear in supporting
- documentation. This software is provided "as is" without express or
- implied warranty.
-
- \list
- \o Parts of the internal QImageSmoothScaler::scale() function use code
- based on pnmscale.c by Jef Poskanzer.
- \endlist
-
- \hr
-
- jQuery JavaScript Library v1.3.2
- http://jquery.com/
-
- Copyright (c) 2009 John Resig
- Dual licensed under the MIT and GPL licenses.
- http://docs.jquery.com/License
-
- Sizzle CSS Selector Engine - v0.9.3
- Copyright 2009, The Dojo Foundation
- Released under the MIT, BSD, and GPL Licenses.
- More information: http://sizzlejs.com/
-
- \list
- \o examples/webkit/fancybrowser/jquery.min.js
- \endlist
-*/
-
-/*!
- \page licenses-fonts.html
- \title Licenses for Fonts Used in Qt for Embedded Linux
- \ingroup qt-embedded-linux
- \ingroup licensing
- \brief Information about the licenses of fonts supplied with Qt for Embedded Linux.
-
- The fonts supplied with Qt for Embedded Linux have been obtained under a
- variety of different licenses listed below.
-
- \tableofcontents
-
- See also: \l{Other Licenses Used in Qt}
-
- \section1 Adobe Helvetica
-
- Copyright 1984-1989, 1994 Adobe Systems Incorporated.
- Copyright 1988, 1994 Digital Equipment Corporation.
-
- Adobe is a trademark of Adobe Systems Incorporated which may be
- registered in certain jurisdictions.
- Permission to use these trademarks is hereby granted only in
- association with the images described in this file.
-
- Permission to use, copy, modify, distribute and sell this software
- and its documentation for any purpose and without fee is hereby
- granted, provided that the above copyright notices appear in all
- copies and that both those copyright notices and this permission
- notice appear in supporting documentation, and that the names of
- Adobe Systems and Digital Equipment Corporation not be used in
- advertising or publicity pertaining to distribution of the software
- without specific, written prior permission. Adobe Systems and
- Digital Equipment Corporation make no representations about the
- suitability of this software for any purpose. It is provided "as
- is" without express or implied warranty.
-
- \section1 Adobe Utopia
-
- Permission to use, reproduce, display and distribute the listed
- typefaces is hereby granted, provided that the Adobe Copyright notice
- appears in all whole and partial copies of the software and that the
- following trademark symbol and attribution appear in all unmodified
- copies of the software:
-
- Copyright (c) 1989 Adobe Systems Incorporated
- Utopia (R)
- Utopia is a registered trademark of Adobe Systems Incorporated
-
- The Utopia font
- Copyright (c) 1989, 1991 Adobe Systems Incorporated. All Rights
- Reserved.Utopia is a registered trademark of Adobe Systems
- Incorporated.
-
- \section1 Babelfish
-
- \snippet doc/src/snippets/code/doc_src_licenses.qdoc 1
-
- \section1 Bigelow & Holmes Luxi
-
- Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font
- instruction code copyright (c) 2001 by URW++ GmbH. All Rights
- Reserved. Luxi is a registered trademark of Bigelow & Holmes Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of these Fonts and associated documentation files (the "Font
- Software"), to deal in the Font Software, including without
- limitation the rights to use, copy, merge, publish, distribute,
- sublicense, and/or sell copies of the Font Software, and to permit
- persons to whom the Font Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright and trademark notices and this permission notice
- shall be included in all copies of one or more of the Font Software.
-
- The Font Software may not be modified, altered, or added to, and in
- particular the designs of glyphs or characters in the Fonts may not
- be modified nor may additional glyphs or characters be added to the
- Fonts. This License becomes null and void when the Fonts or Font
- Software have been modified.
-
- THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
- OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
- BIGELOW & HOLMES INC. OR URW++ GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES
- OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT,
- INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF
- CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
- INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT
- SOFTWARE.
-
- Except as contained in this notice, the names of Bigelow & Holmes
- Inc. and URW++ GmbH. shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Font Software without
- prior written authorization from Bigelow & Holmes Inc. and URW++ GmbH.
-
- For further information, contact:
-
- info@urwpp.de
- or
- design@bigelowandholmes.com
-
- \section1 Bitstream Charter and Courier
-
- (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA.
-
- You are hereby granted permission under all Bitstream propriety rights
- to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream
- Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts
- for any purpose and without restriction; provided, that this notice is
- left intact on all copies of such fonts and that Bitstream's trademark
- is acknowledged as shown below on all unmodified copies of the 4 Charter
- Type 1 fonts.
-
- BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
-
- \section1 Bitstream Vera
-
- Copyright (c) 2003 by Bitstream, Inc.
-
- All Rights Reserved.
-
- Bitstream Vera is a trademark of Bitstream, Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of the fonts accompanying this license ("Fonts") and associated
- documentation files (the "Font Software"), to reproduce and distribute
- the Font Software, including without limitation the rights to use,
- copy, merge, publish, distribute, and/or sell copies of the Font
- Software, and to permit persons to whom the Font Software is furnished
- to do so, subject to the following conditions:
-
- The above copyright and trademark notices and this permission notice
- shall be included in all copies of one or more of the Font Software
- typefaces.
-
- The Font Software may be modified, altered, or added to, and in
- particular the designs of glyphs or characters in the Fonts may be
- modified and additional glyphs or characters may be added to the
- Fonts, only if the fonts are renamed to names not containing either
- the words "Bitstream" or the word "Vera".
-
- This License becomes null and void to the extent applicable to Fonts
- or Font Software that has been modified and is distributed under the
- "Bitstream Vera" names.
-
- The Font Software may be sold as part of a larger software package but
- no copy of one or more of the Font Software typefaces may be sold by
- itself.
-
- THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
- OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
- BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
- OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
- OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
- SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
-
- Except as contained in this notice, the names of Gnome, the Gnome
- Foundation, and Bitstream Inc., shall not be used in advertising or
- otherwise to promote the sale, use or other dealings in this Font
- Software without prior written authorization from the Gnome Foundation
- or Bitstream Inc., respectively. For further information, contact:
- fonts at gnome dot org.
-
- \omit
- http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts
- \endomit
-
- See also:
- \l{http://www.bitstream.com/font_rendering/products/dev_fonts/vera.html}{Vera Open Source Fonts}
-
- \section1 Cursor
-
- The Cursor font is distributed with the following declaration:
-
- \e{Copyright (c) 2000 XFree86, Inc.}
-
- \section1 DejaVu Fonts
-
- DejaVu fonts come with the following copyright statement:
-
- Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below)
-
- \snippet doc/src/snippets/code/doc_src_licenses.qdoc 2
-
- \section1 Fixed Fonts
-
- The 5x7 and 6x13 fonts each contain the following copyright notice:
-
- \e{Public domain font. Share and enjoy.}
-
- \section1 IBM Courier
-
- IBM Courier - Copyright (c) IBM Corporation 1990, 1991
-
- You are hereby granted permission under the terms of the IBM/MIT X Consortium
- Courier Typefont agreement to execute, reproduce, distribute, display, market,
- sell and otherwise transfer copies of the IBM Courier font to third parties.
-
- The font is provided "AS IS" without charge. NO WARRANTIES OR INDEMNIFICATION
- ARE GIVEN, WHETHER EXPRESS OR IMPLIED INCLUDING, BUT LIMITED TO THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
- \section1 Micro
-
- The Micro font contains the following copyright notice:
-
- \e{Public domain font. Share and enjoy.}
-
- \section1 Unifont
-
- The Unifont font was originally obtained from
- \l{http://www.czyborra.com/}{Roman Czyborra} under the following license:
-
- \e{All of my works you find here are freeware. You may freely copy, use, quote,
- modify or redistribute them as long as you properly attribute my contribution
- and have given a quick thought about whether Roman might perhaps be interested
- to read what you did with his stuff. Horizontal rules don't apply.}
-*/
diff --git a/doc/src/linguist-manual.qdoc b/doc/src/linguist-manual.qdoc
index ee59fdc..fd062bb 100644
--- a/doc/src/linguist-manual.qdoc
+++ b/doc/src/linguist-manual.qdoc
@@ -247,10 +247,10 @@
subsequent \l lupdate runs would probably take place during the
final beta phase.
- The \c .ts file format is a simple human-readable XML format that
+ The TS file format is a simple human-readable XML format that
can be used with version control systems if required. \c lupdate
can also process Localization Interchange File Format (XLIFF)
- format files; file in this format typically have file names that
+ format files; files in this format typically have file names that
end with the \c .xlf suffix.
Pass the \c -help option to \c lupdate to obtain the list of
@@ -266,19 +266,19 @@
Usage: \c {lrelease myproject.pro}
- \l lrelease is a command line tool that produces \c .qm files out
- of \c .ts files. The \c .qm file format is a compact binary format
+ \l lrelease is a command line tool that produces QM files out
+ of TS files. The QM file format is a compact binary format
that is used by the localized application. It provides extremely
- fast lookups for translations. The \c .ts files \l lrelease
+ fast lookups for translations. The TS files \l lrelease
processes can be specified at the command line, or given
indirectly by a Qt \c .pro project file.
This tool is run whenever a release of the application is to be
made, from initial test version through to final release
- version. If the \c .qm files are not created, e.g. because an
+ version. If the QM files are not created, e.g. because an
alpha release is required before any translation has been
undertaken, the application will run perfectly well using the text
- the programmers placed in the source files. Once the \c .qm files
+ the programmers placed in the source files. Once the QM files
are available the application will detect them and use them
automatically.
@@ -293,7 +293,7 @@
\section1 Missing Translations
- Both \l lupdate and \l lrelease may be used with \c .ts
+ Both \l lupdate and \l lrelease may be used with TS
translation source files which are incomplete. Missing
translations will be replaced with the native language phrases at
runtime.
@@ -317,8 +317,8 @@
from the taskbar menu, or by double clicking the desktop icon, or
by entering the command \c {linguist} at the command line. Once
\QL has started, choose \menu{File|Open} from the \l{menubar}
- {menu bar} and select a translation source (\c{.ts} file) to
- load. If you don't have a \c{.ts} file, see the \l {Qt Linguist
+ {menu bar} and select a translation source (TS file) to
+ load. If you do not have a TS file, see the \l {Qt Linguist
Manual: Release Manager} {release manager manual} to learn how to
generate one.
@@ -928,12 +928,12 @@
\image linguist-previewtool.png
- Forms created by \e{Qt Designer} are stored in special \c .ui files.
- \QL can make use of these \c .ui files to show the translations
- done so far on the form itself. This of course requires access to the \c .ui
+ Forms created by \e{Qt Designer} are stored in special UI files.
+ \QL can make use of these UI files to show the translations
+ done so far on the form itself. This of course requires access to the UI
files during the translation process. Activate
\menu{Tools|Open/Refresh Form Preview} to open the window shown above.
- The list of \c .ui files \QL has detected are displayed in the Forms
+ The list of UI files \QL has detected are displayed in the Forms
List on the left hand. If the path to the files has changed, you can load
the files manually via \menu{File|Open Form...}. Double-click on an entry
in the Forms List to display the Form File. Select \e{<No Translation>} from
@@ -947,15 +947,15 @@
\QL makes use of four kinds of files:
\list
- \o \c .ts \e {translation source files} \BR are human-readable XML
+ \o TS \e {translation source files} \BR are human-readable XML
files containing source phrases and their translations. These files are
usually created and updated by \l lupdate and are specific to an
application.
\o \c .xlf \e {XLIFF files} \BR are human-readable XML files that adhere
to the international XML Localization Interchange File Format. \QL
can be used to edit XLIFF files generated by other programs. For standard
- Qt projects, however, only the \c .ts file format is used.
- \o \c .qm \e {Qt message files} \BR are binary files that contain
+ Qt projects, however, only the TS file format is used.
+ \o QM \e {Qt message files} \BR are binary files that contain
translations used by an application at runtime. These files are
generated by \l lrelease, but can also be generated by \QL.
\o \c .qph \e {Qt phrase book files} \BR are human-readable XML
@@ -974,18 +974,18 @@
\list
\o \gui {Open... Ctrl+O} \BR pops up an open file dialog from which a
translation source \c .ts or \c .xlf file can be chosen.
- \o \gui {Recently opened files} \BR shows the \c .ts files that
+ \o \gui {Recently opened files} \BR shows the TS files that
have been opened recently, click one to open it.
\o \gui {Save Ctrl+S} \BR saves the current translation source file.
\o \gui {Save As...} \BR pops up a save as file dialog so that the
current translation source file may be saved with a different
name, format and/or put in a different location.
- \o \gui {Release} \BR create a Qt message \c .qm file with the same base
+ \o \gui {Release} \BR create a Qt message QM file with the same base
name as the current translation source file. The release manager's
command line tool \l lrelease performs the same function on
\e all of an application's translation source files.
\o \gui {Release As...} \BR pops up a save as file dialog. The
- filename entered will be a Qt message \c .qm file of the translation
+ filename entered will be a Qt message QM file of the translation
based on the current translation source file. The release manager's
command line tool \l lrelease performs the same function on
\e all of an application's translation source files.
@@ -1136,16 +1136,15 @@
\list
\o \inlineimage linguist-fileopen.png
\BR
- Pops up the open file dialog to open a new translation source \c .ts
- file.
+ Pops up the open file dialog to open a new translation source TS file.
\o \inlineimage linguist-filesave.png
\BR
- Saves the current translation source \c .ts file.
+ Saves the current translation source TS file.
\o \inlineimage linguist-fileprint.png
\BR
- Prints the current translation source \c .ts file.
+ Prints the current translation source TS file.
\o \inlineimage linguist-phrasebookopen.png
\BR
@@ -1263,10 +1262,10 @@
Translation files are created as follows:
\list 1
- \o Run \l lupdate initially to generate the first set of \c .ts
+ \o Run \l lupdate initially to generate the first set of TS
translation source files with all the user-visible text but no
translations.
- \o The \c .ts files are given to the translator who adds translations
+ \o The TS files are given to the translator who adds translations
using \QL. \QL takes care of any changed
or deleted source text.
\o Run \l lupdate to incorporate any new text added to the
@@ -1274,7 +1273,7 @@
application with the translations; it does not destroy any data.
\o Steps 2 and 3 are repeated as often as necessary.
\o When a release of the application is needed \l lrelease is run to
- read the \c .ts files and produce the \c .qm files used by the
+ read the TS files and produce the QM files used by the
application at runtime.
\endlist
@@ -1319,7 +1318,7 @@
In production applications a more flexible approach, for example,
loading translations according to locale, might be more appropriate. If
- the \c .ts files are all named according to a convention such as
+ the TS files are all named according to a convention such as
\e appname_locale, e.g. \c tt2_fr, \c tt2_de etc, then the
code above will load the current locale's translation at runtime.
@@ -1413,7 +1412,7 @@
To handle plural forms in the native language, you need to load a
translation file for this language, too. \l lupdate has the
\c -pluralonly command line option, which allows the creation of
- \c .ts files containing only entries with plural forms.
+ TS files containing only entries with plural forms.
See the \l{http://doc.trolltech.com/qq/}{Qt Quarterly} Article
\l{http://doc.trolltech.com/qq/qq19-plurals.html}{Plural Forms in Translations}
@@ -1503,7 +1502,7 @@
\contentspage {Qt Linguist Manual}{Contents}
\previouspage Qt Linguist Manual: Programmers
- The \c .ts file format used by \QL is described by the
+ The TS file format used by \QL is described by the
\l{http://www.w3.org/TR/1998/REC-xml-19980210}{DTD} presented below,
which we include for your convenience. Be aware that the format
may change in future Qt releases.
diff --git a/doc/src/mainclasses.qdoc b/doc/src/mainclasses.qdoc
deleted file mode 100644
index 33bb91a..0000000
--- a/doc/src/mainclasses.qdoc
+++ /dev/null
@@ -1,51 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page mainclasses.html
- \title Qt's Main Classes
- \ingroup classlists
-
- These are the most frequently used Qt classes. For the complete
- list see \link classes.html Qt's Classes \endlink.
-
- \generatelist mainclasses
-*/
diff --git a/doc/src/model-view-programming.qdoc b/doc/src/model-view-programming.qdoc
index e216591..7d7db19 100644
--- a/doc/src/model-view-programming.qdoc
+++ b/doc/src/model-view-programming.qdoc
@@ -1352,7 +1352,7 @@
The \l{QAbstractItemModel::data()}{data()} function is responsible for
returning the item of data that corresponds to the index argument:
- \snippet doc/src/snippets/stringlistmodel/model.cpp 1
+ \snippet doc/src/snippets/stringlistmodel/model.cpp 1-data-read-only
We only return a valid QVariant if the model index supplied is valid,
the row number is within the range of items in the string list, and the
@@ -1390,6 +1390,7 @@
The read-only model shows how simple choices could be presented to the
user but, for many applications, an editable list model is much more
useful. We can modify the read-only model to make the items editable
+ by changing the data() function we implemented for read-only, and
by implementing two extra functions:
\l{QAbstractItemModel::flags()}{flags()} and
\l{QAbstractItemModel::setData()}{setData()}.
@@ -1399,7 +1400,7 @@
\snippet doc/src/snippets/stringlistmodel/model.h 3
\section2 Making the Model Editable
-
+
A delegate checks whether an item is editable before creating an
editor. The model must let the delegate know that its items are
editable. We do this by returning the correct flags for each item in
@@ -1434,6 +1435,10 @@
one item of data has changed, the range of items specified in the signal
is limited to just one model index.
+ Also the data() function needs to be changed to add the Qt::EditRole test:
+
+ \snippet doc/src/snippets/stringlistmodel/model.cpp 1
+
\section2 Inserting and Removing Rows
It is possible to change the number of rows and columns in a model. In the
diff --git a/doc/src/paintsystem.qdoc b/doc/src/paintsystem.qdoc
index 56f60a3..c2434e0 100644
--- a/doc/src/paintsystem.qdoc
+++ b/doc/src/paintsystem.qdoc
@@ -121,7 +121,7 @@
Normally, QPainter draws in a "natural" coordinate system, but it
is able to perform view and world transformations using the
- QMatrix class. For more information, see \l {The Coordinate
+ QTransform class. For more information, see \l {The Coordinate
System} documentation which also describes the rendering process,
i.e. the relation between the logical representation and the
rendered pixels, and the benefits of anti-aliased painting.
@@ -292,9 +292,7 @@
looking the same.
Qt provides the QPicture::load() and QPicture::save() functions
- for loading and saving pictures. But in addition the QPictureIO
- class is provided to enable the programmer to install new picture
- file formats in addition to those that Qt provides.
+ as well as streaming operators for loading and saving pictures.
\section2 Printer
diff --git a/doc/src/platform-notes-rtos.qdoc b/doc/src/platform-notes-rtos.qdoc
new file mode 100644
index 0000000..8a52d84
--- /dev/null
+++ b/doc/src/platform-notes-rtos.qdoc
@@ -0,0 +1,220 @@
+/*!
+ \page platform-notes-vxworks.html
+ \title Platform Notes - VxWorks
+ \contentspage Platform Notes
+ \target VxWorks
+
+ \note VxWorks is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for VxWorks port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on WindRiver VxWorks 6.7 in kernel mode using the
+ vendor supplied GCC compiler, targetting both the x86 simulator
+ (simpentium) and Power-PC devices (ppc).
+ VxWorks' RTP mode is currently not supported.
+
+ \section1 Limitations
+
+ The VxWorks kernel has an optional POSIX compatibility layer, but this
+ layer does not implement all POSIX functionality needed for a complete
+ Qt port.
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not available - VxWorks has no concept of processes.
+ \row \o QSharedMemory
+ \o Not available - VxWorks has only a global, flat address space.
+ \row \o QSystemSemaphore
+ \o Not available - VxWorks has no concept of processes.
+ \row \o QLibrary
+ \o QLibrary is only a small stub to make it possible to build
+ static plugins.
+ \row \o QCoreApplication
+ \o Can only be instantiated once. Qt's Q(CoreE)Application is
+ tightly coupled to one address space and process, while VxWorks
+ only supports one global address space and has no concept of
+ processes.
+ \row \o Phonon
+ \o There is no standard audio backend, which could be integrated into Phonon.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on QNX.
+
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for VxWorks needs to be \l{Cross-Compiling Qt for Embedded Linux
+ Applications}{cross-compiled} on a Linux host. \c configure and \c make
+ the build like you would with a standard \l{Cross-Compiling Qt for
+ Embedded Linux Applications}{embedded Linux cross build}. Building the
+ VxWorks simulator would be done like this:
+
+ \code
+ <path/to/qt/sources>/configure -xplatform unsupported/vxworks-simpentium-g++ -embedded vxworks -exceptions -no-gfx-linuxfb -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty
+ make
+ \endcode
+
+ \list
+ \o \c{-xplatform unsupported/qws/vxworks-simpentium-g++} - selects the x86 simulator mkspec for VxWorks
+ \o \c{-embedded vxworks} - builds the embedded version of Qt and sets the architecture to VxWorks
+ \o \c{-exceptions} - see General Notes below
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp}, \c{-no-mouse-pc} and \c{-no-kbd-tty} are Linux specific and won't work on VxWorks
+ \endlist
+
+ \section1 General Notes
+
+ \list
+
+ \o Configuring with \c{-exceptions} is necessary, because the VxWorks
+ 6.7 g++ headers require exceptions to be enabled when compiling C++
+ code.
+
+ \o Configure's \c{-xplatform} can be any of
+ \c{unsupported/vxworks-(simpentium|ppc)-(g++|dcc)}, but \c{dcc}
+ (WindRiver DIAB compiler) has not yet tested been tested with Qt 4.6 and
+ VxWorks 6.7.
+
+ \o Building shared libraries with \c{-shared} (the default) doesn't
+ really build shared libraries, like e.g. on Linux, since these are not
+ supported by VxWorks. Instead, qmake will created partially linked
+ objects, that can be loaded at runtime with \c{ld}.
+
+ \o Creating static builds with \c{-static} is fully supported.
+
+ \o "Munching" (generating constructors/destructors for static C++
+ objects) is done automatically by a special qmake extension (for both
+ shared libraries and executables)
+
+ \o VxWorks does not have a file system layer, but the low level storage
+ drivers have to supply a file system like interface to the applications.
+ Since each driver implements a different subset of the functionality
+ supported by this interface, Qt's file system auto-tests show wildly
+ differing results running on different "file systems". The best results
+ can be achieved when running on a (writable) NFS mount, since that
+ provides the most Unix-ish interface. The worst results come from the
+ FTP file system driver, which may crash when accessed by a
+ \c{QFileInfo}.
+
+ \o Keep in mind that VxWorks doesn't call your \c{main()} function with
+ the standard \c{argc}/\c{argv} parameters. So either add a special
+ \c{vxmain()} function or use a tool like \c{callmain} to translate
+ VxWorks' commandline arguments to an \c{argc}/\c{argv} array.
+
+ \o Some example will fail to build, due to some missing dependencies
+ (e.g. shared memory) - this will be fixed in a later release.
+
+ \endlist
+*/
+
+/*!
+ \page platform-notes-qnx.html
+ \title Platform Notes - QNX
+ \contentspage Platform Notes
+ \target QNX
+
+ \note QNX is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for QNX port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ Note that Qt for QNX is currently based on \l{Qt for Embedded Linux}, which
+ contains its own windowing system. Mixing QNX's Photon environment with
+ Qt for QNX is currently not possible. Building Qt for QNX with Photon's
+ X11 embedded server is not recommended due to missing support for X11 extensions,
+ resulting in poor rendering quality.
+
+ Qt for QNX contains experimental screen and input drivers based on QNX's
+ \c devi-hid and \c io-display. For more information, check the class documentation
+ for QQnxScreen, QWSQnxKeyboardHandler and QQnxMouseHandler. See the
+ \l{Porting Qt for Embedded Linux to a New Architecture} document for information
+ on how to add custom screen or input drivers.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on QNX 6.4 on i386 and PowerPC targets with QNX's default
+ gcc compiler.
+
+ \section1 Limitations
+
+ Some of Qt's functionality is currently not available on QNX:
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not available - QNX doesn't support mixing threads and processes.
+ \row \o QSharedMemory
+ \o Not available - QNX doesn't support SYSV style shared memory.
+ \row \o QSystemSemaphore
+ \o Not available - QNX doesn't support SYSV style system semaphores.
+ \row \o QWS Multi Process
+ \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
+ \row \o Phonon
+ \o There is no standard audio backend, which could be integrated into Phonon.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on QNX.
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for QNX needs to be built either on a QNX system, or \l{Cross-Compiling Qt
+ for Embedded Linux Applications}{cross-compiled} on a Linux host. In either
+ case, The QNX Software Development Platform must be installed.
+
+ Example configure line for cross-compiling Qt for QNX on a Linux host for an
+ i386 QNX target:
+
+ \code
+ configure -xplatform unsupported/qws/qnx-i386-g++ -embedded i386 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-gfx-qnx -qt-mouse-qnx -qt-kbd-qnx -no-exceptions
+ \endcode
+
+ \list
+ \o \c{-xplatform unsupported/qws/qnx-i386-g++} - selects the i386-g++ mkspec for QNX
+ \o \c{-embedded i386} - builds the embedded version of Qt and sets the architecture to i386
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp} and \c{-no-kbd-tty} are Linux specific and won't work on QNX
+ \o \c{-no-qt3support} - required since the Qt3 support classes are not supported on QNX
+ \o \c{-no-exceptions} - reduces the size of the library by disabling exception support
+ \o \c{-qt-gfx-qnx} - enables the experimental \c{io-graphics} based display driver
+ \o \c{-qt-mouse-qnx} - enables the experimental \c{devi-hig} based mouse driver
+ \o \c{-qt-kbd-qnx} - enables the experimental \c{devi-hig} based keyboard driver
+ \endlist
+
+ \section1 General Notes
+
+ \list
+ \o To enable the experimental QNX display and input drivers, \c{io-display} needs to be
+ up and running. The \c devi-hid based Qt input drivers require \c devi-hid to run
+ in resource mode without Photon support. To enable a standard mouse and keyboard
+ combination, run \c devi-hid as follows: \c{/usr/photon/bin/devi-hid -Pr kbd mouse}.
+ Note that your current shell will not accept keyboard and mouse input anymore after
+ running that command, so run it either from a script that launches a Qt application
+ afterwards, or make sure to have remote login available to launch a Qt application.
+ In addition, the \c QWS_DISPLAY, \c QWS_MOUSE_PROTO and \c QWS_KEYBOARD environment
+ variables should all be set to \c{qnx} before running a Qt application.
+
+ \o The 3rd party TIFF library currently doesn't build due to the missing \c inflateSync
+ symbol from QNX's \c{libz.so.2}. Workarounds would be to manually replace QNX's libz
+ with a newer version, or disable the TIFF plugin entierly by appending
+ \c{QT_CONFIG += no-tiff} to \c{.qmake.cache} after configuring Qt.
+
+ \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
+ or other classes that are not available on QNX.
+ \endlist
+
+ \section1 Platform Regressions
+
+ Qt for QNX's behavior is mostly identical with \l{Qt for Embedded Linux}. However,
+ some regressions were spotted in QDateTime computation around year 0 and year 1970,
+ which have been tracked back to faulty time zone data on some QNX versions.
+*/
diff --git a/doc/src/platform-notes.qdoc b/doc/src/platform-notes.qdoc
index de1fb74..d6f9328 100644
--- a/doc/src/platform-notes.qdoc
+++ b/doc/src/platform-notes.qdoc
@@ -60,6 +60,10 @@
\tableofcontents{1 Platform Notes - Embedded Linux}
\o \l{Platform Notes - Windows CE}
\tableofcontents{1 Platform Notes - Windows CE}
+ \o \l{Platform Notes - QNX}
+ \tableofcontents{1 Platform Notes - QNX}
+ \o \l{Platform Notes - VxWorks}
+ \tableofcontents{1 Platform Notes - VxWorks}
\endlist
See also the \l{Compiler Notes} for information about compiler-specific
@@ -67,7 +71,8 @@
supported by Qt can be found on the \l{Supported Platforms} page.
If you have anything to add to this list or any of the platform or
- compiler-specific pages, please submit it via the \l{Bug Report Form}.
+ compiler-specific pages, please submit it via the \l{Bug Report Form}
+ or through the \l{Public Qt Repository}.
*/
/*!
@@ -374,133 +379,6 @@
*/
/*!
- \page supported-platforms.html
- \title Supported Platforms
- \brief The platforms supported by Nokia for Qt.
- \ingroup platform-notes
-
- Qt is supported on a variety of 32-bit and 64-bit platforms, and can
- usually be built on each platform with GCC, a vendor-supplied compiler, or
- a third party compiler. Although Qt may be built on a range of platform-compiler
- combinations, only a subset of these are actively supported by Qt.
-
- A more general overview of the platforms Qt runs on can be found on the
- \l{Platform Notes} page. Information about the compilers used on each platform
- can be found on the \l{Compiler Notes} page.
-
- \tableofcontents
-
- \section1 Most Common Actively Supported Platforms
-
- \table
- \header \o Platform \o Compilers
- \row \o Apple Mac OS X (32-bit) \o gcc 4.0.1
- \row \o Linux (32 and 64-bit) \o gcc 4.1, 4.2, 4.3
- \row \o Microsoft Windows \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit), 2008,
- \l{Intel C++ Compiler}{Intel icc (see note)}
- \endtable
-
- Any platform-compiler combinations not listed here should be considered unsupported.
-
- \section1 Actively Supported Platforms
-
- \table
- \header \o OS \o Architecture \o Makespec \o Compiler version(s)
- \row \o AIX \o PowerPC \o aix-xlc \o xlC 6
- \row \o AIX \o PowerPC \o aix-xlc-64 \o xlC 6
- \row \o HPUX \o PA/RISC \o hpux-acc* \o A.03.57 (aCC 3.57)
- \row \o HPUX \o PA/RISC \o hpux-g++ \o GCC 3.4.4
- \row \o HPUX \o PA/RISC \o hpux-g++-64 \o GCC 3.4.4
- \row \o HPUX \o Itanium \o hpuxi-acc* \o A.06.10 (aCC 6.10)
- \row \o Embedded Linux \o ARM \o qws/linux-arm-g++ \o GCC 3.4, 4.1, 4.2, 4.3
- \row \o Embedded Linux \o Intel 32-bit \o qws/linux-x86-g++ \o GCC 3.4, 4.1, 4.2, 4.3
- \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 4.1, 4.2, 4.3
- \row \o Linux \o Intel 32/64-bit \o linux-icc \o icc 10.1
- \row \o Linux \o Intel 32-bit \o linux-icc-32 \o icc 10.1
- \row \o Linux \o Intel 64-bit \o linux-icc-64 \o icc 10.1
- \row \o Mac OS X \o Intel 32/64-bit, PowerPC \o macx-g++ \o GCC 4.0.1
- \row \o Mac OS X \o Intel 32/64-bit, PowerPC \o macx-g++42 \o GCC 4.2
- \row \o Solaris \o SPARC, Intel 32-bit \o solaris-cc* \o Sun CC 5.5
- \row \o Solaris \o SPARC, Intel 32-bit \o solaris-g++* \o GCC 3.4.2
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-g++ \o GCC 3.4.2 (MinGW 5.1.4)
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-icc \o icc 9.1
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2003 \o Visual Studio 2003
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2005 \o Visual Studio 2005
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2008 \o Visual Studio 2008
- \row \o Windows CE \o Intel 32-bit, ARMv4i, MIPS
- \o wince*-msvc2005 \o Visual Studio 2005
- \row \o Windows CE \o Intel 32-bit, ARMv4i, MIPS
- \o wince*-msvc2008 \o Visual Studio 2008
- \endtable
-
- \section1 Community Supported Platforms
-
- \table
- \header \o OS \o Architecture \o Makespec \o Compiler version(s)
- \row \o Mac OS X \o Intel 32-bit, PowerPC \o darwin-g++ \o -
- \row \o FreeBSD \o - \o freebsd-g++ \o -
- \row \o FreeBSD \o - \o freebsd-g++34 \o -
- \row \o FreeBSD \o - \o freebsd-g++40 \o -
- \row \o FreeBSD \o - \o freebsd-icc \o -
- \row \o HPUX \o Itanium \o hpuxi-g++* \o GCC 4.1
- \row \o Linux \o - \o linux-cxx \o -
- \row \o Linux \o - \o linux-ecc-64 \o -
- \row \o Linux \o Itanium \o linux-g++ \o GCC 3.4
- \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 3.3, 3.4
- \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 4.0
- \row \o Linux \o - \o linux-kcc \o -
- \row \o Linux \o - \o linux-llvm \o -
- \row \o Linux \o - \o linux-lsb-g++ \o -
- \row \o LynxOS \o - \o lynxos-g++ \o -
- \row \o Mac OS X \o - \o macx-llvm \o -
- \row \o NetBSD \o - \o netbsd-g++ \o -
- \row \o OpenBSD \o - \o openbsd-g++ \o -
- \row \o Embedded Linux \o MIPS, PowerPC \o qws/linux-g++ \o GCC 3.4, 4.1, 4.2, 4.3
- \endtable
-
- \section1 Unsupported Platforms
-
- The following platforms were supported in previous releases, either as actively supported
- or community supported platforms, but are now unsupported.
-
- \table
- \header \o OS \o Architecture \o Makespec \o Compiler version(s)
- \row \o IRIX \o MIPS \o irix-cc* \o MIPS Pro
- \row \o IRIX \o MIPS \o irix-g++* \o GCC 3.3
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc \o Visual C++ 6.0
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2002 \o Visual Studio 2002
- \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc.net \o Visual Studio 2002
- \endtable
-
- Qt's online \l{Platform Support Policy} for Qt describes the level of
- support you should expect for these platforms.
-
- \section1 Supported Features
-
- Not all compilers used to build Qt are able to compile all modules. The following table
- shows the compiler support for five modules that are not uniformly available for all
- platforms and compilers.
-
- \table
- \header \o Compiler \o{5,1} Features
- \header \o \o Concurrent \o XmlPatterns \o WebKit \o CLucene \o Phonon
- \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
- \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row
- \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
- \row
- \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
- \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
- \row \o \l{Known Issues in %VERSION%}{Intel CC 10 (see note)}
- \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \row
- \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
- \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
- \endtable
-*/
-
-/*!
\page platform-notes-windows-ce.html
\title Platform Notes - Windows CE
\contentspage Platform Notes
@@ -534,218 +412,3 @@
information about the combinations of platforms and compilers supported
by Qt can be found on the \l{Supported Platforms} page.
*/
-
-/*!
- \page compiler-notes.html
- \ingroup platform-notes
- \title Compiler Notes
- \brief Information about the C++ compilers and tools used to build Qt.
-
- This page contains information about the C++ compilers and tools used
- to build Qt on various platforms.
-
- \tableofcontents
-
- Please refer to the \l{Platform Notes} for information on the platforms
- Qt is currently known to run on, and see the \l{Supported Platforms}
- page for information about the status of each platform.
-
- If you have anything to add to this list or any of the platform or
- compiler-specific pages, please submit it via the
- \l{Bug Report Form}.
-
- \target GCC
- \section1 GCC
-
- \section2 GCC on Windows (MinGW)
-
- We have tested Qt with this compiler on Windows XP.
- The minimal version of MinGW supported is:
-
- \list
- \o GCC 3.4.2
- \o MinGW runtime 3.7
- \o win32api 3.2
- \o binutils 2.15.91
- \o mingw32-make 3.80.0-3
- \endlist
-
- \section2 GCC 4.0.0
-
- The released package of the compiler has some bugs that lead to miscompilations.
- We recommend using GCC 4.0.1 or later, or to use a recent CVS snapshot of the
- GCC 4.0 branch. The version of GCC 4.0.0 that is shipped with Mac OS X 10.4
- "Tiger" is known to work with Qt for Mac OS X.
-
- \section2 HP-UX
-
- The hpux-g++ platform is tested with GCC 3.4.4.
-
- \section2 Solaris
-
- Please use GCC 3.4.2 or later.
-
- \section2 Mac OS X
-
- Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
- The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code.
- Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
-
- \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
-
- This compiler is known to miscompile some parts of Qt when doing a
- release build. There are several workarounds:
-
- \list 1
- \o Use a debug build instead.
- \o For each miscompilation encountered, recompile the file, removing the -O2 option.
- \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.
- \endlist
-
- \section1 HP ANSI C++ (aCC)
-
- The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
- hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
-
- \section1 Intel C++ Compiler
-
- Qt supports the Intel C++ compiler on both Windows and Linux.
- However, there are a few issues on Linux (see the following
- section).
-
- \section2 Intel C++ Compiler for Linux
-
- Nokia currently tests the following compilers:
-
- \list
-
- \o Intel(R) C++ Compiler for applications running on IA-32,
- Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
-
- \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
- Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
-
- \endlist
-
- We do not currently test the IA-64 (Itanium) compiler.
-
- \section2 Known Issues with Intel C++ Compiler for Linux
-
- \list
-
- \o Precompiled header support does not work in version 10.0.025
- and older. For these compilers, you should configure Qt with
- -no-pch. Precompiled header support works properly in version
- 10.0.026 and later.
- \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
- building in release mode. For now, configure Qt with
- -debug. Version 10.1.008 and later can compile qmake in release
- mode.
- \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
- known crash with "(0): internal error: 0_47021" when compiling
- QtXmlPatterns, QtWebKit, and Designer in release mode. Version
- 10.1.017 compiles these modules correctly in release mode.
- \endlist
-
- \section2 Intel C++ Compiler (Windows, Altix)
-
- Qt 4 has been tested successfully with:
-
- \list
- \o Windows - Intel(R) C++ Compiler for 32-bit applications,
- Version 8.1 Build 20050309Z Package ID: W_CC_PC_8.1.026
- \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
- applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
- \endlist
-
- We currently only test the Intel compiler on 32-bit Windows versions.
-
- \section1 MIPSpro (IRIX)
-
- \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
- and Qt's Software's online \l{Platform Support Policy} page for details.}
-
- Qt 4.4.x requires MIPSpro version 7.4.2m.
-
- Note that MIPSpro version 7.4.4m is currently not supported, since it has
- introduced a number of problems that have not yet been resolved.
- We recommend using 7.4.2m for Qt development. However, please note the
- unsupported status of this platform.
-
- \target Sun Studio
- \section1 Forte Developer / Sun Studio (Solaris)
-
- \section2 Sun Studio
-
- Qt is tested using Sun Studio 8 (Sun CC 5.5). Go to
- \l{Sun Studio Patches} page on Sun's Web site to download
- the latest patches for your Sun compiler.
-
- \section2 Sun WorkShop 5.0
-
- Sun WorkShop 5.0 is not supported with Qt 4.
-
- \section1 Visual Studio (Windows)
-
- We do most of our Windows development on Windows XP, using Microsoft
- Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
- versions).
-
- Qt works with the Standard Edition, the Professional Edition and Team
- System Edition of Visual Studio 2005.
-
- We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.
-
- In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
- to download and install the platform SDK. Due to limitations in the
- Express Edition it is not possible for us to install the Qt Visual
- Studio Integration. You will need to use our command line tools to
- build Qt applications with this edition.
-
- The Visual C++ Linker doesn't understand filenames with spaces (as in
- \c{C:\Program files\Qt\}) so you will have to move it to another place,
- or explicitly set the path yourself; for example:
-
- \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
-
- If you are experiencing strange problems with using special flags that
- modify the alignment of structure and union members (such as \c{/Zp2})
- then you will need to recompile Qt with the flags set for the
- application as well.
-
- If you're using Visual Studio .NET (2002) Standard Edition, you should be
- using the Qt binary package provided, and not the source package.
- As the Standard Edition does not optimize compiled code, your compiled
- version of Qt would perform suboptimally with respect to speed.
-
- With Visual Studio 2005 Service Pack 1 a bug was introduced which
- causes Qt not to compile, this has been fixed with a hotfix available
- from Microsoft. See this
- \l{http://www.qtsoftware.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
- for more information.
-
- \section1 IBM xlC (AIX)
-
- The makeC++SharedLib utility must be in your PATH and be up to date to
- build shared libraries. From IBM's
- \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
- Redbook:
-
- \list
- \o "The second step is to use the makeC++SharedLib command to create the
- shared object. The command has many optional arguments, but in its
- simplest form, can be used as follows:"
- \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
- \o "The full path name to the command is not required; however, to avoid
- this, you will have to add the directory in which it is located to
- your PATH environment variable. The command is located in the
- /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
- Version 5 compiler."
- \endlist
-
- \section2 VisualAge C++ for AIX, Version 6.0
-
- Make sure you have the
- \l{http://www-1.ibm.com/support/search.wss?rs=32&amp;tc=SSEP5D&amp;dc=D400}{latest upgrades}
- installed.
-*/
diff --git a/doc/src/plugins-howto.qdoc b/doc/src/plugins-howto.qdoc
index dff8ed9..ab2e294 100644
--- a/doc/src/plugins-howto.qdoc
+++ b/doc/src/plugins-howto.qdoc
@@ -92,7 +92,6 @@
\row \o QInputContextPlugin \o \c inputmethods \o Case Sensitive
\row \o QKbdDriverPlugin \o \c kbddrivers \o Case Insensitive
\row \o QMouseDriverPlugin \o \c mousedrivers \o Case Insensitive
- \row \o QPictureFormatPlugin \o \c pictureformats \o Case Sensitive
\row \o QScreenDriverPlugin \o \c gfxdrivers \o Case Insensitive
\row \o QScriptExtensionPlugin \o \c script \o Case Sensitive
\row \o QSqlDriverPlugin \o \c sqldrivers \o Case Sensitive
diff --git a/doc/src/porting4-canvas.qdoc b/doc/src/porting4-canvas.qdoc
index fa0bc6b..d1221cf 100644
--- a/doc/src/porting4-canvas.qdoc
+++ b/doc/src/porting4-canvas.qdoc
@@ -43,7 +43,7 @@
\page graphicsview-porting.html
\title Porting to Graphics View
\contentspage {Porting Guides}{Contents}
- \previouspage Porting .ui Files to Qt 4
+ \previouspage Porting UI Files to Qt 4
\nextpage qt3to4 - The Qt 3 to 4 Porting Tool
\ingroup porting
\ingroup multimedia
diff --git a/doc/src/porting4-designer.qdoc b/doc/src/porting4-designer.qdoc
index 916894b..7de1d43 100644
--- a/doc/src/porting4-designer.qdoc
+++ b/doc/src/porting4-designer.qdoc
@@ -41,12 +41,12 @@
/*!
\page porting4-designer.html
- \title Porting .ui Files to Qt 4
+ \title Porting UI Files to Qt 4
\contentspage {Porting Guides}{Contents}
\previouspage Porting to Qt 4 - Drag and Drop
\nextpage Porting to Graphics View
\ingroup porting
- \brief Information about changes to the .ui file format in Qt 4.
+ \brief Information about changes to the UI file format in Qt 4.
Qt Designer has changed significantly in the Qt 4 release. We
have moved away from viewing Qt Designer as an IDE and
@@ -57,20 +57,20 @@
IDEs.
The most important changes in Qt Designer 4 which affect porting
- for \c .ui files are summarized below:
+ for UI files are summarized below:
\list
\o \bold{Removed project manager.}
- Qt Designer now only reads and edits \c .ui
- files. It has no notion of a project (\c .pro file).
+ Qt Designer now only reads and edits UI
+ files. It has no notion of a project file (\c .pro).
\o \bold{Removed code editor.}
Qt Designer can no longer be used to edit source files.
- \o \bold{Changed format of \c .ui files.}
+ \o \bold{Changed format of UI files.}
Qt Designer 4 cannot read files created by Qt Designer 3 and
vice versa. However, we provide the tool \c uic3 to generate Qt
- 4 code out of Qt 3 \c .ui files, and to convert old \c .ui files
+ 4 code out of Qt 3 UI files, and to convert old UI files
into a format readable by Qt Designer 4.
\o \bold{Changed structure of the code generated by \c uic.}
@@ -80,7 +80,7 @@
\c Ui::MyForm.
\o \bold{New resource file system.} Icon data is no longer
- stored in the \c .ui file. Instead, icons are put into resource
+ stored in the UI file. Instead, icons are put into resource
files (\c .qrc).
\endlist
@@ -146,9 +146,9 @@
therefore has an interface identical to that of a class generated
by \c uic in Qt 3.
- Creating POD classes from \c .ui files is more flexible and
+ Creating POD classes from UI files is more flexible and
generic than the old approach of creating widgets. Qt Designer
- doesn't need to know anything about the main container apart from
+ does not need to know anything about the main container apart from
the base widget class it inherits. Indeed, \c Ui::HelloWorld can
be used to populate any container that inherits QWidget.
Conversely, all non-GUI aspects of the main container may be
@@ -163,10 +163,10 @@
\list 1
\o To generate headers and source code for a widget to implement any
custom signals and slots added using Qt Designer 3.
- \o To generate a new \c .ui file that can be used with Qt Designer 4.
+ \o To generate a new UI file that can be used with Qt Designer 4.
\endlist
- You can use both these methods in combination to obtain \c{.ui}, header
+ You can use both these methods in combination to obtain UI, header
and source files that you can use as a starting point when porting
your user interface to Qt 4.
@@ -179,7 +179,7 @@
The resulting files \c myform.h and \c myform.cpp implement the
form in Qt 4 using a QWidget that will include custom signals,
- slots and connections specified in the \c .ui file. However,
+ slots and connections specified in the UI file. However,
see below for the \l{#Limitations of uic3}{limitations} of this
method.
@@ -190,7 +190,7 @@
The resulting file \c myform4.ui can be edited in Qt Designer 4. The
header file for the form is generated by Qt 4's \c uic. See the
- \l{Using a Designer .ui File in Your Application} chapter of the
+ \l{Using a Designer UI File in Your Application} chapter of the
\l{Qt Designer Manual} for information about the preferred ways to
use forms created with Qt Designer 4.
@@ -218,7 +218,7 @@
\section1 Limitations of uic3
- Converting Qt 3 \c .ui files to Qt 4 has some limitations. The
+ Converting Qt 3 UI files to Qt 4 has some limitations. The
most noticeable limitation is the fact that since \c uic no
longer generates a QObject, it's not possible to define custom
signals or slots for the form. Instead, the programmer must
@@ -231,9 +231,9 @@
A quick and dirty way to port forms containing custom signals and
slots is to generate the code using \c uic3, rather than \c uic. Since
\c uic3 does generate a QWidget, it will populate it with custom
- signals, slots and connections specified in the \c .ui file.
- However, \c uic3 can only generate code from Qt 3 \c .ui files, which
- implies that the \c .ui files never get translated and need to be
+ signals, slots and connections specified in the UI file.
+ However, \c uic3 can only generate code from Qt 3 UI files, which
+ implies that the UI files never get translated and need to be
edited using Qt Designer 3.
Note also that it is possible to create implicit connections
@@ -256,7 +256,7 @@
\section1 Icons
In Qt 3, the binary data for the icons used by a form was stored
- in the \c .ui file. In Qt 4 icons and any other external files
+ in the UI file. In Qt 4 icons and any other external files
can be compiled into the application by listing them in a \l{The
Qt Resource System}{resource file} (\c .qrc). This file is
translated into a C++ source file using Qt's resource compiler
@@ -306,7 +306,7 @@
the following steps:
\list 1
- \o Use \c{uic3 -convert} to obtain a \c .ui file understood by
+ \o Use \c{uic3 -convert} to obtain a UI file understood by
Qt Designer 4.
\o Create a \c .qrc file with a list of all the icon files.
diff --git a/doc/src/porting4-overview.qdoc b/doc/src/porting4-overview.qdoc
index d91729d..3c3c085 100644
--- a/doc/src/porting4-overview.qdoc
+++ b/doc/src/porting4-overview.qdoc
@@ -115,13 +115,13 @@
support these project-level features.
We recommend using one of the
- \l{Using a Designer .ui File in Your Application}{form subclassing approaches}
+ \l{Using a Designer UI File in Your Application}{form subclassing approaches}
with forms created using Qt Designer. This avoids the need
to use \c{.ui.h} files and special purpose code editors.
Existing Qt 3 forms created using Qt Designer can be gradually
ported to Qt 4 by following the advice in the
- \l{Porting .ui Files to Qt 4} guide. However, some extra effort
+ \l{Porting UI Files to Qt 4} guide. However, some extra effort
will be required to move application logic from \c{.ui.h} files
into the main body of a Qt 4 application.
@@ -195,9 +195,9 @@
QNetworkRequest, QNetworkReply, and QNetworkAccessManager documentation
for further details.
- It is also possible to perform operations on remote files
- through the QHttp and QFtp classes, and on local files with
- the QFile class.
+ It is also possible to perform operations on remote files through
+ the QNetworkAccessManager and QFtp classes, and on local files
+ with the QFile class.
\section2 SQL Cursors (QSqlCursor)
diff --git a/doc/src/porting4.qdoc b/doc/src/porting4.qdoc
index 7ce2969..963b918 100644
--- a/doc/src/porting4.qdoc
+++ b/doc/src/porting4.qdoc
@@ -97,7 +97,7 @@
to developers porting from Qt 3 to Qt 4.
\o \l{Porting to Qt 4 - Drag and Drop} \mdash covers differences in the
way drag and drop is handled between Qt 3 and Qt 4.
- \o \l{Porting .ui Files to Qt 4} \mdash describes the new format used to
+ \o \l{Porting UI Files to Qt 4} \mdash describes the new format used to
describe forms created with \QD.
\o \l{Porting to Graphics View} \mdash provides a class-by-class overview
of the differences between Qt 3's canvas API and Qt 4's Graphics
@@ -135,7 +135,7 @@
\o Run the \l qt3to4 porting tool. The tool will go through your
source code and adapt it to Qt 4.
- \o Follow the instructions in the \l{Porting .ui Files to Qt 4}
+ \o Follow the instructions in the \l{Porting UI Files to Qt 4}
page to port Qt Designer files.
\o Recompile with Qt 4. For each error, search below for related
@@ -347,7 +347,7 @@
macro, removing the need for a \c Q_OVERRIDE() macro.
The table below lists the Qt properties that have been renamed in
- Qt 4. Occurrences of these in \e{Qt Designer} \c .ui files are
+ Qt 4. Occurrences of these in \e{Qt Designer} UI files are
automatically converted to the new name by \c uic.
\table
@@ -406,11 +406,11 @@
Some properties have been removed from Qt 4, but the associated
access functions are provided if \c QT3_SUPPORT is defined to help
- porting to Qt 4. When converting Qt 3 \c .ui files to Qt 4, \c uic
+ porting to Qt 4. When converting Qt 3 UI files to Qt 4, \c uic
generates calls to the Qt 3 compatibility functions. Note that
this only applies to the properties of the Qt3Support library,
i.e. \c QT3_SUPPORT properties of the other libraries must be
- ported manually when converting Qt 3 .ui files to Qt 4.
+ ported manually when converting Qt 3 UI files to Qt 4.
The table below lists these properties with the read and write
functions that you can use instead. The documentation for the
@@ -518,7 +518,7 @@
(Notice the \c & in the parameter declaration.)
\omit
- \section1 Qt Designer .ui Files
+ \section1 Qt Designer UI Files
###
\endomit
@@ -1977,7 +1977,7 @@
\table
\header \o Qt 3 function \o Qt 4 equivalents
- \row \o QImageIO::description() \o QImageWriter::description()
+ \row \o QImageIO::description() \o QImageWriter::text()
\row \o QImageIO::fileName() \o QImageReader::fileName() and QImageWriter::fileName()
\row \o QImageIO::format() \o QImageReader::format() and QImageWriter::format()
\row \o QImageIO::gamma() \o QImageWriter::gamma()
@@ -1988,7 +1988,7 @@
\row \o QImageIO::parameters() \o N/A
\row \o QImageIO::quality() \o QImageWriter::quality()
\row \o QImageIO::read() \o QImageReader::read()
- \row \o QImageIO::setDescription() \o QImageWriter::setDescription()
+ \row \o QImageIO::setDescription() \o QImageWriter::setText()
\row \o QImageIO::setFileName() \o QImageReader::setFileName() and QImageWriter::setFileName()
\row \o QImageIO::setFormat() \o QImageReader::setFormat() and QImageWriter::setFormat()
\row \o QImageIO::setGamma() \o QImageWriter::setGamma()
@@ -2350,8 +2350,9 @@
Q3NetworkProtocolFactory<T>, and Q3NetworkOperation and have been
moved to the Qt3Support library.
- In Qt 4 applications, you can use classes like QFtp and QHttp
- directly to perform file-related actions on a remote host.
+ In Qt 4 applications, you can use classes like QFtp and
+ QNetworkAccessManager directly to perform file-related actions on
+ a remote host.
\section1 QObject
@@ -3241,12 +3242,11 @@
moved to the Qt3Support library. In Qt 4, there is no
direct equivalent to Q3SocketDevice:
- \list
- \o If you use Q3SocketDevice in a thread to perform blocking network
- I/O (a technique encouraged by the \e{Qt Quarterly} article
- \l{http://doc.trolltech.com/qq/qq09-networkthread.html}{Unblocking Networking}),
- you can now use QTcpSocket, QFtp, or QHttp instead, which can now be used from
- non-GUI threads.
+ \list \o If you use Q3SocketDevice in a thread to perform blocking
+ network I/O (a technique encouraged by the \e{Qt Quarterly}
+ article \l{http://doc.trolltech.com/qq/qq09-networkthread.html}
+ {Unblocking Networking}), you can now use QTcpSocket, QFtp, or
+ QNetworkAccessManager, which can be used from non-GUI threads.
\o If you use Q3SocketDevice for UDP, you can now use QUdpSocket instead.
diff --git a/doc/src/properties.qdoc b/doc/src/properties.qdoc
index 5490dd0..d0a9ccc 100644
--- a/doc/src/properties.qdoc
+++ b/doc/src/properties.qdoc
@@ -122,6 +122,17 @@
editable property for (checkable) buttons. Note that QItemDelegate
gets and sets a widget's \c USER property.
+ \o The presence of the \c CONSTANT attibute indicates that the property
+ value is constant. For a given object instance, the READ method of a
+ constant property must return the same value every time it is called. This
+ constant value may be different for different instances of the object. A
+ constant property cannot have a WRITE method or a NOTIFY signal.
+
+ \o The presence of the \c FINAL attribute indicates that the property
+ will not be overridden by a derived class. This can be used for performance
+ optimizations in some cases, but is not enforced by moc. Care must be taken
+ never to override a \c FINAL property.
+
\endlist
The \c READ, \c WRITE, and \c RESET functions can be inherited.
diff --git a/doc/src/qdesktopwidget.qdoc b/doc/src/qdesktopwidget.qdoc
deleted file mode 100644
index 1158904..0000000
--- a/doc/src/qdesktopwidget.qdoc
+++ /dev/null
@@ -1,247 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \class QDesktopWidget
- \brief The QDesktopWidget class provides access to screen information on multi-head systems.
-
- \ingroup advanced
- \ingroup desktop
- \ingroup environment
- \mainclass
-
- QApplication::desktop() function should be used to get an instance
- of the QDesktopWidget.
-
- Systems with more than one graphics card and monitor can manage the
- physical screen space available either as multiple desktops, or as a
- large virtual desktop, which usually has the size of the bounding
- rectangle of all the screens (see isVirtualDesktop()). For an
- application, one of the available screens is the primary screen, i.e.
- the screen where the main widget resides (see primaryScreen()). All
- windows opened in the context of the application should be
- constrained to the boundaries of the primary screen; for example,
- it would be inconvenient if a dialog box popped up on a different
- screen, or split over two screens.
-
- The QDesktopWidget provides information about the geometry of the
- available screens with screenGeometry(). The number of screens
- available is returned by numScreens(). The screen number that a
- particular point or widget is located in is returned by
- screenNumber().
-
- Widgets provided by Qt use this class, for example, to place
- tooltips, menus and dialog boxes according to the parent or
- application widget.
-
- Applications can use this class to save window positions, or to place
- child widgets on one screen.
-
- \img qdesktopwidget.png Managing Multiple Screens
-
- In the illustration above, Application One's primary screen is
- screen 0, and App Two's primary screen is screen 1.
-
- \target multiple screens note
- \note QDesktopWidget inherits the QWidget properties, width() and
- height(), which specify the size of the desktop. However, for
- desktops with multiple screens, the size of the desktop is the union
- of all the screen sizes, so width() and height() should \e not be
- used for computing the size of a widget to be placed on one of the
- screens. The correct width and height values are obtained using
- availableGeometry() or screenGeometry() for a particular screen.
-
- \sa QApplication, QApplication::desktop(), QX11Info::appRootWindow()
-*/
-
-/*!
- \fn QDesktopWidget::QDesktopWidget()
-
- \internal
-
- Creates the desktop widget.
-
- If the system supports a virtual desktop, this widget will have
- the size of the virtual desktop; otherwise this widget will have
- the size of the primary screen.
-
- Instead of using QDesktopWidget directly, use QApplication::desktop().
-*/
-
-/*!
- \fn QDesktopWidget::~QDesktopWidget()
-
- \internal
-
- Destroys the desktop widget and frees any allocated resources.
-*/
-
-/*!
- \fn bool QDesktopWidget::isVirtualDesktop() const
-
- Returns true if the system manages the available screens in a
- virtual desktop; otherwise returns false.
-
- For virtual desktops, screen() will always return the same widget.
- The size of the virtual desktop is the size of this desktop
- widget.
-*/
-
-/*!
- \fn int QDesktopWidget::primaryScreen() const
-
- Returns the index of the primary screen.
-
- \sa numScreens()
-*/
-
-/*!
- \fn int QDesktopWidget::numScreens() const
-
- Returns the number of available screens.
-
- \sa primaryScreen()
-*/
-
-/*!
- \fn QWidget *QDesktopWidget::screen(int screen)
-
- Returns a widget that represents the screen with index \a screen
- (a value of -1 means the default screen).
-
-
- If the system uses a virtual desktop, the returned widget will
- have the geometry of the entire virtual desktop; i.e., bounding
- every \a screen.
-
- \sa primaryScreen(), numScreens(), isVirtualDesktop()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::availableGeometry(int screen) const
-
- Returns the available geometry of the screen with index \a screen. What
- is available will be subrect of screenGeometry() based on what the
- platform decides is available (for example excludes the dock and menu bar
- on Mac OS X, or the task bar on Windows). The default screen is used if
- \a screen is -1.
-
- \sa screenNumber(), screenGeometry()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::availableGeometry(const QWidget *widget) const
- \overload
-
- Returns the available geometry of the screen which contains \a widget.
-
- \sa screenGeometry()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::availableGeometry(const QPoint &p) const
- \overload
-
- Returns the available geometry of the screen which contains \a p.
-
- \sa screenGeometry()
-*/
-
-
-/*!
- \fn const QRect QDesktopWidget::screenGeometry(int screen) const
-
- Returns the geometry of the screen with index \a screen. The default
- screen is used if \a screen is -1.
-
- \sa screenNumber()
-*/
-
-/*!
- \fn const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const
- \overload
-
- Returns the geometry of the screen which contains \a widget.
-*/
-
-/*!
- \fn const QRect QDesktopWidget::screenGeometry(const QPoint &p) const
- \overload
-
- Returns the geometry of the screen which contains \a p.
-*/
-
-
-/*!
- \fn int QDesktopWidget::screenNumber(const QWidget *widget) const
-
- Returns the index of the screen that contains the largest
- part of \a widget, or -1 if the widget not on a screen.
-
- \sa primaryScreen()
-*/
-
-/*!
- \fn int QDesktopWidget::screenNumber(const QPoint &point) const
-
- \overload
- Returns the index of the screen that contains the \a point, or the
- screen which is the shortest distance from the \a point.
-
- \sa primaryScreen()
-*/
-
-/*!
- \fn void QDesktopWidget::resizeEvent(QResizeEvent *event)
- \reimp
-*/
-
-/*!
- \fn void QDesktopWidget::resized(int screen)
-
- This signal is emitted when the size of \a screen changes.
-*/
-
-/*!
- \fn void QDesktopWidget::workAreaResized(int screen)
-
- This signal is emitted when the work area available on \a screen changes.
-*/
diff --git a/doc/src/qmake-manual.qdoc b/doc/src/qmake-manual.qdoc
index a167399..d752811 100644
--- a/doc/src/qmake-manual.qdoc
+++ b/doc/src/qmake-manual.qdoc
@@ -235,7 +235,7 @@
\row \o CONFIG \o General project configuration options.
\row \o DESTDIR \o The directory in which the executable or binary file will
be placed.
- \row \o FORMS \o A list of .ui files to be processed by \c uic.
+ \row \o FORMS \o A list of UI files to be processed by \c uic.
\row \o HEADERS \o A list of filenames of header (.h) files used when
building the project.
\row \o QT \o Qt-specific configuration options.
@@ -701,8 +701,8 @@
If a directory is specified, it will be included in the \c DEPENDPATH
variable, and relevant code from there will be included in the generated
project file. If a file is given, it will be appended to the correct
- variable, depending on its extension; for example, .ui files are added
- to \c FORMS, and .cpp files are added to \c SOURCES.
+ variable, depending on its extension; for example, UI files are added
+ to \c FORMS, and C++ files are added to \c SOURCES.
You may also pass assignments on the command line in this mode. When doing
so, these assignments will be placed last in the generated project file.
@@ -829,6 +829,29 @@
Note that, if a project is later moved on the disk, \c qmake must be run
again to process the project file and create a new Xcode project file.
+ \section2 On supporting two build targets simultaneously
+
+ Implementing this is currently not feasible, because the XCode
+ concept of Active Build Configurations is conceptually different
+ from the qmake idea of build targets.
+
+ The XCode Active Build Configurations settings are for modifying
+ xcode configurations, compiler flags and similar build
+ options. Unlike Visual Studio, XCode does not allow for the
+ selection of specific library files based on whether debug or
+ release build configurations are selected. The qmake debug and
+ release settings control which library files are linked to the
+ executable.
+
+ It is currently not possible to set files in XCode configuration
+ settings from the qmake generated xcode project file. The way the
+ libraries are linked in the "Frameworks & Libraries" phase in the
+ XCode build system.
+
+ Furthermore, The selected "Active Build Configuration" is stored
+ in a .pbxuser file, which is generated by xcode on first load, not
+ created by qmake.
+
\section1 Windows
Features specific to this platform include support for creating Visual
@@ -1146,8 +1169,9 @@
(see \l{LibDepend}{Library Dependencies} for more info).
\endtable
- Please note that \c create_prl is required when \i {building} a static library,
- while \c link_prl is required when \i {using} a static library.
+ Please note that \c create_prl is required when \e {building} a
+ static library, while \c link_prl is required when \e {using} a
+ static library.
On Windows (or if Qt is configured with \c{-debug_and_release}, adding the
\c build_all option to the \c CONFIG variable makes this rule the default
@@ -1465,10 +1489,10 @@
\target FORMS
\section1 FORMS
- This variable specifies the .ui files (see \link
+ This variable specifies the UI files (see \link
designer-manual.html Qt Designer \endlink) to be processed through \c uic
before compiling. All dependencies, headers and source files required
- to build these .ui files will automatically be added to the project.
+ to build these UI files will automatically be added to the project.
For example:
@@ -1481,10 +1505,10 @@
\target FORMS3
\section1 FORMS3
- This variable specifies the old style .ui files to be processed
+ This variable specifies the old style UI files to be processed
through \c uic3 before compiling, when \c CONFIG contains uic3.
All dependencies, headers and source files required to build these
- .ui files will automatically be added to the project.
+ UI files will automatically be added to the project.
For example:
@@ -4529,7 +4553,7 @@
\list
\o HEADERS - A list of all the header files for the application.
\o SOURCES - A list of all the source files for the application.
- \o FORMS - A list of all the .ui files (created using \c{Qt Designer})
+ \o FORMS - A list of all the UI files (created using \c{Qt Designer})
for the application.
\o LEXSOURCES - A list of all the lex source files for the application.
\o YACCSOURCES - A list of all the yacc source files for the application.
@@ -4547,7 +4571,7 @@
\endlist
You only need to use the system variables that you have values for,
- for instance, if you don't have any extra INCLUDEPATHs then you don't
+ for instance, if you do not have any extra INCLUDEPATHs then you do not
need to specify any, \c qmake will add in the default ones needed.
For instance, an example project file might look like this:
diff --git a/doc/src/qmsdev.qdoc b/doc/src/qmsdev.qdoc
index b8d8f85..127b514 100644
--- a/doc/src/qmsdev.qdoc
+++ b/doc/src/qmsdev.qdoc
@@ -87,7 +87,7 @@
the existing project.
If you want to add an existing dialog to your project, then just select the
- relevant \c .ui file. This will then add it to your existing project and add
+ relevant UI file. This will then add it to your existing project and add
the relevant steps to create the generated code.
\section2 Using the 'Qt Designer' button
diff --git a/doc/src/qnamespace.qdoc b/doc/src/qnamespace.qdoc
deleted file mode 100644
index eb7d626..0000000
--- a/doc/src/qnamespace.qdoc
+++ /dev/null
@@ -1,2780 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \namespace Qt
-
- \brief The Qt namespace contains miscellaneous identifiers
- used throughout the Qt library.
-
- \ingroup misc
-*/
-
-/*!
- \enum Qt::Orientation
-
- This type is used to signify an object's orientation.
-
- \value Horizontal
- \value Vertical
-
- Orientation is used with QScrollBar for example.
-*/
-
-/*!
- \enum Qt::AlignmentFlag
-
- This enum type is used to describe alignment. It contains
- horizontal and vertical flags that can be combined to produce
- the required effect.
-
- The \l{TextElideMode} enum can also be used in many situations
- to fine-tune the appearance of aligned text.
-
- The horizontal flags are:
-
- \value AlignLeft Aligns with the left edge.
- \value AlignRight Aligns with the right edge.
- \value AlignHCenter Centers horizontally in the available space.
- \value AlignJustify Justifies the text in the available space.
- \omitvalue AlignAuto
-
- The vertical flags are:
-
- \value AlignTop Aligns with the top.
- \value AlignBottom Aligns with the bottom.
- \value AlignVCenter Centers vertically in the available space.
-
- You can use only one of the horizontal flags at a time. There is
- one two-dimensional flag:
-
- \value AlignCenter Centers in both dimensions.
-
- You can use at most one horizontal and one vertical flag at a
- time. Qt::AlignCenter counts as both horizontal and vertical.
-
- Three enum values are useful in applications that can be run in
- right-to-left mode:
-
- \value AlignAbsolute If the widget's layout direction is
- Qt::RightToLeft (instead of Qt::LeftToRight, the default),
- Qt::AlignLeft refers to the \e right edge and Qt::AlignRight
- to the \e left edge. This is normally the desired behavior.
- If you want Qt::AlignLeft to always mean "left" and
- Qt::AlignRight to always mean "right", combine the flag with
- Qt::AlignAbsolute.
- \value AlignLeading Synonym for Qt::AlignLeft.
- \value AlignTrailing Synonym for Qt::AlignRight.
-
- Masks:
-
- \value AlignHorizontal_Mask
- \value AlignVertical_Mask
-
- Conflicting combinations of flags have undefined meanings.
-*/
-
-/*!
- \enum Qt::ApplicationAttribute
-
- This enum describes attributes that change the behavior of
- application-wide features. These are enabled and disabled using
- QCoreApplication::setAttribute(), and can be tested for with
- QCoreApplication::testAttribute().
-
- \value AA_ImmediateWidgetCreation Ensures that widgets are created
- as soon as they are constructed. By default, resources for
- widgets are allocated on demand to improve efficiency and
- minimize resource usage. Setting or clearing this attribute
- affects widgets constructed after the change. Setting it
- tells Qt to create toplevel windows immediately.
- Therefore, if it is important to minimize resource
- consumption, do not set this attribute.
-
- \value AA_MSWindowsUseDirect3DByDefault This value is obsolete and
- has no effect.
-
- \value AA_DontShowIconsInMenus Actions with the Icon property won't be
- shown in any menus unless specifically set by the
- QAction::iconVisibleInMenu property.
-
- Menus that are currently open or menus already created in the native
- Mac OS X menubar \e{may not} pick up a change in this attribute. Changes
- in the QAction::iconVisibleInMenu property will always be picked up.
-
- \value AA_NativeWindows Ensures that widgets have native windows.
-
- \value AA_DontCreateNativeWidgetSiblings Ensures that siblings of native
- widgets stay non-native unless specifically set by the
- Qt::WA_NativeWindow attribute.
-
- \value AA_MacPluginApplication Stops the Qt mac application from doing
- specific initializations that do not necessarily make sense when using Qt
- to author a plugin. This includes avoiding loading our nib for the main
- menu and not taking possession of the native menu bar. When setting this
- attribute to true will also set the AA_DontUseNativeMenuBar attribute
- to true.
-
- \value AA_DontUseNativeMenuBar All menubars created while this attribute is
- set to true won't be used as a native menubar (e.g, the menubar at
- the top of the main screen on Mac OS X or at the bottom in Windows CE).
-
- \value AA_MacDontSwapCtrlAndMeta On Mac OS X by default, Qt swaps the
- Control and Meta (Command) keys (i.e., whenever Control is pressed, Qt
- sends Meta and whenever Meta is pressed Control is sent. When this
- attribute is true, Qt will not do the flip. QKeySequence::StandardShortcuts
- will also flip accordingly (i.e., QKeySequence::Copy will be
- Command+C on the keyboard regardless of the value set, though what is output for
- QKeySequence::toString(QKeySequence::PortableText) will be different).
-
- \omitvalue AA_AttributeCount
-*/
-
-/*!
- \enum Qt::MouseButton
-
- This enum type describes the different mouse buttons.
-
- \value NoButton The button state does not refer to any
- button (see QMouseEvent::button()).
- \value LeftButton The left button is pressed, or an event refers
- to the left button. (The left button may be the right button on
- left-handed mice.)
- \value RightButton The right button.
- \value MidButton The middle button.
- \value XButton1 The first X button.
- \value XButton2 The second X button.
-
- \omitvalue MouseButtonMask
-
- \sa KeyboardModifier Modifier
-*/
-
-/*!
- \enum Qt::KeyboardModifier
-
- This enum describes the modifier keys.
-
- \value NoModifier No modifier key is pressed.
- \value ShiftModifier A Shift key on the keyboard is pressed.
- \value ControlModifier A Ctrl key on the keyboard is pressed.
- \value AltModifier An Alt key on the keyboard is pressed.
- \value MetaModifier A Meta key on the keyboard is pressed.
- \value KeypadModifier A keypad button is pressed.
- \value GroupSwitchModifier X11 only. A Mode_switch key on the keyboard is pressed.
-
- \omitvalue KeyboardModifierMask
-
- \note On Mac OS X, the \c ControlModifier value corresponds to
- the Command keys on the Macintosh keyboard, and the \c MetaModifier value
- corresponds to the Control keys. The \c KeypadModifier value will also be set
- when an arrow key is pressed as the arrow keys are considered part of the
- keypad.
-
- \note On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped
- to the Windows key.
-
- \sa MouseButton Modifier
-*/
-
-/*!
- \enum Qt::Modifier
-
- This enum provides shorter names for the keyboard modifier keys
- supported by Qt.
-
- \bold{Note:} On Mac OS X, the \c CTRL value corresponds to
- the Command keys on the Macintosh keyboard, and the \c META value
- corresponds to the Control keys.
-
- \value SHIFT The Shift keys provided on all standard keyboards.
- \value META The Meta keys.
- \value CTRL The Ctrl keys.
- \value ALT The normal Alt keys, but not keys like AltGr.
- \value UNICODE_ACCEL The shortcut is specified as a Unicode code
- point, not as a Qt Key.
- \omitvalue MODIFIER_MASK
-
- \sa KeyboardModifier MouseButton
-*/
-
-/*!
- \enum Qt::GlobalColor
-
- \raw HTML
- <style type="text/css" id="colorstyles">
- #white { background-color: #ffffff; color: #000000 }
- #black { background-color: #000000; color: #ffffff }
- #red { background-color: #ff0000; color: #000000 }
- #darkRed { background-color: #800000; color: #ffffff }
- #green { background-color: #00ff00; color: #000000 }
- #darkGreen { background-color: #008000; color: #ffffff }
- #blue { background-color: #0000ff; color: #ffffff }
- #darkBlue { background-color: #000080; color: #ffffff }
- #cyan { background-color: #00ffff; color: #000000 }
- #darkCyan { background-color: #008080; color: #ffffff }
- #magenta { background-color: #ff00ff; color: #000000 }
- #darkMagenta { background-color: #800080; color: #ffffff }
- #yellow { background-color: #ffff00; color: #000000 }
- #darkYellow { background-color: #808000; color: #ffffff }
- #gray { background-color: #a0a0a4; color: #000000 }
- #darkGray { background-color: #808080; color: #ffffff }
- #lightGray { background-color: #c0c0c0; color: #000000 }
- </style>
- \endraw
-
- Qt's predefined QColor objects:
-
- \value white \raw HTML
- White <tt id="white">(#ffffff)</tt>
- \endraw
- \value black \raw HTML
- Black <tt id="black">(#000000)</tt>
- \endraw
- \value red \raw HTML
- Red <tt id="red">(#ff0000)</tt>
- \endraw
- \value darkRed \raw HTML
- Dark red <tt id="darkRed">(#800000)</tt>
- \endraw
- \value green \raw HTML
- Green <tt id="green">(#00ff00)</tt>
- \endraw
- \value darkGreen \raw HTML
- Dark green <tt id="darkGreen">(#008000)</tt>
- \endraw
- \value blue \raw HTML
- Blue <tt id="blue">(#0000ff)</tt>
- \endraw
- \value darkBlue \raw HTML
- Dark blue <tt id="darkBlue">(#000080)</tt>
- \endraw
- \value cyan \raw HTML
- Cyan <tt id="cyan">(#00ffff)</tt>
- \endraw
- \value darkCyan \raw HTML
- Dark cyan <tt id="darkCyan">(#008080)</tt>
- \endraw
- \value magenta \raw HTML
- Magenta <tt id="magenta">(#ff00ff)</tt>
- \endraw
- \value darkMagenta \raw HTML
- Dark magenta <tt id="darkMagenta">(#800080)</tt>
- \endraw
- \value yellow \raw HTML
- Yellow <tt id="yellow">(#ffff00)</tt>
- \endraw
- \value darkYellow \raw HTML
- Dark yellow <tt id="darkYellow">(#808000)</tt>
- \endraw
- \value gray \raw HTML
- Gray <tt id="gray">(#a0a0a4)</tt>
- \endraw
- \value darkGray \raw HTML
- Dark gray <tt id="darkGray">(#808080)</tt>
- \endraw
- \value lightGray \raw HTML
- Light gray <tt id="lightGray">(#c0c0c0)</tt>
- \endraw
- \value transparent a transparent black value (i.e., QColor(0, 0, 0, 0))
- \value color0 0 pixel value (for bitmaps)
- \value color1 1 pixel value (for bitmaps)
-
- \sa QColor
-
-*/
-
-/*!
- \enum Qt::PenStyle
-
- This enum type defines the pen styles that can be drawn using
- QPainter. The styles are:
-
- \table
- \row
- \o \inlineimage qpen-solid.png
- \o \inlineimage qpen-dash.png
- \o \inlineimage qpen-dot.png
- \row
- \o Qt::SolidLine
- \o Qt::DashLine
- \o Qt::DotLine
- \row
- \o \inlineimage qpen-dashdot.png
- \o \inlineimage qpen-dashdotdot.png
- \o \inlineimage qpen-custom.png
- \row
- \o Qt::DashDotLine
- \o Qt::DashDotDotLine
- \o Qt::CustomDashLine
- \endtable
-
- \value NoPen no line at all. For example, QPainter::drawRect()
- fills but does not draw any boundary line.
-
- \value SolidLine A plain line.
- \value DashLine Dashes separated by a few pixels.
- \value DotLine Dots separated by a few pixels.
- \value DashDotLine Alternate dots and dashes.
- \value DashDotDotLine One dash, two dots, one dash, two dots.
- \value CustomDashLine A custom pattern defined using
- QPainterPathStroker::setDashPattern().
-
- \omitvalue MPenStyle
-
- \sa QPen
-*/
-
-/*!
- \enum Qt::PenCapStyle
-
- This enum type defines the pen cap styles supported by Qt, i.e.
- the line end caps that can be drawn using QPainter.
-
- \table
- \row
- \o \inlineimage qpen-square.png
- \o \inlineimage qpen-flat.png
- \o \inlineimage qpen-roundcap.png
- \row
- \o Qt::SquareCap
- \o Qt::FlatCap
- \o Qt::RoundCap
- \endtable
-
- \value FlatCap a square line end that does not cover the end
- point of the line.
- \value SquareCap a square line end that covers the end point and
- extends beyond it by half the line width.
- \value RoundCap a rounded line end.
- \omitvalue MPenCapStyle
-
- \sa QPen
-*/
-
-/*!
- \enum Qt::PenJoinStyle
-
- This enum type defines the pen join styles supported by Qt, i.e.
- which joins between two connected lines can be drawn using
- QPainter.
-
- \table
- \row
- \o \inlineimage qpen-bevel.png
- \o \inlineimage qpen-miter.png
- \o \inlineimage qpen-roundjoin.png
- \row
- \o Qt::BevelJoin
- \o Qt::MiterJoin
- \o Qt::RoundJoin
- \endtable
-
- \value MiterJoin The outer edges of the lines are extended to
- meet at an angle, and this area is filled.
- \value BevelJoin The triangular notch between the two lines is filled.
- \value RoundJoin A circular arc between the two lines is filled.
- \value SvgMiterJoin A miter join corresponding to the definition of
- a miter join in the \l{SVG 1.2 Tiny} specification.
- \omitvalue MPenJoinStyle
-
- \sa QPen
-*/
-
-/*!
- \enum Qt::BrushStyle
-
- This enum type defines the brush styles supported by Qt, i.e. the
- fill pattern of shapes drawn using QPainter.
-
- \image brush-styles.png Brush Styles
-
- \value NoBrush No brush pattern.
- \value SolidPattern Uniform color.
- \value Dense1Pattern Extremely dense brush pattern.
- \value Dense2Pattern Very dense brush pattern.
- \value Dense3Pattern Somewhat dense brush pattern.
- \value Dense4Pattern Half dense brush pattern.
- \value Dense5Pattern Somewhat sparse brush pattern.
- \value Dense6Pattern Very sparse brush pattern.
- \value Dense7Pattern Extremely sparse brush pattern.
- \value HorPattern Horizontal lines.
- \value VerPattern Vertical lines.
- \value CrossPattern Crossing horizontal and vertical lines.
- \value BDiagPattern Backward diagonal lines.
- \value FDiagPattern Forward diagonal lines.
- \value DiagCrossPattern Crossing diagonal lines.
- \value LinearGradientPattern Linear gradient (set using a dedicated QBrush constructor).
- \value ConicalGradientPattern Conical gradient (set using a dedicated QBrush constructor).
- \value RadialGradientPattern Radial gradient (set using a dedicated QBrush constructor).
- \value TexturePattern Custom pattern (see QBrush::setTexture()).
-
- \omitvalue CustomPattern
-
- \sa QBrush
-*/
-
-/*!
- \enum Qt::TextFlag
-
- This enum type is used to define some modifier flags. Some of
- these flags only make sense in the context of printing:
-
- \value TextSingleLine Treats all whitespace as spaces and prints just
- one line.
- \value TextDontClip If it's impossible to stay within the given bounds,
- it prints outside.
- \value TextExpandTabs Makes the U+0009 (ASCII tab) character move to
- the next tab stop.
- \value TextShowMnemonic Displays the string "\&P" as \underline{P}
- (see QButton for an example). For an ampersand, use "\&\&".
- \value TextWordWrap Breaks lines at appropriate points, e.g. at word
- boundaries.
- \value TextWrapAnywhere Breaks lines anywhere, even within words.
- \value TextHideMnemonic Same as Qt::TextShowMnemonic but doesn't draw the underlines.
- \value TextDontPrint Treat this text as "hidden" and don't print
- it.
- \value IncludeTrailingSpaces When this option is set, QTextLine::naturalTextWidth() and naturalTextRect() will
- return a value that includes the width of trailing spaces in the text; otherwise
- this width is excluded.
- \value TextIncludeTrailingSpaces Same as IncludeTrailingSpaces
- \value TextJustificationForced Ensures that text lines are justified.
-
- \omitvalue BreakAnywhere
- \omitvalue DontClip
- \omitvalue DontPrint
- \omitvalue ExpandTabs
- \omitvalue IncludeTrailingSpaces
- \omitvalue NoAccel
- \omitvalue ShowPrefix
- \omitvalue SingleLine
- \omitvalue WordBreak
- \omitvalue TextForceLeftToRight
- \omitvalue TextForceRightToLeft
-
- You can use as many modifier flags as you want, except that
- Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.
-
- Flags that are inappropriate for a given use are generally
- ignored.
-*/
-
-/*!
- \enum Qt::BGMode
-
- Background mode:
-
- \value TransparentMode
- \value OpaqueMode
-*/
-
-/*!
- \enum Qt::ConnectionType
-
- This enum describes the types of connection that can be used between signals and
- slots. In particular, it determines whether a particular signal is delivered to a
- slot immediately or queued for delivery at a later time.
-
- \omitvalue AutoCompatConnection
- \value DirectConnection When emitted, the signal is immediately delivered to the slot.
- \value QueuedConnection When emitted, the signal is queued until the event loop is
- able to deliver it to the slot.
- \value BlockingQueuedConnection
- Same as QueuedConnection, except that the current thread blocks
- until the slot has been delivered. This connection type should
- only be used for receivers in a different thread. Note that misuse
- of this type can lead to deadlocks in your application.
- \value AutoConnection If the signal is emitted from the thread
- in which the receiving object lives, the
- slot is invoked directly, as with
- Qt::DirectConnection; otherwise the
- signal is queued, as with
- Qt::QueuedConnection.
- \value UniqueConnection Same as AutoConnection, but there will be a check that the signal is
- not already connected to the same slot before connecting, otherwise,
- the connection will fail.
- This value was introduced in Qt 4.6.
-
- With queued connections, the parameters must be of types that are known to
- Qt's meta-object system, because Qt needs to copy the arguments to store them
- in an event behind the scenes. If you try to use a queued connection and
- get the error message
-
- \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 0
-
- call qRegisterMetaType() to register the data type before you
- establish the connection.
-
- \sa {Thread Support in Qt}, QObject::connect(), qRegisterMetaType()
-*/
-
-/*!
- \enum Qt::DateFormat
-
- \value TextDate The default Qt format, which includes the day and month name,
- the day number in the month, and the year in full. The day and month names will
- be short, localized names. This is basically equivalent to using the date format
- string, "ddd MMM d yyyy". See QDate::toString() for more information.
-
- \value ISODate ISO 8601 extended format: either \c{YYYY-MM-DD} for dates or
- \c{YYYY-MM-DDTHH:MM:SS} for combined dates and times.
-
- \value SystemLocaleShortDate The \l{QLocale::ShortFormat}{short format} used
- by the \l{QLocale::system()}{operating system}.
-
- \value SystemLocaleLongDate The \l{QLocale::LongFormat}{long format} used
- by the \l{QLocale::system()}{operating system}.
-
- \value DefaultLocaleShortDate The \l{QLocale::ShortFormat}{short format} specified
- by the \l{QLocale::setDefault()}{application's locale}.
-
- \value DefaultLocaleLongDate The \l{QLocale::LongFormat}{long format} used
- by the \l{QLocale::setDefault()}{application's locale}.
-
- \value SystemLocaleDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
- instead (or Qt::SystemLocaleLongDate if you want long dates).
-
- \value LocaleDate \e{This enum value is deprecated.} Use Qt::DefaultLocaleShortDate
- instead (or Qt::DefaultLocaleLongDate if you want long dates).
-
- \value LocalDate \e{This enum value is deprecated.} Use Qt::SystemLocaleShortDate
- instead (or Qt::SystemLocaleLongDate if you want long dates).
-
- \note For \c ISODate formats, each \c Y, \c M and \c D represents a single digit
- of the year, month and day used to specify the date. Each \c H, \c M and \c S
- represents a single digit of the hour, minute and second used to specify the time.
- The presence of a literal \c T character is used to separate the date and time when
- both are specified.
-*/
-
-
-/*!
- \enum Qt::TimeSpec
-
- \value LocalTime Locale dependent time (Timezones and Daylight Savings Time).
- \value UTC Coordinated Universal Time, replaces Greenwich Mean Time.
- \value OffsetFromUTC An offset in seconds from Coordinated Universal Time.
-*/
-
-/*!
- \enum Qt::DayOfWeek
-
- \value Monday
- \value Tuesday
- \value Wednesday
- \value Thursday
- \value Friday
- \value Saturday
- \value Sunday
-*/
-
-/*!
- \enum Qt::CaseSensitivity
-
- \value CaseInsensitive
- \value CaseSensitive
-*/
-
-/*!
- \enum Qt::ToolBarArea
-
- \value LeftToolBarArea
- \value RightToolBarArea
- \value TopToolBarArea
- \value BottomToolBarArea
- \value AllToolBarAreas
- \value NoToolBarArea
-
- \omitvalue ToolBarArea_Mask
-*/
-
-/*!
- \enum Qt::DockWidgetArea
-
- \value LeftDockWidgetArea
- \value RightDockWidgetArea
- \value TopDockWidgetArea
- \value BottomDockWidgetArea
- \value AllDockWidgetAreas
- \value NoDockWidgetArea
-
- \omitvalue DockWidgetArea_Mask
-*/
-
-/*!
- \enum Qt::BackgroundMode
-
- \compat
-
- \value FixedColor
- \value FixedPixmap
- \value NoBackground
- \value PaletteForeground
- \value PaletteButton
- \value PaletteLight
- \value PaletteMidlight
- \value PaletteDark
- \value PaletteMid
- \value PaletteText
- \value PaletteBrightText
- \value PaletteBase
- \value PaletteBackground
- \value PaletteShadow
- \value PaletteHighlight
- \value PaletteHighlightedText
- \value PaletteButtonText
- \value PaletteLink
- \value PaletteLinkVisited
- \value X11ParentRelative
-*/
-
-/*!
- \enum Qt::ImageConversionFlag
-
- The options marked "(default)" are set if no other values from
- the list are included (since the defaults are zero):
-
- Color/Mono preference (ignored for QBitmap):
-
- \value AutoColor (default) - If the image has \link
- QImage::depth() depth\endlink 1 and contains only
- black and white pixels, the pixmap becomes monochrome.
- \value ColorOnly The pixmap is dithered/converted to the
- \link QPixmap::defaultDepth() native display depth\endlink.
- \value MonoOnly The pixmap becomes monochrome. If necessary,
- it is dithered using the chosen dithering algorithm.
-
- Dithering mode preference for RGB channels:
-
- \value DiffuseDither (default) - A high-quality dither.
- \value OrderedDither A faster, more ordered dither.
- \value ThresholdDither No dithering; closest color is used.
-
- Dithering mode preference for alpha channel:
-
- \value ThresholdAlphaDither (default) - No dithering.
- \value OrderedAlphaDither A faster, more ordered dither.
- \value DiffuseAlphaDither A high-quality dither.
- \omitvalue NoAlpha
-
- Color matching versus dithering preference:
-
- \value PreferDither (default when converting to a pixmap) - Always dither
- 32-bit images when the image is converted to 8 bits.
- \value AvoidDither (default when converting for the purpose of saving to
- file) - Dither 32-bit images only if the image has more than 256
- colors and it is being converted to 8 bits.
- \omitvalue AutoDither
-
- \omitvalue ColorMode_Mask
- \omitvalue Dither_Mask
- \omitvalue AlphaDither_Mask
- \omitvalue DitherMode_Mask
- \omitvalue NoOpaqueDetection
-*/
-
-/*! \enum Qt::GUIStyle
-
- \compat
-
- \value WindowsStyle
- \value MotifStyle
- \value MacStyle
- \value Win3Style
- \value PMStyle
-*/
-
-/*!
- \enum Qt::UIEffect
-
- This enum describes the available UI effects.
-
- By default, Qt will try to use the platform specific desktop
- settings for each effect. Use the
- QApplication::setDesktopSettingsAware() function (passing \c false
- as argument) to prevent this, and the
- QApplication::setEffectEnabled() to enable or disable a particular
- effect.
-
- Note that all effects are disabled on screens running at less than
- 16-bit color depth.
-
- \omitvalue UI_General
-
- \value UI_AnimateMenu Show animated menus.
- \value UI_FadeMenu Show faded menus.
- \value UI_AnimateCombo Show animated comboboxes.
- \value UI_AnimateTooltip Show tooltip animations.
- \value UI_FadeTooltip Show tooltip fading effects.
- \value UI_AnimateToolBox Reserved
-
- \sa QApplication::setEffectEnabled(), QApplication::setDesktopSettingsAware()
-*/
-
-/*! \enum Qt::AspectRatioMode
-
- This enum type defines what happens to the aspect ratio when
- scaling an rectangle.
-
- \image qimage-scaling.png
-
- \value IgnoreAspectRatio The size is scaled freely. The aspect
- ratio is not preserved.
- \value KeepAspectRatio The size is scaled to a rectangle as
- large as possible inside a given
- rectangle, preserving the aspect ratio.
- \value KeepAspectRatioByExpanding The size is scaled to a
- rectangle as small as possible
- outside a given rectangle,
- preserving the aspect ratio.
-
- \omitvalue ScaleFree
- \omitvalue ScaleMin
- \omitvalue ScaleMax
-
- \sa QSize::scale(), QImage::scaled()
-*/
-
-/*! \typedef Qt::ScaleMode
- \compat
-
- Use Qt::AspectRatioMode instead.
-
- The enum values have been renamed as follows:
-
- \table
- \row \i Old enum value \i New enum value
- \row \i Qt::ScaleFree \i Qt::IgnoreAspectRatio
- \row \i Qt::ScaleMin \i Qt::KeepAspectRatio
- \row \i Qt::ScaleMax \i Qt::KeepAspectRatioByExpanding
- \endtable
-*/
-
-/*! \enum Qt::TransformationMode
-
- This enum type defines whether image transformations (e.g.,
- scaling) should be smooth or not.
-
- \value FastTransformation The transformation is performed
- quickly, with no smoothing.
- \value SmoothTransformation The resulting image is transformed
- using bilinear filtering.
-
- \sa QImage::scaled()
-*/
-
-/*! \enum Qt::Axis
-
- This enum type defines three values to represent the three
- axes in the cartesian coordinate system.
-
- \value XAxis The X axis.
- \value YAxis The Y axis.
- \value ZAxis The Z axis.
-
- \sa QTransform::rotate(), QTransform::rotateRadians()
- */
-
-/*!
- \enum Qt::WidgetAttribute
-
- \keyword widget attributes
-
- This enum type is used to specify various widget attributes.
- Attributes are set and cleared with QWidget::setAttribute(), and
- queried with QWidget::testAttribute(), although some have special
- convenience functions which are mentioned below.
-
- \value WA_AcceptDrops Allows data from drag and drop operations
- to be dropped onto the widget (see QWidget::setAcceptDrops()).
-
- \value WA_AlwaysShowToolTips Enables tooltips for inactive windows.
-
- \value WA_ContentsPropagated This flag is superfluous and
- obsolete; it no longer has any effect. Since Qt 4.1, all widgets
- that do not set WA_PaintOnScreen propagate their contents.
-
- \value WA_CustomWhatsThis Indicates that the widget wants to
- continue operating normally in "What's This?" mode. This is set by the
- widget's author.
-
- \value WA_DeleteOnClose Makes Qt delete this widget when the
- widget has accepted the close event (see QWidget::closeEvent()).
-
- \value WA_Disabled Indicates that the widget is disabled, i.e.
- it does not receive any mouse or keyboard events. There is also a
- getter functions QWidget::isEnabled(). This is set/cleared by the
- Qt kernel.
-
- \omitvalue WA_DropSiteRegistered
- \omitvalue WA_ForceAcceptDrops
-
- \value WA_ForceDisabled Indicates that the widget is
- explicitly disabled, i.e. it will remain disabled even when all
- its ancestors are set to the enabled state. This implies
- WA_Disabled. This is set/cleared by QWidget::setEnabled() and
- QWidget::setDisabled().
-
- \value WA_ForceUpdatesDisabled Indicates that updates are
- explicitly disabled for the widget; i.e. it will remain disabled
- even when all its ancestors are set to the updates-enabled state.
- This implies WA_UpdatesDisabled. This is set/cleared by
- QWidget::setUpdatesEnabled().
-
- \value WA_GroupLeader
- \e{This attribute has been deprecated.} Use QWidget::windowModality
- instead.
-
- \value WA_Hover Forces Qt to generate paint events when the mouse
- enters or leaves the widget. This feature is typically used when
- implementing custom styles; see the \l{widgets/styles}{Styles}
- example for details.
-
- \value WA_InputMethodEnabled Enables input methods for Asian languages.
- Must be set when creating custom text editing widgets.
- On Windows CE this flag can be used in addition to
- QApplication::autoSipEnabled to automatically display the SIP when
- entering a widget.
-
- \value WA_KeyboardFocusChange Set on a toplevel window when
- the users changes focus with the keyboard (tab, backtab, or shortcut).
-
- \value WA_KeyCompression Enables key event compression if set,
- and disables it if not set. By default key compression is off, so
- widgets receive one key press event for each key press (or more,
- since autorepeat is usually on). If you turn it on and your
- program doesn't keep up with key input, Qt may try to compress key
- events so that more than one character can be processed in each
- event.
- For example, a word processor widget might receive 2, 3 or more
- characters in each QKeyEvent::text(), if the layout recalculation
- takes too long for the CPU.
- If a widget supports multiple character unicode input, it is
- always safe to turn the compression on.
- Qt performs key event compression only for printable characters.
- Qt::Modifier keys, cursor movement keys, function keys and
- miscellaneous action keys (e.g. Escape, Enter, Backspace,
- PrintScreen) will stop key event compression, even if there are
- more compressible key events available.
- Platforms other than Mac and X11 do not support this compression,
- in which case turning it on will have no effect.
- This is set/cleared by the widget's author.
-
- \value WA_LayoutOnEntireRect Indicates that the widget
- wants QLayout to operate on the entire QWidget::rect(), not only
- on QWidget::contentsRect(). This is set by the widget's author.
-
- \value WA_LayoutUsesWidgetRect Ignore the layout item rect from the style
- when laying out this widget with QLayout. This makes a difference in
- QMacStyle and QPlastiqueStyle for some widgets.
-
- \value WA_MacNoClickThrough When a widget that has this attribute set
- is clicked, and its window is inactive, the click will make the window
- active but won't be seen by the widget. Typical use of this attribute
- is on widgets with "destructive" actions, such as a "Delete" button.
- WA_MacNoClickThrough also applies to all child widgets of the widget
- that has it set.
-
- \value WA_MacOpaqueSizeGrip Indicates that the native Carbon size grip
- should be opaque instead of transparent (the default). This attribute
- is only applicable to Mac OS X and is set by the widget's author.
-
- \value WA_MacShowFocusRect Indicates that this widget should get a
- QFocusFrame around it. Some widgets draw their own focus halo
- regardless of this attribute. Not that the QWidget::focusPolicy
- also plays the main role in whether something is given focus or
- not, this only controls whether or not this gets the focus
- frame. This attribute is only applicable to Mac OS X.
-
- \value WA_MacNormalSize Indicates the widget should have the
- normal size for widgets in Mac OS X. This attribute is only
- applicable to Mac OS X.
-
- \value WA_MacSmallSize Indicates the widget should have the small
- size for widgets in Mac OS X. This attribute is only applicable to
- Mac OS X.
-
- \value WA_MacMiniSize Indicates the widget should have the mini
- size for widgets in Mac OS X. This attribute is only applicable to
- Mac OS X.
-
- \value WA_MacVariableSize Indicates the widget can choose between
- alternative sizes for widgets to avoid clipping.
- This attribute is only applicable to Mac OS X.
-
- \value WA_MacBrushedMetal Indicates the widget should be drawn in
- the brushed metal style as supported by the windowing system. This
- attribute is only applicable to Mac OS X.
-
- \omitvalue WA_MacMetalStyle
-
- \value WA_Mapped Indicates that the widget is mapped on screen.
- This is set/cleared by the Qt kernel.
-
- \value WA_MouseNoMask Makes the widget receive mouse events for
- the entire widget regardless of the currently set mask,
- overriding QWidget::setMask(). This is not applicable for
- top-level windows.
-
- \value WA_MouseTracking Indicates that the widget has mouse
- tracking enabled. See QWidget::mouseTracking.
-
- \value WA_Moved Indicates that the widget has an explicit
- position. This is set/cleared by QWidget::move() and
- by QWidget::setGeometry().
-
- \value WA_MSWindowsUseDirect3D This value is obsolete and has no
- effect.
-
- \value WA_NoBackground This value is obsolete. Use
- WA_OpaquePaintEvent instead.
-
- \value WA_NoChildEventsForParent Indicates that the widget does
- not want ChildAdded or ChildRemoved events sent to its
- parent. This is rarely necessary but can help to avoid automatic
- insertion widgets like splitters and layouts. This is set by a
- widget's author.
-
- \value WA_NoChildEventsFromChildren Indicates that the widget does
- not want to receive ChildAdded or ChildRemoved events sent from its
- children. This is set by a widget's author.
-
- \value WA_NoMouseReplay Used for pop-up widgets. Indicates that the most
- recent mouse press event should not be replayed when the pop-up widget
- closes. The flag is set by the widget's author and cleared by the Qt kernel
- every time the widget receives a new mouse event.
-
- \value WA_NoMousePropagation Prohibits mouse events from being propagated
- to the widget's parent. This attribute is disabled by default.
-
- \value WA_TransparentForMouseEvents When enabled, this attribute disables
- the delivery of mouse events to the widget and its children. Mouse events
- are delivered to other widgets as if the widget and its children were not
- present in the widget hierarchy; mouse clicks and other events effectively
- "pass through" them. This attribute is disabled by default.
-
- \value WA_NoSystemBackground Indicates that the widget has no background,
- i.e. when the widget receives paint events, the background is not
- automatically repainted. \note Unlike WA_OpaquePaintEvent, newly exposed
- areas are \bold never filled with the background (e.g., after showing a
- window for the first time the user can see "through" it until the
- application processes the paint events). This flag is set or cleared by the
- widget's author.
-
- \value WA_OpaquePaintEvent Indicates that the widget paints all its pixels
- when it receives a paint event. Thus, it is not required for operations
- like updating, resizing, scrolling and focus changes to erase the widget
- before generating paint events. The use of WA_OpaquePaintEvent provides a
- small optimization by helping to reduce flicker on systems that do not
- support double buffering and avoiding computational cycles necessary to
- erase the background prior to painting. \note Unlike
- WA_NoSystemBackground, WA_OpaquePaintEvent makes an effort to avoid
- transparent window backgrounds. This flag is set or cleared by the widget's
- author.
-
- \value WA_OutsideWSRange Indicates that the widget is outside
- the valid range of the window system's coordinate system. A widget
- outside the valid range cannot be mapped on screen. This is
- set/cleared by the Qt kernel.
-
- \value WA_PaintOnScreen Indicates that the widget wants to draw directly
- onto the screen. Widgets with this attribute set do not participate in
- composition management, i.e. they cannot be semi-transparent or shine
- through semi-transparent overlapping widgets. \note This flag is only
- supported on X11 and it disables double buffering. On Qt for Embedded
- Linux, the flag only works when set on a top-level widget and it relies on
- support from the active screen driver. This flag is set or cleared by the
- widget's author. To render outside of Qt's paint system, e.g., if you
- require native painting primitives, you need to reimplement
- QWidget::paintEngine() to return 0 and set this flag.
-
- \value WA_PaintOutsidePaintEvent Makes it possible to use QPainter to
- paint on the widget outside \l{QWidget::paintEvent()}{paintEvent()}. This
- flag is not supported on Windows, Mac OS X or Embedded Linux. We recommend
- that you use it only when porting Qt 3 code to Qt 4.
-
- \value WA_PaintUnclipped Makes all painters operating on this widget
- unclipped. Children of this widget or other widgets in front of it do not
- clip the area the painter can paint on. This flag is only supported for
- widgets with the WA_PaintOnScreen flag set. The preferred way to do this in
- a cross platform way is to create a transparent widget that lies in front
- of the other widgets.
-
- \value WA_PendingMoveEvent Indicates that a move event is pending, e.g.,
- when a hidden widget was moved. This flag is set or cleared by the Qt
- kernel.
-
- \value WA_PendingResizeEvent Indicates that a resize event is pending,
- e.g., when a hidden widget was resized. This flag is set or cleared by the
- Qt kernel.
-
- \value WA_QuitOnClose Makes Qt quit the application when the last widget
- with the attribute set has accepted closeEvent(). This behavior can be
- modified with the QApplication::quitOnLastWindowClosed property. By default
- this attribute is set for all widgets of type Qt::Window.
-
- \value WA_Resized Indicates that the widget has an explicit size. This flag
- is set or cleared by QWidget::resize() and QWidget::setGeometry().
-
- \value WA_RightToLeft Indicates that the layout direction for the widget
- is right to left.
-
- \value WA_SetCursor Indicates that the widget has a cursor of its own. This
- flag is set or cleared by QWidget::setCursor() and QWidget::unsetCursor().
-
- \value WA_SetFont Indicates that the widget has a font of its own. This
- flag is set or cleared by QWidget::setFont().
-
- \value WA_SetPalette Indicates that the widget has a palette of its own.
- This flag is set or cleared by QWidget::setPalette().
-
- \value WA_SetStyle Indicates that the widget has a style of its own. This
- flag is set or cleared by QWidget::setStyle().
-
- \value WA_ShowModal \e{This attribute has been deprecated.} Use
- QWidget::windowModality instead.
-
- \value WA_StaticContents Indicates that the widget contents are north-west
- aligned and static. On resize, such a widget will receive paint events only
- for parts of itself that are newly visible. This flag is set or cleared by
- the widget's author.
-
- \value WA_StyleSheet Indicates that the widget is styled using a
- \l{Qt Style Sheets}{style sheet}.
-
- \value WA_TranslucentBackground Indicates that the widget should have a
- translucent background, i.e., any non-opaque regions of the widgets will be
- translucent because the widget will have an alpha channel. Setting this
- flag causes WA_NoSystemBackground to be set. On Windows the
- widget also needs the Qt::FramelessWindowHint window flag to be set.
- This flag is set or cleared by the widget's author.
-
- \value WA_UnderMouse Indicates that the widget is under the mouse cursor.
- The value is not updated correctly during drag and drop operations. There
- is also a getter function, QWidget::underMouse(). This flag is set or
- cleared by the Qt kernel.
-
- \value WA_UpdatesDisabled Indicates that updates are blocked (including the
- system background). This flag is set or cleared by the Qt kernel.
- \warning This flag must \e never be set or cleared by the widget's author.
-
- \value WA_WindowModified Indicates that the window is marked as modified.
- On some platforms this flag will do nothing, on others (including Mac OS X
- and Windows) the window will take a modified appearance. This flag is set
- or cleared by QWidget::setWindowModified().
-
- \value WA_WindowPropagation Makes a toplevel window inherit font and
- palette from its parent.
-
- \value WA_MacAlwaysShowToolWindow On Mac OS X, show the tool window even
- when the application is not active. By default, all tool windows are
- hidden when the application is inactive.
-
- \value WA_SetLocale Indicates the locale should be taken into consideration
- in the widget.
-
- \value WA_StyledBackground Indicates the widget should be drawn using a
- styled background.
-
- \value WA_ShowWithoutActivating Show the widget without making it active.
-
- \value WA_NativeWindow Indicates that a native window is created for the
- widget. Enabling this flag will also force a native window for the widget's
- ancestors unless Qt::WA_DontCreateNativeAncestors is set.
-
- \value WA_DontCreateNativeAncestors Indicates that the widget's ancestors
- are kept non-native even though the widget itself is native.
-
- \value WA_X11NetWmWindowTypeDesktop Adds _NET_WM_WINDOW_TYPE_DESKTOP to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms.
-
- \value WA_X11NetWmWindowTypeDock Adds _NET_WM_WINDOW_TYPE_DOCK to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms.
-
- \value WA_X11NetWmWindowTypeToolBar Adds _NET_WM_WINDOW_TYPE_TOOLBAR to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automaticaly sets this
- attribute for QToolBar.
-
- \value WA_X11NetWmWindowTypeMenu Adds _NET_WM_WINDOW_TYPE_MENU to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for QMenu when torn-off.
-
- \value WA_X11NetWmWindowTypeUtility Adds _NET_WM_WINDOW_TYPE_UTILITY to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the Qt::Tool window type.
-
- \value WA_X11NetWmWindowTypeSplash Adds _NET_WM_WINDOW_TYPE_SPLASH to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the Qt::SplashScreen window type.
-
- \value WA_X11NetWmWindowTypeDialog Adds _NET_WM_WINDOW_TYPE_DIALOG
- to the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This
- attribute has no effect on non-X11 platforms. \note Qt automatically sets
- this attribute for the Qt::Dialog and Qt::Sheet window types.
-
- \value WA_X11NetWmWindowTypeDropDownMenu Adds
- _NET_WM_WINDOW_TYPE_DROPDOWN_MENU to the window's
- _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This
- attribute has no effect on non-X11 platforms. \note Qt
- automatically sets this attribute for QMenus added to a QMenuBar.
-
- \value WA_X11NetWmWindowTypePopupMenu Adds _NET_WM_WINDOW_TYPE_POPUP_MENU
- to the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for QMenu.
-
- \value WA_X11NetWmWindowTypeToolTip Adds _NET_WM_WINDOW_TYPE_TOOLTIP to the
- window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the Qt::ToolTip window type.
-
- \value WA_X11NetWmWindowTypeNotification Adds
- _NET_WM_WINDOW_TYPE_NOTIFICATION to the window's _NET_WM_WINDOW_TYPE X11
- window property. See http://standards.freedesktop.org/wm-spec/ for more
- details. This attribute has no effect on non-X11 platforms.
-
- \value WA_X11NetWmWindowTypeCombo Adds _NET_WM_WINDOW_TYPE_COMBO
- to the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute for the QComboBox pop-up.
-
- \value WA_X11NetWmWindowTypeDND Adds _NET_WM_WINDOW_TYPE_DND to
- the window's _NET_WM_WINDOW_TYPE X11 window property. See
- http://standards.freedesktop.org/wm-spec/ for more details. This attribute
- has no effect on non-X11 platforms. \note Qt automatically sets this
- attribute on the feedback widget used during a drag.
-
- \value WA_MacFrameworkScaled Enables resolution independence aware mode
- on Mac when using Carbon. This attribute has no effect on Cocoa.
- The attribute is off by default and can be enabled on a per-window basis.
-
- \value WA_AcceptTouchEvents Allows touch events (see QTouchEvent)
- to be sent to the widget. Must be set on all widgets that can
- handle touch events. Without this attribute set, events from a
- touch device will be sent as mouse events.
-
- \omitvalue WA_SetLayoutDirection
- \omitvalue WA_InputMethodTransparent
- \omitvalue WA_WState_CompressKeys
- \omitvalue WA_WState_ConfigPending
- \omitvalue WA_WState_Created
- \omitvalue WA_WState_DND
- \omitvalue WA_WState_ExplicitShowHide
- \omitvalue WA_WState_Hidden
- \omitvalue WA_WState_InPaintEvent
- \omitvalue WA_WState_OwnSizePolicy
- \omitvalue WA_WState_Polished
- \omitvalue WA_WState_Reparented
- \omitvalue WA_WState_Visible
- \omitvalue WA_SetWindowIcon
- \omitvalue WA_PendingUpdate
- \omitvalue WA_LaidOut
- \omitvalue WA_GrabbedShortcut
- \omitvalue WA_DontShowOnScreen
- \omitvalue WA_InvalidSize
- \omitvalue WA_ForceUpdatesDisabled
- \omitvalue WA_NoX11EventCompression
- \omitvalue WA_TintedBackground
- \omitvalue WA_X11OpenGLOverlay
- \omitvalue WA_CanHostQMdiSubWindowTitleBar
- \omitvalue WA_AttributeCount
- \omitvalue WA_StyleSheet
- \omitvalue WA_X11BypassTransientForHint
- \omitvalue WA_SetWindowModality
- \omitvalue WA_WState_WindowOpacitySet
- \omitvalue WA_WState_AcceptedTouchBeginEvent
-*/
-
-/*! \typedef Qt::HANDLE
-
- Platform-specific handle type for system objects. This is
- equivalent to \c{void *} on Windows and Mac OS X, and embedded
- Linux, and to \c{unsigned long} on X11.
-
- \warning Using this type is not portable.
-*/
-
-/*!
- \enum Qt::Key
-
- The key names used by Qt.
-
- \value Key_Escape
- \value Key_Tab
- \value Key_Backtab
- \omitvalue Key_BackTab
- \value Key_Backspace
- \omitvalue Key_BackSpace
- \value Key_Return
- \value Key_Enter Typically located on the keypad.
- \value Key_Insert
- \value Key_Delete
- \value Key_Pause
- \value Key_Print
- \value Key_SysReq
- \value Key_Clear
- \value Key_Home
- \value Key_End
- \value Key_Left
- \value Key_Up
- \value Key_Right
- \value Key_Down
- \value Key_PageUp
- \omitvalue Key_Prior
- \value Key_PageDown
- \omitvalue Key_Next
- \value Key_Shift
- \value Key_Control On Mac OS X, this corresponds to the Command keys.
- \value Key_Meta On Mac OS X, this corresponds to the Control keys.
- On Windows keyboards, this key is mapped to the
- Windows key.
- \value Key_Alt
- \value Key_AltGr On Windows, when the KeyDown event for this key is
- sent, the Ctrl+Alt modifiers are also set.
- \value Key_CapsLock
- \value Key_NumLock
- \value Key_ScrollLock
- \value Key_F1
- \value Key_F2
- \value Key_F3
- \value Key_F4
- \value Key_F5
- \value Key_F6
- \value Key_F7
- \value Key_F8
- \value Key_F9
- \value Key_F10
- \value Key_F11
- \value Key_F12
- \value Key_F13
- \value Key_F14
- \value Key_F15
- \value Key_F16
- \value Key_F17
- \value Key_F18
- \value Key_F19
- \value Key_F20
- \value Key_F21
- \value Key_F22
- \value Key_F23
- \value Key_F24
- \value Key_F25
- \value Key_F26
- \value Key_F27
- \value Key_F28
- \value Key_F29
- \value Key_F30
- \value Key_F31
- \value Key_F32
- \value Key_F33
- \value Key_F34
- \value Key_F35
- \value Key_Super_L
- \value Key_Super_R
- \value Key_Menu
- \value Key_Hyper_L
- \value Key_Hyper_R
- \value Key_Help
- \value Key_Direction_L
- \value Key_Direction_R
- \value Key_Space
- \value Key_Any
- \value Key_Exclam
- \value Key_QuoteDbl
- \value Key_NumberSign
- \value Key_Dollar
- \value Key_Percent
- \value Key_Ampersand
- \value Key_Apostrophe
- \value Key_ParenLeft
- \value Key_ParenRight
- \value Key_Asterisk
- \value Key_Plus
- \value Key_Comma
- \value Key_Minus
- \value Key_Period
- \value Key_Slash
- \value Key_0
- \value Key_1
- \value Key_2
- \value Key_3
- \value Key_4
- \value Key_5
- \value Key_6
- \value Key_7
- \value Key_8
- \value Key_9
- \value Key_Colon
- \value Key_Semicolon
- \value Key_Less
- \value Key_Equal
- \value Key_Greater
- \value Key_Question
- \value Key_At
- \value Key_A
- \value Key_B
- \value Key_C
- \value Key_D
- \value Key_E
- \value Key_F
- \value Key_G
- \value Key_H
- \value Key_I
- \value Key_J
- \value Key_K
- \value Key_L
- \value Key_M
- \value Key_N
- \value Key_O
- \value Key_P
- \value Key_Q
- \value Key_R
- \value Key_S
- \value Key_T
- \value Key_U
- \value Key_V
- \value Key_W
- \value Key_X
- \value Key_Y
- \value Key_Z
- \value Key_BracketLeft
- \value Key_Backslash
- \value Key_BracketRight
- \value Key_AsciiCircum
- \value Key_Underscore
- \value Key_QuoteLeft
- \value Key_BraceLeft
- \value Key_Bar
- \value Key_BraceRight
- \value Key_AsciiTilde
- \value Key_nobreakspace
- \value Key_exclamdown
- \value Key_cent
- \value Key_sterling
- \value Key_currency
- \value Key_yen
- \value Key_brokenbar
- \value Key_section
- \value Key_diaeresis
- \value Key_copyright
- \value Key_ordfeminine
- \value Key_guillemotleft
- \value Key_notsign
- \value Key_hyphen
- \value Key_registered
- \value Key_macron
- \value Key_degree
- \value Key_plusminus
- \value Key_twosuperior
- \value Key_threesuperior
- \value Key_acute
- \value Key_mu
- \value Key_paragraph
- \value Key_periodcentered
- \value Key_cedilla
- \value Key_onesuperior
- \value Key_masculine
- \value Key_guillemotright
- \value Key_onequarter
- \value Key_onehalf
- \value Key_threequarters
- \value Key_questiondown
- \value Key_Agrave
- \value Key_Aacute
- \value Key_Acircumflex
- \value Key_Atilde
- \value Key_Adiaeresis
- \value Key_Aring
- \value Key_AE
- \value Key_Ccedilla
- \value Key_Egrave
- \value Key_Eacute
- \value Key_Ecircumflex
- \value Key_Ediaeresis
- \value Key_Igrave
- \value Key_Iacute
- \value Key_Icircumflex
- \value Key_Idiaeresis
- \value Key_ETH
- \value Key_Ntilde
- \value Key_Ograve
- \value Key_Oacute
- \value Key_Ocircumflex
- \value Key_Otilde
- \value Key_Odiaeresis
- \value Key_multiply
- \value Key_Ooblique
- \value Key_Ugrave
- \value Key_Uacute
- \value Key_Ucircumflex
- \value Key_Udiaeresis
- \value Key_Yacute
- \value Key_THORN
- \value Key_ssharp
- \omitvalue Key_agrave
- \omitvalue Key_aacute
- \omitvalue Key_acircumflex
- \omitvalue Key_atilde
- \omitvalue Key_adiaeresis
- \omitvalue Key_aring
- \omitvalue Key_ae
- \omitvalue Key_ccedilla
- \omitvalue Key_egrave
- \omitvalue Key_eacute
- \omitvalue Key_ecircumflex
- \omitvalue Key_ediaeresis
- \omitvalue Key_igrave
- \omitvalue Key_iacute
- \omitvalue Key_icircumflex
- \omitvalue Key_idiaeresis
- \omitvalue Key_eth
- \omitvalue Key_ntilde
- \omitvalue Key_ograve
- \omitvalue Key_oacute
- \omitvalue Key_ocircumflex
- \omitvalue Key_otilde
- \omitvalue Key_odiaeresis
- \value Key_division
- \omitvalue Key_oslash
- \omitvalue Key_ugrave
- \omitvalue Key_uacute
- \omitvalue Key_ucircumflex
- \omitvalue Key_udiaeresis
- \omitvalue Key_yacute
- \omitvalue Key_thorn
- \value Key_ydiaeresis
- \value Key_Multi_key
- \value Key_Codeinput
- \value Key_SingleCandidate
- \value Key_MultipleCandidate
- \value Key_PreviousCandidate
- \value Key_Mode_switch
- \value Key_Kanji
- \value Key_Muhenkan
- \value Key_Henkan
- \value Key_Romaji
- \value Key_Hiragana
- \value Key_Katakana
- \value Key_Hiragana_Katakana
- \value Key_Zenkaku
- \value Key_Hankaku
- \value Key_Zenkaku_Hankaku
- \value Key_Touroku
- \value Key_Massyo
- \value Key_Kana_Lock
- \value Key_Kana_Shift
- \value Key_Eisu_Shift
- \value Key_Eisu_toggle
- \value Key_Hangul
- \value Key_Hangul_Start
- \value Key_Hangul_End
- \value Key_Hangul_Hanja
- \value Key_Hangul_Jamo
- \value Key_Hangul_Romaja
- \value Key_Hangul_Jeonja
- \value Key_Hangul_Banja
- \value Key_Hangul_PreHanja
- \value Key_Hangul_PostHanja
- \value Key_Hangul_Special
- \value Key_Dead_Grave
- \value Key_Dead_Acute
- \value Key_Dead_Circumflex
- \value Key_Dead_Tilde
- \value Key_Dead_Macron
- \value Key_Dead_Breve
- \value Key_Dead_Abovedot
- \value Key_Dead_Diaeresis
- \value Key_Dead_Abovering
- \value Key_Dead_Doubleacute
- \value Key_Dead_Caron
- \value Key_Dead_Cedilla
- \value Key_Dead_Ogonek
- \value Key_Dead_Iota
- \value Key_Dead_Voiced_Sound
- \value Key_Dead_Semivoiced_Sound
- \value Key_Dead_Belowdot
- \value Key_Dead_Hook
- \value Key_Dead_Horn
- \value Key_Back
- \value Key_Forward
- \value Key_Stop
- \value Key_Refresh
- \value Key_VolumeDown
- \value Key_VolumeMute
- \value Key_VolumeUp
- \value Key_BassBoost
- \value Key_BassUp
- \value Key_BassDown
- \value Key_TrebleUp
- \value Key_TrebleDown
- \value Key_MediaPlay
- \value Key_MediaStop
- \value Key_MediaPrevious
- \omitvalue Key_MediaPrev
- \value Key_MediaNext
- \value Key_MediaRecord
- \value Key_HomePage
- \value Key_Favorites
- \value Key_Search
- \value Key_Standby
- \value Key_OpenUrl
- \value Key_LaunchMail
- \value Key_LaunchMedia
- \value Key_Launch0
- \value Key_Launch1
- \value Key_Launch2
- \value Key_Launch3
- \value Key_Launch4
- \value Key_Launch5
- \value Key_Launch6
- \value Key_Launch7
- \value Key_Launch8
- \value Key_Launch9
- \value Key_LaunchA
- \value Key_LaunchB
- \value Key_LaunchC
- \value Key_LaunchD
- \value Key_LaunchE
- \value Key_LaunchF
- \value Key_MediaLast
- \value Key_unknown
-
- \value Key_Call
- \value Key_Context1
- \value Key_Context2
- \value Key_Context3
- \value Key_Context4
- \value Key_Flip
- \value Key_Hangup
- \value Key_No
- \value Key_Select
- \value Key_Yes
-
- \value Key_Execute
- \value Key_Printer
- \value Key_Play
- \value Key_Sleep
- \value Key_Zoom
- \value Key_Cancel
-
- \sa QKeyEvent::key()
-*/
-
-/*!
- \enum Qt::HitTestAccuracy
-
- This enum contains the types of accuracy that can be used by the
- QTextDocument class when testing for mouse clicks on text documents.
-
- \value ExactHit The point at which input occurred must coincide
- exactly with input-sensitive parts of the document.
- \value FuzzyHit The point at which input occurred can lie close to
- input-sensitive parts of the document.
-
- This enum is defined in the \c <QTextDocument> header file.
-*/
-
-/*!
- \enum Qt::WhiteSpaceMode
-
- This enum describes the types of whitespace mode that are used by
- the QTextDocument class to meet the requirements of different kinds
- of textual information.
-
- \value WhiteSpaceNormal The whitespace mode used to display
- normal word wrapped text in paragraphs.
- \value WhiteSpacePre A preformatted text mode in which
- whitespace is reproduced exactly.
- \value WhiteSpaceNoWrap
-
- \omitvalue WhiteSpaceModeUndefined
-
- This enum is defined in the \c <QTextDocument> header file.
-*/
-
-/*!
- \enum Qt::ButtonState_enum
- \compat
- \value ShiftButton
- \value ControlButton
- \value AltButton
- \value MetaButton
- \value Keypad
- \value KeyButtonMask
-
- Use Qt::KeyboardModifier instead.
-*/
-
-/*!
- \typedef Qt::ButtonState
- \compat
-
- Use Qt::KeyboardModifier instead.
-*/
-
-/*!
- \enum Qt::CheckState
-
- This enum describes the state of checkable items, controls, and widgets.
-
- \value Unchecked The item is unchecked.
- \value PartiallyChecked The item is partially checked. Items in hierarchical models
- may be partially checked if some, but not all, of their
- children are checked.
- \value Checked The item is checked.
-
- \sa QCheckBox, Qt::ItemFlags, Qt::ItemDataRole
-*/
-
-
-/*!
- \enum Qt::ToolButtonStyle
-
- The style of the tool button, describing how the button's text and
- icon should be displayed.
-
- \value ToolButtonIconOnly Only display the icon.
- \value ToolButtonTextOnly Only display the text.
- \value ToolButtonTextBesideIcon The text appears beside the icon.
- \value ToolButtonTextUnderIcon The text appears under the icon.
-*/
-
-/*!
- \enum Qt::Corner
-
- This enum type specifies a corner in a rectangle:
-
- \value TopLeftCorner The top-left corner of the rectangle.
- \value TopRightCorner The top-right corner of the rectangle.
- \value BottomLeftCorner The bottom-left corner of the rectangle.
- \value BottomRightCorner The bottom-right corner of the rectangle.
-
- \omitvalue TopLeft
- \omitvalue TopRight
- \omitvalue BottomLeft
- \omitvalue BottomRight
-*/
-
-/*!
- \enum Qt::ScrollBarPolicy
-
- This enum type describes the various modes of QAbstractScrollArea's scroll
- bars.
-
- \value ScrollBarAsNeeded QAbstractScrollArea shows a scroll bar when the
- content is too large to fit and not otherwise. This is the
- default.
-
- \value ScrollBarAlwaysOff QAbstractScrollArea never shows a scroll bar.
-
- \value ScrollBarAlwaysOn QAbstractScrollArea always shows a scroll bar.
-
- (The modes for the horizontal and vertical scroll bars are
- independent.)
-*/
-
-/*!
- \enum Qt::ArrowType
-
- \value NoArrow
- \value UpArrow
- \value DownArrow
- \value LeftArrow
- \value RightArrow
-*/
-
-/*!
- \enum Qt::FocusReason
-
- This enum specifies why the focus changed. It will be passed
- through QWidget::setFocus and can be retrieved in the QFocusEvent
- sent to the widget upon focus change.
-
- \value MouseFocusReason A mouse action occurred.
- \value TabFocusReason The Tab key was pressed.
- \value BacktabFocusReason A Backtab occurred. The input for this may
- include the Shift or Control keys;
- e.g. Shift+Tab.
- \value ActiveWindowFocusReason The window system made this window either
- active or inactive.
- \value PopupFocusReason The application opened/closed a pop-up that
- grabbed/released the keyboard focus.
- \value ShortcutFocusReason The user typed a label's buddy shortcut
- \value MenuBarFocusReason The menu bar took focus.
- \value OtherFocusReason Another reason, usually application-specific.
-
- \omitvalue NoFocusReason
-
- \sa {Keyboard Focus}
-*/
-
-/*!
- \enum Qt::WindowState
-
- \keyword window state
-
- This enum type is used to specify the current state of a top-level
- window.
-
- The states are
-
- \value WindowNoState The window has no state set (in normal state).
- \value WindowMinimized The window is minimized (i.e. iconified).
- \value WindowMaximized The window is maximized with a frame around it.
- \value WindowFullScreen The window fills the entire screen without any frame around it.
- \value WindowActive The window is the active window, i.e. it has keyboard focus.
-
-*/
-
-/*!
- \enum Qt::ContextMenuPolicy
-
- This enum type defines the various policies a widget can have with
- respect to showing a context menu.
-
- \value NoContextMenu the widget does not feature a context menu,
- context menu handling is deferred to the widget's parent.
- \value PreventContextMenu the widget does not feature a context
- menu, and in contrast to \c NoContextMenu, the handling is \e not
- deferred to the widget's parent. This means that all right mouse
- button events are guaranteed to be delivered to the widget itself
- through mousePressEvent(), and mouseReleaseEvent().
- \value DefaultContextMenu the widget's QWidget::contextMenuEvent() handler is called.
- \value ActionsContextMenu the widget displays its QWidget::actions() as context menu.
- \value CustomContextMenu the widget emits the QWidget::customContextMenuRequested() signal.
-*/
-
-/*!
- \enum Qt::FocusPolicy
-
- This enum type defines the various policies a widget can have with
- respect to acquiring keyboard focus.
-
- \value TabFocus the widget accepts focus by tabbing.
- \value ClickFocus the widget accepts focus by clicking.
- \value StrongFocus the widget accepts focus by both tabbing
- and clicking. On Mac OS X this will also
- be indicate that the widget accepts tab focus
- when in 'Text/List focus mode'.
- \value WheelFocus like Qt::StrongFocus plus the widget accepts
- focus by using the mouse wheel.
- \value NoFocus the widget does not accept focus.
-
-*/
-
-/*!
- \enum Qt::ShortcutContext
-
- For a QEvent::Shortcut event to occur, the shortcut's key sequence
- must be entered by the user in a context where the shortcut is
- active. The possible contexts are these:
-
- \value WidgetShortcut The shortcut is active when its
- parent widget has focus.
- \value WidgetWithChildrenShortcut The shortcut is active
- when its parent widget, or any of its children has focus.
- Children which are top-level widgets, except pop-ups, are
- not affected by this shortcut context.
- \value WindowShortcut The shortcut is active when its
- parent widget is a logical subwidget of the
- active top-level window.
- \value ApplicationShortcut The shortcut is active when one of
- the applications windows are active.
-*/
-
-/*!
- \typedef Qt::WFlags
-
- Synonym for Qt::WindowFlags.
-*/
-
-/*!
- \enum Qt::WindowType
-
- \keyword window flag
-
- This enum type is used to specify various window-system properties
- for the widget. They are fairly unusual but necessary in a few
- cases. Some of these flags depend on whether the underlying window
- manager supports them.
-
- The main types are
-
- \value Widget This is the default type for QWidget. Widgets of
- this type are child widgets if they have a parent,
- and independent windows if they have no parent.
- See also Qt::Window and Qt::SubWindow.
-
- \value Window Indicates that the widget is a window, usually
- with a window system frame and a title bar,
- irrespective of whether the widget has a parent or
- not. Note that it is not possible to unset this
- flag if the widget does not have a parent.
-
- \value Dialog Indicates that the widget is a window that should
- be decorated as a dialog (i.e., typically no
- maximize or minimize buttons in the title bar).
- This is the default type for QDialog. If you want
- to use it as a modal dialog, it should be launched
- from another window, or have a parent and used
- with the QWidget::windowModality property. If you make
- it modal, the dialog will prevent other top-level
- windows in the application from getting any input.
- We refer to a top-level window that has a parent
- as a \e secondary window.
-
- \value Sheet Indicates that the widget is a Macintosh sheet.
-
- \value Drawer Indicates that the widget is a Macintosh drawer.
-
- \value Popup Indicates that the widget is a pop-up top-level
- window, i.e. that it is modal, but has a window
- system frame appropriate for pop-up menus.
-
- \value Tool Indicates that the widget is a tool window. A tool
- window is often a small window with a smaller than
- usual title bar and decoration, typically used for
- collections of tool buttons. It there is a parent,
- the tool window will always be kept on top of it.
- If there isn't a parent, you may consider using
- Qt::WindowStaysOnTopHint as well. If the window
- system supports it, a tool window can be decorated
- with a somewhat lighter frame. It can also be
- combined with Qt::FramelessWindowHint.
- \br
- \br
- On Mac OS X, tool windows correspond to the
- \l{http://developer.apple.com/documentation/Carbon/Conceptual/HandlingWindowsControls/hitb-wind_cont_concept/chapter_2_section_2.html}{Floating}
- class of windows. This means that the window lives on a
- level above normal windows; it impossible to put a normal
- window on top of it. By default, tool windows will disappear
- when the application is inactive. This can be controlled by
- the Qt::WA_MacAlwaysShowToolWindow attribute.
-
- \value ToolTip Indicates that the widget is a tooltip. This is
- used internally to implement
- \l{QWidget::toolTip}{tooltips}.
-
- \value SplashScreen Indicates that the window is a splash screen.
- This is the default type for QSplashScreen.
-
- \value Desktop Indicates that this widget is the desktop. This
- is the type for QDesktopWidget.
-
- \value SubWindow Indicates that this widget is a sub-window, such
- as a QMdiSubWindow widget.
-
- There are also a number of flags which you can use to customize
- the appearance of top-level windows. These have no effect on other
- windows:
-
- \value MSWindowsFixedSizeDialogHint Gives the window a thin dialog border on Windows.
- This style is traditionally used for fixed-size dialogs.
-
- \value MSWindowsOwnDC Gives the window its own display
- context on Windows.
-
- \value X11BypassWindowManagerHint Bypass the window
- manager completely. This results in a borderless window
- that is not managed at all (i.e., no keyboard input unless
- you call QWidget::activateWindow() manually).
-
- \value FramelessWindowHint Produces a borderless window.
- The user cannot move or resize a borderless window via the window
- system. On X11, the result of the flag is dependent on the window manager and its
- ability to understand Motif and/or NETWM hints. Most existing
- modern window managers can handle this.
-
- The \c CustomizeWindowHint flag is used to enable customization of
- the window controls. This flag must be set to allow the \c
- WindowTitleHint, \c WindowSystemMenuHint, \c
- WindowMinimizeButtonHint, \c WindowMaximizeButtonHint and \c
- WindowCloseButtonHint flags to be changed.
-
- \value CustomizeWindowHint Turns off the default window title hints.
-
- \value WindowTitleHint Gives the window a title bar.
-
- \value WindowSystemMenuHint Adds a window system menu, and
- possibly a close button (for example on Mac). If you need to hide
- or show a close button, it is more portable to use \c
- WindowCloseButtonHint.
-
- \value WindowMinimizeButtonHint Adds a minimize button. On
- some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value WindowMaximizeButtonHint Adds a maximize button. On
- some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value WindowMinMaxButtonsHint Adds a minimize and a maximize
- button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value WindowCloseButtonHint Adds a close button. On
- some platforms this implies Qt::WindowSystemMenuHint for it
- to work.
-
- \value WindowContextHelpButtonHint Adds a context help button to dialogs.
- On some platforms this implies Qt::WindowSystemMenuHint for it to work.
-
- \value MacWindowToolBarButtonHint On Mac OS X adds a tool bar button (i.e.,
- the oblong button that is on the top right of windows that have toolbars.
-
- \value BypassGraphicsProxyWidget Prevents the window and its children from
- automatically embedding themselves into a QGraphicsProxyWidget if the
- parent widget is already embedded. You can set this flag if you
- want your widget to always be a toplevel widget on the desktop,
- regardless of whether the parent widget is embedded in a scene or
- not.
-
- \value WindowShadeButtonHint
-
- \value WindowStaysOnTopHint Informs the window system that the
- window should stay on top of all other windows. Note that
- on some window managers on X11 you also have to pass
- Qt::X11BypassWindowManagerHint for this flag to work
- correctly.
-
- \value WindowStaysOnBottomHint Informs the window system that the
- window should stay on bottom of all other windows. Note
- that on X11 this hint will work only in window managers
- that support _NET_WM_STATE_BELOW atom. If a window always
- on the bottom has a parent, the parent will also be left on
- the bottom. This window hint is currently not implemented
- for Mac OS X.
-
- \value WindowOkButtonHint Adds an OK button to the window decoration of a dialog.
- Only supported for Windows CE.
-
- \value WindowCancelButtonHint Adds a Cancel button to the window decoration of a dialog.
- Only supported for Windows CE.
-
- \value WindowType_Mask A mask for extracting the window type
- part of the window flags.
-
- Obsolete flags:
-
- \value WMouseNoMask Use Qt::WA_MouseNoMask instead.
- \value WDestructiveClose Use Qt::WA_DeleteOnClose instead.
- \value WStaticContents Use Qt::WA_StaticContents instead.
- \value WGroupLeader No longer needed.
- \value WShowModal Use QWidget::windowModality instead.
- \value WNoMousePropagation Use Qt::WA_NoMousePropagation instead.
- \value WType_TopLevel Use Qt::Window instead.
- \value WType_Dialog Use Qt::Dialog instead.
- \value WType_Popup Use Qt::Popup instead.
- \value WType_Desktop Use Qt::Desktop instead.
- \value WType_Mask Use Qt::WindowType_Mask instead.
-
- \value WStyle_Customize No longer needed.
- \value WStyle_NormalBorder No longer needed.
- \value WStyle_DialogBorder Use Qt::MSWindowsFixedSizeDialogHint instead.
- \value WStyle_NoBorder Use Qt::FramelessWindowHint instead.
- \value WStyle_Title Use Qt::WindowTitleHint instead.
- \value WStyle_SysMenu Use Qt::WindowSystemMenuHint instead.
- \value WStyle_Minimize Use Qt::WindowMinimizeButtonHint instead.
- \value WStyle_Maximize Use Qt::WindowMaximizeButtonHint instead.
- \value WStyle_MinMax Use Qt::WindowMinMaxButtonsHint instead.
- \value WStyle_Tool Use Qt::Tool instead.
- \value WStyle_StaysOnTop Use Qt::WindowStaysOnTopHint instead.
- \value WStyle_ContextHelp Use Qt::WindowContextHelpButtonHint instead.
-
- \value WPaintDesktop No longer needed.
- \value WPaintClever No longer needed.
-
- \value WX11BypassWM Use Qt::X11BypassWindowManagerHint instead.
- \value WWinOwnDC Use Qt::MSWindowsOwnDC instead.
- \value WMacSheet Use Qt::Sheet instead.
- \value WMacDrawer Use Qt::Drawer instead.
-
- \value WStyle_Splash Use Qt::SplashScreen instead.
-
- \value WNoAutoErase No longer needed.
- \value WRepaintNoErase No longer needed.
- \value WNorthWestGravity Use Qt::WA_StaticContents instead.
- \value WType_Modal Use Qt::Dialog and QWidget::windowModality instead.
- \value WStyle_Dialog Use Qt::Dialog instead.
- \value WStyle_NoBorderEx Use Qt::FramelessWindowHint instead.
- \value WResizeNoErase No longer needed.
- \value WMacNoSheet No longer needed.
-
- \sa QWidget::windowFlags, {Window Flags Example}
-*/
-
-/*!
- \enum Qt::DropAction
-
- \value CopyAction Copy the data to the target.
- \value MoveAction Move the data from the source to the target.
- \value LinkAction Create a link from the source to the target.
- \value ActionMask
- \value IgnoreAction Ignore the action (do nothing with the data).
- \value TargetMoveAction On Windows, this value is used when the ownership of the D&D data
- should be taken over by the target application,
- i.e., the source application should not delete
- the data.
- \br
- On X11 this value is used to do a move.
- \br
- TargetMoveAction is not used on the Mac.
-*/
-
-#if defined(Q_OS_WIN) && defined(QT3_SUPPORT)
-/*!
- \enum Qt::WindowsVersion
- \compat
-
- \value WV_32s
- \value WV_95
- \value WV_98
- \value WV_Me
- \value WV_DOS_based
- \value WV_NT
- \value WV_2000
- \value WV_XP
- \value WV_2003
- \value WV_NT_based
- \value WV_CE
- \value WV_CENET
- \value WV_CE_based
- \value WV_CE_5
- \value WV_CE_6
-*/
-#endif
-
-#if defined(Q_OS_MAC) && defined(QT3_SUPPORT)
-/*!
- \enum Qt::MacintoshVersion
- \compat
-
- \value MV_Unknown Use QSysInfo::MV_Unknown instead.
- \value MV_9 Use QSysInfo::MV_9 instead.
- \value MV_10_DOT_0 Use QSysInfo::MV_10_0 instead.
- \value MV_10_DOT_1 Use QSysInfo::MV_10_1 instead.
- \value MV_10_DOT_2 Use QSysInfo::MV_10_2 instead.
- \value MV_10_DOT_3 Use QSysInfo::MV_10_3 instead.
- \value MV_10_DOT_4 Use QSysInfo::MV_10_4 instead.
-
- \value MV_CHEETAH Use QSysInfo::MV_10_0 instead.
- \value MV_PUMA Use QSysInfo::MV_10_1 instead.
- \value MV_JAGUAR Use QSysInfo::MV_10_2 instead.
- \value MV_PANTHER Use QSysInfo::MV_10_3 instead.
- \value MV_TIGER Use QSysInfo::MV_10_4 instead.
-
- \sa QSysInfo::MacVersion
-*/
-#endif
-
-/*! \typedef Qt::ToolBarDock
- \compat
-
- Use Qt::Dock instead.
-*/
-
-/*!
- \enum Qt::Dock
- \compat
-
- Each dock window can be in one of the following positions:
-
- \value DockUnmanaged not managed by a Q3MainWindow.
-
- \value DockTornOff the dock window floats as its own top level
- window which always stays on top of the main window.
-
- \value DockTop above the central widget, below the menu bar.
-
- \value DockBottom below the central widget, above the status bar.
-
- \value DockRight to the right of the central widget.
-
- \value DockLeft to the left of the central widget.
-
- \value DockMinimized the dock window is not shown (this is
- effectively a 'hidden' dock area); the handles of all minimized
- dock windows are drawn in one row below the menu bar.
-
- \omitvalue Bottom
- \omitvalue Left
- \omitvalue Minimized
- \omitvalue Right
- \omitvalue Top
- \omitvalue TornOff
- \omitvalue Unmanaged
-*/
-
-/*!
- \enum Qt::AnchorAttribute
-
- An anchor has one or more of the following attributes:
-
- \value AnchorName the name attribute of the anchor. This attribute is
- used when scrolling to an anchor in the document.
-
- \value AnchorHref the href attribute of the anchor. This attribute is
- used when a link is clicked to determine what content to load.
-*/
-
-/*!
- \enum Qt::SortOrder
-
- This enum describes how the items in a widget are sorted.
-
- \value AscendingOrder The items are sorted ascending e.g. starts with
- 'AAA' ends with 'ZZZ' in Latin-1 locales
-
- \value DescendingOrder The items are sorted descending e.g. starts with
- 'ZZZ' ends with 'AAA' in Latin-1 locales
-
- \omitvalue Ascending
- \omitvalue Descending
-*/
-
-/*!
- \enum Qt::ClipOperation
-
- \value NoClip This operation turns clipping off.
-
- \value ReplaceClip Replaces the current clip path/rect/region with
- the one supplied in the function call.
-
- \value IntersectClip Intersects the current clip path/rect/region
- with the one supplied in the function call.
-
- \value UniteClip Unites the current clip path/rect/region with the
- one supplied in the function call.
-*/
-
-/*!
- \enum Qt::ItemSelectionMode
-
- This enum is used in QGraphicsItem, QGraphicsScene and QGraphicsView to
- specify how items are selected, or how to determine if a shapes and items
- collide.
-
- \value ContainsItemShape The output list contains only items whose
- \l{QGraphicsItem::shape()}{shape} is fully contained inside the
- selection area. Items that intersect with the area's outline are
- not included.
-
- \value IntersectsItemShape The output list contains both items whose
- \l{QGraphicsItem::shape()}{shape} is fully contained inside the
- selection area, and items that intersect with the area's
- outline. This is a common mode for rubber band selection.
-
- \value ContainsItemBoundingRect The output list contains only items whose
- \l{QGraphicsItem::boundingRect()}{bounding rectangle} is fully
- contained inside the selection area. Items that intersect with the
- area's outline are not included.
-
- \value IntersectsItemBoundingRect The output list contains both items
- whose \l{QGraphicsItem::boundingRect()}{bounding rectangle} is
- fully contained inside the selection area, and items that intersect
- with the area's outline. This method is commonly used for
- determining areas that need redrawing.
-
- \sa QGraphicsScene::items(), QGraphicsScene::collidingItems(),
- QGraphicsView::items(), QGraphicsItem::collidesWithItem(),
- QGraphicsItem::collidesWithPath()
-*/
-
-/*!
- \enum Qt::FillRule
-
- Specifies which method should be used to fill the paths and polygons.
-
- \value OddEvenFill Specifies that the region is filled using the
- odd even fill rule. With this rule, we determine whether a point
- is inside the shape by using the following method.
- Draw a horizontal line from the point to a location outside the shape,
- and count the number of intersections. If the number of intersections
- is an odd number, the point is inside the shape. This mode is the
- default.
-
- \value WindingFill Specifies that the region is filled using the
- non zero winding rule. With this rule, we determine whether a
- point is inside the shape by using the following method.
- Draw a horizontal line from the point to a location outside the shape.
- Determine whether the direction of the line at each intersection point
- is up or down. The winding number is determined by summing the
- direction of each intersection. If the number is non zero, the point
- is inside the shape. This fill mode can also in most cases be considered
- as the intersection of closed shapes.
-*/
-
-/*!
- \enum Qt::PaintUnit
-
- \compat
-
- \value PixelUnit
- \value LoMetricUnit Obsolete
- \value HiMetricUnit Obsolete
- \value LoEnglishUnit Obsolete
- \value HiEnglishUnit Obsolete
- \value TwipsUnit Obsolete
-*/
-
-/*!
- \enum Qt::TextFormat
-
- This enum is used in widgets that can display both plain text and
- rich text, e.g. QLabel. It is used for deciding whether a text
- string should be interpreted as one or the other. This is normally
- done by passing one of the enum values to a setTextFormat()
- function.
-
- \value PlainText The text string is interpreted as a plain text
- string.
-
- \value RichText The text string is interpreted as a rich text
- string.
-
- \value AutoText The text string is interpreted as for
- Qt::RichText if Qt::mightBeRichText() returns true, otherwise
- as Qt::PlainText.
-
- \value LogText A special, limited text format which is only used
- by Q3TextEdit in an optimized mode.
-*/
-
-/*!
- \enum Qt::CursorShape
-
- This enum type defines the various cursors that can be used.
-
- The standard arrow cursor is the default for widgets in a normal state.
-
- \value ArrowCursor \inlineimage cursor-arrow.png
- The standard arrow cursor.
- \value UpArrowCursor \inlineimage cursor-uparrow.png
- An arrow pointing upwards toward the top of the screen.
- \value CrossCursor \inlineimage cursor-cross.png
- A crosshair cursor, typically used to help the
- user accurately select a point on the screen.
- \value WaitCursor \inlineimage cursor-wait.png
- An hourglass or watch cursor, usually shown during
- operations that prevent the user from interacting with
- the application.
- \value IBeamCursor \inlineimage cursor-ibeam.png
- A caret or ibeam cursor, indicating that a widget can
- accept and display text input.
- \value SizeVerCursor \inlineimage cursor-sizev.png
- A cursor used for elements that are used to vertically
- resize top-level windows.
- \value SizeHorCursor \inlineimage cursor-sizeh.png
- A cursor used for elements that are used to horizontally
- resize top-level windows.
- \value SizeBDiagCursor \inlineimage cursor-sizeb.png
- A cursor used for elements that are used to diagonally
- resize top-level windows at their top-right and
- bottom-left corners.
- \value SizeFDiagCursor \inlineimage cursor-sizef.png
- A cursor used for elements that are used to diagonally
- resize top-level windows at their top-left and
- bottom-right corners.
- \value SizeAllCursor \inlineimage cursor-sizeall.png
- A cursor used for elements that are used to resize
- top-level windows in any direction.
- \value BlankCursor A blank/invisible cursor, typically used when the cursor
- shape needs to be hidden.
- \value SplitVCursor \inlineimage cursor-vsplit.png
- A cursor used for vertical splitters, indicating that
- a handle can be dragged horizontally to adjust the use
- of available space.
- \value SplitHCursor \inlineimage cursor-hsplit.png
- A cursor used for horizontal splitters, indicating that
- a handle can be dragged vertically to adjust the use
- of available space.
- \value PointingHandCursor \inlineimage cursor-hand.png
- A pointing hand cursor that is typically used for
- clickable elements such as hyperlinks.
- \value ForbiddenCursor \inlineimage cursor-forbidden.png
- A slashed circle cursor, typically used during drag
- and drop operations to indicate that dragged content
- cannot be dropped on particular widgets or inside
- certain regions.
- \value OpenHandCursor \inlineimage cursor-openhand.png
- A cursor representing an open hand, typically used to
- indicate that the area under the cursor is the visible
- part of a canvas that the user can click and drag in
- order to scroll around.
- \value ClosedHandCursor \inlineimage cursor-closedhand.png
- A cursor representing a closed hand, typically used to
- indicate that a dragging operation is in progress that
- involves scrolling.
- \value WhatsThisCursor \inlineimage cursor-whatsthis.png
- An arrow with a question mark, typically used to indicate
- the presence of What's This? help for a widget.
- \value BusyCursor \inlineimage cursor-wait.png
- An hourglass or watch cursor, usually shown during
- operations that allow the user to interact with
- the application while they are performed in the
- background.
- \value BitmapCursor
- \omitvalue LastCursor
- \omitvalue CustomCursor
-
- \omitvalue arrowCursor
- \omitvalue upArrowCursor
- \omitvalue crossCursor
- \omitvalue waitCursor
- \omitvalue ibeamCursor
- \omitvalue sizeVerCursor
- \omitvalue sizeHorCursor
- \omitvalue sizeBDiagCursor
- \omitvalue sizeFDiagCursor
- \omitvalue sizeAllCursor
- \omitvalue blankCursor
- \omitvalue splitVCursor
- \omitvalue splitHCursor
- \omitvalue pointingHandCursor
- \omitvalue forbiddenCursor
- \omitvalue whatsThisCursor
-*/
-
-/*!
- \typedef Qt::TextFlags
- \compat
-
- Use Qt::TextFlag instead.
-*/
-
-/*!
- \enum Qt::LayoutDirection
-
- Specifies the direction of Qt's layouts:
-
- \value LeftToRight Left-to-right layout.
- \value RightToLeft Right-to-left layout.
-
- Right-to-left layouts are necessary for certain languages,
- notably Arabic and Hebrew.
-
- \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection()
-*/
-
-/*!
- \enum Qt::InputMethodHint
-
- \value ImhNone No hints.
- \value ImhHiddenText Characters should be hidden, as is typically used when entering passwords.
- This is automatically set when setting QLineEdit::echoMode to \c Password.
- \value ImhDigitsOnly Only digit input is allowed.
- \value ImhFormattedNumbersOnly Only number input (including integers and real numbers) is allowed.
- \value ImhUppercaseOnly Only upper case letter input is allowed.
- \value ImhLowercaseOnly Only lower case letter input is allowed.
- \value ImhNoAutoUppercase The input method should not try to automatically switch to upper case
- at the beginning of a sentence.
- \value ImhPreferNumbers Numbers are preferred (but not required). This can include only digits,
- phone numbers, or all numbers, depending on which one of the
- \c ImhDigitsOnly, \c ImhDialableCharactersOnly and
- \c ImhFormattedNumbersOnly flags is given.
- \value ImhPreferUppercase Upper case letters are preferred (but not required).
- \value ImhPreferLowercase Lower case letters are preferred (but not required).
- \value ImhNoPredictiveText Do not use predictive text (i.e. dictionary lookup) while typing.
- \value ImhDialableCharactersOnly Only characters suitable for phone dialling are allowed.
-
- \value ImhExclusiveInputMask A mask to test for the presence of any flags ending with \c Only.
-
- \note If several flags ending with \c Only are ORed together, the resulting character set will
- consist of the union of the specified sets. For instance specifying \c ImhNumbersOnly and
- \c ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.
-
- \note If several flags of the \c Prefer type are ORed together, the result is undefined.
-
- \sa QWidget::inputMethodHints
-*/
-
-/*!
- \enum Qt::InputMethodQuery
-
- \value ImMicroFocus The rectangle covering the area of the input cursor in widget coordinates.
- \value ImFont The currently used font for text input.
- \value ImCursorPosition The logical position of the cursor within the text surrounding the input area (see \c ImSurroundingText).
- \value ImSurroundingText The plain text around the input area, for example the current paragraph.
- \value ImCurrentSelection The currently selected text.
- \value ImMaximumTextLength The maximum number of characters that the widget can hold. If there is no limit, QVariant() is returned.
- \value ImAnchorPosition The position of the selection anchor. This may be less or greater than \c ImCursorPosition, depending on which side of selection the cursor is. If there is no selection, it returns the same as \c ImCursorPosition.
-*/
-
-/*!
- \enum Qt::ItemDataRole
-
- Each item in the model has a set of data elements associated with
- it, each with its own role. The roles are used by the view to indicate
- to the model which type of data it needs.
-
- The general purpose roles are:
-
- \value DisplayRole The key data to be rendered in the form of text.
- \value DecorationRole The data to be rendered as a decoration in the form
- of an icon.
- \value EditRole The data in a form suitable for editing in an
- editor.
- \value ToolTipRole The data displayed in the item's tooltip.
- \value StatusTipRole The data displayed in the status bar.
- \value WhatsThisRole The data displayed for the item in "What's This?"
- mode.
- \value SizeHintRole The size hint for the item that will be supplied
- to views.
-
- Roles describing appearance and meta data:
-
- \value FontRole The font used for items rendered with the default
- delegate.
- \value TextAlignmentRole The alignment of the text for items rendered with the
- default delegate.
- \value BackgroundRole The background brush used for items rendered with
- the default delegate.
- \value BackgroundColorRole This role is obsolete. Use BackgroundRole instead.
- \value ForegroundRole The foreground brush (text color, typically)
- used for items rendered with the default delegate.
- \value TextColorRole This role is obsolete. Use ForegroundRole instead.
- \value CheckStateRole This role is used to obtain the checked state of
- an item (see \l Qt::CheckState).
-
- Accessibility roles:
-
- \value AccessibleTextRole The text to be used by accessibility
- extensions and plugins, such as screen
- readers.
- \value AccessibleDescriptionRole A description of the item for accessibility
- purposes.
-
- User roles:
-
- \value UserRole The first role that can be used for application-specific purposes.
-
- \omitvalue DisplayPropertyRole
- \omitvalue DecorationPropertyRole
- \omitvalue ToolTipPropertyRole
- \omitvalue StatusTipPropertyRole
- \omitvalue WhatsThisPropertyRole
-*/
-
-/*!
- \enum Qt::ItemFlag
-
- This enum describes the properties of an item:
-
- \value NoItemFlags It does not have any properties set.
- \value ItemIsSelectable It can be selected.
- \value ItemIsEditable It can be edited.
- \value ItemIsDragEnabled It can be dragged.
- \value ItemIsDropEnabled It can be used as a drop target.
- \value ItemIsUserCheckable It can be checked or unchecked by the user.
- \value ItemIsEnabled The user can interact with the item.
- \value ItemIsTristate The item is checkable with three separate states.
-
- Note that checkable items need to be given both a suitable set of flags
- and an initial state, indicating whether the item is checked or not.
- This is handled automatically for model/view components, but needs
- to be explicitly set for instances of QListWidgetItem, QTableWidgetItem,
- and QTreeWidgetItem.
-
- \sa QAbstractItemModel
-*/
-
-/*!
- \enum Qt::MatchFlag
-
- This enum describes the type of matches that can be used when searching
- for items in a model.
-
- \value MatchExactly Performs QVariant-based matching.
- \value MatchFixedString Performs string-based matching.
- String-based comparisons are case-insensitive unless the
- \c MatchCaseSensitive flag is also specified.
- \value MatchContains The search term is contained in the item.
- \value MatchStartsWith The search term matches the start of the item.
- \value MatchEndsWith The search term matches the end of the item.
- \value MatchCaseSensitive The search is case sensitive.
- \value MatchRegExp Performs string-based matching using a regular
- expression as the search term.
- \value MatchWildcard Performs string-based matching using a string with
- wildcards as the search term.
- \value MatchWrap Perform a search that wraps around, so that when
- the search reaches the last item in the model, it begins again at
- the first item and continues until all items have been examined.
- \value MatchRecursive Searches the entire hierarchy.
-
- \sa QString::compare(), QRegExp
-*/
-
-/*!
- \enum Qt::TextElideMode
-
- This enum specifies where the ellipsis should appear when
- displaying texts that don't fit:
-
- \value ElideLeft The ellipsis should appear at the beginning of the text.
- \value ElideRight The ellipsis should appear at the end of the text.
- \value ElideMiddle The ellipsis should appear in the middle of the text.
- \value ElideNone Ellipsis should NOT appear in the text.
-
- Qt::ElideMiddle is normally the most appropriate choice for URLs (e.g.,
- "\l{http://www.qtsoftware.com/careers/movingto/beijing/}{http://www.qtsof...ovingto/beijing/}"),
- whereas Qt::ElideRight is appropriate
- for other strings (e.g.,
- "\l{http://doc.trolltech.com/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
-
- \sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag QTabBar::elideMode
-*/
-
-/*!
- \enum Qt::WindowModality
-
- \keyword modal
-
- This enum specifies the behavior of a modal window. A modal window
- is one that blocks input to other windows. Note that windows that
- are children of a modal window are not blocked.
-
- The values are:
- \value NonModal The window is not modal and does not block input to other windows.
- \value WindowModal The window is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
- \value ApplicationModal The window is modal to the application and blocks input to all windows.
-
- \sa QWidget::windowModality, QDialog
-*/
-
-/*!
- \enum Qt::TextInteractionFlag
-
- This enum specifies how a text displaying widget reacts to user input.
-
- \value NoTextInteraction No interaction with the text is possible.
- \value TextSelectableByMouse Text can be selected with the mouse and copied to the clipboard using
- a context menu or standard keyboard shortcuts.
- \value TextSelectableByKeyboard Text can be selected with the cursor keys on the keyboard. A text cursor is shown.
- \value LinksAccessibleByMouse Links can be highlighted and activated with the mouse.
- \value LinksAccessibleByKeyboard Links can be focused using tab and activated with enter.
- \value TextEditable The text is fully editable.
-
- \value TextEditorInteraction The default for a text editor.
- \value TextBrowserInteraction The default for QTextBrowser.
-*/
-
-/*!
- \enum Qt::MaskMode
-
- This enum specifies the behavior of the
- QPixmap::createMaskFromColor() and QImage::createMaskFromColor()
- functions.
-
- \value MaskInColor Creates a mask where all pixels matching the given color are opaque.
- \value MaskOutColor Creates a mask where all pixels matching the given color are transparent.
-*/
-
-/*!
- \enum Qt::DockWidgetAreaSizes
- \internal
-*/
-
-/*!
- \enum Qt::ToolBarAreaSizes
- \internal
-*/
-
-/*!
- \enum Qt::EventPriority
-
- This enum can be used to specify event priorities.
-
- \value HighEventPriority Events with this priority are sent before
- events with NormalEventPriority or LowEventPriority.
-
- \value NormalEventPriority Events with this priority are sent
- after events with HighEventPriority, but before events with
- LowEventPriority.
-
- \value LowEventPriority Events with this priority are sent after
- events with HighEventPriority or NormalEventPriority.
-
- Note that these values are provided purely for convenience, since
- event priorities can be any value between \c INT_MAX and \c
- INT_MIN, inclusive. For example, you can define custom priorities
- as being relative to each other:
-
- \snippet doc/src/snippets/code/doc_src_qnamespace.qdoc 1
-
- \sa QCoreApplication::postEvent()
-*/
-/*!
- \enum Qt::SizeHint
- \since 4.4
-
- This enum is used by QGraphicsLayoutItem::sizeHint()
-
- \value MinimumSize is used to specify the minimum size of a graphics layout item.
- \value PreferredSize is used to specify the preferred size of a graphics layout item.
- \value MaximumSize is used to specify the maximum size of a graphics layout item.
- \value MinimumDescent is used to specify the minimum descent of a text string in a graphics layout item.
- \omitvalue NSizeHints
-
- \sa QGraphicsLayoutItem::sizeHint()
-*/
-
-/*!
- \enum Qt::SizeMode
- \since 4.4
-
- This enum is used by QPainter::drawRoundedRect() and QPainterPath::addRoundedRect()
- functions to specify the radii of rectangle corners with respect to the dimensions
- of the bounding rectangles specified.
-
- \value AbsoluteSize Specifies the size using absolute measurements.
- \value RelativeSize Specifies the size relative to the bounding rectangle,
- typically using percentage measurements.
-*/
-
-/*!
- \enum Qt::WindowFrameSection
- \since 4.4
-
- This enum is used to describe parts of a window frame. It is returned by
- QGraphicsWidget::windowFrameSectionAt() to describe what section of the window
- frame is under the mouse.
-
- \value NoSection
- \value LeftSection
- \value TopLeftSection
- \value TopSection
- \value TopRightSection
- \value RightSection
- \value BottomRightSection
- \value BottomSection
- \value BottomLeftSection
- \value TitleBarArea
-
- \sa QGraphicsWidget::windowFrameEvent()
- \sa QGraphicsWidget::paintWindowFrame()
- \sa QGraphicsWidget::windowFrameSectionAt()
-
-*/
-
-/*!
- \enum Qt::TileRule
- \since 4.6
-
- This enum describes how to repeat or stretch the parts of an image
- when drawing.
-
- \value Stretch Scale the image to fit to the available area.
-
- \value Repeat Tile the image until there is no more space. May crop
- the last image.
-
- \value Round Like Repeat, but scales the images down to ensure that
- the last image is not cropped.
-*/
-
-/*!
- \enum Qt::Initialization
- \internal
-*/
-
-/*! \enum Qt::GestureType
- \since 4.6
-
- This enum lists standard gestures.
-
- \value UnknownGesture An unknown gesture. This enum value shouldn't be used.
- \value TapGesture A single tap gesture.
- \value DoubleTapGesture A double tap gesture.
- \value TrippleTapGesture A tripple tap gesture.
- \value TapAndHoldGesture A tap-and-hold (long tap) gesture.
- \value PanGesture A pan gesture.
- \value PinchGesture A pinch gesture.
-*/
-
-/*!
- \enum Qt::GestureState
- \since 4.6
-
- This enum type describes the state of a gesture.
-
- \omitvalue NoGesture
- \value GestureStarted A continuous gesture has started.
- \value GestureUpdated A gesture continiues.
- \value GestureFinished A gesture has finished.
-
- \sa QGesture
-*/
-
-/*!
- \enum Qt::DirectionType
- \since 4.6
-
- This enum type describes directions. This could be used by the
- gesture recognizers.
-
- \value NoDirection Non-specific direction.
- \value LeftDownDirection
- \value DownLeftDirection
- \value DownDirection
- \value RightDownDirection
- \value DownRightDirection
- \value LeftDirection
- \value RightDirection
- \value LeftUpDirection
- \value UpLeftDirection
- \value UpDirection
- \value RightUpDirection
- \value UpRightDirection
-*/
diff --git a/doc/src/qsql.qdoc b/doc/src/qsql.qdoc
index 5315413..bb8f090 100644
--- a/doc/src/qsql.qdoc
+++ b/doc/src/qsql.qdoc
@@ -41,12 +41,13 @@
/*!
\namespace QSql
+ \inmodule QtSql
\brief The QSql namespace contains miscellaneous identifiers used throughout
the Qt SQL library.
+ \inheaderfile QtSql
\ingroup database
\mainclass
- \omit ### \module sql \endomit
\sa {QtSql Module}
*/
diff --git a/doc/src/qsqldatatype-table.qdoc b/doc/src/qsqldatatype-table.qdoc
index 5ab6413..bc88c30 100644
--- a/doc/src/qsqldatatype-table.qdoc
+++ b/doc/src/qsqldatatype-table.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,36 +34,34 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
- \module QtSql
-
- \page qsqldatatype-table.html
-
- \title QtSql Module - Recommended use of data types
+ \page sql-types.html
+ \title QtSql Module - Recommended Use of Data Types
- \section1 Recommended use of types and widgets in Qt supported Databases
+ \section1 Recommended Use of Types in Qt Supported Databases
This table shows the recommended data types used when extracting data
from the databases supported in Qt. It is important to note that the
- types used in Qt not necessary are valid as input to the specific
- database. One example could be that a double would work perfect as
- input for floating point records in a database, but not necessary
- as output to the database since it would be stored with 64-bit in C++.
+ types used in Qt are not necessarily valid as input to the specific
+ database. One example could be that a double would work perfectly as
+ input for floating point records in a database, but not necessarily
+ as a storage format for output from the database since it would be stored
+ with 64-bit precision in C++.
\tableofcontents
- \section2 IBM DB2 data type
+ \section2 IBM DB2 Data Types
- \table
- \row
- \header IBM DB2 data type
- \header SQL Type Description
- \header Recommended input (C++ data type and Qt )
+ \table 90%
+ \header
+ \o IBM DB2 data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o SMALLINT
\o 16-bit signed integer
@@ -124,13 +122,13 @@
\o Mapped to QDateTime
\endtable
- \section2 Borland InterBase data type
+ \section2 Borland InterBase Data Types
- \table
- \row
- \header Borland InterBase data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o Borland InterBase data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BOOLEAN
\o Boolean
@@ -189,13 +187,13 @@
\o Mapped to QDateTime
\endtable
- \section2 MySQL data type
+ \section2 MySQL Data Types
- \table
- \row
- \header MySQL data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o MySQL data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o TINYINT
\o 8 bit signed integer
@@ -290,13 +288,13 @@
\o Mapped to QString
\endtable
- \section2 Oracle Call Interface data type
+ \section2 Oracle Call Interface Data Types
- \table
- \row
- \header Oracle Call Interface data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o Oracle Call Interface data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o NUMBER
\o FLOAT, DOUBLE, PRECISIONc REAL
@@ -338,13 +336,13 @@
\o Mapped to QDateTime
\endtable
- \section2 ODBC data type
+ \section2 ODBC Data Types
- \table
- \row
- \header ODBC data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o ODBC data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BIT
\o Boolean
@@ -407,13 +405,13 @@
\o Mapped to QDateTime
\endtable
- \section2 PostgreSQL data type
+ \section2 PostgreSQL Data Types
- \table
- \row
- \header PostgreSQL data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o PostgreSQL data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BOOLEAN
\o Boolean
@@ -484,13 +482,13 @@
\o Mapped to QDateTime
\endtable
- \section2 QSQLITE SQLite version 3 data type
+ \section2 QSQLITE SQLite version 3 Data Types
- \table
- \row
- \header QSQLITE SQLite version 3 data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o QSQLITE SQLite version 3 data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o NULL
\o NULL value.
@@ -518,13 +516,13 @@
\o Mapped to QByteArray
\endtable
- \section2 Sybase Adaptive Server data type
+ \section2 Sybase Adaptive Server Data Types
- \table
- \row
- \header Sybase Adaptive Server data type
- \header SQL Type Description
- \header Recommended input (C++ data type/Qt Widget)
+ \table 90%
+ \header
+ \o Sybase Adaptive Server data type
+ \o SQL type description
+ \o Recommended input (C++ or Qt data type)
\row
\o BINARY
\o Describes a fixed-length binary value up to 255 bytes in size.
@@ -535,8 +533,7 @@
\o Mapped to QString
\row
\o DATETIME
- \o Date and time. Range: 1753-01-01 00:00:00 through
- 9999-12-31 23:59:59.
+ \o Date and time. Range: 1753-01-01 00:00:00 through 9999-12-31 23:59:59.
\o Mapped to QDateTime
\row
\o NCHAR
@@ -577,8 +574,8 @@
\endtable
\section2 SQLite Version 2
- SQLite V.2 is "typeless". This means that you can store any kind of
- data you want in any column of any table, regardless of the declared
- data type of that column. We recommend that you map the data to QString.
+ SQLite version 2 is "typeless". This means that you can store any kind of
+ data you want in any column of any table, regardless of the declared
+ data type of that column. We recommend that you map the data to QString.
*/
diff --git a/doc/src/qt3to4.qdoc b/doc/src/qt3to4.qdoc
index 9ffd52e..47e85b4 100644
--- a/doc/src/qt3to4.qdoc
+++ b/doc/src/qt3to4.qdoc
@@ -50,7 +50,7 @@
to Qt 4. It is designed to automate the most tedious part of the
porting effort.
- See \l{Porting to Qt 4} and \l{Porting .ui Files to Qt 4} for
+ See \l{Porting to Qt 4} and \l{Porting UI Files to Qt 4} for
more information about porting Qt 3 applications to Qt 4.
\section1 Usage
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 2fda7cf..6f59cae 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -235,7 +235,7 @@
for your project (using "DEFINES +=") on to moc, which has its own
built-in C++ preprocessor.
- To compile code that uses .ui files, you will also need this line in
+ To compile code that uses UI files, you will also need this line in
the .pro file:
\snippet doc/src/snippets/code/doc_src_qt4-intro.qdoc 2
diff --git a/doc/src/qt4-network.qdoc b/doc/src/qt4-network.qdoc
index 3b3091e..5e1999e 100644
--- a/doc/src/qt4-network.qdoc
+++ b/doc/src/qt4-network.qdoc
@@ -109,9 +109,10 @@
of programming, with the networking logic concentrated in one or
two functions instead of spread across multiple slots.
- QFtp and QHttp use QTcpSocket internally to implement the FTP and
- HTTP protocols. Both classes work asynchronously and can schedule
- (i.e., queue) requests.
+ QFtp and QNetworkAccessManager and its associated classes use
+ QTcpSocket internally to implement the FTP and HTTP protocols. The
+ classes work asynchronously and can schedule (i.e., queue)
+ requests.
The network module contains four helper classes: QHostAddress,
QHostInfo, QUrl, and QUrlInfo. QHostAddress stores an IPv4 or IPv6
@@ -198,8 +199,7 @@
level QNetworkProtocol and QUrlOperator abstraction has been
eliminated. These classes attempted the impossible (unify FTP and
HTTP under one roof), and unsurprisingly failed at that. Qt 4
- still provides QFtp and QHttp classes, but only with the more
- mature API that appeared in Qt 3.1.
+ still provides QFtp, and it also proveds the QNetworkAccessManager.
The QSocket class in Qt 3 has been renamed QTcpSocket. The new
class is reentrant and supports blocking. It's also easier to
diff --git a/doc/src/qtdesigner.qdoc b/doc/src/qtdesigner.qdoc
index 2117b27..0959bd9 100644
--- a/doc/src/qtdesigner.qdoc
+++ b/doc/src/qtdesigner.qdoc
@@ -52,7 +52,7 @@
that enable you to access Qt Designer's components.
In addition, the QFormBuilder class provides the possibility of
- constructing user interfaces from \c .ui files at run-time.
+ constructing user interfaces from UI files at run-time.
To include the definitions of the module's classes, use the
following directive:
@@ -155,7 +155,7 @@
The \c QtDesigner module contains the QFormBuilder class that
provides a mechanism for dynamically creating user interfaces at
- run-time, based on \c .ui files created with \QD. This class is
+ run-time, based on UI files created with \QD. This class is
typically used by custom components and applications that embed
\QD. Standalone applications that need to dynamically generate
user interfaces at run-time use the QUiLoader class, found in
@@ -166,1376 +166,3 @@
\sa {Qt Designer Manual}, {QtUiTools Module}
*/
-
-/*!
- \class QDesignerMemberSheetExtension
-
- \brief The QDesignerMemberSheetExtension class allows you to
- manipulate a widget's member functions which is displayed when
- configuring connections using Qt Designer's mode for editing
- signals and slots.
-
- \inmodule QtDesigner
-
- QDesignerMemberSheetExtension is a collection of functions that is
- typically used to query a widget's member functions, and to
- manipulate the member functions' appearance in \QD's signals and
- slots editing mode. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 2
-
- When implementing a custom widget plugin, a pointer to \QD's
- current QDesignerFormEditorInterface object (\c formEditor in the
- example above) is provided by the
- QDesignerCustomWidgetInterface::initialize() function's parameter.
-
- The member sheet (and any other extension), can be retrieved by
- querying \QD's extension manager using the qt_extension()
- function. When you want to release the extension, you only need to
- delete the pointer.
-
- All widgets have a default member sheet used in \QD's signals and
- slots editing mode with the widget's member functions. But
- QDesignerMemberSheetExtension also provides an interface for
- creating custom member sheet extensions.
-
- \warning \QD uses the QDesignerMemberSheetExtension to facilitate
- the signal and slot editing mode. Whenever a connection between
- two widgets is requested, \QD will query for the widgets' member
- sheet extensions. If a widget has an implemented member sheet
- extension, this extension will override the default member sheet.
-
- To create a member sheet extension, your extension class must
- inherit from both QObject and QDesignerMemberSheetExtension. Then,
- since we are implementing an interface, we must ensure that it's
- made known to the meta object system using the Q_INTERFACES()
- macro:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 3
-
- This enables \QD to use qobject_cast() to query for
- supported interfaces using nothing but a QObject pointer.
-
- In \QD the extensions are not created until they are
- required. For that reason, when implementing a member sheet
- extension, you must also create a QExtensionFactory, i.e a class
- that is able to make an instance of your extension, and register
- it using \QD's \l {QExtensionManager}{extension manager}.
-
- When a widget's member sheet extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until the first one that is able to create a member sheet
- extension for that widget, is found. This factory will then make
- an instance of the extension. If no such factory is found, \QD
- will use the default member sheet.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension, QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension and
- QDesignerTaskMenuExtension. \QD's behavior is the same whether the
- requested extension is associated with a multi page container, a
- member sheet, a property sheet or a task menu.
-
- The QExtensionFactory class provides a standard extension
- factory, and can also be used as an interface for custom
- extension factories. You can either create a new
- QExtensionFactory and reimplement the
- QExtensionFactory::createExtension() function. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 4
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a member sheet extension as well. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 5
-
- For a complete example using an extension class, see \l
- {designer/taskmenuextension}{Task Menu Extension example}. The
- example shows how to create a custom widget plugin for Qt
- Designer, and how to to use the QDesignerTaskMenuExtension class
- to add custom items to \QD's task menu.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerMemberSheetExtension::~QDesignerMemberSheetExtension()
-
- Destroys the member sheet extension.
-*/
-
-/*!
- \fn int QDesignerMemberSheetExtension::count() const
-
- Returns the extension's number of member functions.
-*/
-
-/*!
- \fn int QDesignerMemberSheetExtension::indexOf(const QString &name) const
-
- Returns the index of the member function specified by the given \a
- name.
-
- \sa memberName()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::memberName(int index) const
-
- Returns the name of the member function with the given \a index.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::memberGroup(int index) const
-
- Returns the name of the member group specified for the function
- with the given \a index.
-
- \sa indexOf(), setMemberGroup()
-*/
-
-/*!
- \fn void QDesignerMemberSheetExtension::setMemberGroup(int index, const QString &group)
-
- Sets the member group of the member function with the given \a
- index, to \a group.
-
- \sa indexOf(), memberGroup()
-*/
-
-/*!
- \fn bool QDesignerMemberSheetExtension::isVisible(int index) const
-
- Returns true if the member function with the given \a index is
- visible in \QD's signal and slot editor, otherwise false.
-
- \sa indexOf(), setVisible()
-*/
-
-/*!
- \fn void QDesignerMemberSheetExtension::setVisible(int index, bool visible)
-
- If \a visible is true, the member function with the given \a index
- is visible in \QD's signals and slots editing mode; otherwise the
- member function is hidden.
-
- \sa indexOf(), isVisible()
-*/
-
-/*!
- \fn virtual bool QDesignerMemberSheetExtension::isSignal(int index) const
-
- Returns true if the member function with the given \a index is a
- signal, otherwise false.
-
- \sa indexOf()
-*/
-
-/*!
- \fn bool QDesignerMemberSheetExtension::isSlot(int index) const
-
- Returns true if the member function with the given \a index is a
- slot, otherwise false.
-
- \sa indexOf()
-*/
-
-/*!
- \fn bool QDesignerMemberSheetExtension::inheritedFromWidget(int index) const
-
- Returns true if the member function with the given \a index is
- inherited from QWidget, otherwise false.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::declaredInClass(int index) const
-
- Returns the name of the class in which the member function with
- the given \a index is declared.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerMemberSheetExtension::signature(int index) const
-
- Returns the signature of the member function with the given \a
- index.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterTypes(int index) const
-
- Returns the parameter types of the member function with the given
- \a index, as a QByteArray list.
-
- \sa indexOf(), parameterNames()
-*/
-
-/*!
- \fn QList<QByteArray> QDesignerMemberSheetExtension::parameterNames(int index) const
-
- Returns the parameter names of the member function with the given
- \a index, as a QByteArray list.
-
- \sa indexOf(), parameterTypes()
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerLayoutDecorationExtension
- \brief The QDesignerLayoutDecorationExtension class provides an extension to a layout in \QD.
- \inmodule QtDesigner
- \internal
-*/
-
-/*!
- \enum QDesignerLayoutDecorationExtension::InsertMode
-
- This enum describes the modes that are used to insert items into a layout.
-
- \value InsertWidgetMode Widgets are inserted into empty cells in a layout.
- \value InsertRowMode Whole rows are inserted into a vertical or grid layout.
- \value InsertColumnMode Whole columns are inserted into a horizontal or grid layout.
-*/
-
-/*!
- \fn virtual QDesignerLayoutDecorationExtension::~QDesignerLayoutDecorationExtension()
-
- Destroys the extension.
-*/
-
-/*!
- \fn virtual QList<QWidget*> QDesignerLayoutDecorationExtension::widgets(QLayout *layout) const
-
- Returns the widgets that are managed by the given \a layout.
-
- \sa insertWidget(), removeWidget()
-*/
-
-/*!
- \fn QRect QDesignerLayoutDecorationExtension::itemInfo(int index) const
-
- Returns the rectangle covered by the item at the given \a index in the layout.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::indexOf(QWidget *widget) const
-
- Returns the index of the specified \a widget in the layout.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::indexOf(QLayoutItem *item) const
-
- Returns the index of the specified layout \a item.
-*/
-
-/*!
- \fn QDesignerLayoutDecorationExtension::InsertMode QDesignerLayoutDecorationExtension::currentInsertMode() const
-
- Returns the current insertion mode.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::currentIndex() const
-
- Returns the current index in the layout.
-*/
-
-/*!
- \fn QPair<int, int> QDesignerLayoutDecorationExtension::currentCell() const
-
- Returns a pair containing the row and column of the current cell in the layout.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::insertWidget(QWidget *widget, const QPair<int, int> &cell)
-
- Inserts the given \a widget into the specified \a cell in the layout.
-
- \sa removeWidget()
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::removeWidget(QWidget *widget)
-
- Removes the specified \a widget from the layout.
-
- \sa insertWidget()
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::insertRow(int row)
-
- Inserts a new row into the form at the position specified by \a row.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::insertColumn(int column)
-
- Inserts a new column into the form at the position specified by \a column.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::simplify()
-
- Simplifies the layout by removing unnecessary empty rows and columns, and by changing the
- number of rows or columns spanned by widgets.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::findItemAt(const QPoint &position) const
-
- Returns the index of the item in the layout that covers the given \a position.
-*/
-
-/*!
- \fn int QDesignerLayoutDecorationExtension::findItemAt(int row, int column) const
-
- Returns the item in the layout that occupies the specified \a row and \a column in the layout.
-
- Currently, this only applies to grid layouts.
-*/
-
-/*!
- \fn void QDesignerLayoutDecorationExtension::adjustIndicator(const QPoint &position, int index)
-
- Adjusts the indicator for the item specified by \a index so that
- it lies at the given \a position on the form.
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerContainerExtension
- \brief The QDesignerContainerExtension class allows you to add pages to
- a custom multi-page container in Qt Designer's workspace.
- \inmodule QtDesigner
-
- QDesignerContainerExtension provide an interface for creating
- custom container extensions. A container extension consists of a
- collection of functions that \QD needs to manage a multi-page
- container plugin, and a list of the container's pages.
-
- \image containerextension-example.png
-
- \warning This is \e not an extension for container plugins in
- general, only custom \e multi-page containers.
-
- To create a container extension, your extension class must inherit
- from both QObject and QDesignerContainerExtension. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 6
-
- Since we are implementing an interface, we must ensure that it's
- made known to the meta object system using the Q_INTERFACES()
- macro. This enables \QD to use the qobject_cast() function to
- query for supported interfaces using nothing but a QObject
- pointer.
-
- You must reimplement several functions to enable \QD to manage a
- custom multi-page container widget: \QD uses count() to keep track
- of the number pages in your container, widget() to return the page
- at a given index in the list of the container's pages, and
- currentIndex() to return the list index of the selected page. \QD
- uses the addWidget() function to add a given page to the
- container, expecting it to be appended to the list of pages, while
- it expects the insertWidget() function to add a given page to the
- container by inserting it at a given index.
-
- In \QD the extensions are not created until they are
- required. For that reason you must also create a
- QExtensionFactory, i.e a class that is able to make an instance of
- your extension, and register it using \QD's \l
- {QExtensionManager}{extension manager}.
-
- When a container extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until the first one that is able to create a container
- extension, is found. This factory will then create the extension
- for the plugin.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension , QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension and QDesignerTaskMenuExtension.
- \QD's behavior is the same whether the requested extension is
- associated with a multi page container, a member sheet, a property
- sheet or a task menu.
-
- The QExtensionFactory class provides a standard extension factory,
- and can also be used as an interface for custom extension
- factories. You can either create a new QExtensionFactory and
- reimplement the QExtensionFactory::createExtension() function. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 7
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a container extension as well. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 8
-
- For a complete example using the QDesignerContainerExtension
- class, see the \l {designer/containerextension}{Container
- Extension example}. The example shows how to create a custom
- multi-page plugin for \QD.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerContainerExtension::~QDesignerContainerExtension()
-
- Destroys the extension.
-*/
-
-/*!
- \fn int QDesignerContainerExtension::count() const
-
- Returns the number of pages in the container.
-*/
-
-/*!
- \fn QWidget *QDesignerContainerExtension::widget(int index) const
-
- Returns the page at the given \a index in the extension's list of
- pages.
-
- \sa addWidget(), insertWidget()
-*/
-
-/*!
- \fn int QDesignerContainerExtension::currentIndex() const
-
- Returns the index of the currently selected page in the
- container.
-
- \sa setCurrentIndex()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::setCurrentIndex(int index)
-
- Sets the currently selected page in the container to be the
- page at the given \a index in the extension's list of pages.
-
- \sa currentIndex()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::addWidget(QWidget *page)
-
- Adds the given \a page to the container by appending it to the
- extension's list of pages.
-
- \sa insertWidget(), remove(), widget()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::insertWidget(int index, QWidget *page)
-
- Adds the given \a page to the container by inserting it at the
- given \a index in the extension's list of pages.
-
- \sa addWidget(), remove(), widget()
-*/
-
-/*!
- \fn void QDesignerContainerExtension::remove(int index)
-
- Removes the page at the given \a index from the extension's list
- of pages.
-
- \sa addWidget(), insertWidget()
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerTaskMenuExtension
- \brief The QDesignerTaskMenuExtension class allows you to add custom
- menu entries to Qt Designer's task menu.
- \inmodule QtDesigner
-
- QDesignerTaskMenuExtension provides an interface for creating
- custom task menu extensions. It is typically used to create task
- menu entries that are specific to a plugin in \QD.
-
- \QD uses the QDesignerTaskMenuExtension to feed its task
- menu. Whenever a task menu is requested, \QD will query
- for the selected widget's task menu extension.
-
- \image taskmenuextension-example-faded.png
-
- A task menu extension is a collection of QActions. The actions
- appear as entries in the task menu when the plugin with the
- specified extension is selected. The image above shows the custom
- \gui {Edit State...} action which appears in addition to \QD's
- default task menu entries: \gui Cut, \gui Copy, \gui Paste etc.
-
- To create a custom task menu extension, your extension class must
- inherit from both QObject and QDesignerTaskMenuExtension. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 9
-
- Since we are implementing an interface, we must ensure that it
- is made known to the meta-object system using the Q_INTERFACES()
- macro. This enables \QD to use the qobject_cast() function to
- query for supported interfaces using nothing but a QObject
- pointer.
-
- You must reimplement the taskActions() function to return a list
- of actions that will be included in \QD task menu. Optionally, you
- can reimplement the preferredEditAction() function to set the
- action that is invoked when selecting your plugin and pressing
- \key F2. The preferred edit action must be one of the actions
- returned by taskActions() and, if it's not defined, pressing the
- \key F2 key will simply be ignored.
-
- In \QD, extensions are not created until they are required. A
- task menu extension, for example, is created when you click the
- right mouse button over a widget in \QD's workspace. For that
- reason you must also construct an extension factory, using either
- QExtensionFactory or a subclass, and register it using \QD's
- \l {QExtensionManager}{extension manager}.
-
- When a task menu extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until it finds one that is able to create a task menu
- extension for the selected widget. This factory will then make an
- instance of the extension.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension, QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension, and QDesignerTaskMenuExtension.
- \QD's behavior is the same whether the requested extension is
- associated with a container, a member sheet, a property sheet or a
- task menu.
-
- The QExtensionFactory class provides a standard extension factory,
- and can also be used as an interface for custom extension
- factories. You can either create a new QExtensionFactory and
- reimplement the QExtensionFactory::createExtension() function. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 10
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a task menu extension as well. For example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 11
-
- For a complete example using the QDesignerTaskMenuExtension class,
- see the \l {designer/taskmenuextension}{Task Menu Extension
- example}. The example shows how to create a custom widget plugin
- for \QD, and how to to use the QDesignerTaskMenuExtension
- class to add custom items to \QD's task menu.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerTaskMenuExtension::~QDesignerTaskMenuExtension()
-
- Destroys the task menu extension.
-*/
-
-/*!
- \fn QAction *QDesignerTaskMenuExtension::preferredEditAction() const
-
- Returns the action that is invoked when selecting a plugin with
- the specified extension and pressing \key F2.
-
- The action must be one of the actions returned by taskActions().
-*/
-
-/*!
- \fn QList<QAction*> QDesignerTaskMenuExtension::taskActions() const
-
- Returns the task menu extension as a list of actions which will be
- included in \QD's task menu when a plugin with the specified
- extension is selected.
-
- The function must be reimplemented to add actions to the list.
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerCustomWidgetCollectionInterface
-
- \brief The QDesignerCustomWidgetCollectionInterface class allows
- you to include several custom widgets in one single library.
-
- \inmodule QtDesigner
-
- When implementing a custom widget plugin, you build it as a
- separate library. If you want to include several custom widget
- plugins in the same library, you must in addition subclass
- QDesignerCustomWidgetCollectionInterface.
-
- QDesignerCustomWidgetCollectionInterface contains one single
- function returning a list of the collection's
- QDesignerCustomWidgetInterface objects. For example, if you have
- several custom widgets \c CustomWidgetOne, \c CustomWidgetTwo and
- \c CustomWidgetThree, the class definition may look like this:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 12
-
- In the class constructor you add the interfaces to your custom
- widgets to the list which you return in the customWidgets()
- function:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 13
-
- Note that instead of exporting each custom widget plugin using the
- Q_EXPORT_PLUGIN2() macro, you export the entire collection. The
- Q_EXPORT_PLUGIN2() macro ensures that \QD can access and construct
- the custom widgets. Without this macro, there is no way for \QD to
- use them.
-
- \sa QDesignerCustomWidgetInterface, {Creating Custom Widgets for
- Qt Designer}
-*/
-
-/*!
- \fn QDesignerCustomWidgetCollectionInterface::~QDesignerCustomWidgetCollectionInterface() {
-
- Destroys the custom widget collection interface.
-*/
-
-/*!
- \fn QList<QDesignerCustomWidgetInterface*> QDesignerCustomWidgetCollectionInterface::customWidgets() const
-
- Returns a list of interfaces to the collection's custom widgets.
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerCustomWidgetInterface
-
- \brief The QDesignerCustomWidgetInterface class enables Qt Designer
- to access and construct custom widgets.
-
- \inmodule QtDesigner
-
- QDesignerCustomWidgetInterface provides a custom widget with an
- interface. The class contains a set of functions that must be subclassed
- to return basic information about the widget, such as its class name and
- the name of its header file. Other functions must be implemented to
- initialize the plugin when it is loaded, and to construct instances of
- the custom widget for \QD to use.
-
- When implementing a custom widget you must subclass
- QDesignerCustomWidgetInterface to expose your widget to \QD. For
- example, this is the declaration for the plugin used in the
- \l{Custom Widget Plugin Example}{Custom Widget Plugin example} that
- enables an analog clock custom widget to be used by \QD:
-
- \snippet examples/designer/customwidgetplugin/customwidgetplugin.h 0
-
- Note that the only part of the class definition that is specific
- to this particular custom widget is the class name. In addition,
- since we are implementing an interface, we must ensure that it's
- made known to the meta object system using the Q_INTERFACES()
- macro. This enables \QD to use the qobject_cast() function to
- query for supported interfaces using nothing but a QObject
- pointer.
-
- After \QD loads a custom widget plugin, it calls the interface's
- initialize() function to enable it to set up any resources that it
- may need. This function is called with a QDesignerFormEditorInterface
- parameter that provides the plugin with a gateway to all of \QD's API.
-
- \QD constructs instances of the custom widget by calling the plugin's
- createWidget() function with a suitable parent widget. Plugins must
- construct and return an instance of a custom widget with the specified
- parent widget.
-
- In the implementation of the class you must remember to export
- your custom widget plugin to \QD using the Q_EXPORT_PLUGIN2()
- macro. For example, if a library called \c libcustomwidgetplugin.so
- (on Unix) or \c libcustomwidget.dll (on Windows) contains a widget
- class called \c MyCustomWidget, we can export it by adding the
- following line to the file containing the plugin implementation:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 14
-
- This macro ensures that \QD can access and construct the custom widget.
- Without this macro, there is no way for \QD to use it.
-
- When implementing a custom widget plugin, you build it as a
- separate library. If you want to include several custom widget
- plugins in the same library, you must in addition subclass
- QDesignerCustomWidgetCollectionInterface.
-
- \warning If your custom widget plugin contains QVariant
- properties, be aware that only the following \l
- {QVariant::Type}{types} are supported:
-
- \list
- \o QVariant::ByteArray
- \o QVariant::Bool
- \o QVariant::Color
- \o QVariant::Cursor
- \o QVariant::Date
- \o QVariant::DateTime
- \o QVariant::Double
- \o QVariant::Int
- \o QVariant::Point
- \o QVariant::Rect
- \o QVariant::Size
- \o QVariant::SizePolicy
- \o QVariant::String
- \o QVariant::Time
- \o QVariant::UInt
- \endlist
-
- For a complete example using the QDesignerCustomWidgetInterface
- class, see the \l {designer/customwidgetplugin}{Custom Widget
- Example}. The example shows how to create a custom widget plugin
- for \QD.
-
- \sa QDesignerCustomWidgetCollectionInterface {Creating Custom
- Widgets for Qt Designer}
-*/
-
-/*!
- \fn QDesignerCustomWidgetInterface::~QDesignerCustomWidgetInterface()
-
- Destroys the custom widget interface.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::name() const
-
- Returns the class name of the custom widget supplied by the interface.
-
- The name returned \e must be identical to the class name used for the
- custom widget.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::group() const
-
- Returns the name of the group to which the custom widget belongs.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::toolTip() const
-
- Returns a short description of the widget that can be used by \QD
- in a tool tip.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::whatsThis() const
-
- Returns a description of the widget that can be used by \QD in
- "What's This?" help for the widget.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::includeFile() const
-
- Returns the path to the include file that \l uic uses when
- creating code for the custom widget.
-*/
-
-/*!
- \fn QIcon QDesignerCustomWidgetInterface::icon() const
-
- Returns the icon used to represent the custom widget in \QD's
- widget box.
-*/
-
-/*!
- \fn bool QDesignerCustomWidgetInterface::isContainer() const
-
- Returns true if the custom widget is intended to be used as a
- container; otherwise returns false.
-
- Most custom widgets are not used to hold other widgets, so their
- implementations of this function will return false, but custom
- containers will return true to ensure that they behave correctly
- in \QD.
-*/
-
-/*!
- \fn QWidget *QDesignerCustomWidgetInterface::createWidget(QWidget *parent)
-
- Returns a new instance of the custom widget, with the given \a
- parent.
-*/
-
-/*!
- \fn bool QDesignerCustomWidgetInterface::isInitialized() const
-
- Returns true if the widget has been initialized; otherwise returns
- false.
-
- \sa initialize()
-*/
-
-/*!
- \fn void QDesignerCustomWidgetInterface::initialize(QDesignerFormEditorInterface *formEditor)
-
- Initializes the widget for use with the specified \a formEditor
- interface.
-
- \sa isInitialized()
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::domXml() const
-
- Returns the XML that is used to describe the custom widget's
- properties to \QD.
-*/
-
-/*!
- \fn QString QDesignerCustomWidgetInterface::codeTemplate() const
-
- This function is reserved for future use by \QD.
-
- \omit
- Returns the code template that \QD includes in forms that contain
- the custom widget when they are saved.
- \endomit
-*/
-
-/*!
- \macro QDESIGNER_WIDGET_EXPORT
- \relates QDesignerCustomWidgetInterface
- \since 4.1
-
- This macro is used when defining custom widgets to ensure that they are
- correctly exported from plugins for use with \QD.
-
- On some platforms, the symbols required by \QD to create new widgets
- are removed from plugins by the build system, making them unusable.
- Using this macro ensures that the symbols are retained on those platforms,
- and has no side effects on other platforms.
-
- For example, the \l{designer/worldtimeclockplugin}{World Time Clock Plugin}
- example exports a custom widget class with the following declaration:
-
- \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 0
- \dots
- \snippet examples/designer/worldtimeclockplugin/worldtimeclock.h 2
-
- \sa {Creating Custom Widgets for Qt Designer}
-*/
-
-
-// Doc: Abstract class
-
-/*!
- \class QDesignerDnDItemInterface
- \brief The QDesignerDnDItemInterface class provides an interface that is used to manage items
- during a drag and drop operation.
- \inmodule QtDesigner
- \internal
-*/
-
-/*!
- \enum QDesignerDnDItemInterface::DropType
-
- This enum describes the result of a drag and drop operation.
-
- \value MoveDrop The item was moved.
- \value CopyDrop The item was copied.
-*/
-
-/*!
- \fn QDesignerDnDItemInterface::QDesignerDnDItemInterface()
-
- Constructs a new interface to a drag and drop item.
-*/
-
-/*!
- \fn QDesignerDnDItemInterface::~QDesignerDnDItemInterface()
-
- Destroys the interface to the item.
-*/
-
-/*!
- \fn DomUI *QDesignerDnDItemInterface::domUi() const
-
- Returns a user interface object for the item.
-*/
-
-/*!
- \fn QWidget *QDesignerDnDItemInterface::widget() const
-
- Returns the widget being copied or moved in the drag and drop operation.
-
- \sa source()
-*/
-
-/*!
- \fn QWidget *QDesignerDnDItemInterface::decoration() const
-
- Returns the widget used to represent the item.
-*/
-
-/*!
- \fn QPoint QDesignerDnDItemInterface::hotSpot() const
-
- Returns the cursor's hotspot.
-
- \sa QDrag::hotSpot()
-*/
-
-/*!
- \fn DropType QDesignerDnDItemInterface::type() const
-
- Returns the type of drag and drop operation in progress.
-*/
-
-/*!
- \fn QWidget *QDesignerDnDItemInterface::source() const
-
- Returns the widget that is the source of the drag and drop operation; i.e. the original
- container of the widget being dragged.
-
- \sa widget()
-*/
-
-
-// Doc: Abstract class
-
-/*!
- \class QDesignerIconCacheInterface
- \brief The QDesignerIconCacheInterface class provides an interface to \QD's icon cache.
- \inmodule QtDesigner
- \internal
-*/
-
-/*!
- \fn QDesignerIconCacheInterface::QDesignerIconCacheInterface(QObject *parent)
-
- Constructs a new interface with the given \a parent.
-*/
-
-/*!
- \fn QIcon QDesignerIconCacheInterface::nameToIcon(const QString &filePath, const QString &qrcPath)
-
- Returns the icon associated with the name specified by \a filePath in the resource
- file specified by \a qrcPath.
-
- If \a qrcPath refers to a valid resource file, the name used for the file path is a path
- within those resources; otherwise the file path refers to a local file.
-
- \sa {The Qt Resource System}, nameToPixmap()
-*/
-
-/*!
- \fn QPixmap QDesignerIconCacheInterface::nameToPixmap(const QString &filePath, const QString &qrcPath)
-
- Returns the pixmap associated with the name specified by \a filePath in the resource
- file specified by \a qrcPath.
-
- If \a qrcPath refers to a valid resource file, the name used for the file path is a path
- within those resources; otherwise the file path refers to a local file.
-
- \sa {The Qt Resource System}, nameToIcon()
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::iconToFilePath(const QIcon &icon) const
-
- Returns the file path associated with the given \a icon. The file path is a path within
- an application resources.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::iconToQrcPath(const QIcon &icon) const
-
- Returns the path to the resource file that refers to the specified \a icon. The resource
- path refers to a local file.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::pixmapToFilePath(const QPixmap &pixmap) const
-
- Returns the file path associated with the given \a pixmap. The file path is a path within
- an application resources.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::pixmapToQrcPath(const QPixmap &pixmap) const
-
- Returns the path to the resource file that refers to the specified \a pixmap. The resource
- path refers to a local file.
-*/
-
-/*!
- \fn QList<QPixmap> QDesignerIconCacheInterface::pixmapList() const
-
- Returns a list of pixmaps for the icons provided by the icon cache.
-*/
-
-/*!
- \fn QList<QIcon> QDesignerIconCacheInterface::iconList() const
-
- Returns a list of icons provided by the icon cache.
-*/
-
-/*!
- \fn QString QDesignerIconCacheInterface::resolveQrcPath(const QString &filePath, const QString &qrcPath, const QString &workingDirectory) const
-
- Returns a path to a resource specified by the \a filePath within
- the resource file located at \a qrcPath. If \a workingDirectory is
- a valid path to a directory, the path returned will be relative to
- that directory; otherwise an absolute path is returned.
-
- \omit
- ### Needs checking
- \endomit
-*/
-
-
-// Doc: Interface only
-
-/*!
- \class QDesignerPropertySheetExtension
-
- \brief The QDesignerPropertySheetExtension class allows you to
- manipulate a widget's properties which is displayed in Qt
- Designer's property editor.
-
- \sa QDesignerDynamicPropertySheetExtension
-
- \inmodule QtDesigner
-
- QDesignerPropertySheetExtension provides a collection of functions that
- are typically used to query a widget's properties, and to
- manipulate the properties' appearance in the property editor. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 15
-
- Note that if you change the value of a property using the
- QDesignerPropertySheetExtension::setProperty() function, the undo
- stack is not updated. To ensure that a property's value can be
- reverted using the undo stack, you must use the
- QDesignerFormWindowCursorInterface::setProperty() function, or its
- buddy \l
- {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
- instead.
-
- When implementing a custom widget plugin, a pointer to \QD's
- current QDesignerFormEditorInterface object (\c formEditor in the
- example above) is provided by the
- QDesignerCustomWidgetInterface::initialize() function's parameter.
-
- The property sheet, or any other extension, can be retrieved by
- querying \QD's extension manager using the qt_extension()
- function. When you want to release the extension, you only need to
- delete the pointer.
-
- All widgets have a default property sheet which populates \QD's
- property editor with the widget's properties (i.e the ones defined
- with the Q_PROPERTY() macro). But QDesignerPropertySheetExtension
- also provides an interface for creating custom property sheet
- extensions.
-
- \warning \QD uses the QDesignerPropertySheetExtension to feed its
- property editor. Whenever a widget is selected in its workspace,
- \QD will query for the widget's property sheet extension. If the
- selected widget has an implemented property sheet extension, this
- extension will override the default property sheet.
-
- To create a property sheet extension, your extension class must
- inherit from both QObject and
- QDesignerPropertySheetExtension. Then, since we are implementing
- an interface, we must ensure that it's made known to the meta
- object system using the Q_INTERFACES() macro:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 16
-
- This enables \QD to use qobject_cast() to query for supported
- interfaces using nothing but a QObject pointer.
-
- In \QD the extensions are not created until they are
- required. For that reason, when implementing a property sheet
- extension, you must also create a QExtensionFactory, i.e a class
- that is able to make an instance of your extension, and register
- it using \QD's \l {QExtensionManager}{extension manager}.
-
- When a property sheet extension is required, \QD's \l
- {QExtensionManager}{extension manager} will run through all its
- registered factories calling QExtensionFactory::createExtension()
- for each until the first one that is able to create a property
- sheet extension for the selected widget, is found. This factory
- will then make an instance of the extension. If no such factory
- can be found, \QD will use the default property sheet.
-
- There are four available types of extensions in \QD:
- QDesignerContainerExtension, QDesignerMemberSheetExtension,
- QDesignerPropertySheetExtension and QDesignerTaskMenuExtension. Qt
- Designer's behavior is the same whether the requested extension is
- associated with a multi page container, a member sheet, a property
- sheet or a task menu.
-
- The QExtensionFactory class provides a standard extension factory,
- and can also be used as an interface for custom extension
- factories. You can either create a new QExtensionFactory and
- reimplement the QExtensionFactory::createExtension() function. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 17
-
- Or you can use an existing factory, expanding the
- QExtensionFactory::createExtension() function to make the factory
- able to create a property sheet extension extension as well. For
- example:
-
- \snippet doc/src/snippets/code/doc_src_qtdesigner.qdoc 18
-
- For a complete example using an extension class, see the \l
- {designer/taskmenuextension}{Task Menu Extension example}. The
- example shows how to create a custom widget plugin for Qt
- Designer, and how to to use the QDesignerTaskMenuExtension class
- to add custom items to \QD's task menu.
-
- \sa QExtensionFactory, QExtensionManager, {Creating Custom Widget
- Extensions}
-*/
-
-/*!
- \fn QDesignerPropertySheetExtension::~QDesignerPropertySheetExtension()
-
- Destroys the property sheet extension.
-*/
-
-/*!
- \fn int QDesignerPropertySheetExtension::count() const
-
- Returns the selected widget's number of properties.
-*/
-
-/*!
- \fn int QDesignerPropertySheetExtension::indexOf(const QString &name) const
-
- Returns the index for a given property \a name.
-
- \sa propertyName()
-*/
-
-/*!
- \fn QString QDesignerPropertySheetExtension::propertyName(int index) const
-
- Returns the name of the property at the given \a index.
-
- \sa indexOf()
-*/
-
-/*!
- \fn QString QDesignerPropertySheetExtension::propertyGroup(int index) const
-
- Returns the property group for the property at the given \a index.
-
- \QD's property editor supports property groups, i.e. sections of
- related properties. A property can be related to a group using the
- setPropertyGroup() function. The default group of any property is
- the name of the class that defines it. For example, the
- QObject::objectName property appears within the QObject property
- group.
-
- \sa indexOf(), setPropertyGroup()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setPropertyGroup(int index, const QString &group)
-
- Sets the property group for the property at the given \a index to
- \a group.
-
- Relating a property to a group makes it appear within that group's
- section in the property editor. The default property group of any
- property is the name of the class that defines it. For example,
- the QObject::objectName property appears within the QObject
- property group.
-
- \sa indexOf(), property(), propertyGroup()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::hasReset(int index) const
-
- Returns true if the property at the given \a index has a reset
- button in \QD's property editor, otherwise false.
-
- \sa indexOf(), reset()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::reset(int index)
-
- Resets the value of the property at the given \a index, to the
- default value. Returns true if a default value could be found, otherwise false.
-
- \sa indexOf(), hasReset(), isChanged()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::isVisible(int index) const
-
- Returns true if the property at the given \a index is visible in
- \QD's property editor, otherwise false.
-
- \sa indexOf(), setVisible()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setVisible(int index, bool visible)
-
- If \a visible is true, the property at the given \a index is
- visible in \QD's property editor; otherwise the property is
- hidden.
-
- \sa indexOf(), isVisible()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::isAttribute(int index) const
-
- Returns true if the property at the given \a index is an attribute,
- which will be \e excluded from the .ui file, otherwise false.
-
- \sa indexOf(), setAttribute()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setAttribute(int index, bool attribute)
-
- If \a attribute is true, the property at the given \a index is
- made an attribute which will be \e excluded from the .ui file;
- otherwise it will be included.
-
- \sa indexOf(), isAttribute()
-*/
-
-/*!
- \fn QVariant QDesignerPropertySheetExtension::property(int index) const
-
- Returns the value of the property at the given \a index.
-
- \sa indexOf(), setProperty(), propertyGroup()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setProperty(int index, const QVariant &value)
-
- Sets the \a value of the property at the given \a index.
-
- \warning If you change the value of a property using this
- function, the undo stack is not updated. To ensure that a
- property's value can be reverted using the undo stack, you must
- use the QDesignerFormWindowCursorInterface::setProperty()
- function, or its buddy \l
- {QDesignerFormWindowCursorInterface::setWidgetProperty()}{setWidgetProperty()},
- instead.
-
- \sa indexOf(), property(), propertyGroup()
-*/
-
-/*!
- \fn bool QDesignerPropertySheetExtension::isChanged(int index) const
-
- Returns true if the value of the property at the given \a index
- differs from the property's default value, otherwise false.
-
- \sa indexOf(), setChanged(), reset()
-*/
-
-/*!
- \fn void QDesignerPropertySheetExtension::setChanged(int index, bool changed)
-
- Sets whether the property at the given \a index is different from
- its default value, or not, depending on the \a changed parameter.
-
- \sa indexOf(), isChanged()
-*/
-
-// Doc: Interface only
-
-/*!
- \class QDesignerDynamicPropertySheetExtension
-
- \brief The QDesignerDynamicPropertySheetExtension class allows you to
- manipulate a widget's dynamic properties in Qt Designer's property editor.
-
- \sa QDesignerPropertySheetExtension, {QObject#Dynamic Properties}{Dynamic Properties}
-
- \inmodule QtDesigner
- \since 4.3
-*/
-
-/*!
- \fn QDesignerDynamicPropertySheetExtension::~QDesignerDynamicPropertySheetExtension()
-
- Destroys the dynamic property sheet extension.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::dynamicPropertiesAllowed() const
-
- Returns true if the widget supports dynamic properties; otherwise returns false.
-*/
-
-/*!
- \fn int QDesignerDynamicPropertySheetExtension::addDynamicProperty(const QString &propertyName, const QVariant &value)
-
- Adds a dynamic property named \a propertyName and sets its value to \a value.
- Returns the index of the property if it was added successfully; otherwise returns -1 to
- indicate failure.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::removeDynamicProperty(int index)
-
- Removes the dynamic property at the given \a index.
- Returns true if the operation succeeds; otherwise returns false.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::isDynamicProperty(int index) const
-
- Returns true if the property at the given \a index is a dynamic property; otherwise
- returns false.
-*/
-
-/*!
- \fn bool QDesignerDynamicPropertySheetExtension::canAddDynamicProperty(const QString &propertyName) const
-
- Returns true if \a propertyName is a valid, unique name for a dynamic
- property; otherwise returns false.
-
-*/
diff --git a/doc/src/qthelp.qdoc b/doc/src/qthelp.qdoc
index 7260b6e..92c9609 100644
--- a/doc/src/qthelp.qdoc
+++ b/doc/src/qthelp.qdoc
@@ -279,7 +279,7 @@
\section1 Qt Help Project File Format
- The file format is XML based. For a better understanding of
+ The file format is XML-based. For a better understanding of
the format we'll discuss the following example:
\snippet doc/src/snippets/code/doc_src_qthelp.qdoc 7
@@ -398,11 +398,13 @@
Finally, the actual documentation files have to be listed. Make sure
that all files neccessary to display the help are mentioned, i.e.
- stylesheets or similar files need to be there as well. The file, like all
+ stylesheets or similar files need to be there as well. The files, like all
file references in a Qt help project, are relative to the help project file
- itself. All listed files will be compressed and written to the Qt compressed
- help file. So, in the end, one single Qt help file contains all
- documentation files along with the contents and indices. \note The
- referenced files must be inside the same directory (or within a subdirectory)
- as the help project file. An absolute file path is not supported either.
+ itself. As the example shows, files (but not directories) can also be
+ specified as patterns using wildcards. All listed files will be compressed
+ and written to the Qt compressed help file. So, in the end, one single Qt
+ help file contains all documentation files along with the contents and
+ indices. \note The referenced files must be inside the same directory
+ (or within a subdirectory) as the help project file. An absolute file path
+ is not supported either.
*/
diff --git a/doc/src/qtnetwork.qdoc b/doc/src/qtnetwork.qdoc
index 0443f0f..3802273 100644
--- a/doc/src/qtnetwork.qdoc
+++ b/doc/src/qtnetwork.qdoc
@@ -145,11 +145,11 @@
\l{QFtp::commandFinished()}{commandFinished()} signal with the
command ID for each command that is executed.
- \o \e{Data transfer progress indicators.} QFtp emits
- signals whenever data is transferred
- (QFtp::dataTransferProgress(), QHttp::dataReadProgress(), and
- QHttp::dataSendProgress()). You could connect these signals to
- QProgressBar::setProgress() or QProgressDialog::setProgress(),
+ \o \e{Data transfer progress indicators.} QFtp emits signals
+ whenever data is transferred (QFtp::dataTransferProgress(),
+ QNetworkReply::downloadProgress(), and
+ QNetworkReply::uploadProgress()). You could connect these signals
+ to QProgressBar::setProgress() or QProgressDialog::setProgress(),
for example.
\o \e{QIODevice support.} The class supports convenient
@@ -196,10 +196,10 @@
will then stop immediately.
QTcpSocket works asynchronously and emits signals to report status
- changes and errors, just like QHttp and QFtp. It relies on the
- event loop to detect incoming data and to automatically flush
- outgoing data. You can write data to the socket using
- QTcpSocket::write(), and read data using
+ changes and errors, just like QNetworkAccessManager and QFtp. It
+ relies on the event loop to detect incoming data and to
+ automatically flush outgoing data. You can write data to the
+ socket using QTcpSocket::write(), and read data using
QTcpSocket::read(). QTcpSocket represents two independent streams
of data: one for reading and one for writing.
diff --git a/doc/src/qtscript.qdoc b/doc/src/qtscript.qdoc
index f2ac6c9..6b8f639 100644
--- a/doc/src/qtscript.qdoc
+++ b/doc/src/qtscript.qdoc
@@ -1782,20 +1782,20 @@
\list 1
\o Run \c lupdate to extract translatable text from the script source code
- of the Qt application, resulting in a message file for translators (a \c
- .ts file). The utility recognizes qsTr(), qsTranslate() and the
- \c{QT_TR*_NOOP()} functions described above and produces \c .ts files
+ of the Qt application, resulting in a message file for translators (a TS
+ file). The utility recognizes qsTr(), qsTranslate() and the
+ \c{QT_TR*_NOOP()} functions described above and produces TS files
(usually one per language).
- \o Provide translations for the source texts in the \c .ts file, using
- \e{Qt Linguist}. Since \c .ts files are in XML format, you can also
+ \o Provide translations for the source texts in the TS file, using
+ \e{Qt Linguist}. Since TS files are in XML format, you can also
edit them by hand.
- \o Run \c lrelease to obtain a light-weight message file (a \c .qm
- file) from the \c .ts file, suitable only for end use. Think of the \c
- .ts files as "source files", and \c .qm files as "object files". The
- translator edits the \c .ts files, but the users of your application
- only need the \c .qm files. Both kinds of files are platform and
+ \o Run \c lrelease to obtain a light-weight message file (a QM
+ file) from the TS file, suitable only for end use. Think of the TS
+ files as "source files", and QM files as "object files". The
+ translator edits the TS files, but the users of your application
+ only need the QM files. Both kinds of files are platform and
locale independent.
\endlist
@@ -1805,7 +1805,7 @@
translations from previous releases.
When running \c lupdate, you must specify the location of the script(s),
- and the name of the \c{.ts} file to produce. Examples:
+ and the name of the TS file to produce. Examples:
\snippet doc/src/snippets/code/doc_src_qtscript.qdoc 87
@@ -1823,7 +1823,7 @@
\snippet doc/src/snippets/code/doc_src_qtscript.qdoc 89
- When running \c lrelease, you must specify the name of the \c{.ts} input
+ When running \c lrelease, you must specify the name of the TS input
file; or, if you are using a qmake project file to manage script
translations, you specify the name of that file. \c lrelease will create
\c myscript_la.qm, the binary representation of the translation.
diff --git a/doc/src/qtuiloader.qdoc b/doc/src/qtuiloader.qdoc
index 137cfeb..0a23366 100644
--- a/doc/src/qtuiloader.qdoc
+++ b/doc/src/qtuiloader.qdoc
@@ -53,7 +53,7 @@
These forms are processed at run-time to produce dynamically-generated
user interfaces. In order to generate a form at run-time, a resource
- file containing a \c{.ui} file is needed. Applications that use the
+ file containing a UI file is needed. Applications that use the
form handling classes need to be configured to be built against the
QtUiTools module. This is done by including the following declaration
in a \c qmake project file to ensure that the application is compiled
diff --git a/doc/src/qtxmlpatterns.qdoc b/doc/src/qtxmlpatterns.qdoc
index 6b82c0d..3177736 100644
--- a/doc/src/qtxmlpatterns.qdoc
+++ b/doc/src/qtxmlpatterns.qdoc
@@ -839,6 +839,33 @@
with the \c fn:id() function. See
\l{http://www.w3.org/TR/xml-id/}{xml:id Version 1.0} for details.
+ \section2 XML Schema 1.0
+
+ There are two ways QtXmlPatterns can be used to validate schemas:
+ You can use the C++ API in your Qt application using the classes
+ QXmlSchema and QXmlSchemaValidator, or you can use the command line
+ utility named xmlpatternsvalidator (located in the "bin" directory
+ of your Qt build).
+
+ The QtXmlPatterns implementation of XML Schema validation supports
+ the schema specification version 1.0 in large parts. Known problems
+ of the implementation and areas where conformancy may be questionable
+ are:
+
+ \list
+ \o Large \c minOccurs or \c maxOccurs values or deeply nested ones
+ require huge amount of memory which might cause the system to freeze.
+ Such a schema should be rewritten to use \c unbounded as value instead
+ of large numbers. This restriction will hopefully be fixed in a later release.
+ \o Comparison of really small or large floating point values might lead to
+ wrong results in some cases. However such numbers should not be relevant
+ for day-to-day usage.
+ \o Regular expression support is currently not conformant but follows
+ Qt's QRegExp standard syntax.
+ \o Identity constraint checks can not use the values of default or fixed
+ attribute definitions.
+ \endlist
+
\section2 Resource Loading
When QtXmlPatterns loads an XML resource, e.g., using the
@@ -884,6 +911,54 @@
URIs are first passed to QAbstractUriResolver. Check
QXmlQuery::setUriResolver() for possible rewrites.
+ \section1 License Information
+
+ The XML Schema implementation provided by this module contains the \c xml.xsd file
+ (located in \c{src/xmlpatterns/schema/schemas}) which is licensed under the terms
+ given below. This module is always built with XML Schema support enabled.
+
+ \legalese
+ W3C\copyright SOFTWARE NOTICE AND LICENSE
+
+ This license came from: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+ This work (and included software, documentation such as READMEs, or other
+ related items) is being provided by the copyright holders under the following
+ license. By obtaining, using and/or copying this work, you (the licensee)
+ agree that you have read, understood, and will comply with the following
+ terms and conditions.
+
+ Permission to copy, modify, and distribute this software and its
+ documentation, with or without modification, for any purpose and without
+ fee or royalty is hereby granted, provided that you include the following on
+ ALL copies of the software and documentation or portions thereof, including
+ modifications:
+
+ 1. The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.\br
+ 2. Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, the W3C Software Short Notice should be
+ included (hypertext is preferred, text is permitted)
+ within the body of any redistributed or derivative code.\br
+ 3. Notice of any changes or modifications to the files, including the date
+ changes were made. (We recommend you provide URIs to the location from
+ which the code is derived.)
+
+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+ MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+ LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+ PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
+ ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+ DOCUMENTATION.
+
+ The name and trademarks of copyright holders may NOT be used in
+ advertising or publicity pertaining to the software without specific, written
+ prior permission. Title to copyright in this software and any associated
+ documentation will at all times remain with copyright holders.
+ \endlegalese
*/
/*!
diff --git a/doc/src/resources.qdoc b/doc/src/resources.qdoc
index e4d4c35..6f3f939 100644
--- a/doc/src/resources.qdoc
+++ b/doc/src/resources.qdoc
@@ -175,7 +175,7 @@
Qt's resources support the concept of a search path list. If you then
refer to a resource with \c : instead of \c :/ as the prefix, the
resource will be looked up using the search path list. The search
- path list is empty at startup; call QDir::addResourceSearchPath() to
+ path list is empty at startup; call QDir::addSearchPath() to
add paths to it.
If you have resources in a static library, you might need to
diff --git a/doc/src/richtext.qdoc b/doc/src/richtext.qdoc
index 1c76268..c43db0c 100644
--- a/doc/src/richtext.qdoc
+++ b/doc/src/richtext.qdoc
@@ -714,8 +714,8 @@ Ideas for other sections:
\previouspage Common Rich Text Editing Tasks
Qt's text widgets are able to display rich text, specified using a subset of \l{HTML 4}
- markup. Widgets that use QTextDocument, such as QLabel, QTextEdit, QTreeWidgetItem and
- the other item widgets, are able to display rich text specified in this way.
+ markup. Widgets that use QTextDocument, such as QLabel and QTextEdit, are able to display
+ rich text specified in this way.
\tableofcontents
diff --git a/doc/src/s60-introduction.qdoc b/doc/src/s60-introduction.qdoc
index 537b37d..16919cb 100644
--- a/doc/src/s60-introduction.qdoc
+++ b/doc/src/s60-introduction.qdoc
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/signalsandslots.qdoc b/doc/src/signalsandslots.qdoc
index 356db33..09eb0a6 100644
--- a/doc/src/signalsandslots.qdoc
+++ b/doc/src/signalsandslots.qdoc
@@ -190,7 +190,7 @@
know any information about each other. To enable this, the objects only
need to be connected together, and this can be achieved with some simple
QObject::connect() function calls, or with \c{uic}'s
- \l{Using a Designer .ui File in Your Application#Automatic Connections}
+ \l{Using a Designer UI File in Your Application#Automatic Connections}
{automatic connections} feature.
\section1 Building the Example
diff --git a/doc/src/snippets/code/doc_src_emb-charinput.qdoc b/doc/src/snippets/code/doc_src_emb-charinput.qdoc
index 2539e13..f6b33fe 100644
--- a/doc/src/snippets/code/doc_src_emb-charinput.qdoc
+++ b/doc/src/snippets/code/doc_src_emb-charinput.qdoc
@@ -4,7 +4,7 @@
//! [1]
-configure -qt-kbd-s15000
+configure -qt-kbd-linuxinput
//! [1]
diff --git a/doc/src/snippets/code/doc_src_linguist-manual.qdoc b/doc/src/snippets/code/doc_src_linguist-manual.qdoc
index ce3b997..5697300 100644
--- a/doc/src/snippets/code/doc_src_linguist-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_linguist-manual.qdoc
@@ -42,7 +42,7 @@ Options:
-pluralonly
Only include plural form messages.
-silent
- Don't explain what is being done.
+ Do not explain what is being done.
-version
Display the version of lupdate and exit.
//! [4]
@@ -55,14 +55,14 @@ Usage:
Options:
-help Display this information and exit
-compress
- Compress the .qm files
+ Compress the QM files
-nounfinished
Do not include unfinished translations
-removeidentical
If the translated text is the same as
the source text, do not include the message
-silent
- Don't explain what is being done
+ Do not explain what is being done
-version
Display the version of lrelease and exit
//! [5]
diff --git a/doc/src/snippets/code/doc_src_properties.qdoc b/doc/src/snippets/code/doc_src_properties.qdoc
index 377cc9c..3c9109f 100644
--- a/doc/src/snippets/code/doc_src_properties.qdoc
+++ b/doc/src/snippets/code/doc_src_properties.qdoc
@@ -7,7 +7,9 @@ Q_PROPERTY(type name
[DESIGNABLE bool]
[SCRIPTABLE bool]
[STORED bool]
- [USER bool])
+ [USER bool]
+ [CONSTANT]
+ [FINAL])
//! [0]
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.qdoc b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
index 50515b7..64dc559 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.qdoc
+++ b/doc/src/snippets/code/doc_src_qmake-manual.qdoc
@@ -689,7 +689,7 @@ qmake -o Makefile hello.pro
//! [115]
-qmake -tp vc -o hello.dsp hello.pro
+qmake -tp vc hello.pro
//! [115]
diff --git a/doc/src/snippets/code/doc_src_qthelp.qdoc b/doc/src/snippets/code/doc_src_qthelp.qdoc
index 11d231f..949e2a5 100644
--- a/doc/src/snippets/code/doc_src_qthelp.qdoc
+++ b/doc/src/snippets/code/doc_src_qthelp.qdoc
@@ -92,8 +92,7 @@ if (links.count()) {
</keywords>
<files>
<file>classic.css</file>
- <file>index.html</file>
- <file>doc.html</file>
+ <file>*.html</file>
</files>
</filterSection>
</QtHelpProject>
@@ -154,8 +153,7 @@ if (links.count()) {
...
<files>
<file>classic.css</file>
- <file>index.html</file>
- <file>doc.html</file>
+ <file>*.html</file>
</files>
...
//! [13]
diff --git a/doc/src/snippets/code/doc_src_styles.qdoc b/doc/src/snippets/code/doc_src_styles.qdoc
index e11dc05..9d5756a 100644
--- a/doc/src/snippets/code/doc_src_styles.qdoc
+++ b/doc/src/snippets/code/doc_src_styles.qdoc
@@ -1,5 +1,5 @@
//! [0]
- opt.init(q);
+ opt.initFrom(q);
if (down)
opt.state |= QStyle::State_Sunken;
if (tristate && noChange)
diff --git a/doc/src/snippets/code/src_corelib_global_qglobal.cpp b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
index 287181a..50052c3 100644
--- a/doc/src/snippets/code/src_corelib_global_qglobal.cpp
+++ b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
@@ -358,6 +358,30 @@ QString global_greeting(int type)
//! [36]
+//! [qttrid]
+ //% "%n fooish bar(s) found.\n"
+ //% "Do you want to continue?"
+ QString text = qtTrId("qtn_foo_bar", n);
+//! [qttrid]
+
+
+//! [qttrid_noop]
+static const char * const ids[] = {
+ //% "This is the first text."
+ QT_TRID_NOOP("qtn_1st_text"),
+ //% "This is the second text."
+ QT_TRID_NOOP("qtn_2nd_text"),
+ 0
+};
+
+void TheClass::addLabels()
+{
+ for (int i = 0; ids[i]; ++i)
+ new QLabel(qtTrId(ids[i]), this);
+}
+//! [qttrid_noop]
+
+
//! [37]
qWarning("%s: %s", qPrintable(key), qPrintable(value));
//! [37]
diff --git a/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp b/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
index 2ab15ee..89b4f33 100644
--- a/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
+++ b/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp
@@ -13,9 +13,9 @@ info1.size(); // returns 56201
info1.symLinkTarget(); // returns "/opt/pretty++/bin/untabify"
QFileInfo info2(info1.symLinkTarget());
-info1.isSymLink(); // returns false
-info1.absoluteFilePath(); // returns "/opt/pretty++/bin/untabify"
-info1.size(); // returns 56201
+info2.isSymLink(); // returns false
+info2.absoluteFilePath(); // returns "/opt/pretty++/bin/untabify"
+info2.size(); // returns 56201
#endif
//! [0]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
index 5a7c5a7..5c0f80c 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qobject.cpp
@@ -376,6 +376,15 @@ hostNameLabel->setText(tr("Name:"));
QString example = tr("Example");
//! [40]
+//! [meta data]
+//: This is a comment for the translator.
+//= qtn_foo_bar
+//~ loc-layout_id foo_dialog
+//~ loc-blank False
+//~ magic-stuff This might mean something magic.
+QString text = MyMagicClass::tr("Sim sala bim.");
+//! [meta data]
+
//! [explicit tr context]
QString text = QScrollBar::tr("Page up");
//! [explicit tr context]
diff --git a/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp b/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
index 7d75e1b..3b9a756 100644
--- a/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
+++ b/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp
@@ -190,10 +190,10 @@ QVector<QString> vect = list.toVector();
//! [23]
-QSet<double> set;
-set << 20.0 << 30.0 << 40.0 << ... << 70.0;
+QSet<int> set;
+set << 20 << 30 << 40 << ... << 70;
-QList<double> list = QList<double>::fromSet(set);
+QList<int> list = QList<int>::fromSet(set);
qSort(list);
//! [23]
diff --git a/doc/src/snippets/code/src_network_access_qnetworkreply.cpp b/doc/src/snippets/code/src_network_access_qnetworkreply.cpp
new file mode 100644
index 0000000..78b388b
--- /dev/null
+++ b/doc/src/snippets/code/src_network_access_qnetworkreply.cpp
@@ -0,0 +1,10 @@
+//! [0]
+QList<QSslCertificate> cert = QSslCertificate::fromPath(QLatin1String("server-certificate.pem"));
+QSslError error(QSslError::SelfSignedCertificate, cert.at(0));
+QList<QSslError> expectedSslErrors;
+expectedSslErrors.append(error);
+
+QNetworkReply *reply = manager.get(QNetworkRequest(QUrl("https://server.tld/index.html")));
+reply->ignoreSslErrors(expectedSslErrors);
+// here connect signals etc.
+//! [0]
diff --git a/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp b/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp
index afffbab..7845e9b 100644
--- a/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp
+++ b/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp
@@ -54,3 +54,14 @@ socket->connectToHostEncrypted("imap", 993);
if (socket->waitForEncrypted(1000))
qDebug("Encrypted!");
//! [5]
+
+//! [6]
+QList<QSslCertificate> cert = QSslCertificate::fromPath(QLatin1String("server-certificate.pem"));
+QSslError error(QSslError::SelfSignedCertificate, cert.at(0));
+QList<QSslError> expectedSslErrors;
+expectedSslErrors.append(error);
+
+QSslSocket socket;
+socket.ignoreSslErrors(expectedSslErrors);
+socket.connectToHostEncrypted("server.tld", 443);
+//! [6]
diff --git a/doc/src/snippets/qxmlschema/main.cpp b/doc/src/snippets/qxmlschema/main.cpp
new file mode 100644
index 0000000..3375a6c
--- /dev/null
+++ b/doc/src/snippets/qxmlschema/main.cpp
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <QtXmlPatterns>
+
+class Schema
+{
+ public:
+ void loadFromUrl() const;
+ void loadFromFile() const;
+ void loadFromData() const;
+};
+
+void Schema::loadFromUrl() const
+{
+//! [0]
+ QUrl url("http://www.schema-example.org/myschema.xsd");
+
+ QXmlSchema schema;
+ if (schema.load(url) == true)
+ qDebug() << "schema is valid";
+ else
+ qDebug() << "schema is invalid";
+//! [0]
+}
+
+void Schema::loadFromFile() const
+{
+//! [1]
+ QFile file("myschema.xsd");
+ file.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ schema.load(&file, QUrl::fromLocalFile(file.fileName()));
+
+ if (schema.isValid())
+ qDebug() << "schema is valid";
+ else
+ qDebug() << "schema is invalid";
+//! [1]
+}
+
+void Schema::loadFromData() const
+{
+//! [2]
+ QByteArray data( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>" );
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ schema.load(&buffer);
+
+ if (schema.isValid())
+ qDebug() << "schema is valid";
+ else
+ qDebug() << "schema is invalid";
+//! [2]
+}
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+
+ Schema schema;
+
+ schema.loadFromUrl();
+ schema.loadFromFile();
+ schema.loadFromData();
+
+ return 0;
+}
diff --git a/doc/src/snippets/qxmlschema/qxmlschema.pro b/doc/src/snippets/qxmlschema/qxmlschema.pro
new file mode 100644
index 0000000..7e8782a
--- /dev/null
+++ b/doc/src/snippets/qxmlschema/qxmlschema.pro
@@ -0,0 +1,3 @@
+SOURCES += main.cpp
+
+QT += xmlpatterns
diff --git a/doc/src/snippets/qxmlschemavalidator/main.cpp b/doc/src/snippets/qxmlschemavalidator/main.cpp
new file mode 100644
index 0000000..108016c
--- /dev/null
+++ b/doc/src/snippets/qxmlschemavalidator/main.cpp
@@ -0,0 +1,160 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <QtXmlPatterns>
+
+class SchemaValidator
+{
+ public:
+ void validateFromUrl() const;
+ void validateFromFile() const;
+ void validateFromData() const;
+ void validateComplete() const;
+
+ private:
+ QXmlSchema getSchema() const;
+};
+
+void SchemaValidator::validateFromUrl() const
+{
+//! [0]
+ const QXmlSchema schema = getSchema();
+
+ const QUrl url("http://www.schema-example.org/test.xml");
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(url))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+//! [0]
+}
+
+void SchemaValidator::validateFromFile() const
+{
+//! [1]
+ const QXmlSchema schema = getSchema();
+
+ QFile file("test.xml");
+ file.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(&file, QUrl::fromLocalFile(file.fileName())))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+//! [1]
+}
+
+void SchemaValidator::validateFromData() const
+{
+//! [2]
+ const QXmlSchema schema = getSchema();
+
+ QByteArray data("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<test></test>");
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(&buffer))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+//! [2]
+}
+
+QXmlSchema SchemaValidator::getSchema() const
+{
+ QByteArray data("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<xsd:schema"
+ " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
+ " xmlns=\"http://www.qtsoftware.com/xmlschematest\""
+ " targetNamespace=\"http://www.qtsoftware.com/xmlschematest\""
+ " version=\"1.0\""
+ " elementFormDefault=\"qualified\">"
+ "</xsd:schema>");
+
+ QBuffer buffer(&data);
+ buffer.open(QIODevice::ReadOnly);
+
+ QXmlSchema schema;
+ schema.load(&buffer);
+
+ return schema;
+}
+
+void SchemaValidator::validateComplete() const
+{
+//! [3]
+ QUrl schemaUrl("file:///home/user/schema.xsd");
+
+ QXmlSchema schema;
+ schema.load(schemaUrl);
+
+ if (schema.isValid()) {
+ QFile file("test.xml");
+ file.open(QIODevice::ReadOnly);
+
+ QXmlSchemaValidator validator(schema);
+ if (validator.validate(&file, QUrl::fromLocalFile(file.fileName())))
+ qDebug() << "instance document is valid";
+ else
+ qDebug() << "instance document is invalid";
+ }
+//! [3]
+}
+
+int main(int argc, char **argv)
+{
+ QCoreApplication app(argc, argv);
+
+ SchemaValidator validator;
+
+ validator.validateFromUrl();
+ validator.validateFromFile();
+ validator.validateFromData();
+ validator.validateComplete();
+
+ return 0;
+}
diff --git a/doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro b/doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro
new file mode 100644
index 0000000..7e8782a
--- /dev/null
+++ b/doc/src/snippets/qxmlschemavalidator/qxmlschemavalidator.pro
@@ -0,0 +1,3 @@
+SOURCES += main.cpp
+
+QT += xmlpatterns
diff --git a/doc/src/snippets/snippets.pro b/doc/src/snippets/snippets.pro
index 50e33b3..e3e7eca 100644
--- a/doc/src/snippets/snippets.pro
+++ b/doc/src/snippets/snippets.pro
@@ -73,6 +73,8 @@ SUBDIRS = brush \
quiloader \
qx11embedcontainer \
qx11embedwidget \
+ qxmlschema \
+ qxmlschemavalidator \
reading-selections \
scribe-overview \
separations \
diff --git a/doc/src/snippets/statemachine/eventtest.cpp b/doc/src/snippets/statemachine/eventtest.cpp
new file mode 100644
index 0000000..e0f359a
--- /dev/null
+++ b/doc/src/snippets/statemachine/eventtest.cpp
@@ -0,0 +1,34 @@
+
+#include <QtGui>
+
+class MyTransition : public QAbstractTransition
+{
+ Q_OBJECT
+public:
+ MyTransition() {}
+
+protected:
+//![0]
+ bool eventTest(QEvent *event)
+ {
+ if (event->type() == QEvent::Wrapped) {
+ QEvent *wrappedEvent = static_cast<QWrappedEvent *>(event)->event();
+ if (wrappedEvent->type() == QEvent::KeyPress) {
+ QKeyEvent *keyEvent = static_cast<QKeyEvent *>(wrappedEvent);
+ // Do your event test
+ }
+ }
+ return false;
+ }
+//![0]
+
+ void onTransition(QEvent *event)
+ {
+
+ }
+};
+
+int main(int argv, char **args)
+{
+ return 0;
+}
diff --git a/doc/src/snippets/stringlistmodel/model.cpp b/doc/src/snippets/stringlistmodel/model.cpp
index 76329dd..49e0fc7 100644
--- a/doc/src/snippets/stringlistmodel/model.cpp
+++ b/doc/src/snippets/stringlistmodel/model.cpp
@@ -59,6 +59,11 @@ int StringListModel::rowCount(const QModelIndex &parent) const
}
//! [0]
+
+#ifdef 0
+// This represents a read-only version of data(), an early stage in the
+// development of the example leading to an editable StringListModel.
+
/*!
Returns an appropriate value for the requested data.
If the view requests an invalid index, an invalid variant is returned.
@@ -66,7 +71,7 @@ int StringListModel::rowCount(const QModelIndex &parent) const
string to be returned.
*/
-//! [1]
+//! [1-data-read-only]
QVariant StringListModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
@@ -80,6 +85,31 @@ QVariant StringListModel::data(const QModelIndex &index, int role) const
else
return QVariant();
}
+//! [1-data-read-only]
+#endif
+
+
+/*!
+ Returns an appropriate value for the requested data.
+ If the view requests an invalid index, an invalid variant is returned.
+ Any valid index that corresponds to a string in the list causes that
+ string to be returned.
+*/
+
+//! [1]
+QVariant StringListModel::data(const QModelIndex &index, int role) const
+{
+ if (!index.isValid())
+ return QVariant();
+
+ if (index.row() >= stringList.size())
+ return QVariant();
+
+ if (role == Qt::DisplayRole || role == Qt::EditRole)
+ return stringList.at(index.row());
+ else
+ return QVariant();
+}
//! [1]
/*!
diff --git a/doc/src/styles.qdoc b/doc/src/styles.qdoc
index b818c4a..752fef0 100644
--- a/doc/src/styles.qdoc
+++ b/doc/src/styles.qdoc
@@ -246,7 +246,7 @@
defined by the \l{QStyle::}{State} enum. Some of the state flags have
different meanings depending on the widget, but others are common
for all widgets like State_Disabled. It is QStyleOption that sets
- the common states with QStyleOption::init(); the rest of the
+ the common states with QStyleOption::initFrom(); the rest of the
states are set by the individual widgets.
Most notably, the style options contain the palette and bounding
@@ -502,7 +502,7 @@
\snippet doc/src/snippets/code/doc_src_styles.qdoc 0
First we let QStyleOption set up the option with the information
- that is common for all widgets with \c init(). We will look at
+ that is common for all widgets with \c initFrom(). We will look at
this shortly.
The down boolean is true when the user press the box down; this is
@@ -514,7 +514,7 @@
set - you set this in QStyle::polish(). In addition, the style
option also contains the text, icon, and icon size of the button.
- \l{QStyleOption::}{init()} sets up the style option with the
+ \l{QStyleOption::}{initFrom()} sets up the style option with the
attributes that are common for all widgets. We print its
implementation here:
@@ -726,9 +726,9 @@
\section2 Common Widget Properties
Some states and variables are common for all widgets. These are
- set with QStyleOption::init(). Not all elements use this function;
+ set with QStyleOption::initFrom(). Not all elements use this function;
it is the widgets that create the style options, and for some
- elements the information from \l{QStyleOption::}{init()} is not
+ elements the information from \l{QStyleOption::}{initFrom()} is not
necessary.
A table with the common states follows:
@@ -1451,7 +1451,7 @@
\o Set if it is a horizontal splitter
\endtable
- QSplitter does not use \l{QStyleOption::}{init()} to set up its
+ QSplitter does not use \l{QStyleOption::}{initFrom()} to set up its
option; it sets the State_MouseOver and State_Disabled flags
itself.
@@ -1625,7 +1625,7 @@
QToolBarSaparator uses QStyleOption for their style option. It
sets the State_horizontal flag if the toolbar they live in is
- horizontal. Other than that, they use \l{QStyleOption::}{init()}.
+ horizontal. Other than that, they use \l{QStyleOption::}{initFrom()}.
The style option for QToolBar is QStyleOptionToolBar. The only
state flag set (besides the common flags) is State_Horizontal
@@ -1757,7 +1757,7 @@
The setup of the style option for CE_MenuTearOff and
CE_MenuScroller also uses QStyleOptionMenuItem; they only set the
\c menuRect variable in addition to the common settings with
- QStyleOption's \l{QStyleOption::}{init()}.
+ QStyleOption's \l{QStyleOption::}{initFrom()}.
\section3 Menu Bar
diff --git a/doc/src/supported-platforms.qdoc b/doc/src/supported-platforms.qdoc
new file mode 100644
index 0000000..3f35e14
--- /dev/null
+++ b/doc/src/supported-platforms.qdoc
@@ -0,0 +1,141 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page supported-platforms.html
+ \title Supported Platforms
+ \brief The platforms supported by Nokia for Qt.
+ \ingroup platform-notes
+
+ Qt Software strives to provide support for the platforms most
+ frequently used by Qt users. We have designed our internal testing procedure to
+ divide platforms into three test categories (Tier 1, Tier 2 and Tier 3) in order
+ to prioritize internal testing and development resources so that the most
+ frequently used platforms are subjected to our most rigorous testing processes.
+
+ Qt is supported on a variety of 32-bit and 64-bit platforms, and can
+ usually be built on each platform with GCC, a vendor-supplied compiler, or
+ a third party compiler. Although Qt may be built on a range of platform-compiler
+ combinations, only a subset of these are actively supported by Nokia.
+
+ \tableofcontents
+
+ Information about the specific platforms Qt runs on can be found on the
+ \l{Platform Notes} page. Information about the compilers used on each platform
+ can be found on the \l{Compiler Notes} page.
+
+ \section1 Tier 1 Platforms
+
+ All Tier 1 platforms are subjected to our unit test suite and other internal
+ testing tools on a frequent basis (prior to new version releases, source tree
+ branching, and at other significant period points in the development process).
+ Errors or bugs discovered in these platforms are prioritized for correction
+ by the development team. Significant errors discovered in Tier 1 platforms can
+ impact release dates and Qt Development Frameworks strives to resolve all known
+ high priority errors in Tier 1 platforms prior to new version releases.
+
+ \table
+ \header \o Platform
+ \o Compilers
+ \row \o Linux (32 and 64-bit)
+ \o gcc 4.2
+ \row \o Microsoft Windows XP
+ \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit)
+ \row \o Microsoft Windows Vista
+ \o MSVC 2005, 2008
+ \row \o Microsoft Windows Vista 64bit
+ \o MSVC 2008
+ \row \o Apple Mac OS X 10.5 "Leopard" x86_64 (Carbon, Cocoa 32 and 64bit)
+ \o As provided by Apple
+ \row \o Embedded Linux QWS (ARM)
+ \o gcc (\l{http:\\www.codesourcery.com}{Codesourcery version)}
+ \row \o Windows CE 5.0 (ARMv4i, x86, MIPS)
+ \o MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart, mipsii)
+ \endtable
+
+ \section1 Tier 2 Platforms
+
+ Tier 2 platforms are subjected to our unit test suite and other internal testing
+ tools prior to release of new product versions. Qt users should note, however,
+ that errors may be present in released product versions for Tier 2 platforms and,
+ subject to resource availability, known errors in Tier 2 platforms may or may not
+ be corrected prior to new version releases.
+
+ \table
+ \header \o Platform
+ \o Compilers
+ \row \o Apple Mac OS X 10.4 "Tiger"
+ \o As provided by Apple
+ \row \o HPUXi 11.11
+ \o aCC 3.57, gcc 3.4
+ \row \o HPUXi 11.23
+ \o aCC 6.10
+ \row \o Solaris 10 UltraSparc
+ \o Sun Studio 12
+ \row \o AIX 6
+ \o Power5 xlC 7
+ \row \o Microsoft Windows XP
+ \o Intel Compiler
+ \row \o Linux
+ \o Intel Compiler
+ \row \o Embedded Linux QWS (Mips, PowerPC)
+ \o gcc (\l{http:\\www.codesourcery.com}{Codesourcery version)}
+ \row \o Windows CE 6.0 (ARMv4i, x86, MIPS)
+ \o MSVC 2008 WinCE 6.0 Professional
+ \endtable
+
+ \section1 Tier 3 Platforms (Not supported by Nokia)
+
+ All platforms not specifically listed above are not supported by Nokia. Nokia does
+ not run its unit test suite or perform any other internal tests on platforms not
+ listed above. Qt users should note, however, that there may be various open source
+ projects, community users and/or Qt partners who are able to provide assistance with
+ platforms not supported by Nokia.
+
+ \section1 General Legal Disclaimer
+
+ Please note that Qt Software’s products are offered on an "as is" basis without warranty
+ of any kind and that our products are not error or bug free. To the maximum extent
+ permitted by applicable law, Nokia on behalf of itself and its suppliers, disclaims all
+ warranties and conditions, either express or implied, including, but not limited to,
+ implied warranties of merchantability, fitness for a particular purpose, title and
+ non-infringement with regard to the Licensed Software.
+*/
diff --git a/doc/src/symbian-exceptionsafety.qdoc b/doc/src/symbian-exceptionsafety.qdoc
index df18031..4818953 100644
--- a/doc/src/symbian-exceptionsafety.qdoc
+++ b/doc/src/symbian-exceptionsafety.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/doc/src/tech-preview/images/mainwindow-docks-example.png b/doc/src/tech-preview/images/mainwindow-docks-example.png
deleted file mode 100644
index a5641fd..0000000
--- a/doc/src/tech-preview/images/mainwindow-docks-example.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/tech-preview/images/mainwindow-docks.png b/doc/src/tech-preview/images/mainwindow-docks.png
deleted file mode 100644
index 96dafc3..0000000
--- a/doc/src/tech-preview/images/mainwindow-docks.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/tech-preview/images/plaintext-layout.png b/doc/src/tech-preview/images/plaintext-layout.png
deleted file mode 100644
index 9a0f9c1..0000000
--- a/doc/src/tech-preview/images/plaintext-layout.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/tech-preview/known-issues.html b/doc/src/tech-preview/known-issues.html
deleted file mode 100644
index 885104e..0000000
--- a/doc/src/tech-preview/known-issues.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<html>
-<head>
-<title>Known issues</title>
-<link rel="stylesheet" href="http://qtsoftware.com/trollstyle.css">
-<style type="text/css">
- H2 { position: relative; top: 10px; }
- H4 { margin-left: 15px; }
- .issue { margin-left: 15px; }
- .workaround { margin-left: 30px; margin-right: 30px; padding: 2px; border-style: solid; border-color: #AACA00; border-width: 1px; }
-</style>
-</head>
-<body bgcolor="#ffffff">
-<table border="0" cellpadding="0" cellspacing="0" width="100%">
- <tr bgcolor="#E5E5E5">
- <td><img src="http://doc.trolltech.com/doctitle.png" width="443" height="32" border="0"></td>
- <td align="right" valign="middle"></td></tr></table>
-<h1>Known Issues: Qt 4.0.0 Technology Preview 1</h1>
-<p>
- This is the list of known and reported issues for the Qt 4.0.0
- Technology Preview 1. This list is updated daily.
-</p>
-<br><br>
-<table width="100%">
- <tr><td align="left"><b><a href="#buildissues">Build Issues</a></b></td></tr>
- <tr><td align="left"><b><a href="#general">General</a></b></td></tr>
- <tr><td align="left"><b><a href="#demos">Demos</a></b></td></tr>
- <tr><td align="left"><b><a href="#window">Windows specific</a></b></td></tr>
- <tr><td align="left"><b><a href="#x11">X11 specific</a></b></td></tr>
- <tr><td align="left"><b><a href="#mac">Mac specific</a></b></td></tr>
-</table>
-<br><br>
-<!-- Build section ------------------------------------------------- -->
-<a name="buildissues"></a>
-<h2>Build Issues</h2>
- <h4>Static libraries on Mac OS X</h4>
- <p class="issue">Building a static build on mac will fail the first time.</p>
- <p class="workaround">Run qmake a second time.</p>
-
- <h4>QTDIR</h4>
- <p class="issue">Some applications(e.g. uic3) need QTDIR set and QTDIR/bin in the path to work.</p>
- <p class="workaround">Set QTDIR and PATH as described in INSTALL.</p>
-
- <h4>ODBC driver on Windows</h4>
- <p class="issue">Problems compiling the ODBC driver.</p>
- <p class="workaround">Change the include from qapplication.h to qcoreapplication.h</p>
-
- <h4>QtGui does not link because of accessibility errors</h4>
- <p class="issue">undefined reference to QAccessible::setRootObject(QObject*)</p>
- <p class="workaround">Rerun configure and rebuild, if that does not help, add the contents of $QTDIR/.qt.config to $QTDIR/.qmake.cache</p>
-
-
-<!-- General section ---------------------------------------------- -->
-<a name="general"></a>
-<h2>General</h2>
-
- <h4>No connection to Oracle</h4>
- <p class="issue">I cannot connect to my Oracle server</p>
- <p class="workaround">Use the Oracle &gt;= 9 client libraries, currently there is no workaround for OCI 8</p>
-
- <h4>QSqlModel</h4>
- <p class="issue">Only the first 16 rows from a database result are displayed</p>
- <p class="workaround">You are using a database driver which does not report back the size of a result set and incremental fetching is not yet implemented in the itemviews. You can either use another database like MySQL or increase the QSQL_PREFETCH in qsqlmodel.cpp</p>
-
-
-<!-- Demos section ------------------------------------------------- -->
-<a name="demos"></a>
-<h2>Demos</h2>
-
- <h4>-</h4>
-
-
-<!-- Windows platform section -------------------------------------- -->
-<a name="window"></a>
-<h2>Windows specific</h2>
-
- <h4>Qt Assistant</h4>
- <p class="issue">Problems with zooming and laying out text. Sometimes the text overlaps.</p>
-
- <h4>GDI handle leak</h4>
- <p class="issue">Setting fonts through QPainter::setFont() leaks GDI
- handles on windows. This is for instance visible in the OpenGL
- part of the Arthur demo. The issue will be fixed before the next
- preview.</p>
-
-<!-- X11 platform section ------------------------------------------ -->
-<a name="x11"></a>
-<h2>X11 specific</h2>
-
- <h4>-</h4>
-
-
-<!-- Mac platform section ------------------------------------------ -->
-<a name="mac"></a>
-<h2>Mac specific</h2>
-
- <h4>QComboBox</h4>
- <p class="issue">Does not have the native Mac look and feel yet. It is rendered in a Windows-like style.</p>
-
- <h4>Clicking on widgets</h4>
- <p class="issue"><i>Jaguar 10.2 only:</i> Clicking on widgets that has a focusrect may fail.</p>
- <p class="workaround">Use 10.3 for now.</p>
-
-
-<!-- [Page footer] ------------------------------------------------- -->
-<table width="100%">
- <tr><td><hr size="1" noshade></td></tr>
- <tr><td align="center" valign="bottom"><a href="http://qtsoftware.com">qtsoftware.com</a></td></tr>
-</table>
-</body>
-</html>
diff --git a/doc/src/templates.qdoc b/doc/src/templates.qdoc
index 5a8acf7..8cfb851 100644
--- a/doc/src/templates.qdoc
+++ b/doc/src/templates.qdoc
@@ -162,7 +162,7 @@
without having to know the exact types of the objects we are connecting.
This is impossible with a template based solution. This kind of runtime
introspection opens up new possibilities, for example GUIs that are
- generated and connected from Qt Designer's XML \c{ui} files.
+ generated and connected from Qt Designer's XML UI files.
\section1 Calling Performance is Not Everything
diff --git a/doc/src/threads.qdoc b/doc/src/threads.qdoc
index c9d0904..067de5f 100644
--- a/doc/src/threads.qdoc
+++ b/doc/src/threads.qdoc
@@ -262,48 +262,41 @@
\keyword thread-safe
\section1 Reentrancy and Thread-Safety
- Throughout the Qt documentation, the terms \e reentrant and \e
- thread-safe are used to specify how a function can be used in
- multithreaded applications:
+ Throughout the documentation, the terms \e{reentrant} and
+ \e{thread-safe} are used to mark classes and functions to indicate
+ how they can be used in multithread applications:
\list
- \o A \e reentrant function can be called simultaneously by
- multiple threads provided that each invocation of the function
- references unique data.
- \o A \e thread-safe function can be called simultaneously by
- multiple threads when each invocation references shared data.
- All access to the shared data is serialized.
+ \o A \e thread-safe function can be called simultaneously from
+ multiple threads, even when the invocations use shared data,
+ because all references to the shared data are serialized.
+ \o A \e reentrant function can also be called simultaneously from
+ multiple threads, but only if each invocation uses its own data.
\endlist
- By extension, a class is said to be reentrant if each and every
- one of its functions can be called simultaneously by multiple
- threads on different instances of the class. Similarly, the class
- is said to be thread-safe if the functions can be called by
- different threads on the same instance.
+ Hence, a \e{thread-safe} function is always \e{reentrant}, but a
+ \e{reentrant} function is not always \e{thread-safe}.
- Classes in the documentation will be documented as thread-safe only
- if they are intended to be used by multiple threads.
+ By extension, a class is said to be \e{reentrant} if its member
+ functions can be called safely from multiple threads, as long as
+ each thread uses a \e{different} instance of the class. The class
+ is \e{thread-safe} if its member functions can be called safely
+ from multiple threads, even if all the threads use the \e{same}
+ instance of the class.
- Note that the terminology in this domain isn't entirely
- standardized. POSIX uses a somewhat different definition of
- reentrancy and thread-safety for its C APIs. When dealing with an
- object-oriented C++ class library such as Qt, the definitions
- must be adapted.
-
- Most C++ classes are inherently reentrant, since they typically
- only reference member data. Any thread can call such a member
- function on an instance of the class, as long as no other thread
- is calling a member function on the same instance. For example,
- the \c Counter class below is reentrant:
+ C++ classes are often reentrant, simply because they only access
+ their own member data. Any thread can call a member function on an
+ instance of a reentrant class, as long as no other thread can call
+ a member function on the \e{same} instance of the class at the
+ same time. For example, the \c Counter class below is reentrant:
\snippet doc/src/snippets/threads/threads.cpp 3
\snippet doc/src/snippets/threads/threads.cpp 4
The class isn't thread-safe, because if multiple threads try to
modify the data member \c n, the result is undefined. This is
- because C++'s \c ++ and \c -- operators aren't necessarily
- atomic. Indeed, they usually expand to three machine
- instructions:
+ because the \c ++ and \c -- operators aren't always atomic.
+ Indeed, they usually expand to three machine instructions:
\list 1
\o Load the variable's value in a register.
@@ -332,14 +325,27 @@
declared with the \c mutable qualifier because we need to lock
and unlock the mutex in \c value(), which is a const function.
- Most Qt classes are reentrant and not thread-safe, to avoid the
- overhead of repeatedly locking and unlocking a QMutex. For
- example, QString is reentrant, meaning that you can use it in
- different threads, but you can't access the same QString object
- from different threads simultaneously (unless you protect it with
- a mutex yourself). A few classes and functions are thread-safe;
- these are mainly thread-related classes such as QMutex, or
- fundamental functions such as QCoreApplication::postEvent().
+ Many Qt classes are \e{reentrant}, but they are not made
+ \e{thread-safe}, because making them thread-safe would incur the
+ extra overhead of repeatedly locking and unlocking a QMutex. For
+ example, QString is reentrant but not thread-safe. You can safely
+ access \e{different} instances of QString from multiple threads
+ simultaneously, but you can't safely access the \e{same} instance
+ of QString from multiple threads simultaneously (unless you
+ protect the accesses yourself with a QMutex).
+
+ Some Qt classes and functions are thread-safe. These are mainly
+ the thread-related classes (e.g. QMutex) and fundamental functions
+ (e.g. QCoreApplication::postEvent()).
+
+ \note Qt Classes are only documented as \e{thread-safe} if they
+ are intended to be used by multiple threads.
+
+ \note Terminology in the multithreading domain isn't entirely
+ standardized. POSIX uses definitions of reentrant and thread-safe
+ that are somewhat different for its C APIs. When using other
+ object-oriented C++ class libraries with Qt, be sure the
+ definitions are understood.
\section1 Threads and QObjects
@@ -356,13 +362,12 @@
\section2 QObject Reentrancy
QObject is reentrant. Most of its non-GUI subclasses, such as
- QTimer, QTcpSocket, QUdpSocket, QHttp, QFtp, and QProcess, are
- also reentrant, making it possible to use these classes from
- multiple threads simultaneously. Note that these classes are
- designed to be created and used from within a single thread;
- creating an object in one thread and calling its functions from
- another thread is not guaranteed to work. There are three
- constraints to be aware of:
+ QTimer, QTcpSocket, QUdpSocket, QFtp, and QProcess, are also
+ reentrant, making it possible to use these classes from multiple
+ threads simultaneously. Note that these classes are designed to be
+ created and used from within a single thread; creating an object
+ in one thread and calling its functions from another thread is not
+ guaranteed to work. There are three constraints to be aware of:
\list
\o \e{The child of a QObject must always be created in the thread
@@ -428,20 +433,22 @@
an object and its children (the object cannot be moved if it has a
parent).
- Calling \c delete on a QObject from another thread than the
- thread where it is created (or accessing the object in other
- ways) is unsafe unless you can guarantee that the object isn't
- processing events at the same moment. Use QObject::deleteLater()
- instead; it will post a
- \l{QEvent::DeferredDelete}{DeferredDelete} event, which the
- event loop of the object's thread will eventually pick up.
+ Calling \c delete on a QObject from a thread other than the one
+ that \e owns the object (or accessing the object in other ways) is
+ unsafe, unless you guarantee that the object isn't processing
+ events at that moment. Use QObject::deleteLater() instead, and a
+ \l{QEvent::DeferredDelete}{DeferredDelete} event will be posted,
+ which the event loop of the object's thread will eventually pick
+ up. By default, the thread that \e owns a QObject is the thread
+ that \e creates the QObject, but not after QObject::moveToThread()
+ has been called.
If no event loop is running, events won't be delivered to the
- object. For example, if you create a QTimer object in a thread
- but never call \l{QThread::exec()}{exec()}, the QTimer will never emit its
- \l{QTimer::timeout()}{timeout()} signal. Calling
- \l{QObject::deleteLater()}{deleteLater()} won't work either. (These
- restrictions apply to the main thread as well.)
+ object. For example, if you create a QTimer object in a thread but
+ never call \l{QThread::exec()}{exec()}, the QTimer will never emit
+ its \l{QTimer::timeout()}{timeout()} signal. Calling
+ \l{QObject::deleteLater()}{deleteLater()} won't work
+ either. (These restrictions apply to the main thread as well.)
You can manually post events to any object in any thread at any
time using the thread-safe function
diff --git a/doc/src/topics.qdoc b/doc/src/topics.qdoc
index f6deaa5..0fe5c5f 100644
--- a/doc/src/topics.qdoc
+++ b/doc/src/topics.qdoc
@@ -150,18 +150,6 @@ These guides provide specific help about specific Qt-related topics.
*/
/*!
-\group licensing
-\title Licensing Information
-\ingroup topics
-\brief Information about licenses and licensing issues.
-
-These documents include information about Qt's licenses and the licenses
-of third party components used in Qt.
-
-\generatelist{related}
-*/
-
-/*!
\group platform-notes
\title Platform-Specific Notes
\ingroup topics
diff --git a/doc/src/trolltech-webpages.qdoc b/doc/src/trolltech-webpages.qdoc
index 7d48167..abbe4e0 100644
--- a/doc/src/trolltech-webpages.qdoc
+++ b/doc/src/trolltech-webpages.qdoc
@@ -165,11 +165,6 @@
*/
/*!
- \externalpage http://www.qtsoftware.com/developer/supported-platforms/supported-platforms/
- \title Qt 4 Supported Platforms
-*/
-
-/*!
\externalpage http://www.qtsoftware.com/products/qtopia/
\title Qt Extended
*/
@@ -243,3 +238,8 @@
\externalpage http://www.qtsoftware.com/developer/faqs/qt/installation
\title Installation FAQ
*/
+
+/*!
+ \externalpage http://qt.gitorious.org
+ \title Public Qt Repository
+*/
diff --git a/doc/src/tutorials/addressbook-fr.qdoc b/doc/src/tutorials/addressbook-fr.qdoc
index 78f6821..739f047 100644
--- a/doc/src/tutorials/addressbook-fr.qdoc
+++ b/doc/src/tutorials/addressbook-fr.qdoc
@@ -220,7 +220,7 @@
On remarque que le label \c AddressLabel est positionné en utilisant Qt::AlignTop
comme argument optionnel. Ceci est destiné à assurer qu'il ne sera pas centré
verticalement dans la cellule (1,0). Pour un aperçu rapide des layouts de Qt,
- consultez la section \l{Layout Classes}.
+ consultez la section \l{Layout Management}.
Afin d'installer l'objet layout dans un widget, il faut appeler la méthode
\l{QWidget::setLayout()}{setLayout()} du widget en question:
diff --git a/doc/src/tutorials/addressbook.qdoc b/doc/src/tutorials/addressbook.qdoc
index 2f6cec2..fd08bfe 100644
--- a/doc/src/tutorials/addressbook.qdoc
+++ b/doc/src/tutorials/addressbook.qdoc
@@ -222,8 +222,8 @@
Notice that \c addressLabel is positioned using Qt::AlignTop as an
additional argument. This is to make sure it is not vertically centered in
- cell (1,0). For a basic overview on Qt Layouts, refer to the \l{Layout Classes}
- document.
+ cell (1,0). For a basic overview on Qt Layouts, refer to the
+ \l{Layout Management} documentation.
In order to install the layout object onto the widget, we have to invoke
the widget's \l{QWidget::setLayout()}{setLayout()} function:
@@ -697,10 +697,11 @@
\snippet tutorials/addressbook/part5/finddialog.h FindDialog header
- We define a public function, \c getFindText() for use by classes that
- instantiate \c FindDialog, which allows them to obtain the text
- entered by the user. A public slot, \c findClicked(), is defined to
- handle the search string when the user clicks the \gui Find button.
+ We define a public function, \c getFindText(), to be used by classes that
+ instantiate \c FindDialog. This function allows these classes to obtain the
+ search string entered by the user. A public slot, \c findClicked(), is also
+ defined to handle the search string when the user clicks the \gui Find
+ button.
Lastly, we define the private variables, \c findButton, \c lineEdit
and \c findText, corresponding to the \gui Find button, the line edit
@@ -715,15 +716,15 @@
\snippet tutorials/addressbook/part5/finddialog.cpp constructor
- We set the layout and window title, as well as connect the signals
- to their respective slots. Notice that \c{findButton}'s
- \l{QPushButton::clicked()}{clicked()} signal is connected to to
- \c findClicked() and \l{QDialog::accept()}{accept()}. The
- \l{QDialog::accept()}{accept()} slot provided by QDialog hides
- the dialog and sets the result code to \l{QDialog::}{Accepted}.
- We use this function to help \c{AddressBook}'s \c findContact() function
- know when the \c FindDialog object has been closed. This will be
- further explained when discussing the \c findContact() function.
+ We set the layout and window title, as well as connect the signals to their
+ respective slots. Notice that \c{findButton}'s \l{QPushButton::clicked()}
+ {clicked()} signal is connected to to \c findClicked() and
+ \l{QDialog::accept()}{accept()}. The \l{QDialog::accept()}{accept()} slot
+ provided by QDialog hides the dialog and sets the result code to
+ \l{QDialog::}{Accepted}. We use this function to help \c{AddressBook}'s
+ \c findContact() function know when the \c FindDialog object has been
+ closed. We will explain this logic in further detail when discussing the
+ \c findContact() function.
\image addressbook-tutorial-part5-signals-and-slots.png
@@ -817,21 +818,23 @@
\image addressbook-tutorial-part6-screenshot.png
- Although browsing and searching for contacts are useful features, our address
- book is not really fully ready for use until we can saving existing contacts
- and load them again at a later time.
- Qt provides a number of classes for \l{Input/Output and Networking}{input and output},
- but we have chosen to use two which are simple to use in combination: QFile and
- QDataStream.
+ Although browsing and searching for contacts are useful features, our
+ address book is not ready for use until we can save existing contacts and
+ load them again at a later time.
- A QFile object represents a file on disk that can be read from and written to.
- QFile is a subclass of the more general QIODevice class which represents many
- different kinds of devices.
+ Qt provides a number of classes for \l{Input/Output and Networking}
+ {input and output}, but we have chosen to use two which are simple to use
+ in combination: QFile and QDataStream.
+
+ A QFile object represents a file on disk that can be read from and written
+ to. QFile is a subclass of the more general QIODevice class which
+ represents many different kinds of devices.
+
+ A QDataStream object is used to serialize binary data so that it can be
+ stored in a QIODevice and retrieved again later. Reading from a QIODevice
+ and writing to it is as simple as opening the stream - with the respective
+ device as a parameter - and reading from or writing to it.
- A QDataStream object is used to serialize binary data so that it can be stored
- in a QIODevice and retrieved again later. Reading from a QIODevice and writing
- to it is as simple as opening the stream - with the respective device as a
- parameter - and reading from or writing to it.
\section1 Defining the AddressBook Class
@@ -873,7 +876,7 @@
\image addressbook-tutorial-part6-save.png
- If \c fileName is not empty, we create a QFile object, \c file with
+ If \c fileName is not empty, we create a QFile object, \c file, with
\c fileName. QFile works with QDataStream as QFile is a QIODevice.
Next, we attempt to open the file in \l{QIODevice::}{WriteOnly} mode.
@@ -903,18 +906,18 @@
\image addressbook-tutorial-part6-load.png
If \c fileName is not empty, again, we use a QFile object, \c file, and
- attempt to open it in \l{QIODevice::}{ReadOnly} mode. In a similar way
- to our implementation of \c saveToFile(), if this attempt is unsuccessful,
- we display a QMessageBox to inform the user.
+ attempt to open it in \l{QIODevice::}{ReadOnly} mode. Similar to our
+ implementation of \c saveToFile(), if this attempt is unsuccessful, we
+ display a QMessageBox to inform the user.
\snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part2
Otherwise, we instantiate a QDataStream object, \c in, set its version as
above and read the serialized data into the \c contacts data structure.
- Note that we empty \c contacts before reading data into it to simplify the
- file reading process. A more advanced method would be to read the contacts
- into temporary QMap object, and copy only the contacts that do not already
- exist in \c contacts.
+ The \c contacts object is emptied before data is read into it to simplify
+ the file reading process. A more advanced method would be to read the
+ contacts into a temporary QMap object, and copy over non-duplicate contacts
+ into \c contacts.
\snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part3
diff --git a/examples/activeqt/dotnet/wrapper/lib/tools.cpp b/examples/activeqt/dotnet/wrapper/lib/tools.cpp
index 856b5c8..eac2d78 100644
--- a/examples/activeqt/dotnet/wrapper/lib/tools.cpp
+++ b/examples/activeqt/dotnet/wrapper/lib/tools.cpp
@@ -56,6 +56,6 @@ String *QStringToString(const QString &qstring)
QString StringToQString(String *string)
{
const wchar_t __pin *chars = PtrToStringChars(string);
- return QString::fromUtf16((const ushort *)chars);
+ return QString::fromWCharArray(chars);
}
//! [1]
diff --git a/examples/activeqt/webbrowser/main.cpp b/examples/activeqt/webbrowser/main.cpp
index ab14c0b..e83ef56 100644
--- a/examples/activeqt/webbrowser/main.cpp
+++ b/examples/activeqt/webbrowser/main.cpp
@@ -46,8 +46,8 @@
#include <QMainWindow>
#include <QAbstractEventDispatcher>
-#if defined(Q_OS_WINCE)
-#include "ui_wincemainwindow.h"
+#if defined(Q_WS_WINCE_WM)
+#include "ui_mainwindow_windowsmobile.h"
#include <windows.h>
#else
#include "ui_mainwindow.h"
diff --git a/examples/activeqt/webbrowser/wincemainwindow.ui b/examples/activeqt/webbrowser/mainwindow_windowsmobile.ui
index 98a9ddb..98a9ddb 100644
--- a/examples/activeqt/webbrowser/wincemainwindow.ui
+++ b/examples/activeqt/webbrowser/mainwindow_windowsmobile.ui
diff --git a/examples/activeqt/webbrowser/webbrowser.pro b/examples/activeqt/webbrowser/webbrowser.pro
index d6566cb6..c3e6e1e 100644
--- a/examples/activeqt/webbrowser/webbrowser.pro
+++ b/examples/activeqt/webbrowser/webbrowser.pro
@@ -7,7 +7,7 @@ QTDIR_build:REQUIRES = shared
HEADERS = webaxwidget.h
SOURCES = main.cpp
FORMS = mainwindow.ui
-wince*: FORMS = wincemainwindow.ui
+wincewm*: FORMS = mainwindow_windowsmobile.ui
# install
diff --git a/examples/animation/animatedtiles/main.cpp b/examples/animation/animatedtiles/main.cpp
index 9360d7c..c0d55f3 100644
--- a/examples/animation/animatedtiles/main.cpp
+++ b/examples/animation/animatedtiles/main.cpp
@@ -178,7 +178,7 @@ int main(int argc, char **argv)
QState *centeredState = new QState(rootState);
// Values
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
Pixmap *item = items.at(i);
// Ellipse
ellipseState->assignProperty(item, "pos",
@@ -219,7 +219,7 @@ int main(int argc, char **argv)
rootState->setInitialState(centeredState);
QParallelAnimationGroup *group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -229,7 +229,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -239,7 +239,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -249,7 +249,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
@@ -259,7 +259,7 @@ int main(int argc, char **argv)
trans->addAnimation(group);
group = new QParallelAnimationGroup;
- for (int i = 0; i < 64; ++i) {
+ for (int i = 0; i < items.count(); ++i) {
QPropertyAnimation *anim = new QPropertyAnimation(items[i], "pos");
anim->setDuration(750 + i * 25);
anim->setEasingCurve(QEasingCurve::InOutBack);
diff --git a/examples/animation/animation.pro b/examples/animation/animation.pro
index 9a2874b..c72c532 100644
--- a/examples/animation/animation.pro
+++ b/examples/animation/animation.pro
@@ -7,7 +7,6 @@ SUBDIRS += \
moveblocks \
states \
stickman \
- sub-attaq
# install
target.path = $$[QT_INSTALL_EXAMPLES]/animation
diff --git a/examples/animation/appchooser/main.cpp b/examples/animation/appchooser/main.cpp
index fe4be1f..97751b2 100644
--- a/examples/animation/appchooser/main.cpp
+++ b/examples/animation/appchooser/main.cpp
@@ -134,7 +134,7 @@ int main(int argc, char **argv)
QStateMachine machine;
machine.setGlobalRestorePolicy(QStateMachine::RestoreProperties);
- QState *group = new QState(machine.rootState());
+ QState *group = new QState(&machine);
group->setObjectName("group");
QRect selectedRect(86, 86, 128, 128);
diff --git a/examples/animation/moveblocks/main.cpp b/examples/animation/moveblocks/main.cpp
index c43e841..97d3f81 100644
--- a/examples/animation/moveblocks/main.cpp
+++ b/examples/animation/moveblocks/main.cpp
@@ -108,8 +108,7 @@ class StateSwitcher : public QState
Q_OBJECT
public:
StateSwitcher(QStateMachine *machine)
- : QState(machine->rootState()), m_machine(machine),
- m_stateCount(0), m_lastIndex(0)
+ : QState(machine), m_stateCount(0), m_lastIndex(0)
{ }
//![10]
@@ -120,7 +119,7 @@ public:
while ((n = (qrand() % m_stateCount + 1)) == m_lastIndex)
{ }
m_lastIndex = n;
- m_machine->postEvent(new StateSwitchEvent(n));
+ machine()->postEvent(new StateSwitchEvent(n));
}
virtual void onExit(QEvent *) {}
//![11]
@@ -135,7 +134,6 @@ public:
//![12]
private:
- QStateMachine *m_machine;
int m_stateCount;
int m_lastIndex;
};
diff --git a/examples/animation/states/main.cpp b/examples/animation/states/main.cpp
index b3c28f2..99e04c3 100644
--- a/examples/animation/states/main.cpp
+++ b/examples/animation/states/main.cpp
@@ -124,10 +124,9 @@ int main(int argc, char *argv[])
scene.addItem(p6);
QStateMachine machine;
- QState *root = machine.rootState();
- QState *state1 = new QState(root);
- QState *state2 = new QState(root);
- QState *state3 = new QState(root);
+ QState *state1 = new QState(&machine);
+ QState *state2 = new QState(&machine);
+ QState *state3 = new QState(&machine);
machine.setInitialState(state1);
// State 1
diff --git a/examples/animation/stickman/editor/animationdialog.cpp b/examples/animation/stickman/editor/animationdialog.cpp
deleted file mode 100644
index 853046d..0000000
--- a/examples/animation/stickman/editor/animationdialog.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "animationdialog.h"
-#include "stickman.h"
-#include "animation.h"
-#include "node.h"
-
-#include <QHBoxLayout>
-#include <QStackedWidget>
-#include <QSpinBox>
-#include <QPushButton>
-#include <QLabel>
-#include <QLineEdit>
-#include <QMessageBox>
-#include <QFileDialog>
-
-AnimationDialog::AnimationDialog(StickMan *stickman, QWidget *parent)
- : QDialog(parent), m_animation(0), m_stickman(stickman)
-{
- initUi();
-}
-
-AnimationDialog::~AnimationDialog()
-{
- delete m_animation;
-}
-
-void AnimationDialog::initUi()
-{
- setWindowTitle("Animation");
- setEnabled(false);
-
- // Second page
- m_currentFrame = new QSpinBox();
- m_totalFrames = new QSpinBox();
- m_name = new QLineEdit();
-
- connect(m_currentFrame, SIGNAL(valueChanged(int)), this, SLOT(currentFrameChanged(int)));
- connect(m_totalFrames, SIGNAL(valueChanged(int)), this, SLOT(totalFramesChanged(int)));
- connect(m_name, SIGNAL(textChanged(QString)), this, SLOT(setCurrentAnimationName(QString)));
-
- QGridLayout *gridLayout = new QGridLayout(this);
- gridLayout->addWidget(new QLabel("Name:"), 0, 0, 1, 2);
- gridLayout->addWidget(m_name, 0, 2, 1, 2);
- gridLayout->addWidget(new QLabel("Frame:"), 1, 0);
- gridLayout->addWidget(m_currentFrame, 1, 1);
- gridLayout->addWidget(new QLabel("of total # of frames: "), 1, 2);
- gridLayout->addWidget(m_totalFrames, 1, 3);
-}
-
-void AnimationDialog::initFromAnimation()
-{
- m_currentFrame->setRange(0, m_animation->totalFrames()-1);
- m_currentFrame->setValue(m_animation->currentFrame());
-
- m_totalFrames->setRange(1, 1000);
- m_totalFrames->setValue(m_animation->totalFrames());
-
- m_name->setText(m_animation->name());
-}
-
-void AnimationDialog::saveAnimation()
-{
- saveCurrentFrame();
-
- QString fileName = QFileDialog::getSaveFileName(this, "Save animation");
-
- QFile file(fileName);
- if (file.open(QIODevice::WriteOnly))
- m_animation->save(&file);
-}
-
-void AnimationDialog::loadAnimation()
-{
- if (maybeSave() != QMessageBox::Cancel) {
- QString fileName = QFileDialog::getOpenFileName(this, "Open animation");
-
- QFile file(fileName);
- if (file.open(QIODevice::ReadOnly)) {
- if (m_animation == 0)
- newAnimation();
-
- m_animation->load(&file);
- stickManFromCurrentFrame();
- initFromAnimation();
- }
- }
-}
-
-QMessageBox::StandardButton AnimationDialog::maybeSave()
-{
- if (m_animation == 0)
- return QMessageBox::No;
-
- QMessageBox::StandardButton button = QMessageBox::question(this, "Save?", "Do you want to save your changes?",
- QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
- if (button == QMessageBox::Save)
- saveAnimation();
-
- return button;
-}
-
-void AnimationDialog::newAnimation()
-{
- if (maybeSave() != QMessageBox::Cancel) {
- setEnabled(true);
- delete m_animation;
- m_animation = new Animation();
- initFromAnimation();
- }
-}
-
-// Gets the data from the stickman and stores it in current frame
-void AnimationDialog::saveCurrentFrame()
-{
- int count = m_stickman->nodeCount();
- m_animation->setNodeCount(count);
- for (int i=0; i<count; ++i) {
- QGraphicsItem *node = m_stickman->node(i);
- m_animation->setNodePos(i, node->pos());
- }
-}
-
-// Gets the data from the current frame and sets the stickman
-void AnimationDialog::stickManFromCurrentFrame()
-{
- int count = m_animation->nodeCount();
- for (int i=0;i<count;++i) {
- QGraphicsItem *node = m_stickman->node(i);
- node->setPos(m_animation->nodePos(i));
- }
-}
-
-void AnimationDialog::currentFrameChanged(int currentFrame)
-{
- saveCurrentFrame();
- qDebug("currentFrame: %d", currentFrame);
- m_animation->setCurrentFrame(currentFrame);
- stickManFromCurrentFrame();
- initFromAnimation();
-}
-
-void AnimationDialog::totalFramesChanged(int totalFrames)
-{
- m_animation->setTotalFrames(totalFrames);
- stickManFromCurrentFrame();
- initFromAnimation();
-}
-
-void AnimationDialog::setCurrentAnimationName(const QString &name)
-{
- m_animation->setName(name);
-}
diff --git a/examples/animation/stickman/editor/animationdialog.h b/examples/animation/stickman/editor/animationdialog.h
deleted file mode 100644
index 293f0d4..0000000
--- a/examples/animation/stickman/editor/animationdialog.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef ANIMATIONDIALOG_H
-#define ANIMATIONDIALOG_H
-
-#include <QDialog>
-#include <QMessageBox>
-
-QT_BEGIN_NAMESPACE
-class QSpinBox;
-class QLineEdit;
-QT_END_NAMESPACE
-class StickMan;
-class Animation;
-class AnimationDialog: public QDialog
-{
- Q_OBJECT
-public:
- AnimationDialog(StickMan *stickMan, QWidget *parent = 0);
- ~AnimationDialog();
-
-public slots:
- void currentFrameChanged(int currentFrame);
- void totalFramesChanged(int totalFrames);
- void setCurrentAnimationName(const QString &name);
-
- void newAnimation();
- void saveAnimation();
- void loadAnimation();
-
-private:
- void saveCurrentFrame();
- void stickManFromCurrentFrame();
- void initFromAnimation();
- void initUi();
- QMessageBox::StandardButton maybeSave();
-
- QSpinBox *m_currentFrame;
- QSpinBox *m_totalFrames;
- QLineEdit *m_name;
- Animation *m_animation;
- StickMan *m_stickman;
-};
-
-#endif
diff --git a/examples/animation/stickman/editor/editor.pri b/examples/animation/stickman/editor/editor.pri
deleted file mode 100644
index 7ad9edb..0000000
--- a/examples/animation/stickman/editor/editor.pri
+++ /dev/null
@@ -1,2 +0,0 @@
-SOURCES += $$PWD/animationdialog.cpp $$PWD/mainwindow.cpp
-HEADERS += $$PWD/animationdialog.h $$PWD/mainwindow.h
diff --git a/examples/animation/stickman/editor/mainwindow.cpp b/examples/animation/stickman/editor/mainwindow.cpp
deleted file mode 100644
index e1d08cc..0000000
--- a/examples/animation/stickman/editor/mainwindow.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mainwindow.h"
-#include "animationdialog.h"
-#include "stickman.h"
-
-#include <QMenuBar>
-#include <QApplication>
-
-MainWindow::MainWindow(StickMan *stickMan)
-{
- initActions(stickMan);
-}
-
-MainWindow::~MainWindow()
-{
-}
-
-void MainWindow::initActions(StickMan *stickMan)
-{
- AnimationDialog *dialog = new AnimationDialog(stickMan, this);
- dialog->show();
-
- QMenu *fileMenu = menuBar()->addMenu("&File");
- QAction *loadAction = fileMenu->addAction("&Open");
- QAction *saveAction = fileMenu->addAction("&Save");
- QAction *exitAction = fileMenu->addAction("E&xit");
-
- QMenu *animationMenu = menuBar()->addMenu("&Animation");
- QAction *newAnimationAction = animationMenu->addAction("&New animation");
-
- connect(loadAction, SIGNAL(triggered()), dialog, SLOT(loadAnimation()));
- connect(saveAction, SIGNAL(triggered()), dialog, SLOT(saveAnimation()));
- connect(exitAction, SIGNAL(triggered()), QApplication::instance(), SLOT(quit()));
- connect(newAnimationAction, SIGNAL(triggered()), dialog, SLOT(newAnimation()));
-
-}
diff --git a/examples/animation/stickman/editor/mainwindow.h b/examples/animation/stickman/editor/mainwindow.h
deleted file mode 100644
index ef122d9..0000000
--- a/examples/animation/stickman/editor/mainwindow.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-
-class StickMan;
-class MainWindow: public QMainWindow
-{
-public:
- MainWindow(StickMan *stickMan);
- ~MainWindow();
-
-private:
- void initActions(StickMan *stickMan);
-};
-
-#endif
diff --git a/examples/animation/stickman/graphicsview.cpp b/examples/animation/stickman/graphicsview.cpp
index 760c31b..89f2430 100644
--- a/examples/animation/stickman/graphicsview.cpp
+++ b/examples/animation/stickman/graphicsview.cpp
@@ -40,7 +40,6 @@
****************************************************************************/
#include "graphicsview.h"
-#include "editor/mainwindow.h"
#include "stickman.h"
#include <QtGui/QKeyEvent>
@@ -53,28 +52,6 @@ void GraphicsView::keyPressEvent(QKeyEvent *e)
{
if (e->key() == Qt::Key_Escape)
close();
-
-#if 0
- if (e->key() == Qt::Key_F1) {
- if (m_editor == 0) {
- QGraphicsScene *scene = new QGraphicsScene;
- StickMan *stickMan = new StickMan;
- stickMan->setDrawSticks(true);
- scene->addItem(stickMan);
-
- QGraphicsView *view = new QGraphicsView;
- view->setBackgroundBrush(Qt::black);
- view->setRenderHints(QPainter::Antialiasing);
- view->setScene(scene);
-
- m_editor = new MainWindow(stickMan);
- m_editor->setCentralWidget(view);
- }
-
- m_editor->showMaximized();
- }
-#endif
-
emit keyPressed(Qt::Key(e->key()));
}
diff --git a/examples/animation/stickman/lifecycle.cpp b/examples/animation/stickman/lifecycle.cpp
index 2a54c82..700916d 100644
--- a/examples/animation/stickman/lifecycle.cpp
+++ b/examples/animation/stickman/lifecycle.cpp
@@ -56,8 +56,9 @@ public:
{
}
KeyPressTransition(GraphicsView *receiver, Qt::Key key, QAbstractState *target)
- : QSignalTransition(receiver, SIGNAL(keyPressed(int)), QList<QAbstractState*>() << target), m_key(key)
+ : QSignalTransition(receiver, SIGNAL(keyPressed(int))), m_key(key)
{
+ setTargetState(target);
}
virtual bool eventTest(QEvent *e)
@@ -78,8 +79,9 @@ class LightningStrikesTransition: public QEventTransition
{
public:
LightningStrikesTransition(QAbstractState *target)
- : QEventTransition(this, QEvent::Timer, QList<QAbstractState*>() << target)
+ : QEventTransition(this, QEvent::Timer)
{
+ setTargetState(target);
qsrand((uint)QDateTime::currentDateTime().toTime_t());
startTimer(1000);
}
@@ -108,11 +110,11 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
m_machine->addDefaultAnimation(m_animationGroup);
//! [3]
- m_alive = new QState(m_machine->rootState());
+ m_alive = new QState(m_machine);
m_alive->setObjectName("alive");
// Make it blink when lightning strikes before entering dead animation
- QState *lightningBlink = new QState(m_machine->rootState());
+ QState *lightningBlink = new QState(m_machine);
lightningBlink->assignProperty(m_stickMan->scene(), "backgroundBrush", Qt::white);
lightningBlink->assignProperty(m_stickMan, "penColor", Qt::black);
lightningBlink->assignProperty(m_stickMan, "fillColor", Qt::white);
@@ -126,7 +128,7 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
QObject::connect(lightningBlink, SIGNAL(exited()), timer, SLOT(stop()));
//! [5]
- m_dead = new QState(m_machine->rootState());
+ m_dead = new QState(m_machine);
m_dead->assignProperty(m_stickMan->scene(), "backgroundBrush", Qt::black);
m_dead->assignProperty(m_stickMan, "penColor", Qt::white);
m_dead->assignProperty(m_stickMan, "fillColor", Qt::black);
diff --git a/examples/animation/stickman/stickman.pro b/examples/animation/stickman/stickman.pro
index 1dbbce9..7f8be33 100644
--- a/examples/animation/stickman/stickman.pro
+++ b/examples/animation/stickman/stickman.pro
@@ -12,8 +12,6 @@ SOURCES += main.cpp \
INCLUDEPATH += $$PWD
-include(editor/editor.pri)
-
# install
target.path = $$[QT_INSTALL_EXAMPLES]/animation/stickman
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS stickman.pro
diff --git a/examples/animation/sub-attaq/boat.cpp b/examples/animation/sub-attaq/boat.cpp
deleted file mode 100644
index d286be5..0000000
--- a/examples/animation/sub-attaq/boat.cpp
+++ /dev/null
@@ -1,318 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "boat.h"
-#include "boat_p.h"
-#include "bomb.h"
-#include "pixmapitem.h"
-#include "graphicsscene.h"
-#include "animationmanager.h"
-#include "custompropertyanimation.h"
-#include "qanimationstate.h"
-
-//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QHistoryState>
-#include <QtCore/QFinalState>
-#include <QtCore/QState>
-#include <QtCore/QSequentialAnimationGroup>
-
-static QAbstractAnimation *setupDestroyAnimation(Boat *boat)
-{
- QSequentialAnimationGroup *group = new QSequentialAnimationGroup(boat);
-#if QT_VERSION >=0x040500
- PixmapItem *step1 = new PixmapItem(QString("explosion/boat/step1"),GraphicsScene::Big, boat);
- step1->setZValue(6);
- PixmapItem *step2 = new PixmapItem(QString("explosion/boat/step2"),GraphicsScene::Big, boat);
- step2->setZValue(6);
- PixmapItem *step3 = new PixmapItem(QString("explosion/boat/step3"),GraphicsScene::Big, boat);
- step3->setZValue(6);
- PixmapItem *step4 = new PixmapItem(QString("explosion/boat/step4"),GraphicsScene::Big, boat);
- step4->setZValue(6);
- step1->setOpacity(0);
- step2->setOpacity(0);
- step3->setOpacity(0);
- step4->setOpacity(0);
- CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(boat);
- anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim1->setDuration(100);
- anim1->setEndValue(1);
- CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(boat);
- anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim2->setDuration(100);
- anim2->setEndValue(1);
- CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(boat);
- anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim3->setDuration(100);
- anim3->setEndValue(1);
- CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(boat);
- anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim4->setDuration(100);
- anim4->setEndValue(1);
- CustomPropertyAnimation *anim5 = new CustomPropertyAnimation(boat);
- anim5->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim5->setDuration(100);
- anim5->setEndValue(0);
- CustomPropertyAnimation *anim6 = new CustomPropertyAnimation(boat);
- anim6->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim6->setDuration(100);
- anim6->setEndValue(0);
- CustomPropertyAnimation *anim7 = new CustomPropertyAnimation(boat);
- anim7->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim7->setDuration(100);
- anim7->setEndValue(0);
- CustomPropertyAnimation *anim8 = new CustomPropertyAnimation(boat);
- anim8->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim8->setDuration(100);
- anim8->setEndValue(0);
- group->addAnimation(anim1);
- group->addAnimation(anim2);
- group->addAnimation(anim3);
- group->addAnimation(anim4);
- group->addAnimation(anim5);
- group->addAnimation(anim6);
- group->addAnimation(anim7);
- group->addAnimation(anim8);
-#else
- // work around for a bug where we don't transition if the duration is zero.
- QtPauseAnimation *anim = new QtPauseAnimation(group);
- anim->setDuration(1);
- group->addAnimation(anim);
-#endif
- AnimationManager::self()->registerAnimation(group);
- return group;
-}
-
-
-
-Boat::Boat(QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), speed(0), bombsAlreadyLaunched(0), direction(Boat::None), movementAnimation(0)
-{
- pixmapItem = new PixmapItem(QString("boat"),GraphicsScene::Big, this);
- setZValue(4);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsFocusable);
- resize(pixmapItem->boundingRect().size());
-
- //The movement animation used to animate the boat
- movementAnimation = new QPropertyAnimation(this, "pos");
-
- //The movement animation used to animate the boat
- destroyAnimation = setupDestroyAnimation(this);
-
- //We setup the state machien of the boat
- machine = new QStateMachine(this);
- QState *moving = new QState(machine->rootState());
- StopState *stopState = new StopState(this, moving);
- machine->setInitialState(moving);
- moving->setInitialState(stopState);
- MoveStateRight *moveStateRight = new MoveStateRight(this, moving);
- MoveStateLeft *moveStateLeft = new MoveStateLeft(this, moving);
- LaunchStateRight *launchStateRight = new LaunchStateRight(this, machine->rootState());
- LaunchStateLeft *launchStateLeft = new LaunchStateLeft(this, machine->rootState());
-
- //then setup the transitions for the rightMove state
- KeyStopTransition *leftStopRight = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Left);
- leftStopRight->setTargetState(stopState);
- KeyMoveTransition *leftMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Left);
- leftMoveRight->setTargetState(moveStateRight);
- KeyMoveTransition *rightMoveRight = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightMoveRight->setTargetState(moveStateRight);
- KeyMoveTransition *rightMoveStop = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightMoveStop->setTargetState(moveStateRight);
-
- //then setup the transitions for the leftMove state
- KeyStopTransition *rightStopLeft = new KeyStopTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightStopLeft->setTargetState(stopState);
- KeyMoveTransition *rightMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress, Qt::Key_Right);
- rightMoveLeft->setTargetState(moveStateLeft);
- KeyMoveTransition *leftMoveLeft = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
- leftMoveLeft->setTargetState(moveStateLeft);
- KeyMoveTransition *leftMoveStop = new KeyMoveTransition(this, QEvent::KeyPress,Qt::Key_Left);
- leftMoveStop->setTargetState(moveStateLeft);
-
- //We set up the right move state
- moveStateRight->addTransition(leftStopRight);
- moveStateRight->addTransition(leftMoveRight);
- moveStateRight->addTransition(rightMoveRight);
- stopState->addTransition(rightMoveStop);
-
- //We set up the left move state
- moveStateLeft->addTransition(rightStopLeft);
- moveStateLeft->addTransition(leftMoveLeft);
- moveStateLeft->addTransition(rightMoveLeft);
- stopState->addTransition(leftMoveStop);
-
- //The animation is finished, it means we reached the border of the screen, the boat is stopped so we move to the stop state
- moveStateLeft->addTransition(movementAnimation, SIGNAL(finished()), stopState);
- moveStateRight->addTransition(movementAnimation, SIGNAL(finished()), stopState);
-
- //We set up the keys for dropping bombs
- KeyLaunchTransition *upFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
- upFireLeft->setTargetState(launchStateRight);
- KeyLaunchTransition *upFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
- upFireRight->setTargetState(launchStateRight);
- KeyLaunchTransition *upFireStop = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Up);
- upFireStop->setTargetState(launchStateRight);
- KeyLaunchTransition *downFireLeft = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
- downFireLeft->setTargetState(launchStateLeft);
- KeyLaunchTransition *downFireRight = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
- downFireRight->setTargetState(launchStateLeft);
- KeyLaunchTransition *downFireMove = new KeyLaunchTransition(this, QEvent::KeyPress, Qt::Key_Down);
- downFireMove->setTargetState(launchStateLeft);
-
- //We set up transitions for fire up
- moveStateRight->addTransition(upFireRight);
- moveStateLeft->addTransition(upFireLeft);
- stopState->addTransition(upFireStop);
-
- //We set up transitions for fire down
- moveStateRight->addTransition(downFireRight);
- moveStateLeft->addTransition(downFireLeft);
- stopState->addTransition(downFireMove);
-
- //Finally the launch state should come back to its original state
- QHistoryState *historyState = new QHistoryState(moving);
- launchStateLeft->addTransition(historyState);
- launchStateRight->addTransition(historyState);
-
- QFinalState *final = new QFinalState(machine->rootState());
-
- //This state play the destroyed animation
- QAnimationState *destroyedState = new QAnimationState(machine->rootState());
- destroyedState->setAnimation(destroyAnimation);
-
- //Play a nice animation when the boat is destroyed
- moving->addTransition(this, SIGNAL(boatDestroyed()),destroyedState);
-
- //Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the boat is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(boatExecutionFinished()));
-
-}
-
-void Boat::run()
-{
- //We register animations
- AnimationManager::self()->registerAnimation(movementAnimation);
- AnimationManager::self()->registerAnimation(destroyAnimation);
- machine->start();
-}
-
-void Boat::stop()
-{
- movementAnimation->stop();
- machine->stop();
-}
-
-void Boat::updateBoatMovement()
-{
- if (speed == 0 || direction == Boat::None) {
- movementAnimation->stop();
- return;
- }
-
- movementAnimation->stop();
- movementAnimation->setStartValue(pos());
-
- if (direction == Boat::Left) {
- movementAnimation->setEndValue(QPointF(0,y()));
- movementAnimation->setDuration(x()/speed*15);
- }
- else /*if (direction == Boat::Right)*/ {
- movementAnimation->setEndValue(QPointF(scene()->width()-size().width(),y()));
- movementAnimation->setDuration((scene()->width()-size().width()-x())/speed*15);
- }
- movementAnimation->start();
-}
-
-void Boat::destroy()
-{
- movementAnimation->stop();
- emit boatDestroyed();
-}
-
-int Boat::bombsLaunched() const
-{
- return bombsAlreadyLaunched;
-}
-
-void Boat::setBombsLaunched(int number)
-{
- if (number > MAX_BOMB) {
- qWarning("Boat::setBombsLaunched : It impossible to launch that number of bombs");
- return;
- }
- bombsAlreadyLaunched = number;
-}
-
-int Boat::currentSpeed() const
-{
- return speed;
-}
-
-void Boat::setCurrentSpeed(int speed)
-{
- if (speed > 3 || speed < 0) {
- qWarning("Boat::setCurrentSpeed: The boat can't run on that speed");
- return;
- }
- this->speed = speed;
-}
-
-enum Boat::Movement Boat::currentDirection() const
-{
- return direction;
-}
-
-void Boat::setCurrentDirection(Movement direction)
-{
- this->direction = direction;
-}
-
-int Boat::type() const
-{
- return Type;
-}
diff --git a/examples/animation/sub-attaq/bomb.cpp b/examples/animation/sub-attaq/bomb.cpp
deleted file mode 100644
index 454970a..0000000
--- a/examples/animation/sub-attaq/bomb.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "bomb.h"
-#include "submarine.h"
-#include "pixmapitem.h"
-#include "animationmanager.h"
-#include "qanimationstate.h"
-
-//Qt
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-
-Bomb::Bomb(QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), launchAnimation(0)
-{
- pixmapItem = new PixmapItem(QString("bomb"),GraphicsScene::Big, this);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setFlags(QGraphicsItem::ItemIsMovable);
- setZValue(2);
- resize(pixmapItem->boundingRect().size());
-}
-
-void Bomb::launch(Bomb::Direction direction)
-{
- launchAnimation = new QSequentialAnimationGroup();
- AnimationManager::self()->registerAnimation(launchAnimation);
- qreal delta = direction == Right ? 20 : - 20;
- QPropertyAnimation *anim = new QPropertyAnimation(this, "pos");
- anim->setEndValue(QPointF(x() + delta,y() - 20));
- anim->setDuration(150);
- launchAnimation->addAnimation(anim);
- anim = new QPropertyAnimation(this, "pos");
- anim->setEndValue(QPointF(x() + delta*2, y() ));
- anim->setDuration(150);
- launchAnimation->addAnimation(anim);
- anim = new QPropertyAnimation(this, "pos");
- anim->setEndValue(QPointF(x() + delta*2,scene()->height()));
- anim->setDuration(y()/2*60);
- launchAnimation->addAnimation(anim);
- connect(anim,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
-
- //We setup the state machine of the bomb
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the launch animation is playing
- QAnimationState *launched = new QAnimationState(machine->rootState());
- launched->setAnimation(launchAnimation);
-
- //End
- QFinalState *final = new QFinalState(machine->rootState());
-
- machine->setInitialState(launched);
-
- //### Add a nice animation when the bomb is destroyed
- launched->addTransition(this, SIGNAL(bombExplosed()),final);
-
- //If the animation is finished, then we move to the final state
- launched->addTransition(launched, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the boat is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(bombExecutionFinished()));
-
- machine->start();
-
-}
-
-void Bomb::onAnimationLaunchValueChanged(const QVariant &)
-{
- foreach (QGraphicsItem * item , collidingItems(Qt::IntersectsItemBoundingRect)) {
- if (item->type() == SubMarine::Type) {
- SubMarine *s = static_cast<SubMarine *>(item);
- destroy();
- s->destroy();
- }
- }
-}
-
-void Bomb::destroy()
-{
- launchAnimation->stop();
- emit bombExplosed();
-}
diff --git a/examples/animation/sub-attaq/custompropertyanimation.cpp b/examples/animation/sub-attaq/custompropertyanimation.cpp
deleted file mode 100644
index 9282f42..0000000
--- a/examples/animation/sub-attaq/custompropertyanimation.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "custompropertyanimation.h"
-
-// Qt
-#include <QtCore/qdebug.h>
-
-CustomPropertyAnimation::CustomPropertyAnimation(QObject *parent) :
- QVariantAnimation(parent), animProp(0)
-{
-}
-
-CustomPropertyAnimation::~CustomPropertyAnimation()
-{
-}
-
-void CustomPropertyAnimation::setProperty(AbstractProperty *_animProp)
-{
- if (animProp == _animProp)
- return;
- delete animProp;
- animProp = _animProp;
-}
-
-/*!
- \reimp
- */
-void CustomPropertyAnimation::updateCurrentValue(const QVariant &value)
-{
- if (!animProp || state() == QAbstractAnimation::Stopped)
- return;
-
- animProp->write(value);
-}
-
-
-/*!
- \reimp
-*/
-void CustomPropertyAnimation::updateState(QAbstractAnimation::State oldState, QAbstractAnimation::State newState)
-{
- // Initialize start value
- if (oldState == QAbstractAnimation::Stopped) {
- if (!animProp)
- return;
- QVariant def = animProp->read();
- if (def.isValid()) {
- const int t = def.userType();
- KeyValues values = keyValues();
- //this ensures that all the keyValues are of type t
- for (int i = 0; i < values.count(); ++i) {
- QVariantAnimation::KeyValue &pair = values[i];
- if (pair.second.userType() != t)
- pair.second.convert(static_cast<QVariant::Type>(t));
- }
- //let's now update the key values
- setKeyValues(values);
- }
-
- if (animProp && !startValue().isValid() && currentTime() == 0
- || (currentTime() == duration() && currentLoop() == (loopCount() - 1))) {
- setStartValue(def);
- }
- }
-
- QVariantAnimation::updateState(oldState, newState);
-}
-
-#include "moc_custompropertyanimation.cpp"
diff --git a/examples/animation/sub-attaq/data.xml b/examples/animation/sub-attaq/data.xml
deleted file mode 100644
index 41d4754..0000000
--- a/examples/animation/sub-attaq/data.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<subattaq>
- <submarines>
- <submarine type="0" points="10" name="Q1" />
- <submarine type="1" points="20" name="Q2" />
- </submarines>
- <levels>
- <level id="0" name="Seaman recruit">
- <subinstance type="0" nb="2"/>
- </level>
- <level id="1" name="Seaman apprentice">
- <subinstance type="0" nb="4"/>
- </level>
- </levels>
-</subattaq>
diff --git a/examples/animation/sub-attaq/graphicsscene.cpp b/examples/animation/sub-attaq/graphicsscene.cpp
deleted file mode 100644
index bd37ce2..0000000
--- a/examples/animation/sub-attaq/graphicsscene.cpp
+++ /dev/null
@@ -1,374 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "graphicsscene.h"
-#include "states.h"
-#include "boat.h"
-#include "submarine.h"
-#include "torpedo.h"
-#include "bomb.h"
-#include "pixmapitem.h"
-#include "custompropertyanimation.h"
-#include "animationmanager.h"
-#include "qanimationstate.h"
-#include "progressitem.h"
-
-//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QSequentialAnimationGroup>
-#include <QtCore/QParallelAnimationGroup>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QPauseAnimation>
-#include <QtGui/QAction>
-#include <QtCore/QDir>
-#include <QtGui/QApplication>
-#include <QtGui/QMessageBox>
-#include <QtGui/QGraphicsView>
-#include <QtGui/QGraphicsSceneMouseEvent>
-#include <QtCore/QXmlStreamReader>
-
-//helper function that creates an animation for position and inserts it into group
-static CustomPropertyAnimation *addGraphicsItemPosAnimation(QSequentialAnimationGroup *group,
- QGraphicsItem *item, const QPointF &endPos)
-{
- CustomPropertyAnimation *ret = new CustomPropertyAnimation(group);
- ret->setMemberFunctions(item, &QGraphicsItem::pos, &QGraphicsItem::setPos);
- ret->setEndValue(endPos);
- ret->setDuration(200);
- ret->setEasingCurve(QEasingCurve::OutElastic);
- group->addPause(50);
- return ret;
-}
-
-//helper function that creates an animation for opacity and inserts it into group
-static void addGraphicsItemFadeoutAnimation(QAnimationGroup *group, QGraphicsItem *item)
-{
-#if QT_VERSION >=0x040500
- CustomPropertyAnimation *anim = new CustomPropertyAnimation(group);
- anim->setMemberFunctions(item, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim->setDuration(800);
- anim->setEndValue(0);
- anim->setEasingCurve(QEasingCurve::OutQuad);
-#else
- // work around for a bug where we don't transition if the duration is zero.
- QtPauseAnimation *anim = new QtPauseAnimation(group);
- anim->setDuration(1);
-#endif
-}
-
-GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
- : QGraphicsScene(x,y,width,height), mode(mode), newAction(0), quitAction(0), boat(0)
-{
- backgroundItem = new PixmapItem(QString("background"),mode);
- backgroundItem->setZValue(1);
- backgroundItem->setPos(0,0);
- addItem(backgroundItem);
-
- PixmapItem *surfaceItem = new PixmapItem(QString("surface"),mode);
- surfaceItem->setZValue(3);
- surfaceItem->setPos(0,sealLevel() - surfaceItem->boundingRect().height()/2);
- addItem(surfaceItem);
-
- //The item that display score and level
- progressItem = new ProgressItem(backgroundItem);
-
- //We create the boat
- boat = new Boat();
- addItem(boat);
- boat->setPos(this->width()/2, sealLevel() - boat->size().height());
- boat->hide();
-
- //parse the xml that contain all data of the game
- QXmlStreamReader reader;
- QFile file(":data.xml");
- file.open(QIODevice::ReadOnly);
- reader.setDevice(&file);
- LevelDescription currentLevel;
- while (!reader.atEnd()) {
- reader.readNext();
- if (reader.tokenType() == QXmlStreamReader::StartElement) {
- if (reader.name() == "submarine")
- {
- SubmarineDescription desc;
- desc.name = reader.attributes().value("name").toString();
- desc.points = reader.attributes().value("points").toString().toInt();
- desc.type = reader.attributes().value("type").toString().toInt();
- submarinesData.append(desc);
- }
- if (reader.name() == "level")
- {
- currentLevel.id = reader.attributes().value("id").toString().toInt();
- currentLevel.name = reader.attributes().value("name").toString();
- }
- if (reader.name() == "subinstance")
- {
- currentLevel.submarines.append(qMakePair(reader.attributes().value("type").toString().toInt(),reader.attributes().value("nb").toString().toInt()));
- }
- }
- if (reader.tokenType() == QXmlStreamReader::EndElement) {
- if (reader.name() == "level")
- {
- levelsData.insert(currentLevel.id,currentLevel);
- currentLevel.submarines.clear();
- }
- }
- }
-}
-
-qreal GraphicsScene::sealLevel() const
-{
- if (mode == Big)
- return 220;
- else
- return 160;
-}
-
-void GraphicsScene::setupScene(const QList<QAction *> &actions)
-{
- newAction = actions.at(0);
- quitAction = actions.at(1);
-
- QGraphicsItem *logo_s = addWelcomeItem(QPixmap(":/logo-s"));
- QGraphicsItem *logo_u = addWelcomeItem(QPixmap(":/logo-u"));
- QGraphicsItem *logo_b = addWelcomeItem(QPixmap(":/logo-b"));
- QGraphicsItem *logo_dash = addWelcomeItem(QPixmap(":/logo-dash"));
- QGraphicsItem *logo_a = addWelcomeItem(QPixmap(":/logo-a"));
- QGraphicsItem *logo_t = addWelcomeItem(QPixmap(":/logo-t"));
- QGraphicsItem *logo_t2 = addWelcomeItem(QPixmap(":/logo-t2"));
- QGraphicsItem *logo_a2 = addWelcomeItem(QPixmap(":/logo-a2"));
- QGraphicsItem *logo_q = addWelcomeItem(QPixmap(":/logo-q"));
- QGraphicsItem *logo_excl = addWelcomeItem(QPixmap(":/logo-excl"));
- logo_s->setZValue(3);
- logo_u->setZValue(4);
- logo_b->setZValue(5);
- logo_dash->setZValue(6);
- logo_a->setZValue(7);
- logo_t->setZValue(8);
- logo_t2->setZValue(9);
- logo_a2->setZValue(10);
- logo_q->setZValue(11);
- logo_excl->setZValue(12);
- logo_s->setPos(QPointF(-1000, -1000));
- logo_u->setPos(QPointF(-800, -1000));
- logo_b->setPos(QPointF(-600, -1000));
- logo_dash->setPos(QPointF(-400, -1000));
- logo_a->setPos(QPointF(1000, 2000));
- logo_t->setPos(QPointF(800, 2000));
- logo_t2->setPos(QPointF(600, 2000));
- logo_a2->setPos(QPointF(400, 2000));
- logo_q->setPos(QPointF(200, 2000));
- logo_excl->setPos(QPointF(0, 2000));
-
- QSequentialAnimationGroup * lettersGroupMoving = new QSequentialAnimationGroup(this);
- QParallelAnimationGroup * lettersGroupFading = new QParallelAnimationGroup(this);
-
- //creation of the animations for moving letters
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_s, QPointF(300, 150));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_u, QPointF(350, 150));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_b, QPointF(400, 120));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_dash, QPointF(460, 150));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_a, QPointF(350, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_t, QPointF(400, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_t2, QPointF(430, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_a2, QPointF(465, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_q, QPointF(510, 250));
- addGraphicsItemPosAnimation(lettersGroupMoving, logo_excl, QPointF(570, 220));
-
- //creation of the animations for fading out the letters
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_s);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_u);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_b);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_dash);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_t2);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_a2);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_q);
- addGraphicsItemFadeoutAnimation(lettersGroupFading, logo_excl);
- connect(lettersGroupFading, SIGNAL(finished()), this, SLOT(onIntroAnimationFinished()));
-
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the player is playing
- PlayState *gameState = new PlayState(this,machine->rootState());
-
- //Final state
- QFinalState *final = new QFinalState(machine->rootState());
-
- //Animation when the player enter in the game
- QAnimationState *lettersMovingState = new QAnimationState(machine->rootState());
- lettersMovingState->setAnimation(lettersGroupMoving);
-
- //Animation when the welcome screen disappear
- QAnimationState *lettersFadingState = new QAnimationState(machine->rootState());
- lettersFadingState->setAnimation(lettersGroupFading);
-
- //if new game then we fade out the welcome screen and start playing
- lettersMovingState->addTransition(newAction, SIGNAL(triggered()),lettersFadingState);
- lettersFadingState->addTransition(lettersFadingState, SIGNAL(animationFinished()),gameState);
-
- //New Game is triggered then player start playing
- gameState->addTransition(newAction, SIGNAL(triggered()),gameState);
-
- //Wanna quit, then connect to CTRL+Q
- gameState->addTransition(quitAction, SIGNAL(triggered()),final);
- lettersMovingState->addTransition(quitAction, SIGNAL(triggered()),final);
-
- //Welcome screen is the initial state
- machine->setInitialState(lettersMovingState);
-
- machine->start();
-
- //We reach the final state, then we quit
- connect(machine,SIGNAL(finished()),this, SLOT(onQuitGameTriggered()));
-}
-
-void GraphicsScene::addItem(Bomb *bomb)
-{
- bombs.insert(bomb);
- connect(bomb,SIGNAL(bombExecutionFinished()),this, SLOT(onBombExecutionFinished()));
- QGraphicsScene::addItem(bomb);
-}
-
-void GraphicsScene::addItem(Torpedo *torpedo)
-{
- torpedos.insert(torpedo);
- connect(torpedo,SIGNAL(torpedoExecutionFinished()),this, SLOT(onTorpedoExecutionFinished()));
- QGraphicsScene::addItem(torpedo);
-}
-
-void GraphicsScene::addItem(SubMarine *submarine)
-{
- submarines.insert(submarine);
- connect(submarine,SIGNAL(subMarineExecutionFinished()),this, SLOT(onSubMarineExecutionFinished()));
- QGraphicsScene::addItem(submarine);
-}
-
-void GraphicsScene::addItem(QGraphicsItem *item)
-{
- QGraphicsScene::addItem(item);
-}
-
-void GraphicsScene::mousePressEvent (QGraphicsSceneMouseEvent * event)
-{
- event->ignore();
-}
-
-void GraphicsScene::onQuitGameTriggered()
-{
- qApp->closeAllWindows();
-}
-
-void GraphicsScene::onBombExecutionFinished()
-{
- Bomb *bomb = qobject_cast<Bomb *>(sender());
- bombs.remove(bomb);
- bomb->deleteLater();
- if (boat)
- boat->setBombsLaunched(boat->bombsLaunched() - 1);
-}
-
-void GraphicsScene::onTorpedoExecutionFinished()
-{
- Torpedo *torpedo = qobject_cast<Torpedo *>(sender());
- torpedos.remove(torpedo);
- torpedo->deleteLater();
-}
-
-void GraphicsScene::onSubMarineExecutionFinished()
-{
- SubMarine *submarine = qobject_cast<SubMarine *>(sender());
- submarines.remove(submarine);
- if (submarines.count() == 0) {
- emit allSubMarineDestroyed(submarine->points());
- } else {
- emit subMarineDestroyed(submarine->points());
- }
- submarine->deleteLater();
-}
-
-int GraphicsScene::remainingSubMarines() const
-{
- return submarines.count();
-}
-
-void GraphicsScene::clearScene()
-{
- foreach (SubMarine *sub,submarines) {
- sub->destroy();
- sub->deleteLater();
- }
-
- foreach (Torpedo *torpedo,torpedos) {
- torpedo->destroy();
- torpedo->deleteLater();
- }
-
- foreach (Bomb *bomb,bombs) {
- bomb->destroy();
- bomb->deleteLater();
- }
-
- submarines.clear();
- bombs.clear();
- torpedos.clear();
-
- AnimationManager::self()->unregisterAllAnimations();
-
- boat->stop();
- boat->hide();
-}
-
-QGraphicsPixmapItem *GraphicsScene::addWelcomeItem(const QPixmap &pm)
-{
- QGraphicsPixmapItem *item = addPixmap(pm);
- welcomeItems << item;
- return item;
-}
-
-void GraphicsScene::onIntroAnimationFinished()
-{
- qDeleteAll(welcomeItems);
- welcomeItems.clear();
-}
-
diff --git a/examples/animation/sub-attaq/states.cpp b/examples/animation/sub-attaq/states.cpp
deleted file mode 100644
index 81fd2de..0000000
--- a/examples/animation/sub-attaq/states.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "states.h"
-#include "graphicsscene.h"
-#include "boat.h"
-#include "submarine.h"
-#include "torpedo.h"
-#include "animationmanager.h"
-#include "progressitem.h"
-
-//Qt
-#include <QtGui/QMessageBox>
-#include <QtGui/QGraphicsView>
-#include <QtCore/QStateMachine>
-#include <QtGui/QKeyEventTransition>
-#include <QtCore/QSignalEvent>
-#include <QtCore/QFinalState>
-
-PlayState::PlayState(GraphicsScene *scene, QState *parent)
- : QState(parent),
- scene(scene),
- machine(0),
- currentLevel(0),
- score(0)
-{
-}
-
-PlayState::~PlayState()
-{
-}
-
-void PlayState::onEntry(QEvent *)
-{
- //We are now playing?
- if (machine) {
- machine->stop();
- scene->clearScene();
- currentLevel = 0;
- score = 0;
- delete machine;
- }
-
- machine = new QStateMachine(this);
-
- //This state is when player is playing
- LevelState *levelState = new LevelState(scene, this, machine->rootState());
-
- //This state is when the player is actually playing but the game is not paused
- QState *playingState = new QState(levelState);
- levelState->setInitialState(playingState);
-
- //This state is when the game is paused
- PauseState *pauseState = new PauseState(scene, levelState);
-
- //We have one view, it receive the key press event
- QKeyEventTransition *pressPplay = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
- pressPplay->setTargetState(pauseState);
- QKeyEventTransition *pressPpause = new QKeyEventTransition(scene->views().at(0), QEvent::KeyPress, Qt::Key_P);
- pressPpause->setTargetState(playingState);
-
- //Pause "P" is triggered, the player pause the game
- playingState->addTransition(pressPplay);
-
- //To get back playing when the game has been paused
- pauseState->addTransition(pressPpause);
-
- //This state is when player have lost
- LostState *lostState = new LostState(scene, this, machine->rootState());
-
- //This state is when player have won
- WinState *winState = new WinState(scene, this, machine->rootState());
-
- //The boat has been destroyed then the game is finished
- levelState->addTransition(scene->boat, SIGNAL(boatExecutionFinished()),lostState);
-
- //This transition check if we won or not
- WinTransition *winTransition = new WinTransition(scene, this, winState);
-
- //The boat has been destroyed then the game is finished
- levelState->addTransition(winTransition);
-
- //This state is an animation when the score changed
- UpdateScoreState *scoreState = new UpdateScoreState(this, levelState);
-
- //This transition update the score when a submarine die
- UpdateScoreTransition *scoreTransition = new UpdateScoreTransition(scene, this, levelState);
- scoreTransition->setTargetState(scoreState);
-
- //The boat has been destroyed then the game is finished
- playingState->addTransition(scoreTransition);
-
- //We go back to play state
- scoreState->addTransition(playingState);
-
- //We start playing!!!
- machine->setInitialState(levelState);
-
- //Final state
- QFinalState *final = new QFinalState(machine->rootState());
-
- //This transition is triggered when the player press space after completing a level
- CustomSpaceTransition *spaceTransition = new CustomSpaceTransition(scene->views().at(0), this, QEvent::KeyPress, Qt::Key_Space);
- spaceTransition->setTargetState(levelState);
- winState->addTransition(spaceTransition);
-
- //We lost we should reach the final state
- lostState->addTransition(lostState, SIGNAL(finished()), final);
-
- machine->start();
-}
-
-LevelState::LevelState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
-{
-}
-void LevelState::onEntry(QEvent *)
-{
- initializeLevel();
-}
-
-void LevelState::initializeLevel()
-{
- //we re-init the boat
- scene->boat->setPos(scene->width()/2, scene->sealLevel() - scene->boat->size().height());
- scene->boat->setCurrentSpeed(0);
- scene->boat->setCurrentDirection(Boat::None);
- scene->boat->setBombsLaunched(0);
- scene->boat->show();
- scene->setFocusItem(scene->boat,Qt::OtherFocusReason);
- scene->boat->run();
-
- scene->progressItem->setScore(game->score);
- scene->progressItem->setLevel(game->currentLevel + 1);
-
- GraphicsScene::LevelDescription currentLevelDescription = scene->levelsData.value(game->currentLevel);
-
- for (int i = 0; i < currentLevelDescription.submarines.size(); ++i ) {
-
- QPair<int,int> subContent = currentLevelDescription.submarines.at(i);
- GraphicsScene::SubmarineDescription submarineDesc = scene->submarinesData.at(subContent.first);
-
- for (int j = 0; j < subContent.second; ++j ) {
- SubMarine *sub = new SubMarine(submarineDesc.type, submarineDesc.name, submarineDesc.points);
- scene->addItem(sub);
- int random = (qrand() % 15 + 1);
- qreal x = random == 13 || random == 5 ? 0 : scene->width() - sub->size().width();
- qreal y = scene->height() -(qrand() % 150 + 1) - sub->size().height();
- sub->setPos(x,y);
- sub->setCurrentDirection(x == 0 ? SubMarine::Right : SubMarine::Left);
- sub->setCurrentSpeed(qrand() % 3 + 1);
- }
- }
-}
-
-/** Pause State */
-PauseState::PauseState(GraphicsScene *scene, QState *parent) : QState(parent),scene(scene)
-{
-}
-void PauseState::onEntry(QEvent *)
-{
- AnimationManager::self()->pauseAll();
- scene->boat->setEnabled(false);
-}
-void PauseState::onExit(QEvent *)
-{
- AnimationManager::self()->resumeAll();
- scene->boat->setEnabled(true);
- scene->boat->setFocus();
-}
-
-/** Lost State */
-LostState::LostState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
-{
-}
-
-void LostState::onEntry(QEvent *)
-{
- //The message to display
- QString message = QString("You lose on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
-
- //We set the level back to 0
- game->currentLevel = 0;
-
- //We set the score back to 0
- game->score = 0;
-
- //We clear the scene
- scene->clearScene();
-
- //we have only one view
- QMessageBox::information(scene->views().at(0),"You lose",message);
-}
-
-/** Win State */
-WinState::WinState(GraphicsScene *scene, PlayState *game, QState *parent) : QState(parent), scene(scene), game(game)
-{
-}
-
-void WinState::onEntry(QEvent *)
-{
- //We clear the scene
- scene->clearScene();
-
- QString message;
- if (scene->levelsData.size() - 1 != game->currentLevel) {
- message = QString("You win the level %1. Your score is %2.\nPress Space to continue after closing this dialog.").arg(game->currentLevel+1).arg(game->score);
- //We increment the level number
- game->currentLevel++;
- } else {
- message = QString("You finish the game on level %1. Your score is %2.").arg(game->currentLevel+1).arg(game->score);
- //We set the level back to 0
- game->currentLevel = 0;
- //We set the score back to 0
- game->score = 0;
- }
-
- //we have only one view
- QMessageBox::information(scene->views().at(0),"You win",message);
-}
-
-/** UpdateScore State */
-UpdateScoreState::UpdateScoreState(PlayState *game, QState *parent) : QState(parent)
-{
- this->game = game;
-}
-void UpdateScoreState::onEntry(QEvent *e)
-{
- QState::onEntry(e);
-}
-
-/** Win transition */
-UpdateScoreTransition::UpdateScoreTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
- : QSignalTransition(scene,SIGNAL(subMarineDestroyed(int)), QList<QAbstractState*>() << target),
- game(game), scene(scene)
-{
-}
-
-bool UpdateScoreTransition::eventTest(QEvent *event)
-{
- if (!QSignalTransition::eventTest(event))
- return false;
- else {
- QSignalEvent *se = static_cast<QSignalEvent*>(event);
- game->score += se->arguments().at(0).toInt();
- scene->progressItem->setScore(game->score);
- return true;
- }
-}
-
-/** Win transition */
-WinTransition::WinTransition(GraphicsScene *scene, PlayState *game, QAbstractState *target)
- : QSignalTransition(scene,SIGNAL(allSubMarineDestroyed(int)), QList<QAbstractState*>() << target),
- game(game), scene(scene)
-{
-}
-
-bool WinTransition::eventTest(QEvent *event)
-{
- if (!QSignalTransition::eventTest(event))
- return false;
- else {
- QSignalEvent *se = static_cast<QSignalEvent*>(event);
- game->score += se->arguments().at(0).toInt();
- scene->progressItem->setScore(game->score);
- return true;
- }
-}
-
-/** Space transition */
-CustomSpaceTransition::CustomSpaceTransition(QWidget *widget, PlayState *game, QEvent::Type type, int key)
- : QKeyEventTransition(widget, type, key),
- game(game)
-{
-}
-
-bool CustomSpaceTransition::eventTest(QEvent *event)
-{
- Q_UNUSED(event);
- if (!QKeyEventTransition::eventTest(event))
- return false;
- if (game->currentLevel != 0)
- return true;
- else
- return false;
-
-}
diff --git a/examples/animation/sub-attaq/sub-attaq.pro b/examples/animation/sub-attaq/sub-attaq.pro
deleted file mode 100644
index d13a099..0000000
--- a/examples/animation/sub-attaq/sub-attaq.pro
+++ /dev/null
@@ -1,36 +0,0 @@
-contains(QT_CONFIG, opengl):QT += opengl
-
-HEADERS += boat.h \
- bomb.h \
- mainwindow.h \
- submarine.h \
- torpedo.h \
- pixmapitem.h \
- graphicsscene.h \
- animationmanager.h \
- states.h \
- boat_p.h \
- submarine_p.h \
- custompropertyanimation.h \
- qanimationstate.h \
- progressitem.h
-SOURCES += boat.cpp \
- bomb.cpp \
- main.cpp \
- mainwindow.cpp \
- submarine.cpp \
- torpedo.cpp \
- pixmapitem.cpp \
- graphicsscene.cpp \
- animationmanager.cpp \
- states.cpp \
- custompropertyanimation.cpp \
- qanimationstate.cpp \
- progressitem.cpp
-RESOURCES += subattaq.qrc
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/animation/sub-attaq
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS sub-attaq.pro pics
-sources.path = $$[QT_INSTALL_EXAMPLES]/animation/sub-attaq
-INSTALLS += target sources
diff --git a/examples/animation/sub-attaq/submarine.cpp b/examples/animation/sub-attaq/submarine.cpp
deleted file mode 100644
index 04b7916..0000000
--- a/examples/animation/sub-attaq/submarine.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "submarine.h"
-#include "submarine_p.h"
-#include "torpedo.h"
-#include "pixmapitem.h"
-#include "graphicsscene.h"
-#include "animationmanager.h"
-#include "custompropertyanimation.h"
-#include "qanimationstate.h"
-
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-#include <QtCore/QSequentialAnimationGroup>
-
-static QAbstractAnimation *setupDestroyAnimation(SubMarine *sub)
-{
- QSequentialAnimationGroup *group = new QSequentialAnimationGroup(sub);
-#if QT_VERSION >=0x040500
- PixmapItem *step1 = new PixmapItem(QString("explosion/submarine/step1"),GraphicsScene::Big, sub);
- step1->setZValue(6);
- PixmapItem *step2 = new PixmapItem(QString("explosion/submarine/step2"),GraphicsScene::Big, sub);
- step2->setZValue(6);
- PixmapItem *step3 = new PixmapItem(QString("explosion/submarine/step3"),GraphicsScene::Big, sub);
- step3->setZValue(6);
- PixmapItem *step4 = new PixmapItem(QString("explosion/submarine/step4"),GraphicsScene::Big, sub);
- step4->setZValue(6);
- step1->setOpacity(0);
- step2->setOpacity(0);
- step3->setOpacity(0);
- step4->setOpacity(0);
- CustomPropertyAnimation *anim1 = new CustomPropertyAnimation(sub);
- anim1->setMemberFunctions((QGraphicsItem*)step1, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim1->setDuration(100);
- anim1->setEndValue(1);
- CustomPropertyAnimation *anim2 = new CustomPropertyAnimation(sub);
- anim2->setMemberFunctions((QGraphicsItem*)step2, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim2->setDuration(100);
- anim2->setEndValue(1);
- CustomPropertyAnimation *anim3 = new CustomPropertyAnimation(sub);
- anim3->setMemberFunctions((QGraphicsItem*)step3, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim3->setDuration(100);
- anim3->setEndValue(1);
- CustomPropertyAnimation *anim4 = new CustomPropertyAnimation(sub);
- anim4->setMemberFunctions((QGraphicsItem*)step4, &QGraphicsItem::opacity, &QGraphicsItem::setOpacity);
- anim4->setDuration(100);
- anim4->setEndValue(1);
- group->addAnimation(anim1);
- group->addAnimation(anim2);
- group->addAnimation(anim3);
- group->addAnimation(anim4);
-#else
- // work around for a bug where we don't transition if the duration is zero.
- QtPauseAnimation *anim = new QtPauseAnimation(group);
- anim->setDuration(1);
- group->addAnimation(anim);
-#endif
- AnimationManager::self()->registerAnimation(group);
- return group;
-}
-
-
-SubMarine::SubMarine(int type, const QString &name, int points, QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), subType(type), subName(name), subPoints(points), speed(0), direction(SubMarine::None)
-{
- pixmapItem = new PixmapItem(QString("submarine"),GraphicsScene::Big, this);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setZValue(5);
- setFlags(QGraphicsItem::ItemIsMovable);
- resize(pixmapItem->boundingRect().width(),pixmapItem->boundingRect().height());
- setTransformOrigin(boundingRect().center());
-
- //We setup the state machine of the submarine
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the boat is moving/rotating
- QState *moving = new QState(machine->rootState());
-
- //This state is when the boat is moving from left to right
- MovementState *movement = new MovementState(this, moving);
-
- //This state is when the boat is moving from left to right
- ReturnState *rotation = new ReturnState(this, moving);
-
- //This is the initial state of the moving root state
- moving->setInitialState(movement);
-
- movement->addTransition(this, SIGNAL(subMarineStateChanged()), moving);
-
- //This is the initial state of the machine
- machine->setInitialState(moving);
-
- //End
- QFinalState *final = new QFinalState(machine->rootState());
-
- //If the moving animation is finished we move to the return state
- movement->addTransition(movement, SIGNAL(animationFinished()), rotation);
-
- //If the return animation is finished we move to the moving state
- rotation->addTransition(rotation, SIGNAL(animationFinished()), movement);
-
- //This state play the destroyed animation
- QAnimationState *destroyedState = new QAnimationState(machine->rootState());
- destroyedState->setAnimation(setupDestroyAnimation(this));
-
- //Play a nice animation when the submarine is destroyed
- moving->addTransition(this, SIGNAL(subMarineDestroyed()), destroyedState);
-
- //Transition to final state when the destroyed animation is finished
- destroyedState->addTransition(destroyedState, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the submarine is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(subMarineExecutionFinished()));
-
- machine->start();
-}
-
-int SubMarine::points()
-{
- return subPoints;
-}
-
-void SubMarine::setCurrentDirection(SubMarine::Movement direction)
-{
- if (this->direction == direction)
- return;
- if (direction == SubMarine::Right && this->direction == SubMarine::None) {
- setYRotation(180);
- }
- this->direction = direction;
-}
-
-enum SubMarine::Movement SubMarine::currentDirection() const
-{
- return direction;
-}
-
-void SubMarine::setCurrentSpeed(int speed)
-{
- if (speed < 0 || speed > 3) {
- qWarning("SubMarine::setCurrentSpeed : The speed is invalid");
- }
- this->speed = speed;
- emit subMarineStateChanged();
-}
-
-int SubMarine::currentSpeed() const
-{
- return speed;
-}
-
-void SubMarine::launchTorpedo(int speed)
-{
- Torpedo * torp = new Torpedo();
- GraphicsScene *scene = static_cast<GraphicsScene *>(this->scene());
- scene->addItem(torp);
- torp->setPos(x(), y());
- torp->setCurrentSpeed(speed);
- torp->launch();
-}
-
-void SubMarine::destroy()
-{
- emit subMarineDestroyed();
-}
-
-int SubMarine::type() const
-{
- return Type;
-}
diff --git a/examples/animation/sub-attaq/submarine.h b/examples/animation/sub-attaq/submarine.h
deleted file mode 100644
index 481e816..0000000
--- a/examples/animation/sub-attaq/submarine.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef __SUBMARINE__H__
-#define __SUBMARINE__H__
-
-//Qt
-#include <QtCore/QVariantAnimation>
-#include <QtGui/QGraphicsWidget>
-
-class PixmapItem;
-
-class Torpedo;
-
-class SubMarine : public QGraphicsWidget
-{
-Q_OBJECT
-public:
- enum Movement {
- None = 0,
- Left,
- Right
- };
- enum { Type = UserType + 1 };
- SubMarine(int type, const QString &name, int points, QGraphicsItem * parent = 0, Qt::WindowFlags wFlags = 0);
-
- int points();
-
- void setCurrentDirection(Movement direction);
- enum Movement currentDirection() const;
-
- void setCurrentSpeed(int speed);
- int currentSpeed() const;
-
- void launchTorpedo(int speed);
- void destroy();
-
- virtual int type() const;
-
-signals:
- void subMarineDestroyed();
- void subMarineExecutionFinished();
- void subMarineStateChanged();
-
-private:
- int subType;
- QString subName;
- int subPoints;
- int speed;
- Movement direction;
- PixmapItem *pixmapItem;
-};
-
-#endif //__SUBMARINE__H__
diff --git a/examples/animation/sub-attaq/submarine_p.h b/examples/animation/sub-attaq/submarine_p.h
deleted file mode 100644
index e8df877..0000000
--- a/examples/animation/sub-attaq/submarine_p.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SUBMARINE_P_H
-#define SUBMARINE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-//Own
-#include "animationmanager.h"
-#include "submarine.h"
-#include "qanimationstate.h"
-
-//Qt
-#include <QtCore/QPropertyAnimation>
-#include <QtGui/QGraphicsScene>
-
-//This state is describing when the boat is moving right
-class MovementState : public QAnimationState
-{
-Q_OBJECT
-public:
- MovementState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
- {
- movementAnimation = new QPropertyAnimation(submarine, "pos");
- connect(movementAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationMovementValueChanged(const QVariant &)));
- setAnimation(movementAnimation);
- AnimationManager::self()->registerAnimation(movementAnimation);
- this->submarine = submarine;
- }
-
-protected slots:
- void onAnimationMovementValueChanged(const QVariant &)
- {
- if (qrand() % 200 + 1 == 3)
- submarine->launchTorpedo(qrand() % 3 + 1);
- }
-
-protected:
- void onEntry(QEvent *e)
- {
- if (submarine->currentDirection() == SubMarine::Left) {
- movementAnimation->setEndValue(QPointF(0,submarine->y()));
- movementAnimation->setDuration(submarine->x()/submarine->currentSpeed()*12);
- }
- else /*if (submarine->currentDirection() == SubMarine::Right)*/ {
- movementAnimation->setEndValue(QPointF(submarine->scene()->width()-submarine->size().width(),submarine->y()));
- movementAnimation->setDuration((submarine->scene()->width()-submarine->size().width()-submarine->x())/submarine->currentSpeed()*12);
- }
- movementAnimation->setStartValue(submarine->pos());
- QAnimationState::onEntry(e);
- }
-
-private:
- SubMarine *submarine;
- QPropertyAnimation *movementAnimation;
-};
-
-//This state is describing when the boat is moving right
-class ReturnState : public QAnimationState
-{
-public:
- ReturnState(SubMarine *submarine, QState *parent = 0) : QAnimationState(parent)
- {
- returnAnimation = new QPropertyAnimation(submarine, "yRotation");
- AnimationManager::self()->registerAnimation(returnAnimation);
- setAnimation(returnAnimation);
- this->submarine = submarine;
- }
-
-protected:
- void onEntry(QEvent *e)
- {
- returnAnimation->stop();
- returnAnimation->setStartValue(submarine->yRotation());
- returnAnimation->setEndValue(submarine->currentDirection() == SubMarine::Right ? 360. : 180.);
- returnAnimation->setDuration(500);
- QAnimationState::onEntry(e);
- }
-
- void onExit(QEvent *e)
- {
- submarine->currentDirection() == SubMarine::Right ? submarine->setCurrentDirection(SubMarine::Left) : submarine->setCurrentDirection(SubMarine::Right);
- QAnimationState::onExit(e);
- }
-
-private:
- SubMarine *submarine;
- QPropertyAnimation *returnAnimation;
-};
-
-#endif // SUBMARINE_P_H
diff --git a/examples/animation/sub-attaq/torpedo.cpp b/examples/animation/sub-attaq/torpedo.cpp
deleted file mode 100644
index 5ef237a..0000000
--- a/examples/animation/sub-attaq/torpedo.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Own
-#include "torpedo.h"
-#include "pixmapitem.h"
-#include "boat.h"
-#include "graphicsscene.h"
-#include "animationmanager.h"
-#include "qanimationstate.h"
-
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QStateMachine>
-#include <QtCore/QFinalState>
-
-Torpedo::Torpedo(QGraphicsItem * parent, Qt::WindowFlags wFlags)
- : QGraphicsWidget(parent,wFlags), currentSpeed(0), launchAnimation(0)
-{
- pixmapItem = new PixmapItem(QString::fromLatin1("torpedo"),GraphicsScene::Big, this);
- setZValue(2);
- setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
- setFlags(QGraphicsItem::ItemIsMovable);
- resize(pixmapItem->boundingRect().size());
-}
-
-void Torpedo::launch()
-{
- launchAnimation = new QPropertyAnimation(this, "pos");
- AnimationManager::self()->registerAnimation(launchAnimation);
- launchAnimation->setEndValue(QPointF(x(),qobject_cast<GraphicsScene *>(scene())->sealLevel() - 15));
- launchAnimation->setEasingCurve(QEasingCurve::InQuad);
- launchAnimation->setDuration(y()/currentSpeed*10);
- connect(launchAnimation,SIGNAL(valueChanged(const QVariant &)),this,SLOT(onAnimationLaunchValueChanged(const QVariant &)));
-
- //We setup the state machine of the torpedo
- QStateMachine *machine = new QStateMachine(this);
-
- //This state is when the launch animation is playing
- QAnimationState *launched = new QAnimationState(machine->rootState());
- launched->setAnimation(launchAnimation);
-
- //End
- QFinalState *final = new QFinalState(machine->rootState());
-
- machine->setInitialState(launched);
-
- //### Add a nice animation when the torpedo is destroyed
- launched->addTransition(this, SIGNAL(torpedoExplosed()),final);
-
- //If the animation is finished, then we move to the final state
- launched->addTransition(launched, SIGNAL(animationFinished()), final);
-
- //The machine has finished to be executed, then the boat is dead
- connect(machine,SIGNAL(finished()),this, SIGNAL(torpedoExecutionFinished()));
-
- machine->start();
-}
-
-void Torpedo::setCurrentSpeed(int speed)
-{
- if (speed < 0) {
- qWarning("Torpedo::setCurrentSpeed : The speed is invalid");
- return;
- }
- currentSpeed = speed;
-}
-
-void Torpedo::onAnimationLaunchValueChanged(const QVariant &)
-{
- foreach (QGraphicsItem *item , collidingItems(Qt::IntersectsItemBoundingRect)) {
- if (item->type() == Boat::Type) {
- Boat *b = static_cast<Boat *>(item);
- b->destroy();
- }
- }
-}
-
-void Torpedo::destroy()
-{
- launchAnimation->stop();
- emit torpedoExplosed();
-}
diff --git a/examples/examples.pro b/examples/examples.pro
index 42a3aa3..dc407e7 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -39,6 +39,7 @@ symbian: SUBDIRS = \
uitools \
xml
+contains(QT_CONFIG, multimedia):!static: SUBDIRS += multimedia
contains(QT_CONFIG, phonon):!static: SUBDIRS += phonon
contains(QT_CONFIG, webkit): SUBDIRS += webkit
embedded:SUBDIRS += qws
@@ -49,6 +50,7 @@ embedded:SUBDIRS += qws
contains(QT_BUILD_PARTS, tools):SUBDIRS += qtestlib
}
contains(QT_CONFIG, opengl): SUBDIRS += opengl
+contains(QT_CONFIG, openvg): SUBDIRS += openvg
contains(QT_CONFIG, dbus): SUBDIRS += dbus
win32: SUBDIRS += activeqt
contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns
diff --git a/examples/gestures/browser/Info_mac.plist b/examples/gestures/browser/Info_mac.plist
deleted file mode 100644
index 5648631..0000000
--- a/examples/gestures/browser/Info_mac.plist
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>CFBundleIconFile</key>
- <string>@ICON@</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleGetInfoString</key>
- <string>Created by Qt/QMake</string>
- <key>CFBundleIdentifier</key>
- <string>com.trolltech.DemoBrowser</string>
- <key>CFBundleSignature</key>
- <string>ttxt</string>
- <key>CFBundleExecutable</key>
- <string>@EXECUTABLE@</string>
- <key>CFBundleDocumentTypes</key>
- <array>
- <dict>
- <key>CFBundleTypeExtensions</key>
- <array>
- <string>html</string>
- <string>htm</string>
- <string>shtml</string>
- <string>xht</string>
- <string>xhtml</string>
- </array>
- <key>CFBundleTypeIconFile</key>
- <string>@ICON@</string>
- <key>CFBundleTypeName</key>
- <string>HTML Document</string>
- <key>CFBundleTypeOSTypes</key>
- <array>
- <string>HTML</string>
- </array>
- <key>CFBundleTypeRole</key>
- <string>Viewer</string>
- </dict>
- </array>
- <key>NOTE</key>
- <string>DemoBrowser by Nokia Corporation and/or its subsidiary(-ies)</string>
-</dict>
-</plist>
diff --git a/examples/gestures/browser/addbookmarkdialog.ui b/examples/gestures/browser/addbookmarkdialog.ui
deleted file mode 100644
index 3460d7b..0000000
--- a/examples/gestures/browser/addbookmarkdialog.ui
+++ /dev/null
@@ -1,98 +0,0 @@
-<ui version="4.0" >
- <class>AddBookmarkDialog</class>
- <widget class="QDialog" name="AddBookmarkDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>240</width>
- <height>168</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Add Bookmark</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Type a name for the bookmark, and choose where to keep it.</string>
- </property>
- <property name="textFormat" >
- <enum>Qt::PlainText</enum>
- </property>
- <property name="wordWrap" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="name" />
- </item>
- <item>
- <widget class="QComboBox" name="location" />
- </item>
- <item>
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>2</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- <property name="centerButtons" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>AddBookmarkDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>AddBookmarkDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/autosaver.cpp b/examples/gestures/browser/autosaver.cpp
deleted file mode 100644
index 77888ce..0000000
--- a/examples/gestures/browser/autosaver.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "autosaver.h"
-
-#include <QtCore/QDir>
-#include <QtCore/QCoreApplication>
-#include <QtCore/QMetaObject>
-#include <QtDebug>
-
-#define AUTOSAVE_IN 1000 * 3 // seconds
-#define MAXWAIT 1000 * 15 // seconds
-
-AutoSaver::AutoSaver(QObject *parent) : QObject(parent)
-{
- Q_ASSERT(parent);
-}
-
-AutoSaver::~AutoSaver()
-{
- if (m_timer.isActive())
- qWarning() << "AutoSaver: still active when destroyed, changes not saved.";
-}
-
-void AutoSaver::changeOccurred()
-{
- if (m_firstChange.isNull())
- m_firstChange.start();
-
- if (m_firstChange.elapsed() > MAXWAIT) {
- saveIfNeccessary();
- } else {
- m_timer.start(AUTOSAVE_IN, this);
- }
-}
-
-void AutoSaver::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == m_timer.timerId()) {
- saveIfNeccessary();
- } else {
- QObject::timerEvent(event);
- }
-}
-
-void AutoSaver::saveIfNeccessary()
-{
- if (!m_timer.isActive())
- return;
- m_timer.stop();
- m_firstChange = QTime();
- if (!QMetaObject::invokeMethod(parent(), "save", Qt::DirectConnection)) {
- qWarning() << "AutoSaver: error invoking slot save() on parent";
- }
-}
-
diff --git a/examples/gestures/browser/autosaver.h b/examples/gestures/browser/autosaver.h
deleted file mode 100644
index e6b44ed..0000000
--- a/examples/gestures/browser/autosaver.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef AUTOSAVER_H
-#define AUTOSAVER_H
-
-#include <QtCore/QObject>
-#include <QtCore/QBasicTimer>
-#include <QtCore/QTime>
-
-/*
- This class will call the save() slot on the parent object when the parent changes.
- It will wait several seconds after changed() to combining multiple changes and
- prevent continuous writing to disk.
- */
-class AutoSaver : public QObject {
-
-Q_OBJECT
-
-public:
- AutoSaver(QObject *parent);
- ~AutoSaver();
- void saveIfNeccessary();
-
-public slots:
- void changeOccurred();
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private:
- QBasicTimer m_timer;
- QTime m_firstChange;
-
-};
-
-#endif // AUTOSAVER_H
-
diff --git a/examples/gestures/browser/bookmarks.cpp b/examples/gestures/browser/bookmarks.cpp
deleted file mode 100644
index 125bcbe..0000000
--- a/examples/gestures/browser/bookmarks.cpp
+++ /dev/null
@@ -1,987 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "bookmarks.h"
-
-#include "autosaver.h"
-#include "browserapplication.h"
-#include "history.h"
-#include "xbel.h"
-
-#include <QtCore/QBuffer>
-#include <QtCore/QFile>
-#include <QtCore/QMimeData>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QDragEnterEvent>
-#include <QtGui/QFileDialog>
-#include <QtGui/QHeaderView>
-#include <QtGui/QIcon>
-#include <QtGui/QMessageBox>
-#include <QtGui/QToolButton>
-
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-#define BOOKMARKBAR "Bookmarks Bar"
-#define BOOKMARKMENU "Bookmarks Menu"
-
-BookmarksManager::BookmarksManager(QObject *parent)
- : QObject(parent)
- , m_loaded(false)
- , m_saveTimer(new AutoSaver(this))
- , m_bookmarkRootNode(0)
- , m_bookmarkModel(0)
-{
- connect(this, SIGNAL(entryAdded(BookmarkNode *)),
- m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)),
- m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryChanged(BookmarkNode *)),
- m_saveTimer, SLOT(changeOccurred()));
-}
-
-BookmarksManager::~BookmarksManager()
-{
- m_saveTimer->saveIfNeccessary();
-}
-
-void BookmarksManager::changeExpanded()
-{
- m_saveTimer->changeOccurred();
-}
-
-void BookmarksManager::load()
-{
- if (m_loaded)
- return;
- m_loaded = true;
-
- QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel");
- if (!QFile::exists(bookmarkFile))
- bookmarkFile = QLatin1String(":defaultbookmarks.xbel");
-
- XbelReader reader;
- m_bookmarkRootNode = reader.read(bookmarkFile);
- if (reader.error() != QXmlStreamReader::NoError) {
- QMessageBox::warning(0, QLatin1String("Loading Bookmark"),
- tr("Error when loading bookmarks on line %1, column %2:\n"
- "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString()));
- }
-
- BookmarkNode *toolbar = 0;
- BookmarkNode *menu = 0;
- QList<BookmarkNode*> others;
- for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) {
- BookmarkNode *node = m_bookmarkRootNode->children().at(i);
- if (node->type() == BookmarkNode::Folder) {
- // Automatically convert
- if (node->title == tr("Toolbar Bookmarks") && !toolbar) {
- node->title = tr(BOOKMARKBAR);
- }
- if (node->title == tr(BOOKMARKBAR) && !toolbar) {
- toolbar = node;
- }
-
- // Automatically convert
- if (node->title == tr("Menu") && !menu) {
- node->title = tr(BOOKMARKMENU);
- }
- if (node->title == tr(BOOKMARKMENU) && !menu) {
- menu = node;
- }
- } else {
- others.append(node);
- }
- m_bookmarkRootNode->remove(node);
- }
- Q_ASSERT(m_bookmarkRootNode->children().count() == 0);
- if (!toolbar) {
- toolbar = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode);
- toolbar->title = tr(BOOKMARKBAR);
- } else {
- m_bookmarkRootNode->add(toolbar);
- }
-
- if (!menu) {
- menu = new BookmarkNode(BookmarkNode::Folder, m_bookmarkRootNode);
- menu->title = tr(BOOKMARKMENU);
- } else {
- m_bookmarkRootNode->add(menu);
- }
-
- for (int i = 0; i < others.count(); ++i)
- menu->add(others.at(i));
-}
-
-void BookmarksManager::save() const
-{
- if (!m_loaded)
- return;
-
- XbelWriter writer;
- QString dir = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- QString bookmarkFile = dir + QLatin1String("/bookmarks.xbel");
- if (!writer.write(bookmarkFile, m_bookmarkRootNode))
- qWarning() << "BookmarkManager: error saving to" << bookmarkFile;
-}
-
-void BookmarksManager::addBookmark(BookmarkNode *parent, BookmarkNode *node, int row)
-{
- if (!m_loaded)
- return;
- Q_ASSERT(parent);
- InsertBookmarksCommand *command = new InsertBookmarksCommand(this, parent, node, row);
- m_commands.push(command);
-}
-
-void BookmarksManager::removeBookmark(BookmarkNode *node)
-{
- if (!m_loaded)
- return;
-
- Q_ASSERT(node);
- BookmarkNode *parent = node->parent();
- int row = parent->children().indexOf(node);
- RemoveBookmarksCommand *command = new RemoveBookmarksCommand(this, parent, row);
- m_commands.push(command);
-}
-
-void BookmarksManager::setTitle(BookmarkNode *node, const QString &newTitle)
-{
- if (!m_loaded)
- return;
-
- Q_ASSERT(node);
- ChangeBookmarkCommand *command = new ChangeBookmarkCommand(this, node, newTitle, true);
- m_commands.push(command);
-}
-
-void BookmarksManager::setUrl(BookmarkNode *node, const QString &newUrl)
-{
- if (!m_loaded)
- return;
-
- Q_ASSERT(node);
- ChangeBookmarkCommand *command = new ChangeBookmarkCommand(this, node, newUrl, false);
- m_commands.push(command);
-}
-
-BookmarkNode *BookmarksManager::bookmarks()
-{
- if (!m_loaded)
- load();
- return m_bookmarkRootNode;
-}
-
-BookmarkNode *BookmarksManager::menu()
-{
- if (!m_loaded)
- load();
-
- for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) {
- BookmarkNode *node = m_bookmarkRootNode->children().at(i);
- if (node->title == tr(BOOKMARKMENU))
- return node;
- }
- Q_ASSERT(false);
- return 0;
-}
-
-BookmarkNode *BookmarksManager::toolbar()
-{
- if (!m_loaded)
- load();
-
- for (int i = m_bookmarkRootNode->children().count() - 1; i >= 0; --i) {
- BookmarkNode *node = m_bookmarkRootNode->children().at(i);
- if (node->title == tr(BOOKMARKBAR))
- return node;
- }
- Q_ASSERT(false);
- return 0;
-}
-
-BookmarksModel *BookmarksManager::bookmarksModel()
-{
- if (!m_bookmarkModel)
- m_bookmarkModel = new BookmarksModel(this, this);
- return m_bookmarkModel;
-}
-
-void BookmarksManager::importBookmarks()
-{
- QString fileName = QFileDialog::getOpenFileName(0, tr("Open File"),
- QString(),
- tr("XBEL (*.xbel *.xml)"));
- if (fileName.isEmpty())
- return;
-
- XbelReader reader;
- BookmarkNode *importRootNode = reader.read(fileName);
- if (reader.error() != QXmlStreamReader::NoError) {
- QMessageBox::warning(0, QLatin1String("Loading Bookmark"),
- tr("Error when loading bookmarks on line %1, column %2:\n"
- "%3").arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.errorString()));
- }
-
- importRootNode->setType(BookmarkNode::Folder);
- importRootNode->title = (tr("Imported %1").arg(QDate::currentDate().toString(Qt::SystemLocaleShortDate)));
- addBookmark(menu(), importRootNode);
-}
-
-void BookmarksManager::exportBookmarks()
-{
- QString fileName = QFileDialog::getSaveFileName(0, tr("Save File"),
- tr("%1 Bookmarks.xbel").arg(QCoreApplication::applicationName()),
- tr("XBEL (*.xbel *.xml)"));
- if (fileName.isEmpty())
- return;
-
- XbelWriter writer;
- if (!writer.write(fileName, m_bookmarkRootNode))
- QMessageBox::critical(0, tr("Export error"), tr("error saving bookmarks"));
-}
-
-RemoveBookmarksCommand::RemoveBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, int row)
- : QUndoCommand(BookmarksManager::tr("Remove Bookmark"))
- , m_row(row)
- , m_bookmarkManagaer(m_bookmarkManagaer)
- , m_node(parent->children().value(row))
- , m_parent(parent)
- , m_done(false)
-{
-}
-
-RemoveBookmarksCommand::~RemoveBookmarksCommand()
-{
- if (m_done && !m_node->parent()) {
- delete m_node;
- }
-}
-
-void RemoveBookmarksCommand::undo()
-{
- m_parent->add(m_node, m_row);
- emit m_bookmarkManagaer->entryAdded(m_node);
- m_done = false;
-}
-
-void RemoveBookmarksCommand::redo()
-{
- m_parent->remove(m_node);
- emit m_bookmarkManagaer->entryRemoved(m_parent, m_row, m_node);
- m_done = true;
-}
-
-InsertBookmarksCommand::InsertBookmarksCommand(BookmarksManager *m_bookmarkManagaer,
- BookmarkNode *parent, BookmarkNode *node, int row)
- : RemoveBookmarksCommand(m_bookmarkManagaer, parent, row)
-{
- setText(BookmarksManager::tr("Insert Bookmark"));
- m_node = node;
-}
-
-ChangeBookmarkCommand::ChangeBookmarkCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *node,
- const QString &newValue, bool title)
- : QUndoCommand()
- , m_bookmarkManagaer(m_bookmarkManagaer)
- , m_title(title)
- , m_newValue(newValue)
- , m_node(node)
-{
- if (m_title) {
- m_oldValue = m_node->title;
- setText(BookmarksManager::tr("Name Change"));
- } else {
- m_oldValue = m_node->url;
- setText(BookmarksManager::tr("Address Change"));
- }
-}
-
-void ChangeBookmarkCommand::undo()
-{
- if (m_title)
- m_node->title = m_oldValue;
- else
- m_node->url = m_oldValue;
- emit m_bookmarkManagaer->entryChanged(m_node);
-}
-
-void ChangeBookmarkCommand::redo()
-{
- if (m_title)
- m_node->title = m_newValue;
- else
- m_node->url = m_newValue;
- emit m_bookmarkManagaer->entryChanged(m_node);
-}
-
-BookmarksModel::BookmarksModel(BookmarksManager *bookmarkManager, QObject *parent)
- : QAbstractItemModel(parent)
- , m_endMacro(false)
- , m_bookmarksManager(bookmarkManager)
-{
- connect(bookmarkManager, SIGNAL(entryAdded(BookmarkNode *)),
- this, SLOT(entryAdded(BookmarkNode *)));
- connect(bookmarkManager, SIGNAL(entryRemoved(BookmarkNode *, int, BookmarkNode *)),
- this, SLOT(entryRemoved(BookmarkNode *, int, BookmarkNode *)));
- connect(bookmarkManager, SIGNAL(entryChanged(BookmarkNode *)),
- this, SLOT(entryChanged(BookmarkNode *)));
-}
-
-QModelIndex BookmarksModel::index(BookmarkNode *node) const
-{
- BookmarkNode *parent = node->parent();
- if (!parent)
- return QModelIndex();
- return createIndex(parent->children().indexOf(node), 0, node);
-}
-
-void BookmarksModel::entryAdded(BookmarkNode *item)
-{
- Q_ASSERT(item && item->parent());
- int row = item->parent()->children().indexOf(item);
- BookmarkNode *parent = item->parent();
- // item was already added so remove beore beginInsertRows is called
- parent->remove(item);
- beginInsertRows(index(parent), row, row);
- parent->add(item, row);
- endInsertRows();
-}
-
-void BookmarksModel::entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item)
-{
- // item was already removed, re-add so beginRemoveRows works
- parent->add(item, row);
- beginRemoveRows(index(parent), row, row);
- parent->remove(item);
- endRemoveRows();
-}
-
-void BookmarksModel::entryChanged(BookmarkNode *item)
-{
- QModelIndex idx = index(item);
- emit dataChanged(idx, idx);
-}
-
-bool BookmarksModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (row < 0 || count <= 0 || row + count > rowCount(parent))
- return false;
-
- BookmarkNode *bookmarkNode = node(parent);
- for (int i = row + count - 1; i >= row; --i) {
- BookmarkNode *node = bookmarkNode->children().at(i);
- if (node == m_bookmarksManager->menu()
- || node == m_bookmarksManager->toolbar())
- continue;
-
- m_bookmarksManager->removeBookmark(node);
- }
- if (m_endMacro) {
- m_bookmarksManager->undoRedoStack()->endMacro();
- m_endMacro = false;
- }
- return true;
-}
-
-QVariant BookmarksModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (orientation == Qt::Horizontal && role == Qt::DisplayRole) {
- switch (section) {
- case 0: return tr("Title");
- case 1: return tr("Address");
- }
- }
- return QAbstractItemModel::headerData(section, orientation, role);
-}
-
-QVariant BookmarksModel::data(const QModelIndex &index, int role) const
-{
- if (!index.isValid() || index.model() != this)
- return QVariant();
-
- const BookmarkNode *bookmarkNode = node(index);
- switch (role) {
- case Qt::EditRole:
- case Qt::DisplayRole:
- if (bookmarkNode->type() == BookmarkNode::Separator) {
- switch (index.column()) {
- case 0: return QString(50, 0xB7);
- case 1: return QString();
- }
- }
-
- switch (index.column()) {
- case 0: return bookmarkNode->title;
- case 1: return bookmarkNode->url;
- }
- break;
- case BookmarksModel::UrlRole:
- return QUrl(bookmarkNode->url);
- break;
- case BookmarksModel::UrlStringRole:
- return bookmarkNode->url;
- break;
- case BookmarksModel::TypeRole:
- return bookmarkNode->type();
- break;
- case BookmarksModel::SeparatorRole:
- return (bookmarkNode->type() == BookmarkNode::Separator);
- break;
- case Qt::DecorationRole:
- if (index.column() == 0) {
- if (bookmarkNode->type() == BookmarkNode::Folder)
- return QApplication::style()->standardIcon(QStyle::SP_DirIcon);
- return BrowserApplication::instance()->icon(bookmarkNode->url);
- }
- }
-
- return QVariant();
-}
-
-int BookmarksModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.column() > 0) ? 0 : 2;
-}
-
-int BookmarksModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.column() > 0)
- return 0;
-
- if (!parent.isValid())
- return m_bookmarksManager->bookmarks()->children().count();
-
- const BookmarkNode *item = static_cast<BookmarkNode*>(parent.internalPointer());
- return item->children().count();
-}
-
-QModelIndex BookmarksModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0 || column < 0 || row >= rowCount(parent) || column >= columnCount(parent))
- return QModelIndex();
-
- // get the parent node
- BookmarkNode *parentNode = node(parent);
- return createIndex(row, column, parentNode->children().at(row));
-}
-
-QModelIndex BookmarksModel::parent(const QModelIndex &index) const
-{
- if (!index.isValid())
- return QModelIndex();
-
- BookmarkNode *itemNode = node(index);
- BookmarkNode *parentNode = (itemNode ? itemNode->parent() : 0);
- if (!parentNode || parentNode == m_bookmarksManager->bookmarks())
- return QModelIndex();
-
- // get the parent's row
- BookmarkNode *grandParentNode = parentNode->parent();
- int parentRow = grandParentNode->children().indexOf(parentNode);
- Q_ASSERT(parentRow >= 0);
- return createIndex(parentRow, 0, parentNode);
-}
-
-bool BookmarksModel::hasChildren(const QModelIndex &parent) const
-{
- if (!parent.isValid())
- return true;
- const BookmarkNode *parentNode = node(parent);
- return (parentNode->type() == BookmarkNode::Folder);
-}
-
-Qt::ItemFlags BookmarksModel::flags(const QModelIndex &index) const
-{
- if (!index.isValid())
- return Qt::NoItemFlags;
-
- Qt::ItemFlags flags = Qt::ItemIsSelectable | Qt::ItemIsEnabled;
-
- BookmarkNode *bookmarkNode = node(index);
-
- if (bookmarkNode != m_bookmarksManager->menu()
- && bookmarkNode != m_bookmarksManager->toolbar()) {
- flags |= Qt::ItemIsDragEnabled;
- if (bookmarkNode->type() != BookmarkNode::Separator)
- flags |= Qt::ItemIsEditable;
- }
- if (hasChildren(index))
- flags |= Qt::ItemIsDropEnabled;
- return flags;
-}
-
-Qt::DropActions BookmarksModel::supportedDropActions () const
-{
- return Qt::CopyAction | Qt::MoveAction;
-}
-
-#define MIMETYPE QLatin1String("application/bookmarks.xbel")
-
-QStringList BookmarksModel::mimeTypes() const
-{
- QStringList types;
- types << MIMETYPE;
- return types;
-}
-
-QMimeData *BookmarksModel::mimeData(const QModelIndexList &indexes) const
-{
- QMimeData *mimeData = new QMimeData();
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
- foreach (QModelIndex index, indexes) {
- if (index.column() != 0 || !index.isValid())
- continue;
- QByteArray encodedData;
- QBuffer buffer(&encodedData);
- buffer.open(QBuffer::ReadWrite);
- XbelWriter writer;
- const BookmarkNode *parentNode = node(index);
- writer.write(&buffer, parentNode);
- stream << encodedData;
- }
- mimeData->setData(MIMETYPE, data);
- return mimeData;
-}
-
-bool BookmarksModel::dropMimeData(const QMimeData *data,
- Qt::DropAction action, int row, int column, const QModelIndex &parent)
-{
- if (action == Qt::IgnoreAction)
- return true;
-
- if (!data->hasFormat(MIMETYPE)
- || column > 0)
- return false;
-
- QByteArray ba = data->data(MIMETYPE);
- QDataStream stream(&ba, QIODevice::ReadOnly);
- if (stream.atEnd())
- return false;
-
- QUndoStack *undoStack = m_bookmarksManager->undoRedoStack();
- undoStack->beginMacro(QLatin1String("Move Bookmarks"));
-
- while (!stream.atEnd()) {
- QByteArray encodedData;
- stream >> encodedData;
- QBuffer buffer(&encodedData);
- buffer.open(QBuffer::ReadOnly);
-
- XbelReader reader;
- BookmarkNode *rootNode = reader.read(&buffer);
- QList<BookmarkNode*> children = rootNode->children();
- for (int i = 0; i < children.count(); ++i) {
- BookmarkNode *bookmarkNode = children.at(i);
- rootNode->remove(bookmarkNode);
- row = qMax(0, row);
- BookmarkNode *parentNode = node(parent);
- m_bookmarksManager->addBookmark(parentNode, bookmarkNode, row);
- m_endMacro = true;
- }
- delete rootNode;
- }
- return true;
-}
-
-bool BookmarksModel::setData(const QModelIndex &index, const QVariant &value, int role)
-{
- if (!index.isValid() || (flags(index) & Qt::ItemIsEditable) == 0)
- return false;
-
- BookmarkNode *item = node(index);
-
- switch (role) {
- case Qt::EditRole:
- case Qt::DisplayRole:
- if (index.column() == 0) {
- m_bookmarksManager->setTitle(item, value.toString());
- break;
- }
- if (index.column() == 1) {
- m_bookmarksManager->setUrl(item, value.toString());
- break;
- }
- return false;
- case BookmarksModel::UrlRole:
- m_bookmarksManager->setUrl(item, value.toUrl().toString());
- break;
- case BookmarksModel::UrlStringRole:
- m_bookmarksManager->setUrl(item, value.toString());
- break;
- default:
- break;
- return false;
- }
-
- return true;
-}
-
-BookmarkNode *BookmarksModel::node(const QModelIndex &index) const
-{
- BookmarkNode *itemNode = static_cast<BookmarkNode*>(index.internalPointer());
- if (!itemNode)
- return m_bookmarksManager->bookmarks();
- return itemNode;
-}
-
-
-AddBookmarkProxyModel::AddBookmarkProxyModel(QObject *parent)
- : QSortFilterProxyModel(parent)
-{
-}
-
-int AddBookmarkProxyModel::columnCount(const QModelIndex &parent) const
-{
- return qMin(1, QSortFilterProxyModel::columnCount(parent));
-}
-
-bool AddBookmarkProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
-{
- QModelIndex idx = sourceModel()->index(source_row, 0, source_parent);
- return sourceModel()->hasChildren(idx);
-}
-
-AddBookmarkDialog::AddBookmarkDialog(const QString &url, const QString &title, QWidget *parent, BookmarksManager *bookmarkManager)
- : QDialog(parent)
- , m_url(url)
- , m_bookmarksManager(bookmarkManager)
-{
- setWindowFlags(Qt::Sheet);
- if (!m_bookmarksManager)
- m_bookmarksManager = BrowserApplication::bookmarksManager();
- setupUi(this);
- QTreeView *view = new QTreeView(this);
- m_proxyModel = new AddBookmarkProxyModel(this);
- BookmarksModel *model = m_bookmarksManager->bookmarksModel();
- m_proxyModel->setSourceModel(model);
- view->setModel(m_proxyModel);
- view->expandAll();
- view->header()->setStretchLastSection(true);
- view->header()->hide();
- view->setItemsExpandable(false);
- view->setRootIsDecorated(false);
- view->setIndentation(10);
- location->setModel(m_proxyModel);
- view->show();
- location->setView(view);
- BookmarkNode *menu = m_bookmarksManager->menu();
- QModelIndex idx = m_proxyModel->mapFromSource(model->index(menu));
- view->setCurrentIndex(idx);
- location->setCurrentIndex(idx.row());
- name->setText(title);
-}
-
-void AddBookmarkDialog::accept()
-{
- QModelIndex index = location->view()->currentIndex();
- index = m_proxyModel->mapToSource(index);
- if (!index.isValid())
- index = m_bookmarksManager->bookmarksModel()->index(0, 0);
- BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(index);
- BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark);
- bookmark->url = m_url;
- bookmark->title = name->text();
- m_bookmarksManager->addBookmark(parent, bookmark);
- QDialog::accept();
-}
-
-BookmarksMenu::BookmarksMenu(QWidget *parent)
- : ModelMenu(parent)
- , m_bookmarksManager(0)
-{
- connect(this, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
- setMaxRows(-1);
- setHoverRole(BookmarksModel::UrlStringRole);
- setSeparatorRole(BookmarksModel::SeparatorRole);
-}
-
-void BookmarksMenu::activated(const QModelIndex &index)
-{
- emit openUrl(index.data(BookmarksModel::UrlRole).toUrl());
-}
-
-bool BookmarksMenu::prePopulated()
-{
- m_bookmarksManager = BrowserApplication::bookmarksManager();
- setModel(m_bookmarksManager->bookmarksModel());
- setRootIndex(m_bookmarksManager->bookmarksModel()->index(1, 0));
- // initial actions
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
- if (!m_initialActions.isEmpty())
- addSeparator();
- createMenu(model()->index(0, 0), 1, this);
- return true;
-}
-
-void BookmarksMenu::setInitialActions(QList<QAction*> actions)
-{
- m_initialActions = actions;
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
-}
-
-BookmarksDialog::BookmarksDialog(QWidget *parent, BookmarksManager *manager)
- : QDialog(parent)
-{
- m_bookmarksManager = manager;
- if (!m_bookmarksManager)
- m_bookmarksManager = BrowserApplication::bookmarksManager();
- setupUi(this);
-
- tree->setUniformRowHeights(true);
- tree->setSelectionBehavior(QAbstractItemView::SelectRows);
- tree->setSelectionMode(QAbstractItemView::ContiguousSelection);
- tree->setTextElideMode(Qt::ElideMiddle);
- m_bookmarksModel = m_bookmarksManager->bookmarksModel();
- m_proxyModel = new TreeProxyModel(this);
- connect(search, SIGNAL(textChanged(QString)),
- m_proxyModel, SLOT(setFilterFixedString(QString)));
- connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeOne()));
- m_proxyModel->setSourceModel(m_bookmarksModel);
- tree->setModel(m_proxyModel);
- tree->setDragDropMode(QAbstractItemView::InternalMove);
- tree->setExpanded(m_proxyModel->index(0, 0), true);
- tree->setAlternatingRowColors(true);
- QFontMetrics fm(font());
- int header = fm.width(QLatin1Char('m')) * 40;
- tree->header()->resizeSection(0, header);
- tree->header()->setStretchLastSection(true);
- connect(tree, SIGNAL(activated(const QModelIndex&)),
- this, SLOT(open()));
- tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(customContextMenuRequested(const QPoint &)));
- connect(addFolderButton, SIGNAL(clicked()),
- this, SLOT(newFolder()));
- expandNodes(m_bookmarksManager->bookmarks());
- setAttribute(Qt::WA_DeleteOnClose);
-}
-
-BookmarksDialog::~BookmarksDialog()
-{
- if (saveExpandedNodes(tree->rootIndex()))
- m_bookmarksManager->changeExpanded();
-}
-
-bool BookmarksDialog::saveExpandedNodes(const QModelIndex &parent)
-{
- bool changed = false;
- for (int i = 0; i < m_proxyModel->rowCount(parent); ++i) {
- QModelIndex child = m_proxyModel->index(i, 0, parent);
- QModelIndex sourceIndex = m_proxyModel->mapToSource(child);
- BookmarkNode *childNode = m_bookmarksModel->node(sourceIndex);
- bool wasExpanded = childNode->expanded;
- if (tree->isExpanded(child)) {
- childNode->expanded = true;
- changed |= saveExpandedNodes(child);
- } else {
- childNode->expanded = false;
- }
- changed |= (wasExpanded != childNode->expanded);
- }
- return changed;
-}
-
-void BookmarksDialog::expandNodes(BookmarkNode *node)
-{
- for (int i = 0; i < node->children().count(); ++i) {
- BookmarkNode *childNode = node->children()[i];
- if (childNode->expanded) {
- QModelIndex idx = m_bookmarksModel->index(childNode);
- idx = m_proxyModel->mapFromSource(idx);
- tree->setExpanded(idx, true);
- expandNodes(childNode);
- }
- }
-}
-
-void BookmarksDialog::customContextMenuRequested(const QPoint &pos)
-{
- QMenu menu;
- QModelIndex index = tree->indexAt(pos);
- index = index.sibling(index.row(), 0);
- if (index.isValid() && !tree->model()->hasChildren(index)) {
- menu.addAction(tr("Open"), this, SLOT(open()));
- menu.addSeparator();
- }
- menu.addAction(tr("Delete"), tree, SLOT(removeOne()));
- menu.exec(QCursor::pos());
-}
-
-void BookmarksDialog::open()
-{
- QModelIndex index = tree->currentIndex();
- if (!index.parent().isValid())
- return;
- emit openUrl(index.sibling(index.row(), 1).data(BookmarksModel::UrlRole).toUrl());
-}
-
-void BookmarksDialog::newFolder()
-{
- QModelIndex currentIndex = tree->currentIndex();
- QModelIndex idx = currentIndex;
- if (idx.isValid() && !idx.model()->hasChildren(idx))
- idx = idx.parent();
- if (!idx.isValid())
- idx = tree->rootIndex();
- idx = m_proxyModel->mapToSource(idx);
- BookmarkNode *parent = m_bookmarksManager->bookmarksModel()->node(idx);
- BookmarkNode *node = new BookmarkNode(BookmarkNode::Folder);
- node->title = tr("New Folder");
- m_bookmarksManager->addBookmark(parent, node, currentIndex.row() + 1);
-}
-
-BookmarksToolBar::BookmarksToolBar(BookmarksModel *model, QWidget *parent)
- : QToolBar(tr("Bookmark"), parent)
- , m_bookmarksModel(model)
-{
- connect(this, SIGNAL(actionTriggered(QAction*)), this, SLOT(triggered(QAction*)));
- setRootIndex(model->index(0, 0));
- connect(m_bookmarksModel, SIGNAL(modelReset()), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(rowsRemoved(const QModelIndex &, int, int)), this, SLOT(build()));
- connect(m_bookmarksModel, SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(build()));
- setAcceptDrops(true);
-}
-
-void BookmarksToolBar::dragEnterEvent(QDragEnterEvent *event)
-{
- const QMimeData *mimeData = event->mimeData();
- if (mimeData->hasUrls())
- event->acceptProposedAction();
- QToolBar::dragEnterEvent(event);
-}
-
-void BookmarksToolBar::dropEvent(QDropEvent *event)
-{
- const QMimeData *mimeData = event->mimeData();
- if (mimeData->hasUrls() && mimeData->hasText()) {
- QList<QUrl> urls = mimeData->urls();
- QAction *action = actionAt(event->pos());
- QString dropText;
- if (action)
- dropText = action->text();
- int row = -1;
- QModelIndex parentIndex = m_root;
- for (int i = 0; i < m_bookmarksModel->rowCount(m_root); ++i) {
- QModelIndex idx = m_bookmarksModel->index(i, 0, m_root);
- QString title = idx.data().toString();
- if (title == dropText) {
- row = i;
- if (m_bookmarksModel->hasChildren(idx)) {
- parentIndex = idx;
- row = -1;
- }
- break;
- }
- }
- BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark);
- bookmark->url = urls.at(0).toString();
- bookmark->title = mimeData->text();
-
- BookmarkNode *parent = m_bookmarksModel->node(parentIndex);
- BookmarksManager *bookmarksManager = m_bookmarksModel->bookmarksManager();
- bookmarksManager->addBookmark(parent, bookmark, row);
- event->acceptProposedAction();
- }
- QToolBar::dropEvent(event);
-}
-
-
-void BookmarksToolBar::setRootIndex(const QModelIndex &index)
-{
- m_root = index;
- build();
-}
-
-QModelIndex BookmarksToolBar::rootIndex() const
-{
- return m_root;
-}
-
-void BookmarksToolBar::build()
-{
- clear();
- for (int i = 0; i < m_bookmarksModel->rowCount(m_root); ++i) {
- QModelIndex idx = m_bookmarksModel->index(i, 0, m_root);
- if (m_bookmarksModel->hasChildren(idx)) {
- QToolButton *button = new QToolButton(this);
- button->setPopupMode(QToolButton::InstantPopup);
- button->setArrowType(Qt::DownArrow);
- button->setText(idx.data().toString());
- ModelMenu *menu = new ModelMenu(this);
- connect(menu, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
- menu->setModel(m_bookmarksModel);
- menu->setRootIndex(idx);
- menu->addAction(new QAction(menu));
- button->setMenu(menu);
- button->setToolButtonStyle(Qt::ToolButtonTextOnly);
- QAction *a = addWidget(button);
- a->setText(idx.data().toString());
- } else {
- QAction *action = addAction(idx.data().toString());
- action->setData(idx.data(BookmarksModel::UrlRole));
- }
- }
-}
-
-void BookmarksToolBar::triggered(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QUrl>()) {
- emit openUrl(v.toUrl());
- }
-}
-
-void BookmarksToolBar::activated(const QModelIndex &index)
-{
- emit openUrl(index.data(BookmarksModel::UrlRole).toUrl());
-}
-
diff --git a/examples/gestures/browser/bookmarks.h b/examples/gestures/browser/bookmarks.h
deleted file mode 100644
index 7fcdae1..0000000
--- a/examples/gestures/browser/bookmarks.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BOOKMARKS_H
-#define BOOKMARKS_H
-
-#include <QtCore/QObject>
-#include <QtCore/QAbstractItemModel>
-
-#include <QtGui/QUndoCommand>
-
-/*!
- Bookmark manager, owner of the bookmarks, loads, saves and basic tasks
- */
-class AutoSaver;
-class BookmarkNode;
-class BookmarksModel;
-class BookmarksManager : public QObject
-{
- Q_OBJECT
-
-signals:
- void entryAdded(BookmarkNode *item);
- void entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item);
- void entryChanged(BookmarkNode *item);
-
-public:
- BookmarksManager(QObject *parent = 0);
- ~BookmarksManager();
-
- void addBookmark(BookmarkNode *parent, BookmarkNode *node, int row = -1);
- void removeBookmark(BookmarkNode *node);
- void setTitle(BookmarkNode *node, const QString &newTitle);
- void setUrl(BookmarkNode *node, const QString &newUrl);
- void changeExpanded();
-
- BookmarkNode *bookmarks();
- BookmarkNode *menu();
- BookmarkNode *toolbar();
-
- BookmarksModel *bookmarksModel();
- QUndoStack *undoRedoStack() { return &m_commands; };
-
-public slots:
- void importBookmarks();
- void exportBookmarks();
-
-private slots:
- void save() const;
-
-private:
- void load();
-
- bool m_loaded;
- AutoSaver *m_saveTimer;
- BookmarkNode *m_bookmarkRootNode;
- BookmarksModel *m_bookmarkModel;
- QUndoStack m_commands;
-
- friend class RemoveBookmarksCommand;
- friend class ChangeBookmarkCommand;
-};
-
-class RemoveBookmarksCommand : public QUndoCommand
-{
-
-public:
- RemoveBookmarksCommand(BookmarksManager *m_bookmarkManagaer, BookmarkNode *parent, int row);
- ~RemoveBookmarksCommand();
- void undo();
- void redo();
-
-protected:
- int m_row;
- BookmarksManager *m_bookmarkManagaer;
- BookmarkNode *m_node;
- BookmarkNode *m_parent;
- bool m_done;
-};
-
-class InsertBookmarksCommand : public RemoveBookmarksCommand
-{
-
-public:
- InsertBookmarksCommand(BookmarksManager *m_bookmarkManagaer,
- BookmarkNode *parent, BookmarkNode *node, int row);
- void undo() { RemoveBookmarksCommand::redo(); }
- void redo() { RemoveBookmarksCommand::undo(); }
-
-};
-
-class ChangeBookmarkCommand : public QUndoCommand
-{
-
-public:
- ChangeBookmarkCommand(BookmarksManager *m_bookmarkManagaer,
- BookmarkNode *node, const QString &newValue, bool title);
- void undo();
- void redo();
-
-private:
- BookmarksManager *m_bookmarkManagaer;
- bool m_title;
- QString m_oldValue;
- QString m_newValue;
- BookmarkNode *m_node;
-};
-
-/*!
- BookmarksModel is a QAbstractItemModel wrapper around the BookmarkManager
- */
-#include <QtGui/QIcon>
-class BookmarksModel : public QAbstractItemModel
-{
- Q_OBJECT
-
-public slots:
- void entryAdded(BookmarkNode *item);
- void entryRemoved(BookmarkNode *parent, int row, BookmarkNode *item);
- void entryChanged(BookmarkNode *item);
-
-public:
- enum Roles {
- TypeRole = Qt::UserRole + 1,
- UrlRole = Qt::UserRole + 2,
- UrlStringRole = Qt::UserRole + 3,
- SeparatorRole = Qt::UserRole + 4
- };
-
- BookmarksModel(BookmarksManager *bookmarkManager, QObject *parent = 0);
- inline BookmarksManager *bookmarksManager() const { return m_bookmarksManager; }
-
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& index= QModelIndex()) const;
- Qt::ItemFlags flags(const QModelIndex &index) const;
- Qt::DropActions supportedDropActions () const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
- bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
- QMimeData *mimeData(const QModelIndexList &indexes) const;
- QStringList mimeTypes() const;
- bool dropMimeData(const QMimeData *data,
- Qt::DropAction action, int row, int column, const QModelIndex &parent);
- bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
-
- BookmarkNode *node(const QModelIndex &index) const;
- QModelIndex index(BookmarkNode *node) const;
-
-private:
-
- bool m_endMacro;
- BookmarksManager *m_bookmarksManager;
-};
-
-// Menu that is dynamically populated from the bookmarks
-#include "modelmenu.h"
-class BookmarksMenu : public ModelMenu
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- BookmarksMenu(QWidget *parent = 0);
- void setInitialActions(QList<QAction*> actions);
-
-protected:
- bool prePopulated();
-
-private slots:
- void activated(const QModelIndex &index);
-
-private:
- BookmarksManager *m_bookmarksManager;
- QList<QAction*> m_initialActions;
-};
-
-/*
- Proxy model that filters out the bookmarks so only the folders
- are left behind. Used in the add bookmark dialog combobox.
- */
-#include <QtGui/QSortFilterProxyModel>
-class AddBookmarkProxyModel : public QSortFilterProxyModel
-{
- Q_OBJECT
-public:
- AddBookmarkProxyModel(QObject * parent = 0);
- int columnCount(const QModelIndex & parent = QModelIndex()) const;
-
-protected:
- bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
-};
-
-/*!
- Add bookmark dialog
- */
-#include "ui_addbookmarkdialog.h"
-class AddBookmarkDialog : public QDialog, public Ui_AddBookmarkDialog
-{
- Q_OBJECT
-
-public:
- AddBookmarkDialog(const QString &url, const QString &title, QWidget *parent = 0, BookmarksManager *bookmarkManager = 0);
-
-private slots:
- void accept();
-
-private:
- QString m_url;
- BookmarksManager *m_bookmarksManager;
- AddBookmarkProxyModel *m_proxyModel;
-};
-
-#include "ui_bookmarks.h"
-class TreeProxyModel;
-class BookmarksDialog : public QDialog, public Ui_BookmarksDialog
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- BookmarksDialog(QWidget *parent = 0, BookmarksManager *manager = 0);
- ~BookmarksDialog();
-
-private slots:
- void customContextMenuRequested(const QPoint &pos);
- void open();
- void newFolder();
-
-private:
- void expandNodes(BookmarkNode *node);
- bool saveExpandedNodes(const QModelIndex &parent);
-
- BookmarksManager *m_bookmarksManager;
- BookmarksModel *m_bookmarksModel;
- TreeProxyModel *m_proxyModel;
-};
-
-#include <QtGui/QToolBar>
-class BookmarksToolBar : public QToolBar
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- BookmarksToolBar(BookmarksModel *model, QWidget *parent = 0);
- void setRootIndex(const QModelIndex &index);
- QModelIndex rootIndex() const;
-
-protected:
- void dragEnterEvent(QDragEnterEvent *event);
- void dropEvent(QDropEvent *event);
-
-private slots:
- void triggered(QAction *action);
- void activated(const QModelIndex &index);
- void build();
-
-private:
- BookmarksModel *m_bookmarksModel;
- QPersistentModelIndex m_root;
-};
-
-#endif // BOOKMARKS_H
diff --git a/examples/gestures/browser/bookmarks.ui b/examples/gestures/browser/bookmarks.ui
deleted file mode 100644
index c893e94..0000000
--- a/examples/gestures/browser/bookmarks.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<ui version="4.0" >
- <class>BookmarksDialog</class>
- <widget class="QDialog" name="BookmarksDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>758</width>
- <height>450</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Bookmarks</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="EditTreeView" name="tree" />
- </item>
- <item row="2" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="addFolderButton" >
- <property name="text" >
- <string>Add Folder</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTreeView</class>
- <extends>QTreeView</extends>
- <header>edittreeview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>BookmarksDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>472</x>
- <y>329</y>
- </hint>
- <hint type="destinationlabel" >
- <x>461</x>
- <y>356</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/browser.icns b/examples/gestures/browser/browser.icns
deleted file mode 100644
index f591ae4..0000000
--- a/examples/gestures/browser/browser.icns
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/browser.ico b/examples/gestures/browser/browser.ico
deleted file mode 100644
index 7f9be93..0000000
--- a/examples/gestures/browser/browser.ico
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/browser.pro b/examples/gestures/browser/browser.pro
deleted file mode 100644
index d970f99..0000000
--- a/examples/gestures/browser/browser.pro
+++ /dev/null
@@ -1,91 +0,0 @@
-TEMPLATE = app
-TARGET = browser
-QT += webkit network
-
-CONFIG += qt warn_on
-contains(QT_BUILD_PARTS, tools): CONFIG += uitools
-else: DEFINES += QT_NO_UITOOLS
-
-FORMS += \
- addbookmarkdialog.ui \
- bookmarks.ui \
- cookies.ui \
- cookiesexceptions.ui \
- downloaditem.ui \
- downloads.ui \
- history.ui \
- passworddialog.ui \
- proxy.ui \
- settings.ui
-
-HEADERS += \
- autosaver.h \
- bookmarks.h \
- browserapplication.h \
- browsermainwindow.h \
- chasewidget.h \
- cookiejar.h \
- downloadmanager.h \
- edittableview.h \
- edittreeview.h \
- history.h \
- modelmenu.h \
- networkaccessmanager.h \
- searchlineedit.h \
- settings.h \
- squeezelabel.h \
- tabwidget.h \
- toolbarsearch.h \
- urllineedit.h \
- webview.h \
- xbel.h
-
-SOURCES += \
- autosaver.cpp \
- bookmarks.cpp \
- browserapplication.cpp \
- browsermainwindow.cpp \
- chasewidget.cpp \
- cookiejar.cpp \
- downloadmanager.cpp \
- edittableview.cpp \
- edittreeview.cpp \
- history.cpp \
- modelmenu.cpp \
- networkaccessmanager.cpp \
- searchlineedit.cpp \
- settings.cpp \
- squeezelabel.cpp \
- tabwidget.cpp \
- toolbarsearch.cpp \
- urllineedit.cpp \
- webview.cpp \
- xbel.cpp \
- main.cpp
-
-RESOURCES += data/data.qrc htmls/htmls.qrc
-
-build_all:!build_pass {
- CONFIG -= build_all
- CONFIG += release
-}
-
-win32 {
- RC_FILE = browser.rc
-}
-
-mac {
- ICON = browser.icns
- QMAKE_INFO_PLIST = Info_mac.plist
- TARGET = Browser
-}
-
-wince*: {
- DEPLOYMENT_PLUGIN += qjpeg qgif
-}
-
-# install
-target.path = $$[QT_INSTALL_DEMOS]/browser
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.plist *.icns *.ico *.rc *.pro *.html *.doc images htmls
-sources.path = $$[QT_INSTALL_DEMOS]/browser
-INSTALLS += target sources
diff --git a/examples/gestures/browser/browser.rc b/examples/gestures/browser/browser.rc
deleted file mode 100644
index 89a237c..0000000
--- a/examples/gestures/browser/browser.rc
+++ /dev/null
@@ -1,2 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "browser.ico"
-
diff --git a/examples/gestures/browser/browserapplication.cpp b/examples/gestures/browser/browserapplication.cpp
deleted file mode 100644
index 718a8ec..0000000
--- a/examples/gestures/browser/browserapplication.cpp
+++ /dev/null
@@ -1,447 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browserapplication.h"
-
-#include "bookmarks.h"
-#include "browsermainwindow.h"
-#include "cookiejar.h"
-#include "downloadmanager.h"
-#include "history.h"
-#include "networkaccessmanager.h"
-#include "tabwidget.h"
-#include "webview.h"
-
-#include <QtCore/QBuffer>
-#include <QtCore/QDir>
-#include <QtCore/QLibraryInfo>
-#include <QtCore/QSettings>
-#include <QtCore/QTextStream>
-#include <QtCore/QTranslator>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QFileOpenEvent>
-
-#include <QtNetwork/QLocalServer>
-#include <QtNetwork/QLocalSocket>
-#include <QtNetwork/QNetworkProxy>
-
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-DownloadManager *BrowserApplication::s_downloadManager = 0;
-HistoryManager *BrowserApplication::s_historyManager = 0;
-NetworkAccessManager *BrowserApplication::s_networkAccessManager = 0;
-BookmarksManager *BrowserApplication::s_bookmarksManager = 0;
-
-BrowserApplication::BrowserApplication(int &argc, char **argv)
- : QApplication(argc, argv)
- , m_localServer(0)
-{
- QCoreApplication::setOrganizationName(QLatin1String("Trolltech"));
- QCoreApplication::setApplicationName(QLatin1String("demobrowser"));
- QCoreApplication::setApplicationVersion(QLatin1String("0.1"));
-#ifdef Q_WS_QWS
- // Use a different server name for QWS so we can run an X11
- // browser and a QWS browser in parallel on the same machine for
- // debugging
- QString serverName = QCoreApplication::applicationName() + QLatin1String("_qws");
-#else
- QString serverName = QCoreApplication::applicationName();
-#endif
- QLocalSocket socket;
- socket.connectToServer(serverName);
- if (socket.waitForConnected(500)) {
- QTextStream stream(&socket);
- QStringList args = QCoreApplication::arguments();
- if (args.count() > 1)
- stream << args.last();
- else
- stream << QString();
- stream.flush();
- socket.waitForBytesWritten();
- return;
- }
-
-#if defined(Q_WS_MAC)
- QApplication::setQuitOnLastWindowClosed(false);
-#else
- QApplication::setQuitOnLastWindowClosed(true);
-#endif
-
- m_localServer = new QLocalServer(this);
- connect(m_localServer, SIGNAL(newConnection()),
- this, SLOT(newLocalSocketConnection()));
- if (!m_localServer->listen(serverName)) {
- if (m_localServer->serverError() == QAbstractSocket::AddressInUseError
- && QFile::exists(m_localServer->serverName())) {
- QFile::remove(m_localServer->serverName());
- m_localServer->listen(serverName);
- }
- }
-
- QDesktopServices::setUrlHandler(QLatin1String("http"), this, "openUrl");
- QString localSysName = QLocale::system().name();
-
- installTranslator(QLatin1String("qt_") + localSysName);
-
- QSettings settings;
- settings.beginGroup(QLatin1String("sessions"));
- m_lastSession = settings.value(QLatin1String("lastSession")).toByteArray();
- settings.endGroup();
-
-#if defined(Q_WS_MAC)
- connect(this, SIGNAL(lastWindowClosed()),
- this, SLOT(lastWindowClosed()));
-#endif
-
- QTimer::singleShot(0, this, SLOT(postLaunch()));
-}
-
-BrowserApplication::~BrowserApplication()
-{
- delete s_downloadManager;
- for (int i = 0; i < m_mainWindows.size(); ++i) {
- BrowserMainWindow *window = m_mainWindows.at(i);
- delete window;
- }
- delete s_networkAccessManager;
- delete s_bookmarksManager;
-}
-
-#if defined(Q_WS_MAC)
-void BrowserApplication::lastWindowClosed()
-{
- clean();
- BrowserMainWindow *mw = new BrowserMainWindow;
- mw->slotHome();
- m_mainWindows.prepend(mw);
-}
-#endif
-
-BrowserApplication *BrowserApplication::instance()
-{
- return (static_cast<BrowserApplication *>(QCoreApplication::instance()));
-}
-
-#if defined(Q_WS_MAC)
-#include <QtGui/QMessageBox>
-void BrowserApplication::quitBrowser()
-{
- clean();
- int tabCount = 0;
- for (int i = 0; i < m_mainWindows.count(); ++i) {
- tabCount =+ m_mainWindows.at(i)->tabWidget()->count();
- }
-
- if (tabCount > 1) {
- int ret = QMessageBox::warning(mainWindow(), QString(),
- tr("There are %1 windows and %2 tabs open\n"
- "Do you want to quit anyway?").arg(m_mainWindows.count()).arg(tabCount),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (ret == QMessageBox::No)
- return;
- }
-
- exit(0);
-}
-#endif
-
-/*!
- Any actions that can be delayed until the window is visible
- */
-void BrowserApplication::postLaunch()
-{
- QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- if (directory.isEmpty())
- directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
- QWebSettings::setIconDatabasePath(directory);
-
- setWindowIcon(QIcon(QLatin1String(":browser.svg")));
-
- loadSettings();
-
- // newMainWindow() needs to be called in main() for this to happen
- if (m_mainWindows.count() > 0) {
- QStringList args = QCoreApplication::arguments();
- if (args.count() > 1)
- mainWindow()->loadPage(args.last());
- else
- mainWindow()->slotHome();
- }
- BrowserApplication::historyManager();
-}
-
-void BrowserApplication::loadSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("websettings"));
-
- QWebSettings *defaultSettings = QWebSettings::globalSettings();
- QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
- int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
- QFont standardFont = QFont(standardFontFamily, standardFontSize);
- standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
- defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family());
- defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize());
-
- QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
- int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
- QFont fixedFont = QFont(fixedFontFamily, fixedFontSize);
- fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
- defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family());
- defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize());
-
- defaultSettings->setAttribute(QWebSettings::JavascriptEnabled, settings.value(QLatin1String("enableJavascript"), true).toBool());
- defaultSettings->setAttribute(QWebSettings::PluginsEnabled, settings.value(QLatin1String("enablePlugins"), true).toBool());
-
- QUrl url = settings.value(QLatin1String("userStyleSheet")).toUrl();
- defaultSettings->setUserStyleSheetUrl(url);
-
- settings.endGroup();
-}
-
-QList<BrowserMainWindow*> BrowserApplication::mainWindows()
-{
- clean();
- QList<BrowserMainWindow*> list;
- for (int i = 0; i < m_mainWindows.count(); ++i)
- list.append(m_mainWindows.at(i));
- return list;
-}
-
-void BrowserApplication::clean()
-{
- // cleanup any deleted main windows first
- for (int i = m_mainWindows.count() - 1; i >= 0; --i)
- if (m_mainWindows.at(i).isNull())
- m_mainWindows.removeAt(i);
-}
-
-void BrowserApplication::saveSession()
-{
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return;
-
- clean();
-
- QSettings settings;
- settings.beginGroup(QLatin1String("sessions"));
-
- QByteArray data;
- QBuffer buffer(&data);
- QDataStream stream(&buffer);
- buffer.open(QIODevice::ReadWrite);
-
- stream << m_mainWindows.count();
- for (int i = 0; i < m_mainWindows.count(); ++i)
- stream << m_mainWindows.at(i)->saveState();
- settings.setValue(QLatin1String("lastSession"), data);
- settings.endGroup();
-}
-
-bool BrowserApplication::canRestoreSession() const
-{
- return !m_lastSession.isEmpty();
-}
-
-void BrowserApplication::restoreLastSession()
-{
- QList<QByteArray> windows;
- QBuffer buffer(&m_lastSession);
- QDataStream stream(&buffer);
- buffer.open(QIODevice::ReadOnly);
- int windowCount;
- stream >> windowCount;
- for (int i = 0; i < windowCount; ++i) {
- QByteArray windowState;
- stream >> windowState;
- windows.append(windowState);
- }
- for (int i = 0; i < windows.count(); ++i) {
- BrowserMainWindow *newWindow = 0;
- if (m_mainWindows.count() == 1
- && mainWindow()->tabWidget()->count() == 1
- && mainWindow()->currentTab()->url() == QUrl()) {
- newWindow = mainWindow();
- } else {
- newWindow = newMainWindow();
- }
- newWindow->restoreState(windows.at(i));
- }
-}
-
-bool BrowserApplication::isTheOnlyBrowser() const
-{
- return (m_localServer != 0);
-}
-
-void BrowserApplication::installTranslator(const QString &name)
-{
- QTranslator *translator = new QTranslator(this);
- translator->load(name, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
- QApplication::installTranslator(translator);
-}
-
-#if defined(Q_WS_MAC)
-bool BrowserApplication::event(QEvent* event)
-{
- switch (event->type()) {
- case QEvent::ApplicationActivate: {
- clean();
- if (!m_mainWindows.isEmpty()) {
- BrowserMainWindow *mw = mainWindow();
- if (mw && !mw->isMinimized()) {
- mainWindow()->show();
- }
- return true;
- }
- }
- case QEvent::FileOpen:
- if (!m_mainWindows.isEmpty()) {
- mainWindow()->loadPage(static_cast<QFileOpenEvent *>(event)->file());
- return true;
- }
- default:
- break;
- }
- return QApplication::event(event);
-}
-#endif
-
-void BrowserApplication::openUrl(const QUrl &url)
-{
- mainWindow()->loadPage(url.toString());
-}
-
-BrowserMainWindow *BrowserApplication::newMainWindow()
-{
- BrowserMainWindow *browser = new BrowserMainWindow();
- m_mainWindows.prepend(browser);
- browser->show();
- return browser;
-}
-
-BrowserMainWindow *BrowserApplication::mainWindow()
-{
- clean();
- if (m_mainWindows.isEmpty())
- newMainWindow();
- return m_mainWindows[0];
-}
-
-void BrowserApplication::newLocalSocketConnection()
-{
- QLocalSocket *socket = m_localServer->nextPendingConnection();
- if (!socket)
- return;
- socket->waitForReadyRead(1000);
- QTextStream stream(socket);
- QString url;
- stream >> url;
- if (!url.isEmpty()) {
- QSettings settings;
- settings.beginGroup(QLatin1String("general"));
- int openLinksIn = settings.value(QLatin1String("openLinksIn"), 0).toInt();
- settings.endGroup();
- if (openLinksIn == 1)
- newMainWindow();
- else
- mainWindow()->tabWidget()->newTab();
- openUrl(url);
- }
- delete socket;
- mainWindow()->raise();
- mainWindow()->activateWindow();
-}
-
-CookieJar *BrowserApplication::cookieJar()
-{
- return (CookieJar*)networkAccessManager()->cookieJar();
-}
-
-DownloadManager *BrowserApplication::downloadManager()
-{
- if (!s_downloadManager) {
- s_downloadManager = new DownloadManager();
- }
- return s_downloadManager;
-}
-
-NetworkAccessManager *BrowserApplication::networkAccessManager()
-{
- if (!s_networkAccessManager) {
- s_networkAccessManager = new NetworkAccessManager();
- s_networkAccessManager->setCookieJar(new CookieJar);
- }
- return s_networkAccessManager;
-}
-
-HistoryManager *BrowserApplication::historyManager()
-{
- if (!s_historyManager) {
- s_historyManager = new HistoryManager();
- QWebHistoryInterface::setDefaultInterface(s_historyManager);
- }
- return s_historyManager;
-}
-
-BookmarksManager *BrowserApplication::bookmarksManager()
-{
- if (!s_bookmarksManager) {
- s_bookmarksManager = new BookmarksManager;
- }
- return s_bookmarksManager;
-}
-
-QIcon BrowserApplication::icon(const QUrl &url) const
-{
- QIcon icon = QWebSettings::iconForUrl(url);
- if (!icon.isNull())
- return icon.pixmap(16, 16);
- if (m_defaultIcon.isNull())
- m_defaultIcon = QIcon(QLatin1String(":defaulticon.png"));
- return m_defaultIcon.pixmap(16, 16);
-}
-
diff --git a/examples/gestures/browser/browserapplication.h b/examples/gestures/browser/browserapplication.h
deleted file mode 100644
index db83a85..0000000
--- a/examples/gestures/browser/browserapplication.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BROWSERAPPLICATION_H
-#define BROWSERAPPLICATION_H
-
-#include <QtGui/QApplication>
-
-#include <QtCore/QUrl>
-#include <QtCore/QPointer>
-
-#include <QtGui/QIcon>
-
-QT_BEGIN_NAMESPACE
-class QLocalServer;
-QT_END_NAMESPACE
-
-class BookmarksManager;
-class BrowserMainWindow;
-class CookieJar;
-class DownloadManager;
-class HistoryManager;
-class NetworkAccessManager;
-class BrowserApplication : public QApplication
-{
- Q_OBJECT
-
-public:
- BrowserApplication(int &argc, char **argv);
- ~BrowserApplication();
- static BrowserApplication *instance();
- void loadSettings();
-
- bool isTheOnlyBrowser() const;
- BrowserMainWindow *mainWindow();
- QList<BrowserMainWindow*> mainWindows();
- QIcon icon(const QUrl &url) const;
-
- void saveSession();
- bool canRestoreSession() const;
-
- static HistoryManager *historyManager();
- static CookieJar *cookieJar();
- static DownloadManager *downloadManager();
- static NetworkAccessManager *networkAccessManager();
- static BookmarksManager *bookmarksManager();
-
-#if defined(Q_WS_MAC)
- bool event(QEvent *event);
-#endif
-
-public slots:
- BrowserMainWindow *newMainWindow();
- void restoreLastSession();
-#if defined(Q_WS_MAC)
- void lastWindowClosed();
- void quitBrowser();
-#endif
-
-private slots:
- void postLaunch();
- void openUrl(const QUrl &url);
- void newLocalSocketConnection();
-
-private:
- void clean();
- void installTranslator(const QString &name);
-
- static HistoryManager *s_historyManager;
- static DownloadManager *s_downloadManager;
- static NetworkAccessManager *s_networkAccessManager;
- static BookmarksManager *s_bookmarksManager;
-
- QList<QPointer<BrowserMainWindow> > m_mainWindows;
- QLocalServer *m_localServer;
- QByteArray m_lastSession;
- mutable QIcon m_defaultIcon;
-};
-
-#endif // BROWSERAPPLICATION_H
-
diff --git a/examples/gestures/browser/browsermainwindow.cpp b/examples/gestures/browser/browsermainwindow.cpp
deleted file mode 100644
index c6fe82d..0000000
--- a/examples/gestures/browser/browsermainwindow.cpp
+++ /dev/null
@@ -1,991 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browsermainwindow.h"
-
-#include "autosaver.h"
-#include "bookmarks.h"
-#include "browserapplication.h"
-#include "chasewidget.h"
-#include "downloadmanager.h"
-#include "history.h"
-#include "settings.h"
-#include "tabwidget.h"
-#include "toolbarsearch.h"
-#include "ui_passworddialog.h"
-#include "webview.h"
-
-#include <QtCore/QSettings>
-
-#include <QtGui/QDesktopWidget>
-#include <QtGui/QFileDialog>
-#include <QtGui/QPlainTextEdit>
-#include <QtGui/QPrintDialog>
-#include <QtGui/QPrintPreviewDialog>
-#include <QtGui/QPrinter>
-#include <QtGui/QMenuBar>
-#include <QtGui/QMessageBox>
-#include <QtGui/QStatusBar>
-#include <QtGui/QToolBar>
-#include <QtGui/QInputDialog>
-
-#include <QtWebKit/QWebFrame>
-#include <QtWebKit/QWebHistory>
-
-#include <QtCore/QDebug>
-
-BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
- : QMainWindow(parent, flags)
- , m_tabWidget(new TabWidget(this))
- , m_autoSaver(new AutoSaver(this))
- , m_historyBack(0)
- , m_historyForward(0)
- , m_stop(0)
- , m_reload(0)
-{
- setAttribute(Qt::WA_DeleteOnClose, true);
- statusBar()->setSizeGripEnabled(true);
- setupMenu();
- setupToolBar();
-
- QWidget *centralWidget = new QWidget(this);
- BookmarksModel *boomarksModel = BrowserApplication::bookmarksManager()->bookmarksModel();
- m_bookmarksToolbar = new BookmarksToolBar(boomarksModel, this);
- connect(m_bookmarksToolbar, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(m_bookmarksToolbar->toggleViewAction(), SIGNAL(toggled(bool)),
- this, SLOT(updateBookmarksToolbarActionText(bool)));
-
- QVBoxLayout *layout = new QVBoxLayout;
- layout->setSpacing(0);
- layout->setMargin(0);
-#if defined(Q_WS_MAC)
- layout->addWidget(m_bookmarksToolbar);
- layout->addWidget(new QWidget); // <- OS X tab widget style bug
-#else
- addToolBarBreak();
- addToolBar(m_bookmarksToolbar);
-#endif
- layout->addWidget(m_tabWidget);
- centralWidget->setLayout(layout);
- setCentralWidget(centralWidget);
-
- connect(m_tabWidget, SIGNAL(loadPage(const QString &)),
- this, SLOT(loadPage(const QString &)));
- connect(m_tabWidget, SIGNAL(setCurrentTitle(const QString &)),
- this, SLOT(slotUpdateWindowTitle(const QString &)));
- connect(m_tabWidget, SIGNAL(showStatusBarMessage(const QString&)),
- statusBar(), SLOT(showMessage(const QString&)));
- connect(m_tabWidget, SIGNAL(linkHovered(const QString&)),
- statusBar(), SLOT(showMessage(const QString&)));
- connect(m_tabWidget, SIGNAL(loadProgress(int)),
- this, SLOT(slotLoadProgress(int)));
- connect(m_tabWidget, SIGNAL(tabsChanged()),
- m_autoSaver, SLOT(changeOccurred()));
- connect(m_tabWidget, SIGNAL(geometryChangeRequested(const QRect &)),
- this, SLOT(geometryChangeRequested(const QRect &)));
- connect(m_tabWidget, SIGNAL(printRequested(QWebFrame *)),
- this, SLOT(printRequested(QWebFrame *)));
- connect(m_tabWidget, SIGNAL(menuBarVisibilityChangeRequested(bool)),
- menuBar(), SLOT(setVisible(bool)));
- connect(m_tabWidget, SIGNAL(statusBarVisibilityChangeRequested(bool)),
- statusBar(), SLOT(setVisible(bool)));
- connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)),
- m_navigationBar, SLOT(setVisible(bool)));
- connect(m_tabWidget, SIGNAL(toolBarVisibilityChangeRequested(bool)),
- m_bookmarksToolbar, SLOT(setVisible(bool)));
-#if defined(Q_WS_MAC)
- connect(m_tabWidget, SIGNAL(lastTabClosed()),
- this, SLOT(close()));
-#else
- connect(m_tabWidget, SIGNAL(lastTabClosed()),
- m_tabWidget, SLOT(newTab()));
-#endif
-
- slotUpdateWindowTitle();
- loadDefaultState();
- m_tabWidget->newTab();
-
- int size = m_tabWidget->lineEditStack()->sizeHint().height();
- m_navigationBar->setIconSize(QSize(size, size));
-
-}
-
-BrowserMainWindow::~BrowserMainWindow()
-{
- m_autoSaver->changeOccurred();
- m_autoSaver->saveIfNeccessary();
-}
-
-void BrowserMainWindow::loadDefaultState()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("BrowserMainWindow"));
- QByteArray data = settings.value(QLatin1String("defaultState")).toByteArray();
- restoreState(data);
- settings.endGroup();
-}
-
-QSize BrowserMainWindow::sizeHint() const
-{
- QRect desktopRect = QApplication::desktop()->screenGeometry();
- QSize size = desktopRect.size() * qreal(0.9);
- return size;
-}
-
-void BrowserMainWindow::save()
-{
- BrowserApplication::instance()->saveSession();
-
- QSettings settings;
- settings.beginGroup(QLatin1String("BrowserMainWindow"));
- QByteArray data = saveState(false);
- settings.setValue(QLatin1String("defaultState"), data);
- settings.endGroup();
-}
-
-static const qint32 BrowserMainWindowMagic = 0xba;
-
-QByteArray BrowserMainWindow::saveState(bool withTabs) const
-{
- int version = 2;
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
-
- stream << qint32(BrowserMainWindowMagic);
- stream << qint32(version);
-
- stream << size();
- stream << !m_navigationBar->isHidden();
- stream << !m_bookmarksToolbar->isHidden();
- stream << !statusBar()->isHidden();
- if (withTabs)
- stream << tabWidget()->saveState();
- else
- stream << QByteArray();
- return data;
-}
-
-bool BrowserMainWindow::restoreState(const QByteArray &state)
-{
- int version = 2;
- QByteArray sd = state;
- QDataStream stream(&sd, QIODevice::ReadOnly);
- if (stream.atEnd())
- return false;
-
- qint32 marker;
- qint32 v;
- stream >> marker;
- stream >> v;
- if (marker != BrowserMainWindowMagic || v != version)
- return false;
-
- QSize size;
- bool showToolbar;
- bool showBookmarksBar;
- bool showStatusbar;
- QByteArray tabState;
-
- stream >> size;
- stream >> showToolbar;
- stream >> showBookmarksBar;
- stream >> showStatusbar;
- stream >> tabState;
-
- resize(size);
-
- m_navigationBar->setVisible(showToolbar);
- updateToolbarActionText(showToolbar);
-
- m_bookmarksToolbar->setVisible(showBookmarksBar);
- updateBookmarksToolbarActionText(showBookmarksBar);
-
- statusBar()->setVisible(showStatusbar);
- updateStatusbarActionText(showStatusbar);
-
- if (!tabWidget()->restoreState(tabState))
- return false;
-
- return true;
-}
-
-void BrowserMainWindow::setupMenu()
-{
- new QShortcut(QKeySequence(Qt::Key_F6), this, SLOT(slotSwapFocus()));
-
- // File
- QMenu *fileMenu = menuBar()->addMenu(tr("&File"));
-
- fileMenu->addAction(tr("&New Window"), this, SLOT(slotFileNew()), QKeySequence::New);
- fileMenu->addAction(m_tabWidget->newTabAction());
- fileMenu->addAction(tr("&Open File..."), this, SLOT(slotFileOpen()), QKeySequence::Open);
- fileMenu->addAction(tr("Open &Location..."), this,
- SLOT(slotSelectLineEdit()), QKeySequence(Qt::ControlModifier + Qt::Key_L));
- fileMenu->addSeparator();
- fileMenu->addAction(m_tabWidget->closeTabAction());
- fileMenu->addSeparator();
- fileMenu->addAction(tr("&Save As..."), this,
- SLOT(slotFileSaveAs()), QKeySequence(QKeySequence::Save));
- fileMenu->addSeparator();
- BookmarksManager *bookmarksManager = BrowserApplication::bookmarksManager();
- fileMenu->addAction(tr("&Import Bookmarks..."), bookmarksManager, SLOT(importBookmarks()));
- fileMenu->addAction(tr("&Export Bookmarks..."), bookmarksManager, SLOT(exportBookmarks()));
- fileMenu->addSeparator();
- fileMenu->addAction(tr("P&rint Preview..."), this, SLOT(slotFilePrintPreview()));
- fileMenu->addAction(tr("&Print..."), this, SLOT(slotFilePrint()), QKeySequence::Print);
- fileMenu->addSeparator();
- QAction *action = fileMenu->addAction(tr("Private &Browsing..."), this, SLOT(slotPrivateBrowsing()));
- action->setCheckable(true);
- fileMenu->addSeparator();
-
-#if defined(Q_WS_MAC)
- fileMenu->addAction(tr("&Quit"), BrowserApplication::instance(), SLOT(quitBrowser()), QKeySequence(Qt::CTRL | Qt::Key_Q));
-#else
- fileMenu->addAction(tr("&Quit"), this, SLOT(close()), QKeySequence(Qt::CTRL | Qt::Key_Q));
-#endif
-
- // Edit
- QMenu *editMenu = menuBar()->addMenu(tr("&Edit"));
- QAction *m_undo = editMenu->addAction(tr("&Undo"));
- m_undo->setShortcuts(QKeySequence::Undo);
- m_tabWidget->addWebAction(m_undo, QWebPage::Undo);
- QAction *m_redo = editMenu->addAction(tr("&Redo"));
- m_redo->setShortcuts(QKeySequence::Redo);
- m_tabWidget->addWebAction(m_redo, QWebPage::Redo);
- editMenu->addSeparator();
- QAction *m_cut = editMenu->addAction(tr("Cu&t"));
- m_cut->setShortcuts(QKeySequence::Cut);
- m_tabWidget->addWebAction(m_cut, QWebPage::Cut);
- QAction *m_copy = editMenu->addAction(tr("&Copy"));
- m_copy->setShortcuts(QKeySequence::Copy);
- m_tabWidget->addWebAction(m_copy, QWebPage::Copy);
- QAction *m_paste = editMenu->addAction(tr("&Paste"));
- m_paste->setShortcuts(QKeySequence::Paste);
- m_tabWidget->addWebAction(m_paste, QWebPage::Paste);
- editMenu->addSeparator();
-
- QAction *m_find = editMenu->addAction(tr("&Find"));
- m_find->setShortcuts(QKeySequence::Find);
- connect(m_find, SIGNAL(triggered()), this, SLOT(slotEditFind()));
- new QShortcut(QKeySequence(Qt::Key_Slash), this, SLOT(slotEditFind()));
-
- QAction *m_findNext = editMenu->addAction(tr("&Find Next"));
- m_findNext->setShortcuts(QKeySequence::FindNext);
- connect(m_findNext, SIGNAL(triggered()), this, SLOT(slotEditFindNext()));
-
- QAction *m_findPrevious = editMenu->addAction(tr("&Find Previous"));
- m_findPrevious->setShortcuts(QKeySequence::FindPrevious);
- connect(m_findPrevious, SIGNAL(triggered()), this, SLOT(slotEditFindPrevious()));
-
- editMenu->addSeparator();
- editMenu->addAction(tr("&Preferences"), this, SLOT(slotPreferences()), tr("Ctrl+,"));
-
- // View
- QMenu *viewMenu = menuBar()->addMenu(tr("&View"));
-
- m_viewBookmarkBar = new QAction(this);
- updateBookmarksToolbarActionText(true);
- m_viewBookmarkBar->setShortcut(tr("Shift+Ctrl+B"));
- connect(m_viewBookmarkBar, SIGNAL(triggered()), this, SLOT(slotViewBookmarksBar()));
- viewMenu->addAction(m_viewBookmarkBar);
-
- m_viewToolbar = new QAction(this);
- updateToolbarActionText(true);
- m_viewToolbar->setShortcut(tr("Ctrl+|"));
- connect(m_viewToolbar, SIGNAL(triggered()), this, SLOT(slotViewToolbar()));
- viewMenu->addAction(m_viewToolbar);
-
- m_viewStatusbar = new QAction(this);
- updateStatusbarActionText(true);
- m_viewStatusbar->setShortcut(tr("Ctrl+/"));
- connect(m_viewStatusbar, SIGNAL(triggered()), this, SLOT(slotViewStatusbar()));
- viewMenu->addAction(m_viewStatusbar);
-
- viewMenu->addSeparator();
-
- m_stop = viewMenu->addAction(tr("&Stop"));
- QList<QKeySequence> shortcuts;
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Period));
- shortcuts.append(Qt::Key_Escape);
- m_stop->setShortcuts(shortcuts);
- m_tabWidget->addWebAction(m_stop, QWebPage::Stop);
-
- m_reload = viewMenu->addAction(tr("Reload Page"));
- m_reload->setShortcuts(QKeySequence::Refresh);
- m_tabWidget->addWebAction(m_reload, QWebPage::Reload);
-
- viewMenu->addAction(tr("Zoom &In"), this, SLOT(slotViewZoomIn()), QKeySequence(Qt::CTRL | Qt::Key_Plus));
- viewMenu->addAction(tr("Zoom &Out"), this, SLOT(slotViewZoomOut()), QKeySequence(Qt::CTRL | Qt::Key_Minus));
- viewMenu->addAction(tr("Reset &Zoom"), this, SLOT(slotViewResetZoom()), QKeySequence(Qt::CTRL | Qt::Key_0));
- QAction *zoomTextOnlyAction = viewMenu->addAction(tr("Zoom &Text Only"));
- connect(zoomTextOnlyAction, SIGNAL(toggled(bool)), this, SLOT(slotViewZoomTextOnly(bool)));
- zoomTextOnlyAction->setCheckable(true);
- zoomTextOnlyAction->setChecked(false);
-
- viewMenu->addSeparator();
- viewMenu->addAction(tr("Page S&ource"), this, SLOT(slotViewPageSource()), tr("Ctrl+Alt+U"));
- QAction *a = viewMenu->addAction(tr("&Full Screen"), this, SLOT(slotViewFullScreen(bool)), Qt::Key_F11);
- a->setCheckable(true);
-
- // History
- HistoryMenu *historyMenu = new HistoryMenu(this);
- connect(historyMenu, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(historyMenu, SIGNAL(hovered(const QString&)), this,
- SLOT(slotUpdateStatusbar(const QString&)));
- historyMenu->setTitle(tr("Hi&story"));
- menuBar()->addMenu(historyMenu);
- QList<QAction*> historyActions;
-
- m_historyBack = new QAction(tr("Back"), this);
- m_tabWidget->addWebAction(m_historyBack, QWebPage::Back);
- m_historyBack->setShortcuts(QKeySequence::Back);
- m_historyBack->setIconVisibleInMenu(false);
-
- m_historyForward = new QAction(tr("Forward"), this);
- m_tabWidget->addWebAction(m_historyForward, QWebPage::Forward);
- m_historyForward->setShortcuts(QKeySequence::Forward);
- m_historyForward->setIconVisibleInMenu(false);
-
- QAction *m_historyHome = new QAction(tr("Home"), this);
- connect(m_historyHome, SIGNAL(triggered()), this, SLOT(slotHome()));
- m_historyHome->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_H));
-
- m_restoreLastSession = new QAction(tr("Restore Last Session"), this);
- connect(m_restoreLastSession, SIGNAL(triggered()), BrowserApplication::instance(), SLOT(restoreLastSession()));
- m_restoreLastSession->setEnabled(BrowserApplication::instance()->canRestoreSession());
-
- historyActions.append(m_historyBack);
- historyActions.append(m_historyForward);
- historyActions.append(m_historyHome);
- historyActions.append(m_tabWidget->recentlyClosedTabsAction());
- historyActions.append(m_restoreLastSession);
- historyMenu->setInitialActions(historyActions);
-
- // Bookmarks
- BookmarksMenu *bookmarksMenu = new BookmarksMenu(this);
- connect(bookmarksMenu, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- connect(bookmarksMenu, SIGNAL(hovered(const QString&)),
- this, SLOT(slotUpdateStatusbar(const QString&)));
- bookmarksMenu->setTitle(tr("&Bookmarks"));
- menuBar()->addMenu(bookmarksMenu);
-
- QList<QAction*> bookmarksActions;
-
- QAction *showAllBookmarksAction = new QAction(tr("Show All Bookmarks"), this);
- connect(showAllBookmarksAction, SIGNAL(triggered()), this, SLOT(slotShowBookmarksDialog()));
- m_addBookmark = new QAction(QIcon(QLatin1String(":addbookmark.png")), tr("Add Bookmark..."), this);
- m_addBookmark->setIconVisibleInMenu(false);
-
- connect(m_addBookmark, SIGNAL(triggered()), this, SLOT(slotAddBookmark()));
- m_addBookmark->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_D));
-
- bookmarksActions.append(showAllBookmarksAction);
- bookmarksActions.append(m_addBookmark);
- bookmarksMenu->setInitialActions(bookmarksActions);
-
- // Window
- m_windowMenu = menuBar()->addMenu(tr("&Window"));
- connect(m_windowMenu, SIGNAL(aboutToShow()),
- this, SLOT(slotAboutToShowWindowMenu()));
- slotAboutToShowWindowMenu();
-
- QMenu *toolsMenu = menuBar()->addMenu(tr("&Tools"));
- toolsMenu->addAction(tr("Web &Search"), this, SLOT(slotWebSearch()), QKeySequence(tr("Ctrl+K", "Web Search")));
-#ifndef Q_CC_MINGW
- a = toolsMenu->addAction(tr("Enable Web &Inspector"), this, SLOT(slotToggleInspector(bool)));
- a->setCheckable(true);
-#endif
-
- QMenu *helpMenu = menuBar()->addMenu(tr("&Help"));
- helpMenu->addAction(tr("About &Qt"), qApp, SLOT(aboutQt()));
- helpMenu->addAction(tr("About &Demo Browser"), this, SLOT(slotAboutApplication()));
-}
-
-void BrowserMainWindow::setupToolBar()
-{
- setUnifiedTitleAndToolBarOnMac(true);
- m_navigationBar = addToolBar(tr("Navigation"));
- connect(m_navigationBar->toggleViewAction(), SIGNAL(toggled(bool)),
- this, SLOT(updateToolbarActionText(bool)));
-
- m_historyBack->setIcon(style()->standardIcon(QStyle::SP_ArrowBack, 0, this));
- m_historyBackMenu = new QMenu(this);
- m_historyBack->setMenu(m_historyBackMenu);
- connect(m_historyBackMenu, SIGNAL(aboutToShow()),
- this, SLOT(slotAboutToShowBackMenu()));
- connect(m_historyBackMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(slotOpenActionUrl(QAction *)));
- m_navigationBar->addAction(m_historyBack);
-
- m_historyForward->setIcon(style()->standardIcon(QStyle::SP_ArrowForward, 0, this));
- m_historyForwardMenu = new QMenu(this);
- connect(m_historyForwardMenu, SIGNAL(aboutToShow()),
- this, SLOT(slotAboutToShowForwardMenu()));
- connect(m_historyForwardMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(slotOpenActionUrl(QAction *)));
- m_historyForward->setMenu(m_historyForwardMenu);
- m_navigationBar->addAction(m_historyForward);
-
- m_stopReload = new QAction(this);
- m_reloadIcon = style()->standardIcon(QStyle::SP_BrowserReload);
- m_stopReload->setIcon(m_reloadIcon);
-
- m_navigationBar->addAction(m_stopReload);
-
- m_navigationBar->addWidget(m_tabWidget->lineEditStack());
-
- m_toolbarSearch = new ToolbarSearch(m_navigationBar);
- m_navigationBar->addWidget(m_toolbarSearch);
- connect(m_toolbarSearch, SIGNAL(search(const QUrl&)), SLOT(loadUrl(const QUrl&)));
-
- m_chaseWidget = new ChaseWidget(this);
- m_navigationBar->addWidget(m_chaseWidget);
-}
-
-void BrowserMainWindow::slotShowBookmarksDialog()
-{
- BookmarksDialog *dialog = new BookmarksDialog(this);
- connect(dialog, SIGNAL(openUrl(const QUrl&)),
- m_tabWidget, SLOT(loadUrlInCurrentTab(const QUrl&)));
- dialog->show();
-}
-
-void BrowserMainWindow::slotAddBookmark()
-{
- WebView *webView = currentTab();
- QString url = webView->url().toString();
- QString title = webView->title();
- AddBookmarkDialog dialog(url, title);
- dialog.exec();
-}
-
-void BrowserMainWindow::slotViewToolbar()
-{
- if (m_navigationBar->isVisible()) {
- updateToolbarActionText(false);
- m_navigationBar->close();
- } else {
- updateToolbarActionText(true);
- m_navigationBar->show();
- }
- m_autoSaver->changeOccurred();
-}
-
-void BrowserMainWindow::slotViewBookmarksBar()
-{
- if (m_bookmarksToolbar->isVisible()) {
- updateBookmarksToolbarActionText(false);
- m_bookmarksToolbar->close();
- } else {
- updateBookmarksToolbarActionText(true);
- m_bookmarksToolbar->show();
- }
- m_autoSaver->changeOccurred();
-}
-
-void BrowserMainWindow::updateStatusbarActionText(bool visible)
-{
- m_viewStatusbar->setText(!visible ? tr("Show Status Bar") : tr("Hide Status Bar"));
-}
-
-void BrowserMainWindow::updateToolbarActionText(bool visible)
-{
- m_viewToolbar->setText(!visible ? tr("Show Toolbar") : tr("Hide Toolbar"));
-}
-
-void BrowserMainWindow::updateBookmarksToolbarActionText(bool visible)
-{
- m_viewBookmarkBar->setText(!visible ? tr("Show Bookmarks bar") : tr("Hide Bookmarks bar"));
-}
-
-void BrowserMainWindow::slotViewStatusbar()
-{
- if (statusBar()->isVisible()) {
- updateStatusbarActionText(false);
- statusBar()->close();
- } else {
- updateStatusbarActionText(true);
- statusBar()->show();
- }
- m_autoSaver->changeOccurred();
-}
-
-QUrl BrowserMainWindow::guessUrlFromString(const QString &string)
-{
- QString urlStr = string.trimmed();
- QRegExp test(QLatin1String("^[a-zA-Z]+\\:.*"));
-
- // Check if it looks like a qualified URL. Try parsing it and see.
- bool hasSchema = test.exactMatch(urlStr);
- if (hasSchema) {
- QUrl url = QUrl::fromEncoded(urlStr.toUtf8(), QUrl::TolerantMode);
- if (url.isValid())
- return url;
- }
-
- // Might be a file.
- if (QFile::exists(urlStr)) {
- QFileInfo info(urlStr);
- return QUrl::fromLocalFile(info.absoluteFilePath());
- }
-
- // Might be a shorturl - try to detect the schema.
- if (!hasSchema) {
- int dotIndex = urlStr.indexOf(QLatin1Char('.'));
- if (dotIndex != -1) {
- QString prefix = urlStr.left(dotIndex).toLower();
- QByteArray schema = (prefix == QLatin1String("ftp")) ? prefix.toLatin1() : "http";
- QUrl url =
- QUrl::fromEncoded(schema + "://" + urlStr.toUtf8(), QUrl::TolerantMode);
- if (url.isValid())
- return url;
- }
- }
-
- // Fall back to QUrl's own tolerant parser.
- QUrl url = QUrl::fromEncoded(string.toUtf8(), QUrl::TolerantMode);
-
- // finally for cases where the user just types in a hostname add http
- if (url.scheme().isEmpty())
- url = QUrl::fromEncoded("http://" + string.toUtf8(), QUrl::TolerantMode);
- return url;
-}
-
-void BrowserMainWindow::loadUrl(const QUrl &url)
-{
- if (!currentTab() || !url.isValid())
- return;
-
- m_tabWidget->currentLineEdit()->setText(QString::fromUtf8(url.toEncoded()));
- m_tabWidget->loadUrlInCurrentTab(url);
-}
-
-void BrowserMainWindow::slotDownloadManager()
-{
- BrowserApplication::downloadManager()->show();
-}
-
-void BrowserMainWindow::slotSelectLineEdit()
-{
- m_tabWidget->currentLineEdit()->selectAll();
- m_tabWidget->currentLineEdit()->setFocus();
-}
-
-void BrowserMainWindow::slotFileSaveAs()
-{
- BrowserApplication::downloadManager()->download(currentTab()->url(), true);
-}
-
-void BrowserMainWindow::slotPreferences()
-{
- SettingsDialog *s = new SettingsDialog(this);
- s->show();
-}
-
-void BrowserMainWindow::slotUpdateStatusbar(const QString &string)
-{
- statusBar()->showMessage(string, 2000);
-}
-
-void BrowserMainWindow::slotUpdateWindowTitle(const QString &title)
-{
- if (title.isEmpty()) {
- setWindowTitle(tr("Qt Demo Browser"));
- } else {
-#if defined(Q_WS_MAC)
- setWindowTitle(title);
-#else
- setWindowTitle(tr("%1 - Qt Demo Browser", "Page title and Browser name").arg(title));
-#endif
- }
-}
-
-void BrowserMainWindow::slotAboutApplication()
-{
- QMessageBox::about(this, tr("About"), tr(
- "Version %1"
- "<p>This demo demonstrates Qt's "
- "webkit facilities in action, providing an example "
- "browser for you to experiment with.<p>"
- "<p>QtWebKit is based on the Open Source WebKit Project developed at <a href=\"http://webkit.org/\">http://webkit.org/</a>."
- ).arg(QCoreApplication::applicationVersion()));
-}
-
-void BrowserMainWindow::slotFileNew()
-{
- BrowserApplication::instance()->newMainWindow();
- BrowserMainWindow *mw = BrowserApplication::instance()->mainWindow();
- mw->slotHome();
-}
-
-void BrowserMainWindow::slotFileOpen()
-{
- QString file = QFileDialog::getOpenFileName(this, tr("Open Web Resource"), QString(),
- tr("Web Resources (*.html *.htm *.svg *.png *.gif *.svgz);;All files (*.*)"));
-
- if (file.isEmpty())
- return;
-
- loadPage(file);
-}
-
-void BrowserMainWindow::slotFilePrintPreview()
-{
-#ifndef QT_NO_PRINTER
- if (!currentTab())
- return;
- QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this);
- connect(dialog, SIGNAL(paintRequested(QPrinter *)),
- currentTab(), SLOT(print(QPrinter *)));
- dialog->exec();
-#endif
-}
-
-void BrowserMainWindow::slotFilePrint()
-{
- if (!currentTab())
- return;
- printRequested(currentTab()->page()->mainFrame());
-}
-
-void BrowserMainWindow::printRequested(QWebFrame *frame)
-{
-#ifndef QT_NO_PRINTER
- QPrinter printer;
- QPrintDialog *dialog = new QPrintDialog(&printer, this);
- dialog->setWindowTitle(tr("Print Document"));
- if (dialog->exec() != QDialog::Accepted)
- return;
- frame->print(&printer);
-#endif
-}
-
-void BrowserMainWindow::slotPrivateBrowsing()
-{
- QWebSettings *settings = QWebSettings::globalSettings();
- bool pb = settings->testAttribute(QWebSettings::PrivateBrowsingEnabled);
- if (!pb) {
- QString title = tr("Are you sure you want to turn on private browsing?");
- QString text = tr("<b>%1</b><br><br>When private browsing in turned on,"
- " webpages are not added to the history,"
- " items are automatically removed from the Downloads window," \
- " new cookies are not stored, current cookies can't be accessed," \
- " site icons wont be stored, session wont be saved, " \
- " and searches are not addded to the pop-up menu in the Google search box." \
- " Until you close the window, you can still click the Back and Forward buttons" \
- " to return to the webpages you have opened.").arg(title);
-
- QMessageBox::StandardButton button = QMessageBox::question(this, QString(), text,
- QMessageBox::Ok | QMessageBox::Cancel,
- QMessageBox::Ok);
- if (button == QMessageBox::Ok) {
- settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
- }
- } else {
- settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, false);
-
- QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows();
- for (int i = 0; i < windows.count(); ++i) {
- BrowserMainWindow *window = windows.at(i);
- window->m_lastSearch = QString::null;
- window->tabWidget()->clear();
- }
- }
-}
-
-void BrowserMainWindow::closeEvent(QCloseEvent *event)
-{
- if (m_tabWidget->count() > 1) {
- int ret = QMessageBox::warning(this, QString(),
- tr("Are you sure you want to close the window?"
- " There are %1 tab open").arg(m_tabWidget->count()),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (ret == QMessageBox::No) {
- event->ignore();
- return;
- }
- }
- event->accept();
- deleteLater();
-}
-
-void BrowserMainWindow::slotEditFind()
-{
- if (!currentTab())
- return;
- bool ok;
- QString search = QInputDialog::getText(this, tr("Find"),
- tr("Text:"), QLineEdit::Normal,
- m_lastSearch, &ok);
- if (ok && !search.isEmpty()) {
- m_lastSearch = search;
- if (!currentTab()->findText(m_lastSearch))
- slotUpdateStatusbar(tr("\"%1\" not found.").arg(m_lastSearch));
- }
-}
-
-void BrowserMainWindow::slotEditFindNext()
-{
- if (!currentTab() && !m_lastSearch.isEmpty())
- return;
- currentTab()->findText(m_lastSearch);
-}
-
-void BrowserMainWindow::slotEditFindPrevious()
-{
- if (!currentTab() && !m_lastSearch.isEmpty())
- return;
- currentTab()->findText(m_lastSearch, QWebPage::FindBackward);
-}
-
-void BrowserMainWindow::slotViewZoomIn()
-{
- if (!currentTab())
- return;
- currentTab()->setZoomFactor(currentTab()->zoomFactor() + 0.1);
-}
-
-void BrowserMainWindow::slotViewZoomOut()
-{
- if (!currentTab())
- return;
- currentTab()->setZoomFactor(currentTab()->zoomFactor() - 0.1);
-}
-
-void BrowserMainWindow::slotViewResetZoom()
-{
- if (!currentTab())
- return;
- currentTab()->setZoomFactor(1.0);
-}
-
-void BrowserMainWindow::slotViewZoomTextOnly(bool enable)
-{
- if (!currentTab())
- return;
- currentTab()->page()->settings()->setAttribute(QWebSettings::ZoomTextOnly, enable);
-}
-
-void BrowserMainWindow::slotViewFullScreen(bool makeFullScreen)
-{
- if (makeFullScreen) {
- showFullScreen();
- } else {
- if (isMinimized())
- showMinimized();
- else if (isMaximized())
- showMaximized();
- else showNormal();
- }
-}
-
-void BrowserMainWindow::slotViewPageSource()
-{
- if (!currentTab())
- return;
-
- QString markup = currentTab()->page()->mainFrame()->toHtml();
- QPlainTextEdit *view = new QPlainTextEdit(markup);
- view->setWindowTitle(tr("Page Source of %1").arg(currentTab()->title()));
- view->setMinimumWidth(640);
- view->setAttribute(Qt::WA_DeleteOnClose);
- view->show();
-}
-
-void BrowserMainWindow::slotHome()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("MainWindow"));
- QString home = settings.value(QLatin1String("home"), QLatin1String("http://qtsoftware.com/")).toString();
- loadPage(home);
-}
-
-void BrowserMainWindow::slotWebSearch()
-{
- m_toolbarSearch->lineEdit()->selectAll();
- m_toolbarSearch->lineEdit()->setFocus();
-}
-
-void BrowserMainWindow::slotToggleInspector(bool enable)
-{
- QWebSettings::globalSettings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, enable);
- if (enable) {
- int result = QMessageBox::question(this, tr("Web Inspector"),
- tr("The web inspector will only work correctly for pages that were loaded after enabling.\n"
- "Do you want to reload all pages?"),
- QMessageBox::Yes | QMessageBox::No);
- if (result == QMessageBox::Yes) {
- m_tabWidget->reloadAllTabs();
- }
- }
-}
-
-void BrowserMainWindow::slotSwapFocus()
-{
- if (currentTab()->hasFocus())
- m_tabWidget->currentLineEdit()->setFocus();
- else
- currentTab()->setFocus();
-}
-
-void BrowserMainWindow::loadPage(const QString &page)
-{
- QUrl url = guessUrlFromString(page);
- loadUrl(url);
-}
-
-TabWidget *BrowserMainWindow::tabWidget() const
-{
- return m_tabWidget;
-}
-
-WebView *BrowserMainWindow::currentTab() const
-{
- return m_tabWidget->currentWebView();
-}
-
-void BrowserMainWindow::slotLoadProgress(int progress)
-{
- if (progress < 100 && progress > 0) {
- m_chaseWidget->setAnimated(true);
- disconnect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger()));
- if (m_stopIcon.isNull())
- m_stopIcon = style()->standardIcon(QStyle::SP_BrowserStop);
- m_stopReload->setIcon(m_stopIcon);
- connect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger()));
- m_stopReload->setToolTip(tr("Stop loading the current page"));
- } else {
- m_chaseWidget->setAnimated(false);
- disconnect(m_stopReload, SIGNAL(triggered()), m_stop, SLOT(trigger()));
- m_stopReload->setIcon(m_reloadIcon);
- connect(m_stopReload, SIGNAL(triggered()), m_reload, SLOT(trigger()));
- m_stopReload->setToolTip(tr("Reload the current page"));
- }
-}
-
-void BrowserMainWindow::slotAboutToShowBackMenu()
-{
- m_historyBackMenu->clear();
- if (!currentTab())
- return;
- QWebHistory *history = currentTab()->history();
- int historyCount = history->count();
- for (int i = history->backItems(historyCount).count() - 1; i >= 0; --i) {
- QWebHistoryItem item = history->backItems(history->count()).at(i);
- QAction *action = new QAction(this);
- action->setData(-1*(historyCount-i-1));
- QIcon icon = BrowserApplication::instance()->icon(item.url());
- action->setIcon(icon);
- action->setText(item.title());
- m_historyBackMenu->addAction(action);
- }
-}
-
-void BrowserMainWindow::slotAboutToShowForwardMenu()
-{
- m_historyForwardMenu->clear();
- if (!currentTab())
- return;
- QWebHistory *history = currentTab()->history();
- int historyCount = history->count();
- for (int i = 0; i < history->forwardItems(history->count()).count(); ++i) {
- QWebHistoryItem item = history->forwardItems(historyCount).at(i);
- QAction *action = new QAction(this);
- action->setData(historyCount-i);
- QIcon icon = BrowserApplication::instance()->icon(item.url());
- action->setIcon(icon);
- action->setText(item.title());
- m_historyForwardMenu->addAction(action);
- }
-}
-
-void BrowserMainWindow::slotAboutToShowWindowMenu()
-{
- m_windowMenu->clear();
- m_windowMenu->addAction(m_tabWidget->nextTabAction());
- m_windowMenu->addAction(m_tabWidget->previousTabAction());
- m_windowMenu->addSeparator();
- m_windowMenu->addAction(tr("Downloads"), this, SLOT(slotDownloadManager()), QKeySequence(tr("Alt+Ctrl+L", "Download Manager")));
-
- m_windowMenu->addSeparator();
- QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows();
- for (int i = 0; i < windows.count(); ++i) {
- BrowserMainWindow *window = windows.at(i);
- QAction *action = m_windowMenu->addAction(window->windowTitle(), this, SLOT(slotShowWindow()));
- action->setData(i);
- action->setCheckable(true);
- if (window == this)
- action->setChecked(true);
- }
-}
-
-void BrowserMainWindow::slotShowWindow()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- QVariant v = action->data();
- if (v.canConvert<int>()) {
- int offset = qvariant_cast<int>(v);
- QList<BrowserMainWindow*> windows = BrowserApplication::instance()->mainWindows();
- windows.at(offset)->activateWindow();
- windows.at(offset)->currentTab()->setFocus();
- }
- }
-}
-
-void BrowserMainWindow::slotOpenActionUrl(QAction *action)
-{
- int offset = action->data().toInt();
- QWebHistory *history = currentTab()->history();
- if (offset < 0)
- history->goToItem(history->backItems(-1*offset).first()); // back
- else if (offset > 0)
- history->goToItem(history->forwardItems(history->count() - offset + 1).back()); // forward
- }
-
-void BrowserMainWindow::geometryChangeRequested(const QRect &geometry)
-{
- setGeometry(geometry);
-}
-
diff --git a/examples/gestures/browser/browsermainwindow.h b/examples/gestures/browser/browsermainwindow.h
deleted file mode 100644
index 04f6c0c..0000000
--- a/examples/gestures/browser/browsermainwindow.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef BROWSERMAINWINDOW_H
-#define BROWSERMAINWINDOW_H
-
-#include <QtGui/QMainWindow>
-#include <QtGui/QIcon>
-#include <QtCore/QUrl>
-
-class AutoSaver;
-class BookmarksToolBar;
-class ChaseWidget;
-class QWebFrame;
-class TabWidget;
-class ToolbarSearch;
-class WebView;
-
-/*!
- The MainWindow of the Browser Application.
-
- Handles the tab widget and all the actions
- */
-class BrowserMainWindow : public QMainWindow {
- Q_OBJECT
-
-public:
- BrowserMainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0);
- ~BrowserMainWindow();
- QSize sizeHint() const;
-
-public:
- static QUrl guessUrlFromString(const QString &url);
- TabWidget *tabWidget() const;
- WebView *currentTab() const;
- QByteArray saveState(bool withTabs = true) const;
- bool restoreState(const QByteArray &state);
-
-public slots:
- void loadPage(const QString &url);
- void slotHome();
-
-protected:
- void closeEvent(QCloseEvent *event);
-
-private slots:
- void save();
-
- void slotLoadProgress(int);
- void slotUpdateStatusbar(const QString &string);
- void slotUpdateWindowTitle(const QString &title = QString());
-
- void loadUrl(const QUrl &url);
- void slotPreferences();
-
- void slotFileNew();
- void slotFileOpen();
- void slotFilePrintPreview();
- void slotFilePrint();
- void slotPrivateBrowsing();
- void slotFileSaveAs();
- void slotEditFind();
- void slotEditFindNext();
- void slotEditFindPrevious();
- void slotShowBookmarksDialog();
- void slotAddBookmark();
- void slotViewZoomIn();
- void slotViewZoomOut();
- void slotViewResetZoom();
- void slotViewZoomTextOnly(bool enable);
- void slotViewToolbar();
- void slotViewBookmarksBar();
- void slotViewStatusbar();
- void slotViewPageSource();
- void slotViewFullScreen(bool enable);
-
- void slotWebSearch();
- void slotToggleInspector(bool enable);
- void slotAboutApplication();
- void slotDownloadManager();
- void slotSelectLineEdit();
-
- void slotAboutToShowBackMenu();
- void slotAboutToShowForwardMenu();
- void slotAboutToShowWindowMenu();
- void slotOpenActionUrl(QAction *action);
- void slotShowWindow();
- void slotSwapFocus();
-
- void printRequested(QWebFrame *frame);
- void geometryChangeRequested(const QRect &geometry);
- void updateToolbarActionText(bool visible);
- void updateBookmarksToolbarActionText(bool visible);
-
-private:
- void loadDefaultState();
- void setupMenu();
- void setupToolBar();
- void updateStatusbarActionText(bool visible);
-
-private:
- QToolBar *m_navigationBar;
- ToolbarSearch *m_toolbarSearch;
- BookmarksToolBar *m_bookmarksToolbar;
- ChaseWidget *m_chaseWidget;
- TabWidget *m_tabWidget;
- AutoSaver *m_autoSaver;
-
- QAction *m_historyBack;
- QMenu *m_historyBackMenu;
- QAction *m_historyForward;
- QMenu *m_historyForwardMenu;
- QMenu *m_windowMenu;
-
- QAction *m_stop;
- QAction *m_reload;
- QAction *m_stopReload;
- QAction *m_viewToolbar;
- QAction *m_viewBookmarkBar;
- QAction *m_viewStatusbar;
- QAction *m_restoreLastSession;
- QAction *m_addBookmark;
-
- QIcon m_reloadIcon;
- QIcon m_stopIcon;
-
- QString m_lastSearch;
-};
-
-#endif // BROWSERMAINWINDOW_H
-
diff --git a/examples/gestures/browser/chasewidget.cpp b/examples/gestures/browser/chasewidget.cpp
deleted file mode 100644
index de6c90b..0000000
--- a/examples/gestures/browser/chasewidget.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "chasewidget.h"
-
-#include <QtCore/QPoint>
-
-#include <QtGui/QApplication>
-#include <QtGui/QHideEvent>
-#include <QtGui/QPainter>
-#include <QtGui/QPaintEvent>
-#include <QtGui/QShowEvent>
-
-ChaseWidget::ChaseWidget(QWidget *parent, QPixmap pixmap, bool pixmapEnabled)
- : QWidget(parent)
- , m_segment(0)
- , m_delay(100)
- , m_step(40)
- , m_timerId(-1)
- , m_animated(false)
- , m_pixmap(pixmap)
- , m_pixmapEnabled(pixmapEnabled)
-{
-}
-
-void ChaseWidget::setAnimated(bool value)
-{
- if (m_animated == value)
- return;
- m_animated = value;
- if (m_timerId != -1) {
- killTimer(m_timerId);
- m_timerId = -1;
- }
- if (m_animated) {
- m_segment = 0;
- m_timerId = startTimer(m_delay);
- }
- update();
-}
-
-void ChaseWidget::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- QPainter p(this);
- if (m_pixmapEnabled && !m_pixmap.isNull()) {
- p.drawPixmap(0, 0, m_pixmap);
- return;
- }
-
- const int extent = qMin(width() - 8, height() - 8);
- const int displ = extent / 4;
- const int ext = extent / 4 - 1;
-
- p.setRenderHint(QPainter::Antialiasing, true);
-
- if(m_animated)
- p.setPen(Qt::gray);
- else
- p.setPen(QPen(palette().dark().color()));
-
- p.translate(width() / 2, height() / 2); // center
-
- for (int segment = 0; segment < segmentCount(); ++segment) {
- p.rotate(QApplication::isRightToLeft() ? m_step : -m_step);
- if(m_animated)
- p.setBrush(colorForSegment(segment));
- else
- p.setBrush(palette().background());
- p.drawEllipse(QRect(displ, -ext / 2, ext, ext));
- }
-}
-
-QSize ChaseWidget::sizeHint() const
-{
- return QSize(32, 32);
-}
-
-void ChaseWidget::timerEvent(QTimerEvent *event)
-{
- if (event->timerId() == m_timerId) {
- ++m_segment;
- update();
- }
- QWidget::timerEvent(event);
-}
-
-QColor ChaseWidget::colorForSegment(int seg) const
-{
- int index = ((seg + m_segment) % segmentCount());
- int comp = qMax(0, 255 - (index * (255 / segmentCount())));
- return QColor(comp, comp, comp, 255);
-}
-
-int ChaseWidget::segmentCount() const
-{
- return 360 / m_step;
-}
-
-void ChaseWidget::setPixmapEnabled(bool enable)
-{
- m_pixmapEnabled = enable;
-}
-
diff --git a/examples/gestures/browser/chasewidget.h b/examples/gestures/browser/chasewidget.h
deleted file mode 100644
index 5b983e4..0000000
--- a/examples/gestures/browser/chasewidget.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef CHASEWIDGET_H
-#define CHASEWIDGET_H
-
-#include <QtGui/QWidget>
-
-#include <QtCore/QSize>
-#include <QtGui/QColor>
-#include <QtGui/QPixmap>
-
-QT_BEGIN_NAMESPACE
-class QHideEvent;
-class QShowEvent;
-class QPaintEvent;
-class QTimerEvent;
-QT_END_NAMESPACE
-
-class ChaseWidget : public QWidget
-{
- Q_OBJECT
-public:
- ChaseWidget(QWidget *parent = 0, QPixmap pixmap = QPixmap(), bool pixmapEnabled = false);
-
- void setAnimated(bool value);
- void setPixmapEnabled(bool enable);
- QSize sizeHint() const;
-
-protected:
- void paintEvent(QPaintEvent *event);
- void timerEvent(QTimerEvent *event);
-
-private:
- int segmentCount() const;
- QColor colorForSegment(int segment) const;
-
- int m_segment;
- int m_delay;
- int m_step;
- int m_timerId;
- bool m_animated;
- QPixmap m_pixmap;
- bool m_pixmapEnabled;
-};
-
-#endif
diff --git a/examples/gestures/browser/cookiejar.cpp b/examples/gestures/browser/cookiejar.cpp
deleted file mode 100644
index 3ae443f..0000000
--- a/examples/gestures/browser/cookiejar.cpp
+++ /dev/null
@@ -1,733 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "cookiejar.h"
-
-#include "autosaver.h"
-
-#include <QtCore/QDateTime>
-#include <QtCore/QDir>
-#include <QtCore/QFile>
-#include <QtCore/QMetaEnum>
-#include <QtCore/QSettings>
-#include <QtCore/QUrl>
-
-#include <QtGui/QCompleter>
-#include <QtGui/QDesktopServices>
-#include <QtGui/QFont>
-#include <QtGui/QFontMetrics>
-#include <QtGui/QHeaderView>
-#include <QtGui/QKeyEvent>
-#include <QtGui/QSortFilterProxyModel>
-
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-static const unsigned int JAR_VERSION = 23;
-
-QT_BEGIN_NAMESPACE
-QDataStream &operator<<(QDataStream &stream, const QList<QNetworkCookie> &list)
-{
- stream << JAR_VERSION;
- stream << quint32(list.size());
- for (int i = 0; i < list.size(); ++i)
- stream << list.at(i).toRawForm();
- return stream;
-}
-
-QDataStream &operator>>(QDataStream &stream, QList<QNetworkCookie> &list)
-{
- list.clear();
-
- quint32 version;
- stream >> version;
-
- if (version != JAR_VERSION)
- return stream;
-
- quint32 count;
- stream >> count;
- for(quint32 i = 0; i < count; ++i)
- {
- QByteArray value;
- stream >> value;
- QList<QNetworkCookie> newCookies = QNetworkCookie::parseCookies(value);
- if (newCookies.count() == 0 && value.length() != 0) {
- qWarning() << "CookieJar: Unable to parse saved cookie:" << value;
- }
- for (int j = 0; j < newCookies.count(); ++j)
- list.append(newCookies.at(j));
- if (stream.atEnd())
- break;
- }
- return stream;
-}
-QT_END_NAMESPACE
-
-CookieJar::CookieJar(QObject *parent)
- : QNetworkCookieJar(parent)
- , m_loaded(false)
- , m_saveTimer(new AutoSaver(this))
- , m_acceptCookies(AcceptOnlyFromSitesNavigatedTo)
-{
-}
-
-CookieJar::~CookieJar()
-{
- if (m_keepCookies == KeepUntilExit)
- clear();
- m_saveTimer->saveIfNeccessary();
-}
-
-void CookieJar::clear()
-{
- setAllCookies(QList<QNetworkCookie>());
- m_saveTimer->changeOccurred();
- emit cookiesChanged();
-}
-
-void CookieJar::load()
-{
- if (m_loaded)
- return;
- // load cookies and exceptions
- qRegisterMetaTypeStreamOperators<QList<QNetworkCookie> >("QList<QNetworkCookie>");
- QSettings cookieSettings(QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QLatin1String("/cookies.ini"), QSettings::IniFormat);
- setAllCookies(qvariant_cast<QList<QNetworkCookie> >(cookieSettings.value(QLatin1String("cookies"))));
- cookieSettings.beginGroup(QLatin1String("Exceptions"));
- m_exceptions_block = cookieSettings.value(QLatin1String("block")).toStringList();
- m_exceptions_allow = cookieSettings.value(QLatin1String("allow")).toStringList();
- m_exceptions_allowForSession = cookieSettings.value(QLatin1String("allowForSession")).toStringList();
- qSort(m_exceptions_block.begin(), m_exceptions_block.end());
- qSort(m_exceptions_allow.begin(), m_exceptions_allow.end());
- qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end());
-
- loadSettings();
-}
-
-void CookieJar::loadSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("cookies"));
- QByteArray value = settings.value(QLatin1String("acceptCookies"),
- QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray();
- QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- m_acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ?
- AcceptOnlyFromSitesNavigatedTo :
- static_cast<AcceptPolicy>(acceptPolicyEnum.keyToValue(value));
-
- value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("KeepUntilExpire")).toByteArray();
- QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy"));
- m_keepCookies = keepPolicyEnum.keyToValue(value) == -1 ?
- KeepUntilExpire :
- static_cast<KeepPolicy>(keepPolicyEnum.keyToValue(value));
-
- if (m_keepCookies == KeepUntilExit)
- setAllCookies(QList<QNetworkCookie>());
-
- m_loaded = true;
- emit cookiesChanged();
-}
-
-void CookieJar::save()
-{
- if (!m_loaded)
- return;
- purgeOldCookies();
- QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- if (directory.isEmpty())
- directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
- if (!QFile::exists(directory)) {
- QDir dir;
- dir.mkpath(directory);
- }
- QSettings cookieSettings(directory + QLatin1String("/cookies.ini"), QSettings::IniFormat);
- QList<QNetworkCookie> cookies = allCookies();
- for (int i = cookies.count() - 1; i >= 0; --i) {
- if (cookies.at(i).isSessionCookie())
- cookies.removeAt(i);
- }
- cookieSettings.setValue(QLatin1String("cookies"), qVariantFromValue<QList<QNetworkCookie> >(cookies));
- cookieSettings.beginGroup(QLatin1String("Exceptions"));
- cookieSettings.setValue(QLatin1String("block"), m_exceptions_block);
- cookieSettings.setValue(QLatin1String("allow"), m_exceptions_allow);
- cookieSettings.setValue(QLatin1String("allowForSession"), m_exceptions_allowForSession);
-
- // save cookie settings
- QSettings settings;
- settings.beginGroup(QLatin1String("cookies"));
- QMetaEnum acceptPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(m_acceptCookies)));
-
- QMetaEnum keepPolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("KeepPolicy"));
- settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(m_keepCookies)));
-}
-
-void CookieJar::purgeOldCookies()
-{
- QList<QNetworkCookie> cookies = allCookies();
- if (cookies.isEmpty())
- return;
- int oldCount = cookies.count();
- QDateTime now = QDateTime::currentDateTime();
- for (int i = cookies.count() - 1; i >= 0; --i) {
- if (!cookies.at(i).isSessionCookie() && cookies.at(i).expirationDate() < now)
- cookies.removeAt(i);
- }
- if (oldCount == cookies.count())
- return;
- setAllCookies(cookies);
- emit cookiesChanged();
-}
-
-QList<QNetworkCookie> CookieJar::cookiesForUrl(const QUrl &url) const
-{
- CookieJar *that = const_cast<CookieJar*>(this);
- if (!m_loaded)
- that->load();
-
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) {
- QList<QNetworkCookie> noCookies;
- return noCookies;
- }
-
- return QNetworkCookieJar::cookiesForUrl(url);
-}
-
-bool CookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
-{
- if (!m_loaded)
- load();
-
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return false;
-
- QString host = url.host();
- bool eBlock = qBinaryFind(m_exceptions_block.begin(), m_exceptions_block.end(), host) != m_exceptions_block.end();
- bool eAllow = qBinaryFind(m_exceptions_allow.begin(), m_exceptions_allow.end(), host) != m_exceptions_allow.end();
- bool eAllowSession = qBinaryFind(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end(), host) != m_exceptions_allowForSession.end();
-
- bool addedCookies = false;
- // pass exceptions
- bool acceptInitially = (m_acceptCookies != AcceptNever);
- if ((acceptInitially && !eBlock)
- || (!acceptInitially && (eAllow || eAllowSession))) {
- // pass url domain == cookie domain
- QDateTime soon = QDateTime::currentDateTime();
- soon = soon.addDays(90);
- foreach(QNetworkCookie cookie, cookieList) {
- QList<QNetworkCookie> lst;
- if (m_keepCookies == KeepUntilTimeLimit
- && !cookie.isSessionCookie()
- && cookie.expirationDate() > soon) {
- cookie.setExpirationDate(soon);
- }
- lst += cookie;
- if (QNetworkCookieJar::setCookiesFromUrl(lst, url)) {
- addedCookies = true;
- } else {
- // finally force it in if wanted
- if (m_acceptCookies == AcceptAlways) {
- QList<QNetworkCookie> cookies = allCookies();
- cookies += cookie;
- setAllCookies(cookies);
- addedCookies = true;
- }
-#if 0
- else
- qWarning() << "setCookiesFromUrl failed" << url << cookieList.value(0).toRawForm();
-#endif
- }
- }
- }
-
- if (addedCookies) {
- m_saveTimer->changeOccurred();
- emit cookiesChanged();
- }
- return addedCookies;
-}
-
-CookieJar::AcceptPolicy CookieJar::acceptPolicy() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_acceptCookies;
-}
-
-void CookieJar::setAcceptPolicy(AcceptPolicy policy)
-{
- if (!m_loaded)
- load();
- if (policy == m_acceptCookies)
- return;
- m_acceptCookies = policy;
- m_saveTimer->changeOccurred();
-}
-
-CookieJar::KeepPolicy CookieJar::keepPolicy() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_keepCookies;
-}
-
-void CookieJar::setKeepPolicy(KeepPolicy policy)
-{
- if (!m_loaded)
- load();
- if (policy == m_keepCookies)
- return;
- m_keepCookies = policy;
- m_saveTimer->changeOccurred();
-}
-
-QStringList CookieJar::blockedCookies() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_exceptions_block;
-}
-
-QStringList CookieJar::allowedCookies() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_exceptions_allow;
-}
-
-QStringList CookieJar::allowForSessionCookies() const
-{
- if (!m_loaded)
- (const_cast<CookieJar*>(this))->load();
- return m_exceptions_allowForSession;
-}
-
-void CookieJar::setBlockedCookies(const QStringList &list)
-{
- if (!m_loaded)
- load();
- m_exceptions_block = list;
- qSort(m_exceptions_block.begin(), m_exceptions_block.end());
- m_saveTimer->changeOccurred();
-}
-
-void CookieJar::setAllowedCookies(const QStringList &list)
-{
- if (!m_loaded)
- load();
- m_exceptions_allow = list;
- qSort(m_exceptions_allow.begin(), m_exceptions_allow.end());
- m_saveTimer->changeOccurred();
-}
-
-void CookieJar::setAllowForSessionCookies(const QStringList &list)
-{
- if (!m_loaded)
- load();
- m_exceptions_allowForSession = list;
- qSort(m_exceptions_allowForSession.begin(), m_exceptions_allowForSession.end());
- m_saveTimer->changeOccurred();
-}
-
-CookieModel::CookieModel(CookieJar *cookieJar, QObject *parent)
- : QAbstractTableModel(parent)
- , m_cookieJar(cookieJar)
-{
- connect(m_cookieJar, SIGNAL(cookiesChanged()), this, SLOT(cookiesChanged()));
- m_cookieJar->load();
-}
-
-QVariant CookieModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (role == Qt::SizeHintRole) {
- QFont font;
- font.setPointSize(10);
- QFontMetrics fm(font);
- int height = fm.height() + fm.height()/3;
- int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString());
- return QSize(width, height);
- }
-
- if (orientation == Qt::Horizontal) {
- if (role != Qt::DisplayRole)
- return QVariant();
-
- switch (section) {
- case 0:
- return tr("Website");
- case 1:
- return tr("Name");
- case 2:
- return tr("Path");
- case 3:
- return tr("Secure");
- case 4:
- return tr("Expires");
- case 5:
- return tr("Contents");
- default:
- return QVariant();
- }
- }
- return QAbstractTableModel::headerData(section, orientation, role);
-}
-
-QVariant CookieModel::data(const QModelIndex &index, int role) const
-{
- QList<QNetworkCookie> lst;
- if (m_cookieJar)
- lst = m_cookieJar->allCookies();
- if (index.row() < 0 || index.row() >= lst.size())
- return QVariant();
-
- switch (role) {
- case Qt::DisplayRole:
- case Qt::EditRole: {
- QNetworkCookie cookie = lst.at(index.row());
- switch (index.column()) {
- case 0:
- return cookie.domain();
- case 1:
- return cookie.name();
- case 2:
- return cookie.path();
- case 3:
- return cookie.isSecure();
- case 4:
- return cookie.expirationDate();
- case 5:
- return cookie.value();
- }
- }
- case Qt::FontRole:{
- QFont font;
- font.setPointSize(10);
- return font;
- }
- }
-
- return QVariant();
-}
-
-int CookieModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 6;
-}
-
-int CookieModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid() || !m_cookieJar) ? 0 : m_cookieJar->allCookies().count();
-}
-
-bool CookieModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid() || !m_cookieJar)
- return false;
- int lastRow = row + count - 1;
- beginRemoveRows(parent, row, lastRow);
- QList<QNetworkCookie> lst = m_cookieJar->allCookies();
- for (int i = lastRow; i >= row; --i) {
- lst.removeAt(i);
- }
- m_cookieJar->setAllCookies(lst);
- endRemoveRows();
- return true;
-}
-
-void CookieModel::cookiesChanged()
-{
- reset();
-}
-
-CookiesDialog::CookiesDialog(CookieJar *cookieJar, QWidget *parent) : QDialog(parent)
-{
- setupUi(this);
- setWindowFlags(Qt::Sheet);
- CookieModel *model = new CookieModel(cookieJar, this);
- m_proxyModel = new QSortFilterProxyModel(this);
- connect(search, SIGNAL(textChanged(QString)),
- m_proxyModel, SLOT(setFilterFixedString(QString)));
- connect(removeButton, SIGNAL(clicked()), cookiesTable, SLOT(removeOne()));
- connect(removeAllButton, SIGNAL(clicked()), cookiesTable, SLOT(removeAll()));
- m_proxyModel->setSourceModel(model);
- cookiesTable->verticalHeader()->hide();
- cookiesTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- cookiesTable->setModel(m_proxyModel);
- cookiesTable->setAlternatingRowColors(true);
- cookiesTable->setTextElideMode(Qt::ElideMiddle);
- cookiesTable->setShowGrid(false);
- cookiesTable->setSortingEnabled(true);
- QFont f = font();
- f.setPointSize(10);
- QFontMetrics fm(f);
- int height = fm.height() + fm.height()/3;
- cookiesTable->verticalHeader()->setDefaultSectionSize(height);
- cookiesTable->verticalHeader()->setMinimumSectionSize(-1);
- for (int i = 0; i < model->columnCount(); ++i){
- int header = cookiesTable->horizontalHeader()->sectionSizeHint(i);
- switch (i) {
- case 0:
- header = fm.width(QLatin1String("averagehost.domain.com"));
- break;
- case 1:
- header = fm.width(QLatin1String("_session_id"));
- break;
- case 4:
- header = fm.width(QDateTime::currentDateTime().toString(Qt::LocalDate));
- break;
- }
- int buffer = fm.width(QLatin1String("xx"));
- header += buffer;
- cookiesTable->horizontalHeader()->resizeSection(i, header);
- }
- cookiesTable->horizontalHeader()->setStretchLastSection(true);
-}
-
-
-
-CookieExceptionsModel::CookieExceptionsModel(CookieJar *cookiejar, QObject *parent)
- : QAbstractTableModel(parent)
- , m_cookieJar(cookiejar)
-{
- m_allowedCookies = m_cookieJar->allowedCookies();
- m_blockedCookies = m_cookieJar->blockedCookies();
- m_sessionCookies = m_cookieJar->allowForSessionCookies();
-}
-
-QVariant CookieExceptionsModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (role == Qt::SizeHintRole) {
- QFont font;
- font.setPointSize(10);
- QFontMetrics fm(font);
- int height = fm.height() + fm.height()/3;
- int width = fm.width(headerData(section, orientation, Qt::DisplayRole).toString());
- return QSize(width, height);
- }
-
- if (orientation == Qt::Horizontal
- && role == Qt::DisplayRole) {
- switch (section) {
- case 0:
- return tr("Website");
- case 1:
- return tr("Status");
- }
- }
- return QAbstractTableModel::headerData(section, orientation, role);
-}
-
-QVariant CookieExceptionsModel::data(const QModelIndex &index, int role) const
-{
- if (index.row() < 0 || index.row() >= rowCount())
- return QVariant();
-
- switch (role) {
- case Qt::DisplayRole:
- case Qt::EditRole: {
- int row = index.row();
- if (row < m_allowedCookies.count()) {
- switch (index.column()) {
- case 0:
- return m_allowedCookies.at(row);
- case 1:
- return tr("Allow");
- }
- }
- row = row - m_allowedCookies.count();
- if (row < m_blockedCookies.count()) {
- switch (index.column()) {
- case 0:
- return m_blockedCookies.at(row);
- case 1:
- return tr("Block");
- }
- }
- row = row - m_blockedCookies.count();
- if (row < m_sessionCookies.count()) {
- switch (index.column()) {
- case 0:
- return m_sessionCookies.at(row);
- case 1:
- return tr("Allow For Session");
- }
- }
- }
- case Qt::FontRole:{
- QFont font;
- font.setPointSize(10);
- return font;
- }
- }
- return QVariant();
-}
-
-int CookieExceptionsModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 2;
-}
-
-int CookieExceptionsModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid() || !m_cookieJar) ? 0 : m_allowedCookies.count() + m_blockedCookies.count() + m_sessionCookies.count();
-}
-
-bool CookieExceptionsModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid() || !m_cookieJar)
- return false;
-
- int lastRow = row + count - 1;
- beginRemoveRows(parent, row, lastRow);
- for (int i = lastRow; i >= row; --i) {
- if (i < m_allowedCookies.count()) {
- m_allowedCookies.removeAt(row);
- continue;
- }
- i = i - m_allowedCookies.count();
- if (i < m_blockedCookies.count()) {
- m_blockedCookies.removeAt(row);
- continue;
- }
- i = i - m_blockedCookies.count();
- if (i < m_sessionCookies.count()) {
- m_sessionCookies.removeAt(row);
- continue;
- }
- }
- m_cookieJar->setAllowedCookies(m_allowedCookies);
- m_cookieJar->setBlockedCookies(m_blockedCookies);
- m_cookieJar->setAllowForSessionCookies(m_sessionCookies);
- endRemoveRows();
- return true;
-}
-
-CookiesExceptionsDialog::CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent)
- : QDialog(parent)
- , m_cookieJar(cookieJar)
-{
- setupUi(this);
- setWindowFlags(Qt::Sheet);
- connect(removeButton, SIGNAL(clicked()), exceptionTable, SLOT(removeOne()));
- connect(removeAllButton, SIGNAL(clicked()), exceptionTable, SLOT(removeAll()));
- exceptionTable->verticalHeader()->hide();
- exceptionTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- exceptionTable->setAlternatingRowColors(true);
- exceptionTable->setTextElideMode(Qt::ElideMiddle);
- exceptionTable->setShowGrid(false);
- exceptionTable->setSortingEnabled(true);
- m_exceptionsModel = new CookieExceptionsModel(cookieJar, this);
- m_proxyModel = new QSortFilterProxyModel(this);
- m_proxyModel->setSourceModel(m_exceptionsModel);
- connect(search, SIGNAL(textChanged(QString)),
- m_proxyModel, SLOT(setFilterFixedString(QString)));
- exceptionTable->setModel(m_proxyModel);
-
- CookieModel *cookieModel = new CookieModel(cookieJar, this);
- domainLineEdit->setCompleter(new QCompleter(cookieModel, domainLineEdit));
-
- connect(domainLineEdit, SIGNAL(textChanged(const QString &)),
- this, SLOT(textChanged(const QString &)));
- connect(blockButton, SIGNAL(clicked()), this, SLOT(block()));
- connect(allowButton, SIGNAL(clicked()), this, SLOT(allow()));
- connect(allowForSessionButton, SIGNAL(clicked()), this, SLOT(allowForSession()));
-
- QFont f = font();
- f.setPointSize(10);
- QFontMetrics fm(f);
- int height = fm.height() + fm.height()/3;
- exceptionTable->verticalHeader()->setDefaultSectionSize(height);
- exceptionTable->verticalHeader()->setMinimumSectionSize(-1);
- for (int i = 0; i < m_exceptionsModel->columnCount(); ++i){
- int header = exceptionTable->horizontalHeader()->sectionSizeHint(i);
- switch (i) {
- case 0:
- header = fm.width(QLatin1String("averagebiglonghost.domain.com"));
- break;
- case 1:
- header = fm.width(QLatin1String("Allow For Session"));
- break;
- }
- int buffer = fm.width(QLatin1String("xx"));
- header += buffer;
- exceptionTable->horizontalHeader()->resizeSection(i, header);
- }
-}
-
-void CookiesExceptionsDialog::textChanged(const QString &text)
-{
- bool enabled = !text.isEmpty();
- blockButton->setEnabled(enabled);
- allowButton->setEnabled(enabled);
- allowForSessionButton->setEnabled(enabled);
-}
-
-void CookiesExceptionsDialog::block()
-{
- if (domainLineEdit->text().isEmpty())
- return;
- m_exceptionsModel->m_blockedCookies.append(domainLineEdit->text());
- m_cookieJar->setBlockedCookies(m_exceptionsModel->m_blockedCookies);
- m_exceptionsModel->reset();
-}
-
-void CookiesExceptionsDialog::allow()
-{
- if (domainLineEdit->text().isEmpty())
- return;
- m_exceptionsModel->m_allowedCookies.append(domainLineEdit->text());
- m_cookieJar->setAllowedCookies(m_exceptionsModel->m_allowedCookies);
- m_exceptionsModel->reset();
-}
-
-void CookiesExceptionsDialog::allowForSession()
-{
- if (domainLineEdit->text().isEmpty())
- return;
- m_exceptionsModel->m_sessionCookies.append(domainLineEdit->text());
- m_cookieJar->setAllowForSessionCookies(m_exceptionsModel->m_sessionCookies);
- m_exceptionsModel->reset();
-}
-
diff --git a/examples/gestures/browser/cookiejar.h b/examples/gestures/browser/cookiejar.h
deleted file mode 100644
index 55ba185..0000000
--- a/examples/gestures/browser/cookiejar.h
+++ /dev/null
@@ -1,204 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef COOKIEJAR_H
-#define COOKIEJAR_H
-
-#include <QtNetwork/QNetworkCookieJar>
-
-#include <QtCore/QAbstractItemModel>
-#include <QtCore/QStringList>
-
-#include <QtGui/QDialog>
-#include <QtGui/QTableView>
-
-QT_BEGIN_NAMESPACE
-class QSortFilterProxyModel;
-class QKeyEvent;
-QT_END_NAMESPACE
-
-class AutoSaver;
-
-class CookieJar : public QNetworkCookieJar
-{
- friend class CookieModel;
- Q_OBJECT
- Q_PROPERTY(AcceptPolicy acceptPolicy READ acceptPolicy WRITE setAcceptPolicy)
- Q_PROPERTY(KeepPolicy keepPolicy READ keepPolicy WRITE setKeepPolicy)
- Q_PROPERTY(QStringList blockedCookies READ blockedCookies WRITE setBlockedCookies)
- Q_PROPERTY(QStringList allowedCookies READ allowedCookies WRITE setAllowedCookies)
- Q_PROPERTY(QStringList allowForSessionCookies READ allowForSessionCookies WRITE setAllowForSessionCookies)
- Q_ENUMS(KeepPolicy)
- Q_ENUMS(AcceptPolicy)
-
-signals:
- void cookiesChanged();
-
-public:
- enum AcceptPolicy {
- AcceptAlways,
- AcceptNever,
- AcceptOnlyFromSitesNavigatedTo
- };
-
- enum KeepPolicy {
- KeepUntilExpire,
- KeepUntilExit,
- KeepUntilTimeLimit
- };
-
- CookieJar(QObject *parent = 0);
- ~CookieJar();
-
- QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const;
- bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url);
-
- AcceptPolicy acceptPolicy() const;
- void setAcceptPolicy(AcceptPolicy policy);
-
- KeepPolicy keepPolicy() const;
- void setKeepPolicy(KeepPolicy policy);
-
- QStringList blockedCookies() const;
- QStringList allowedCookies() const;
- QStringList allowForSessionCookies() const;
-
- void setBlockedCookies(const QStringList &list);
- void setAllowedCookies(const QStringList &list);
- void setAllowForSessionCookies(const QStringList &list);
-
-public slots:
- void clear();
- void loadSettings();
-
-private slots:
- void save();
-
-private:
- void purgeOldCookies();
- void load();
- bool m_loaded;
- AutoSaver *m_saveTimer;
-
- AcceptPolicy m_acceptCookies;
- KeepPolicy m_keepCookies;
-
- QStringList m_exceptions_block;
- QStringList m_exceptions_allow;
- QStringList m_exceptions_allowForSession;
-};
-
-class CookieModel : public QAbstractTableModel
-{
- Q_OBJECT
-
-public:
- CookieModel(CookieJar *jar, QObject *parent = 0);
- QVariant headerData(int section, Qt::Orientation orientation, int role) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private slots:
- void cookiesChanged();
-
-private:
- CookieJar *m_cookieJar;
-};
-
-#include "ui_cookies.h"
-#include "ui_cookiesexceptions.h"
-
-class CookiesDialog : public QDialog, public Ui_CookiesDialog
-{
- Q_OBJECT
-
-public:
- CookiesDialog(CookieJar *cookieJar, QWidget *parent = 0);
-
-private:
- QSortFilterProxyModel *m_proxyModel;
-};
-
-class CookieExceptionsModel : public QAbstractTableModel
-{
- Q_OBJECT
- friend class CookiesExceptionsDialog;
-
-public:
- CookieExceptionsModel(CookieJar *cookieJar, QObject *parent = 0);
- QVariant headerData(int section, Qt::Orientation orientation, int role) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private:
- CookieJar *m_cookieJar;
-
- // Domains we allow, Domains we block, Domains we allow for this session
- QStringList m_allowedCookies;
- QStringList m_blockedCookies;
- QStringList m_sessionCookies;
-};
-
-class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog
-{
- Q_OBJECT
-
-public:
- CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent = 0);
-
-private slots:
- void block();
- void allow();
- void allowForSession();
- void textChanged(const QString &text);
-
-private:
- CookieExceptionsModel *m_exceptionsModel;
- QSortFilterProxyModel *m_proxyModel;
- CookieJar *m_cookieJar;
-};
-
-#endif // COOKIEJAR_H
-
diff --git a/examples/gestures/browser/cookies.ui b/examples/gestures/browser/cookies.ui
deleted file mode 100644
index c4bccc5..0000000
--- a/examples/gestures/browser/cookies.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<ui version="4.0" >
- <class>CookiesDialog</class>
- <widget class="QDialog" name="CookiesDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>550</width>
- <height>370</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Cookies</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="EditTableView" name="cookiesTable" />
- </item>
- <item row="2" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="removeAllButton" >
- <property name="text" >
- <string>Remove &amp;All Cookies</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTableView</class>
- <extends>QTableView</extends>
- <header>edittableview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>CookiesDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>472</x>
- <y>329</y>
- </hint>
- <hint type="destinationlabel" >
- <x>461</x>
- <y>356</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/cookiesexceptions.ui b/examples/gestures/browser/cookiesexceptions.ui
deleted file mode 100644
index 3d9ef62..0000000
--- a/examples/gestures/browser/cookiesexceptions.ui
+++ /dev/null
@@ -1,184 +0,0 @@
-<ui version="4.0" >
- <class>CookiesExceptionsDialog</class>
- <widget class="QDialog" name="CookiesExceptionsDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>466</width>
- <height>446</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Cookie Exceptions</string>
- </property>
- <layout class="QVBoxLayout" >
- <item>
- <widget class="QGroupBox" name="newExceptionGroupBox" >
- <property name="title" >
- <string>New Exception</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Domain:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="domainLineEdit" />
- </item>
- </layout>
- </item>
- <item row="1" column="0" >
- <layout class="QHBoxLayout" >
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>81</width>
- <height>25</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="blockButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Block</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="allowForSessionButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Allow For Session</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="allowButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Allow</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="ExceptionsGroupBox" >
- <property name="title" >
- <string>Exceptions</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" colspan="3" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="3" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="4" >
- <widget class="EditTableView" name="exceptionTable" />
- </item>
- <item row="2" column="0" >
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QPushButton" name="removeAllButton" >
- <property name="text" >
- <string>Remove &amp;All</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2" colspan="2" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTableView</class>
- <extends>QTableView</extends>
- <header>edittableview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>CookiesExceptionsDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>381</x>
- <y>428</y>
- </hint>
- <hint type="destinationlabel" >
- <x>336</x>
- <y>443</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/data/addtab.png b/examples/gestures/browser/data/addtab.png
deleted file mode 100644
index 20928fb..0000000
--- a/examples/gestures/browser/data/addtab.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/browser.svg b/examples/gestures/browser/data/browser.svg
deleted file mode 100644
index 4b0fa72..0000000
--- a/examples/gestures/browser/data/browser.svg
+++ /dev/null
@@ -1,411 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg2160"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- inkscape:export-filename="c:\icons\qtbrowser48.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"
- sodipodi:docbase="C:\icons"
- sodipodi:docname="browser.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs2162"><linearGradient
- id="linearGradient3808">
- <stop
- id="stop3810"
- offset="0"
- style="stop-color:#000000;stop-opacity:0.54263568;" />
- <stop
- id="stop3812"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
-</linearGradient>
-<inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective63" />
-<linearGradient
- id="linearGradient3326">
- <stop
- style="stop-color:#000000;stop-opacity:0.3137255;"
- offset="0"
- id="stop3328" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3330" />
-</linearGradient>
-<linearGradient
- id="linearGradient3318">
- <stop
- style="stop-color:#000000;stop-opacity:0.3137255;"
- offset="0"
- id="stop3320" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3322" />
-</linearGradient>
-<linearGradient
- id="linearGradient3302">
- <stop
- style="stop-color:#000000;stop-opacity:0.3137255;"
- offset="0"
- id="stop3304" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3306" />
-</linearGradient>
-<linearGradient
- id="linearGradient3267">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3269" />
- <stop
- id="stop3275"
- offset="0.79661018"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3271" />
-</linearGradient>
-<linearGradient
- id="linearGradient3745">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.19587629;"
- offset="0"
- id="stop3747" />
- <stop
- style="stop-color:#7cb2ff;stop-opacity:0.07216495;"
- offset="1"
- id="stop3749" />
-</linearGradient>
-<linearGradient
- inkscape:collect="always"
- id="linearGradient3561">
- <stop
- style="stop-color:#b1d0ff;stop-opacity:1;"
- offset="0"
- id="stop3563" />
- <stop
- style="stop-color:#b1d0ff;stop-opacity:0;"
- offset="1"
- id="stop3565" />
-</linearGradient>
-<linearGradient
- id="linearGradient3181">
- <stop
- style="stop-color:#4f7a33;stop-opacity:1;"
- offset="0"
- id="stop3183" />
- <stop
- style="stop-color:#204712;stop-opacity:1;"
- offset="1"
- id="stop3185" />
-</linearGradient>
-<linearGradient
- id="linearGradient3143">
- <stop
- style="stop-color:#c1dbff;stop-opacity:1;"
- offset="0"
- id="stop3145" />
- <stop
- style="stop-color:#004e92;stop-opacity:1;"
- offset="1"
- id="stop3147" />
-</linearGradient>
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3143"
- id="radialGradient3149"
- cx="9.1428566"
- cy="15.142858"
- fx="9.1428566"
- fy="15.142858"
- r="20.121096"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3181"
- id="radialGradient3187"
- cx="10.739879"
- cy="18.250999"
- fx="10.739879"
- fy="18.250999"
- r="7.4191086"
- gradientTransform="matrix(1.0504709,0,0,1.5077925,-0.3797113,-9.2677171)"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3181"
- id="radialGradient3195"
- cx="14.947268"
- cy="35.920116"
- fx="14.947268"
- fy="35.920116"
- r="6.0472684"
- gradientTransform="matrix(1,0,0,0.7248478,0,9.8834985)"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3181"
- id="radialGradient3203"
- cx="34.227203"
- cy="24.681196"
- fx="34.227203"
- fy="24.681196"
- r="6.7517419"
- gradientTransform="matrix(0.9941509,-0.1079997,0.2962199,2.7267411,-7.1108629,-38.921508)"
- gradientUnits="userSpaceOnUse" />
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3561"
- id="radialGradient3567"
- cx="22.714285"
- cy="23.571428"
- fx="22.714285"
- fy="23.571428"
- r="19.828572"
- gradientUnits="userSpaceOnUse" />
-<linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3745"
- id="linearGradient3751"
- x1="0.84126461"
- y1="13.678415"
- x2="31.397495"
- y2="13.678415"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8791332,0.7829527,-0.6285195,1.0951445,14.147627,-10.49311)" />
-<filter
- inkscape:collect="always"
- id="filter4176">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.27747502"
- id="feGaussianBlur4178" />
-</filter>
-<radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3267"
- id="radialGradient3273"
- cx="22.714285"
- cy="23.571428"
- fx="22.714285"
- fy="23.571428"
- r="19.428572"
- gradientUnits="userSpaceOnUse" />
-<inkscape:perspective
- id="perspective136"
- inkscape:persp3d-origin="138.6795 : 92.479329 : 1"
- inkscape:vp_z="277.35901 : 138.71899 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_x="0 : 138.71899 : 1"
- sodipodi:type="inkscape:persp3d" />
-
-
-
-
-
-
-
-
-
-
-<linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3808"
- id="linearGradient3806"
- x1="32.829472"
- y1="32.055603"
- x2="34.522324"
- y2="-1.0290829"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.8832227,0,0,1,-8.0103007,9.1923882)" />
-</defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="5.6568542"
- inkscape:cx="30.924085"
- inkscape:cy="24.59691"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1299"
- inkscape:window-height="883"
- inkscape:window-x="373"
- inkscape:window-y="89"
- showguides="false" />
- <metadata
- id="metadata2165">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Qt Browser</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jens Bache-Wiig</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:rights>
- <cc:Agent>
- <dc:title>Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</dc:title>
- </cc:Agent>
- </dc:rights>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:0.78108437;fill:url(#radialGradient3273);fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path3407"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857,23.571428 A 19.428572,19.428572 0 1 1 3.2857132,23.571428 A 19.428572,19.428572 0 1 1 42.142857,23.571428 z"
- transform="matrix(1.0818892,0,0,1.0409446,-2.4313375,0.4303723)" />
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient3149);fill-opacity:1;stroke:none;stroke-width:0.80000000000000004;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path2170"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857 23.571428 A 19.428572 19.428572 0 1 1 3.2857132,23.571428 A 19.428572 19.428572 0 1 1 42.142857 23.571428 z" />
- <path
- d="M 26.602136,8.2160843 C 26.322653,8.1637524 26.048884,8.1512446 25.78375,8.1745351 L 25.783243,8.1743913 C 25.783243,8.1743913 23.973525,8.3138471 23.891496,8.3211793 C 22.239361,8.4705552 20.985434,10.008307 20.985434,12.131916 L 20.985434,37.174579 L 22.83515,39.126673 L 41.425135,33.998394 C 42.704203,33.746799 43.714709,33.629384 43.714709,31.78483 L 43.714709,11.392226 L 26.602136,8.2160843 z"
- id="path2998"
- style="fill:url(#linearGradient3806);fill-opacity:1"
- sodipodi:nodetypes="cccsccccccc" />
- <path
- style="fill:url(#radialGradient3203);fill-opacity:1;fill-rule:evenodd;stroke:#1d3215;stroke-width:0.51392877000000003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 37.535517,11.721122 C 32.782916,8.7478602 30.602351,6.3542385 32.09957,13.4346 C 32.320572,14.27055 33.291276,13.739232 33.291276,14.862228 C 33.291276,16.155819 32.607502,17.380765 31.797574,18.146663 C 30.959323,18.939344 31.011357,20.258984 31.797574,21.002459 C 33.06234,22.198469 33.942515,22.715936 35.572536,22.715936 C 36.6448,22.715936 37.003629,23.274262 37.23352,24.143834 C 37.362263,24.630808 38.410486,25.085663 38.894503,25.428942 C 38.938905,25.460433 38.139512,26.551348 38.139512,27.999158 C 38.139512,29.113512 38.405167,29.358325 38.743505,29.998215 C 38.949111,30.387072 36.418877,30.283794 36.025532,30.283794 C 35.005751,30.283794 34.181701,30.712163 33.15656,30.712163 C 32.264543,30.712163 31.099578,30.3566 31.344578,31.283323 C 31.763542,32.868074 32.552566,33.932342 32.552566,35.709806 C 32.552566,36.862272 31.047367,37.598377 30.287588,38.137232 C 29.30273,38.835721 29.133207,39.307154 28.475606,40.136289 C 28.132145,40.569341 26.990548,41.409612 28.475606,40.707448 C 29.476144,40.234375 31.192063,39.423774 32.09957,38.565601 C 33.257846,37.470293 34.527421,37.269266 35.723534,36.138176 C 36.659137,35.253436 37.512933,34.691155 38.29051,33.710749 C 39.024031,32.785889 39.498498,31.90347 39.498498,30.712163 C 39.498498,29.682482 39.308098,28.750366 39.951493,28.141948 C 40.902684,24.235856 42.225874,19.789742 39.751646,16.005086 C 38.569376,15.014407 37.717516,13.109859 37.535517,11.721122 z "
- id="path3151"
- sodipodi:nodetypes="ccsssssssssssssssssssccc" />
- <path
- style="fill:url(#radialGradient3187);fill-opacity:1;fill-rule:evenodd;stroke:#063a0a;stroke-width:0.51231807;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 14.777083,7.8630009 C 14.047432,8.4403746 12.751987,10.898939 13.27641,12.146301 C 13.709874,13.177316 14.920827,13.613143 15.827553,13.859622 C 16.568703,14.061091 17.049015,14.457271 17.478293,15.001835 C 17.832696,15.451415 17.971105,16.346745 18.078563,16.857932 C 18.298637,17.904845 18.947911,17.058563 17.62836,18.000145 C 17.234352,18.281296 14.875696,18.000145 14.476948,18.000145 C 11.976825,18.384083 14.297504,19.464893 14.92715,20.712903 C 15.204987,21.770261 15.377352,22.405336 15.377352,23.711213 C 15.377352,24.875672 15.377352,24.78389 15.377352,25.99564 C 15.377352,27.194757 15.044241,27.28063 13.876679,27.28063 C 13.023055,27.28063 12.647321,26.423969 11.625669,26.423969 C 10.400599,26.423969 11.303539,27.667106 11.475602,27.994513 C 12.006402,29.004538 11.662121,29.599737 10.875334,28.851174 C 9.855722,27.881096 8.8280305,26.760556 8.0240557,25.99564 C 2.8789379,25.807372 4.5677903,23.466499 3.9722395,18.999582 C 5.041259,16.526382 4.7558935,17.248897 7.2737194,12.574632 C 10.149914,9.5491592 13.589212,5.9532919 14.777083,7.8630009 z"
- id="path3159"
- sodipodi:nodetypes="csssssccsssssscccc" />
- <path
- style="fill:url(#radialGradient3195);fill-opacity:1;fill-rule:evenodd;stroke:#163c0c;stroke-width:0.59999999999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 10.265966,34.571429 C 9.245427,35.081699 8.6225774,36.042538 9.980252,36.857143 C 10.637564,37.25153 11.478587,37.606311 12.265966,38 C 13.258976,38.496505 14.481138,39.018522 15.408823,39.714286 C 16.227572,40.328348 15.587589,39.928184 16.123109,38.857143 C 16.827927,37.447507 18.14516,38.79674 18.837395,39.142857 C 20.044787,39.746554 20.46001,38.652394 20.694537,37.714286 C 20.459863,35.791335 18.579948,34.625723 17.123109,33.285715 C 16.704922,32.588736 15.507117,31.689713 14.837395,31.857143 C 13.49505,33.304042 12.350312,33.960279 10.265966,34.571429 z "
- id="path3161"
- sodipodi:nodetypes="cssssscccc" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1;stroke:url(#radialGradient3567);stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.6502732"
- id="path3557"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857 23.571428 A 19.428572 19.428572 0 1 1 3.2857132,23.571428 A 19.428572 19.428572 0 1 1 42.142857 23.571428 z"
- transform="matrix(0.95317,0,0,0.95317,0.9922816,1.1752786)" />
- <path
- style="fill:url(#linearGradient3751);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 39.916926,27.786316 C 44.588637,26.790847 38.225604,13.201712 32.946381,8.5000566 C 18.135275,-0.40265528 10.844456,5.6490056 3.6645529,16.333771 C 5.7478288,18.189127 14.704728,33.158645 39.916926,27.786316 z"
- id="path3578"
- sodipodi:nodetypes="cccs" />
- <path
- d="M 45.902562,20.610592 C 46.007701,20.610592 46.120332,20.603354 46.240455,20.590275 L 45.609873,20.590275 C 45.697743,20.603608 45.798946,20.610592 45.902562,20.610592 z"
- id="path3012"
- style="fill:#0a6333" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1;stroke:#273e5e;stroke-width:0.80000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path3818"
- sodipodi:cx="22.714285"
- sodipodi:cy="23.571428"
- sodipodi:rx="19.428572"
- sodipodi:ry="19.428572"
- d="M 42.142857,23.571428 A 19.428572,19.428572 0 1 1 3.2857132,23.571428 A 19.428572,19.428572 0 1 1 42.142857,23.571428 z"
- transform="matrix(0.9754581,0,0,0.9754581,0.3821951,0.7002631)" />
- <g
- transform="matrix(0.1269799,0,0,0.1269799,23.283534,9.5774104)"
- id="g236">
- <path
- style="fill:#024c1c"
- id="path238"
- d="M 44.233,0.368 C 42.032,0.004 39.876,-0.083 37.788,0.079 L 37.784,0.078 C 37.784,0.078 23.532,1.048 22.886,1.099 C 9.875,2.138 0,12.834 0,27.605 L 0,201.792 L 14.567,215.37 L 160.968,190.766 C 171.041,189.016 178.999,177.133 178.999,164.303 L 178.999,22.46 L 44.233,0.368 z" />
-
- <path
- style="fill:#66b036"
- id="path240"
- d="M 179,164.304 C 179,177.134 171.042,189.017 160.969,190.767 L 14.567,215.37 L 14.567,26.683 C 14.567,9.52 28.263,-2.264 44.231,0.368 L 179,22.462 L 179,164.304 z" />
-
- <g
- id="g242">
- <path
- style="fill:#ffffff"
- id="path244"
- d="M 133.897,47.137 L 145.72,48.411 L 145.72,69.158 L 159.025,70.099 L 159.025,83.113 L 145.72,82.502 L 145.72,130.066 C 145.72,134.207 146.176,136.869 147.093,138.064 C 147.919,139.158 149.195,139.697 150.907,139.697 C 151.069,139.697 151.24,139.695 151.414,139.683 C 154.031,139.533 156.878,138.728 159.98,137.314 L 159.98,149.275 C 154.707,151.591 149.532,152.966 144.452,153.398 C 143.716,153.457 143.005,153.486 142.317,153.486 C 137.716,153.486 134.199,152.152 131.797,149.451 C 128.998,146.318 127.598,141.285 127.598,134.387 L 127.598,81.661 L 121.209,81.368 L 121.209,67.424 L 129,67.985 L 133.897,47.137 z" />
-
- </g>
-
- <polygon
- style="fill:#0a6333"
- id="polygon246"
- points="159.027,83.112 145.722,82.501 145.722,82.785 152.854,83.112 159.027,83.112 " />
-
- <path
- style="fill:#024c1c"
- id="path248"
- d="M 148.488,139.21 C 149.168,139.548 149.96,139.696 150.908,139.696 C 151.07,139.696 151.241,139.694 151.415,139.682 C 154.032,139.532 156.879,138.727 159.981,137.313 L 153.806,137.313 C 151.938,138.169 150.178,138.808 148.488,139.21 z" />
-
- <path
- style="fill:#024c1c"
- id="path250"
- d="M 133.897,47.137 L 127.723,47.137 L 122.93,67.549 L 129,67.985 L 133.897,47.137 z M 131.799,149.45 C 129,146.317 127.6,141.284 127.6,134.386 L 127.6,81.661 L 121.211,81.368 L 121.211,67.424 L 115.03,67.424 L 115.03,70.539 C 115.926,73.897 116.63,77.539 117.149,81.465 L 121.426,81.661 L 121.426,134.386 C 121.426,141.284 122.827,146.318 125.625,149.45 C 128.029,152.151 131.541,153.485 136.141,153.485 L 142.318,153.485 C 137.718,153.485 134.2,152.151 131.799,149.45 z" />
-
- <path
- style="fill:#0a6333"
- id="path252"
- d="M 102.954,170.419 C 103.782,170.419 104.669,170.362 105.615,170.259 L 100.649,170.259 C 101.341,170.364 102.138,170.419 102.954,170.419 z" />
-
- <path
- style="fill:#ffffff"
- id="path254"
- d="M 112.036,139.78 C 107.81,149.749 101.365,156.27 92.542,159.288 C 93.43,163.856 94.778,166.929 96.567,168.55 C 97.955,169.796 100.094,170.419 102.958,170.419 C 103.782,170.419 104.671,170.362 105.615,170.259 L 105.615,183.736 L 99.497,184.539 C 97.692,184.771 95.98,184.889 94.361,184.889 C 89.001,184.889 84.665,183.59 81.402,180.961 C 77.085,177.496 73.899,170.805 71.857,160.908 C 62.48,158.91 55.166,152.945 50.103,142.937 C 44.965,132.769 42.349,117.895 42.349,98.441 C 42.349,77.466 45.927,61.985 52.971,52.169 C 58.912,43.885 67.202,39.812 77.634,39.812 C 79.306,39.812 81.033,39.916 82.809,40.124 C 95.081,41.539 103.977,47.329 109.77,57.362 C 115.453,67.177 118.243,81.244 118.243,99.721 C 118.242,116.643 116.186,129.954 112.036,139.78 z M 93.582,135.933 C 95.996,129.724 97.189,117.54 97.189,99.37 C 97.189,83.054 96.007,71.837 93.608,65.682 C 91.21,59.496 87.622,56.153 82.808,55.731 C 82.441,55.7 82.075,55.681 81.724,55.681 C 77.264,55.681 73.84,58.283 71.447,63.508 C 68.863,69.201 67.555,81.003 67.555,98.866 C 67.555,116.129 68.826,128.379 71.388,135.569 C 73.804,142.419 77.423,145.813 82.174,145.813 C 82.384,145.813 82.593,145.805 82.809,145.79 C 87.566,145.489 91.148,142.202 93.582,135.933" />
-
- <path
- style="fill:#024c1c"
- id="path256"
- d="M 84.708,183.003 C 84.59,182.95 84.477,182.896 84.361,182.839 C 84.349,182.835 84.336,182.829 84.323,182.821 C 84.218,182.77 84.115,182.716 84.011,182.663 C 83.991,182.653 83.971,182.642 83.948,182.63 C 83.854,182.579 83.761,182.528 83.667,182.476 C 83.636,182.46 83.609,182.443 83.579,182.427 C 83.494,182.38 83.412,182.331 83.328,182.284 C 83.286,182.263 83.25,182.239 83.209,182.214 C 83.137,182.171 83.062,182.128 82.994,182.083 C 82.943,182.054 82.897,182.024 82.848,181.993 C 82.785,181.954 82.726,181.915 82.663,181.876 C 82.606,181.837 82.552,181.798 82.492,181.759 C 82.442,181.726 82.392,181.693 82.342,181.659 C 82.272,181.612 82.206,181.563 82.141,181.518 C 82.101,181.489 82.061,181.463 82.021,181.432 C 81.943,181.377 81.866,181.319 81.79,181.26 C 81.764,181.239 81.735,181.221 81.708,181.199 C 81.607,181.121 81.505,181.039 81.402,180.959 C 77.085,177.494 73.899,170.803 71.857,160.906 C 62.48,158.908 55.166,152.943 50.103,142.935 C 44.965,132.767 42.349,117.893 42.349,98.439 C 42.349,77.464 45.927,61.983 52.971,52.167 C 58.912,43.883 67.202,39.81 77.634,39.81 C 77.67,39.81 71.114,39.806 71.114,39.806 L 71.114,39.81 C 60.694,39.818 52.411,43.89 46.476,52.167 C 39.434,61.984 35.855,77.465 35.855,98.439 C 35.855,117.892 38.469,132.767 43.609,142.935 C 48.671,152.943 55.983,158.908 65.361,160.906 C 67.403,170.802 70.588,177.494 74.904,180.959 C 78.168,183.588 82.507,184.887 87.867,184.887 C 87.967,184.887 88.07,184.887 88.17,184.885 L 93.861,184.885 C 90.361,184.828 87.306,184.203 84.716,183.006 C 84.712,183.007 84.708,183.007 84.708,183.003 z M 87.113,65.681 C 89.511,71.837 90.69,83.054 90.69,99.369 C 90.69,117.539 89.502,129.723 87.083,135.932 C 85.142,140.942 82.439,144.047 79.013,145.248 C 79.999,145.621 81.058,145.81 82.173,145.81 C 82.383,145.81 82.592,145.802 82.808,145.787 C 87.567,145.488 91.149,142.201 93.582,135.932 C 95.996,129.723 97.189,117.539 97.189,99.369 C 97.189,83.053 96.007,71.836 93.608,65.681 C 91.21,59.495 87.622,56.152 82.808,55.73 C 82.441,55.699 82.075,55.68 81.724,55.68 C 80.601,55.68 79.549,55.845 78.556,56.173 L 78.556,56.175 L 78.556,56.175 C 82.254,57.322 85.104,60.5 87.113,65.681 z" />
-
-</g>
- </g>
-</svg>
diff --git a/examples/gestures/browser/data/closetab.png b/examples/gestures/browser/data/closetab.png
deleted file mode 100644
index ab9d669..0000000
--- a/examples/gestures/browser/data/closetab.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/data.qrc b/examples/gestures/browser/data/data.qrc
deleted file mode 100644
index c7d0294..0000000
--- a/examples/gestures/browser/data/data.qrc
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>addtab.png</file>
- <file>closetab.png</file>
- <file>history.png</file>
- <file>browser.svg</file>
- <file>defaultbookmarks.xbel</file>
- <file>loading.gif</file>
- <file>defaulticon.png</file>
-</qresource>
-</RCC>
diff --git a/examples/gestures/browser/data/defaultbookmarks.xbel b/examples/gestures/browser/data/defaultbookmarks.xbel
deleted file mode 100644
index a168244..0000000
--- a/examples/gestures/browser/data/defaultbookmarks.xbel
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE xbel>
-<xbel version="1.0">
- <folder folded="yes">
- <title>Bookmarks Bar</title>
- <bookmark href="http://qtsoftware.com/">
- <title>Qt Software</title>
- </bookmark>
- <bookmark href="http://webkit.org/">
- <title>WebKit.org</title>
- </bookmark>
- <bookmark href="http://doc.trolltech.com/">
- <title>Qt Documentation</title>
- </bookmark>
- <bookmark href="http://doc.trolltech.com/qq/">
- <title>Qt Quarterly</title>
- </bookmark>
- <bookmark href="http://labs.trolltech.com/">
- <title>Qt Labs</title>
- </bookmark>
- <bookmark href="http://www.qtcentre.org/">
- <title>Qt Centre</title>
- </bookmark>
- <bookmark href="http://qt-apps.org/">
- <title>Qt-Apps.org</title>
- </bookmark>
- <bookmark href="http://qtnode.net/">
- <title>qtnode</title>
- </bookmark>
- <bookmark href="http://xkcd.com/">
- <title>xkcd</title>
- </bookmark>
- </folder>
- <folder folded="yes">
- <title>Bookmarks Menu</title>
- <bookmark href="http://reddit.com/">
- <title>reddit.com: what's new online!</title>
- </bookmark>
- </folder>
-</xbel>
diff --git a/examples/gestures/browser/data/defaulticon.png b/examples/gestures/browser/data/defaulticon.png
deleted file mode 100644
index 01a0920..0000000
--- a/examples/gestures/browser/data/defaulticon.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/history.png b/examples/gestures/browser/data/history.png
deleted file mode 100644
index 552a1cb..0000000
--- a/examples/gestures/browser/data/history.png
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/data/loading.gif b/examples/gestures/browser/data/loading.gif
deleted file mode 100644
index c1545eb..0000000
--- a/examples/gestures/browser/data/loading.gif
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/browser/downloaditem.ui b/examples/gestures/browser/downloaditem.ui
deleted file mode 100644
index 4a0a0fd..0000000
--- a/examples/gestures/browser/downloaditem.ui
+++ /dev/null
@@ -1,134 +0,0 @@
-<ui version="4.0" >
- <class>DownloadItem</class>
- <widget class="QWidget" name="DownloadItem" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>423</width>
- <height>110</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Form</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <item>
- <widget class="QLabel" name="fileIcon" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Minimum" hsizetype="Minimum" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" >
- <string>Ico</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout_2" >
- <item>
- <widget class="SqueezeLabel" native="1" name="fileNameLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" stdset="0" >
- <string>Filename</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QProgressBar" name="progressBar" >
- <property name="value" >
- <number>0</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="SqueezeLabel" native="1" name="downloadInfoLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Minimum" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" stdset="0" >
- <string/>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>17</width>
- <height>1</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QPushButton" name="tryAgainButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Try Again</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="stopButton" >
- <property name="text" >
- <string>Stop</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="openButton" >
- <property name="text" >
- <string>Open</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_2" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>17</width>
- <height>5</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SqueezeLabel</class>
- <extends>QWidget</extends>
- <header>squeezelabel.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/examples/gestures/browser/downloadmanager.cpp b/examples/gestures/browser/downloadmanager.cpp
deleted file mode 100644
index 8e23795..0000000
--- a/examples/gestures/browser/downloadmanager.cpp
+++ /dev/null
@@ -1,579 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "downloadmanager.h"
-
-#include "autosaver.h"
-#include "browserapplication.h"
-#include "networkaccessmanager.h"
-
-#include <math.h>
-
-#include <QtCore/QMetaEnum>
-#include <QtCore/QSettings>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QFileDialog>
-#include <QtGui/QHeaderView>
-#include <QtGui/QFileIconProvider>
-
-#include <QtCore/QDebug>
-
-#include <QtWebKit/QWebSettings>
-
-/*!
- DownloadItem is a widget that is displayed in the download manager list.
- It moves the data from the QNetworkReply into the QFile as well
- as update the information/progressbar and report errors.
- */
-DownloadItem::DownloadItem(QNetworkReply *reply, bool requestFileName, QWidget *parent)
- : QWidget(parent)
- , m_reply(reply)
- , m_requestFileName(requestFileName)
- , m_bytesReceived(0)
-{
- setupUi(this);
- QPalette p = downloadInfoLabel->palette();
- p.setColor(QPalette::Text, Qt::darkGray);
- downloadInfoLabel->setPalette(p);
- progressBar->setMaximum(0);
- tryAgainButton->hide();
- connect(stopButton, SIGNAL(clicked()), this, SLOT(stop()));
- connect(openButton, SIGNAL(clicked()), this, SLOT(open()));
- connect(tryAgainButton, SIGNAL(clicked()), this, SLOT(tryAgain()));
-
- init();
-}
-
-void DownloadItem::init()
-{
- if (!m_reply)
- return;
-
- // attach to the m_reply
- m_url = m_reply->url();
- m_reply->setParent(this);
- connect(m_reply, SIGNAL(readyRead()), this, SLOT(downloadReadyRead()));
- connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)),
- this, SLOT(error(QNetworkReply::NetworkError)));
- connect(m_reply, SIGNAL(downloadProgress(qint64, qint64)),
- this, SLOT(downloadProgress(qint64, qint64)));
- connect(m_reply, SIGNAL(metaDataChanged()),
- this, SLOT(metaDataChanged()));
- connect(m_reply, SIGNAL(finished()),
- this, SLOT(finished()));
-
- // reset info
- downloadInfoLabel->clear();
- progressBar->setValue(0);
- getFileName();
-
- // start timer for the download estimation
- m_downloadTime.start();
-
- if (m_reply->error() != QNetworkReply::NoError) {
- error(m_reply->error());
- finished();
- }
-}
-
-void DownloadItem::getFileName()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("downloadmanager"));
- QString defaultLocation = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
- QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), defaultLocation).toString();
- if (!downloadDirectory.isEmpty())
- downloadDirectory += QLatin1Char('/');
-
- QString defaultFileName = saveFileName(downloadDirectory);
- QString fileName = defaultFileName;
- if (m_requestFileName) {
- fileName = QFileDialog::getSaveFileName(this, tr("Save File"), defaultFileName);
- if (fileName.isEmpty()) {
- m_reply->close();
- fileNameLabel->setText(tr("Download canceled: %1").arg(QFileInfo(defaultFileName).fileName()));
- return;
- }
- }
- m_output.setFileName(fileName);
- fileNameLabel->setText(QFileInfo(m_output.fileName()).fileName());
- if (m_requestFileName)
- downloadReadyRead();
-}
-
-QString DownloadItem::saveFileName(const QString &directory) const
-{
- // Move this function into QNetworkReply to also get file name sent from the server
- QString path = m_url.path();
- QFileInfo info(path);
- QString baseName = info.completeBaseName();
- QString endName = info.suffix();
-
- if (baseName.isEmpty()) {
- baseName = QLatin1String("unnamed_download");
- qDebug() << "DownloadManager:: downloading unknown file:" << m_url;
- }
- QString name = directory + baseName + QLatin1Char('.') + endName;
- if (QFile::exists(name)) {
- // already exists, don't overwrite
- int i = 1;
- do {
- name = directory + baseName + QLatin1Char('-') + QString::number(i++) + QLatin1Char('.') + endName;
- } while (QFile::exists(name));
- }
- return name;
-}
-
-
-void DownloadItem::stop()
-{
- setUpdatesEnabled(false);
- stopButton->setEnabled(false);
- stopButton->hide();
- tryAgainButton->setEnabled(true);
- tryAgainButton->show();
- setUpdatesEnabled(true);
- m_reply->abort();
-}
-
-void DownloadItem::open()
-{
- QFileInfo info(m_output);
- QUrl url = QUrl::fromLocalFile(info.absolutePath());
- QDesktopServices::openUrl(url);
-}
-
-void DownloadItem::tryAgain()
-{
- if (!tryAgainButton->isEnabled())
- return;
-
- tryAgainButton->setEnabled(false);
- tryAgainButton->setVisible(false);
- stopButton->setEnabled(true);
- stopButton->setVisible(true);
- progressBar->setVisible(true);
-
- QNetworkReply *r = BrowserApplication::networkAccessManager()->get(QNetworkRequest(m_url));
- if (m_reply)
- m_reply->deleteLater();
- if (m_output.exists())
- m_output.remove();
- m_reply = r;
- init();
- emit statusChanged();
-}
-
-void DownloadItem::downloadReadyRead()
-{
- if (m_requestFileName && m_output.fileName().isEmpty())
- return;
- if (!m_output.isOpen()) {
- // in case someone else has already put a file there
- if (!m_requestFileName)
- getFileName();
- if (!m_output.open(QIODevice::WriteOnly)) {
- downloadInfoLabel->setText(tr("Error opening save file: %1")
- .arg(m_output.errorString()));
- stopButton->click();
- emit statusChanged();
- return;
- }
- emit statusChanged();
- }
- if (-1 == m_output.write(m_reply->readAll())) {
- downloadInfoLabel->setText(tr("Error saving: %1")
- .arg(m_output.errorString()));
- stopButton->click();
- }
-}
-
-void DownloadItem::error(QNetworkReply::NetworkError)
-{
- qDebug() << "DownloadItem::error" << m_reply->errorString() << m_url;
- downloadInfoLabel->setText(tr("Network Error: %1").arg(m_reply->errorString()));
- tryAgainButton->setEnabled(true);
- tryAgainButton->setVisible(true);
-}
-
-void DownloadItem::metaDataChanged()
-{
- qDebug() << "DownloadItem::metaDataChanged: not handled.";
-}
-
-void DownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
-{
- m_bytesReceived = bytesReceived;
- if (bytesTotal == -1) {
- progressBar->setValue(0);
- progressBar->setMaximum(0);
- } else {
- progressBar->setValue(bytesReceived);
- progressBar->setMaximum(bytesTotal);
- }
- updateInfoLabel();
-}
-
-void DownloadItem::updateInfoLabel()
-{
- if (m_reply->error() == QNetworkReply::NoError)
- return;
-
- qint64 bytesTotal = progressBar->maximum();
- bool running = !downloadedSuccessfully();
-
- // update info label
- double speed = m_bytesReceived * 1000.0 / m_downloadTime.elapsed();
- double timeRemaining = ((double)(bytesTotal - m_bytesReceived)) / speed;
- QString timeRemainingString = tr("seconds");
- if (timeRemaining > 60) {
- timeRemaining = timeRemaining / 60;
- timeRemainingString = tr("minutes");
- }
- timeRemaining = floor(timeRemaining);
-
- // When downloading the eta should never be 0
- if (timeRemaining == 0)
- timeRemaining = 1;
-
- QString info;
- if (running) {
- QString remaining;
- if (bytesTotal != 0)
- remaining = tr("- %4 %5 remaining")
- .arg(timeRemaining)
- .arg(timeRemainingString);
- info = QString(tr("%1 of %2 (%3/sec) %4"))
- .arg(dataString(m_bytesReceived))
- .arg(bytesTotal == 0 ? tr("?") : dataString(bytesTotal))
- .arg(dataString((int)speed))
- .arg(remaining);
- } else {
- if (m_bytesReceived == bytesTotal)
- info = dataString(m_output.size());
- else
- info = tr("%1 of %2 - Stopped")
- .arg(dataString(m_bytesReceived))
- .arg(dataString(bytesTotal));
- }
- downloadInfoLabel->setText(info);
-}
-
-QString DownloadItem::dataString(int size) const
-{
- QString unit;
- if (size < 1024) {
- unit = tr("bytes");
- } else if (size < 1024*1024) {
- size /= 1024;
- unit = tr("kB");
- } else {
- size /= 1024*1024;
- unit = tr("MB");
- }
- return QString(QLatin1String("%1 %2")).arg(size).arg(unit);
-}
-
-bool DownloadItem::downloading() const
-{
- return (progressBar->isVisible());
-}
-
-bool DownloadItem::downloadedSuccessfully() const
-{
- return (stopButton->isHidden() && tryAgainButton->isHidden());
-}
-
-void DownloadItem::finished()
-{
- progressBar->hide();
- stopButton->setEnabled(false);
- stopButton->hide();
- m_output.close();
- updateInfoLabel();
- emit statusChanged();
-}
-
-/*!
- DownloadManager is a Dialog that contains a list of DownloadItems
-
- It is a basic download manager. It only downloads the file, doesn't do BitTorrent,
- extract zipped files or anything fancy.
- */
-DownloadManager::DownloadManager(QWidget *parent)
- : QDialog(parent)
- , m_autoSaver(new AutoSaver(this))
- , m_manager(BrowserApplication::networkAccessManager())
- , m_iconProvider(0)
- , m_removePolicy(Never)
-{
- setupUi(this);
- downloadsView->setShowGrid(false);
- downloadsView->verticalHeader()->hide();
- downloadsView->horizontalHeader()->hide();
- downloadsView->setAlternatingRowColors(true);
- downloadsView->horizontalHeader()->setStretchLastSection(true);
- m_model = new DownloadModel(this);
- downloadsView->setModel(m_model);
- connect(cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup()));
- load();
-}
-
-DownloadManager::~DownloadManager()
-{
- m_autoSaver->changeOccurred();
- m_autoSaver->saveIfNeccessary();
- if (m_iconProvider)
- delete m_iconProvider;
-}
-
-int DownloadManager::activeDownloads() const
-{
- int count = 0;
- for (int i = 0; i < m_downloads.count(); ++i) {
- if (m_downloads.at(i)->stopButton->isEnabled())
- ++count;
- }
- return count;
-}
-
-void DownloadManager::download(const QNetworkRequest &request, bool requestFileName)
-{
- if (request.url().isEmpty())
- return;
- handleUnsupportedContent(m_manager->get(request), requestFileName);
-}
-
-void DownloadManager::handleUnsupportedContent(QNetworkReply *reply, bool requestFileName)
-{
- if (!reply || reply->url().isEmpty())
- return;
- QVariant header = reply->header(QNetworkRequest::ContentLengthHeader);
- bool ok;
- int size = header.toInt(&ok);
- if (ok && size == 0)
- return;
-
- qDebug() << "DownloadManager::handleUnsupportedContent" << reply->url() << "requestFileName" << requestFileName;
- DownloadItem *item = new DownloadItem(reply, requestFileName, this);
- addItem(item);
-}
-
-void DownloadManager::addItem(DownloadItem *item)
-{
- connect(item, SIGNAL(statusChanged()), this, SLOT(updateRow()));
- int row = m_downloads.count();
- m_model->beginInsertRows(QModelIndex(), row, row);
- m_downloads.append(item);
- m_model->endInsertRows();
- updateItemCount();
- if (row == 0)
- show();
- downloadsView->setIndexWidget(m_model->index(row, 0), item);
- QIcon icon = style()->standardIcon(QStyle::SP_FileIcon);
- item->fileIcon->setPixmap(icon.pixmap(48, 48));
- downloadsView->setRowHeight(row, item->sizeHint().height());
-}
-
-void DownloadManager::updateRow()
-{
- DownloadItem *item = qobject_cast<DownloadItem*>(sender());
- int row = m_downloads.indexOf(item);
- if (-1 == row)
- return;
- if (!m_iconProvider)
- m_iconProvider = new QFileIconProvider();
- QIcon icon = m_iconProvider->icon(item->m_output.fileName());
- if (icon.isNull())
- icon = style()->standardIcon(QStyle::SP_FileIcon);
- item->fileIcon->setPixmap(icon.pixmap(48, 48));
- downloadsView->setRowHeight(row, item->minimumSizeHint().height());
-
- bool remove = false;
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (!item->downloading()
- && globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- remove = true;
-
- if (item->downloadedSuccessfully()
- && removePolicy() == DownloadManager::SuccessFullDownload) {
- remove = true;
- }
- if (remove)
- m_model->removeRow(row);
-
- cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0);
-}
-
-DownloadManager::RemovePolicy DownloadManager::removePolicy() const
-{
- return m_removePolicy;
-}
-
-void DownloadManager::setRemovePolicy(RemovePolicy policy)
-{
- if (policy == m_removePolicy)
- return;
- m_removePolicy = policy;
- m_autoSaver->changeOccurred();
-}
-
-void DownloadManager::save() const
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("downloadmanager"));
- QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy"));
- settings.setValue(QLatin1String("removeDownloadsPolicy"), QLatin1String(removePolicyEnum.valueToKey(m_removePolicy)));
- settings.setValue(QLatin1String("size"), size());
- if (m_removePolicy == Exit)
- return;
-
- for (int i = 0; i < m_downloads.count(); ++i) {
- QString key = QString(QLatin1String("download_%1_")).arg(i);
- settings.setValue(key + QLatin1String("url"), m_downloads[i]->m_url);
- settings.setValue(key + QLatin1String("location"), QFileInfo(m_downloads[i]->m_output).filePath());
- settings.setValue(key + QLatin1String("done"), m_downloads[i]->downloadedSuccessfully());
- }
- int i = m_downloads.count();
- QString key = QString(QLatin1String("download_%1_")).arg(i);
- while (settings.contains(key + QLatin1String("url"))) {
- settings.remove(key + QLatin1String("url"));
- settings.remove(key + QLatin1String("location"));
- settings.remove(key + QLatin1String("done"));
- key = QString(QLatin1String("download_%1_")).arg(++i);
- }
-}
-
-void DownloadManager::load()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("downloadmanager"));
- QSize size = settings.value(QLatin1String("size")).toSize();
- if (size.isValid())
- resize(size);
- QByteArray value = settings.value(QLatin1String("removeDownloadsPolicy"), QLatin1String("Never")).toByteArray();
- QMetaEnum removePolicyEnum = staticMetaObject.enumerator(staticMetaObject.indexOfEnumerator("RemovePolicy"));
- m_removePolicy = removePolicyEnum.keyToValue(value) == -1 ?
- Never :
- static_cast<RemovePolicy>(removePolicyEnum.keyToValue(value));
-
- int i = 0;
- QString key = QString(QLatin1String("download_%1_")).arg(i);
- while (settings.contains(key + QLatin1String("url"))) {
- QUrl url = settings.value(key + QLatin1String("url")).toUrl();
- QString fileName = settings.value(key + QLatin1String("location")).toString();
- bool done = settings.value(key + QLatin1String("done"), true).toBool();
- if (!url.isEmpty() && !fileName.isEmpty()) {
- DownloadItem *item = new DownloadItem(0, this);
- item->m_output.setFileName(fileName);
- item->fileNameLabel->setText(QFileInfo(item->m_output.fileName()).fileName());
- item->m_url = url;
- item->stopButton->setVisible(false);
- item->stopButton->setEnabled(false);
- item->tryAgainButton->setVisible(!done);
- item->tryAgainButton->setEnabled(!done);
- item->progressBar->setVisible(!done);
- addItem(item);
- }
- key = QString(QLatin1String("download_%1_")).arg(++i);
- }
- cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0);
-}
-
-void DownloadManager::cleanup()
-{
- if (m_downloads.isEmpty())
- return;
- m_model->removeRows(0, m_downloads.count());
- updateItemCount();
- if (m_downloads.isEmpty() && m_iconProvider) {
- delete m_iconProvider;
- m_iconProvider = 0;
- }
- m_autoSaver->changeOccurred();
-}
-
-void DownloadManager::updateItemCount()
-{
- int count = m_downloads.count();
- itemCount->setText(count == 1 ? tr("1 Download") : tr("%1 Downloads").arg(count));
-}
-
-DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent)
- : QAbstractListModel(parent)
- , m_downloadManager(downloadManager)
-{
-}
-
-QVariant DownloadModel::data(const QModelIndex &index, int role) const
-{
- if (index.row() < 0 || index.row() >= rowCount(index.parent()))
- return QVariant();
- if (role == Qt::ToolTipRole)
- if (!m_downloadManager->m_downloads.at(index.row())->downloadedSuccessfully())
- return m_downloadManager->m_downloads.at(index.row())->downloadInfoLabel->text();
- return QVariant();
-}
-
-int DownloadModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : m_downloadManager->m_downloads.count();
-}
-
-bool DownloadModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid())
- return false;
-
- int lastRow = row + count - 1;
- for (int i = lastRow; i >= row; --i) {
- if (m_downloadManager->m_downloads.at(i)->downloadedSuccessfully()
- || m_downloadManager->m_downloads.at(i)->tryAgainButton->isEnabled()) {
- beginRemoveRows(parent, i, i);
- m_downloadManager->m_downloads.takeAt(i)->deleteLater();
- endRemoveRows();
- }
- }
- m_downloadManager->m_autoSaver->changeOccurred();
- return true;
-}
-
diff --git a/examples/gestures/browser/downloadmanager.h b/examples/gestures/browser/downloadmanager.h
deleted file mode 100644
index af13fec..0000000
--- a/examples/gestures/browser/downloadmanager.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef DOWNLOADMANAGER_H
-#define DOWNLOADMANAGER_H
-
-#include "ui_downloads.h"
-#include "ui_downloaditem.h"
-
-#include <QtNetwork/QNetworkReply>
-
-#include <QtCore/QFile>
-#include <QtCore/QTime>
-
-class DownloadItem : public QWidget, public Ui_DownloadItem
-{
- Q_OBJECT
-
-signals:
- void statusChanged();
-
-public:
- DownloadItem(QNetworkReply *reply = 0, bool requestFileName = false, QWidget *parent = 0);
- bool downloading() const;
- bool downloadedSuccessfully() const;
-
- QUrl m_url;
-
- QFile m_output;
- QNetworkReply *m_reply;
-
-private slots:
- void stop();
- void tryAgain();
- void open();
-
- void downloadReadyRead();
- void error(QNetworkReply::NetworkError code);
- void downloadProgress(qint64 bytesReceived, qint64 bytesTotal);
- void metaDataChanged();
- void finished();
-
-private:
- void getFileName();
- void init();
- void updateInfoLabel();
- QString dataString(int size) const;
-
- QString saveFileName(const QString &directory) const;
-
- bool m_requestFileName;
- qint64 m_bytesReceived;
- QTime m_downloadTime;
-};
-
-class AutoSaver;
-class DownloadModel;
-QT_BEGIN_NAMESPACE
-class QFileIconProvider;
-QT_END_NAMESPACE
-
-class DownloadManager : public QDialog, public Ui_DownloadDialog
-{
- Q_OBJECT
- Q_PROPERTY(RemovePolicy removePolicy READ removePolicy WRITE setRemovePolicy)
- Q_ENUMS(RemovePolicy)
-
-public:
- enum RemovePolicy {
- Never,
- Exit,
- SuccessFullDownload
- };
-
- DownloadManager(QWidget *parent = 0);
- ~DownloadManager();
- int activeDownloads() const;
-
- RemovePolicy removePolicy() const;
- void setRemovePolicy(RemovePolicy policy);
-
-public slots:
- void download(const QNetworkRequest &request, bool requestFileName = false);
- inline void download(const QUrl &url, bool requestFileName = false)
- { download(QNetworkRequest(url), requestFileName); }
- void handleUnsupportedContent(QNetworkReply *reply, bool requestFileName = false);
- void cleanup();
-
-private slots:
- void save() const;
- void updateRow();
-
-private:
- void addItem(DownloadItem *item);
- void updateItemCount();
- void load();
-
- AutoSaver *m_autoSaver;
- DownloadModel *m_model;
- QNetworkAccessManager *m_manager;
- QFileIconProvider *m_iconProvider;
- QList<DownloadItem*> m_downloads;
- RemovePolicy m_removePolicy;
- friend class DownloadModel;
-};
-
-class DownloadModel : public QAbstractListModel
-{
- friend class DownloadManager;
- Q_OBJECT
-
-public:
- DownloadModel(DownloadManager *downloadManager, QObject *parent = 0);
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private:
- DownloadManager *m_downloadManager;
-
-};
-
-#endif // DOWNLOADMANAGER_H
-
diff --git a/examples/gestures/browser/downloads.ui b/examples/gestures/browser/downloads.ui
deleted file mode 100644
index a2e2569..0000000
--- a/examples/gestures/browser/downloads.ui
+++ /dev/null
@@ -1,83 +0,0 @@
-<ui version="4.0" >
- <class>DownloadDialog</class>
- <widget class="QDialog" name="DownloadDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>332</width>
- <height>252</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Downloads</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>0</number>
- </property>
- <item row="0" column="0" colspan="3" >
- <widget class="EditTableView" name="downloadsView" />
- </item>
- <item row="1" column="0" >
- <layout class="QHBoxLayout" name="horizontalLayout" >
- <item>
- <widget class="QPushButton" name="cleanupButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="text" >
- <string>Clean up</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>58</width>
- <height>24</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item row="1" column="1" >
- <widget class="QLabel" name="itemCount" >
- <property name="text" >
- <string>0 Items</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <spacer name="horizontalSpacer" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>148</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>EditTableView</class>
- <extends>QTableView</extends>
- <header>edittableview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
diff --git a/examples/gestures/browser/edittableview.cpp b/examples/gestures/browser/edittableview.cpp
deleted file mode 100644
index f7d5e67..0000000
--- a/examples/gestures/browser/edittableview.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "edittableview.h"
-#include <QtGui/QKeyEvent>
-
-EditTableView::EditTableView(QWidget *parent)
- : QTableView(parent)
-{
-}
-
-void EditTableView::keyPressEvent(QKeyEvent *event)
-{
- if ((event->key() == Qt::Key_Delete
- || event->key() == Qt::Key_Backspace)
- && model()) {
- removeOne();
- } else {
- QAbstractItemView::keyPressEvent(event);
- }
-}
-
-void EditTableView::removeOne()
-{
- if (!model() || !selectionModel())
- return;
- int row = currentIndex().row();
- model()->removeRow(row, rootIndex());
- QModelIndex idx = model()->index(row, 0, rootIndex());
- if (!idx.isValid())
- idx = model()->index(row - 1, 0, rootIndex());
- selectionModel()->select(idx, QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows);
-}
-
-void EditTableView::removeAll()
-{
- if (model())
- model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex());
-}
-
diff --git a/examples/gestures/browser/edittableview.h b/examples/gestures/browser/edittableview.h
deleted file mode 100644
index fb033ce..0000000
--- a/examples/gestures/browser/edittableview.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EDITTABLEVIEW_H
-#define EDITTABLEVIEW_H
-
-#include <QtGui/QTableView>
-
-class EditTableView : public QTableView
-{
- Q_OBJECT
-
-public:
- EditTableView(QWidget *parent = 0);
- void keyPressEvent(QKeyEvent *event);
-
-public slots:
- void removeOne();
- void removeAll();
-};
-
-#endif // EDITTABLEVIEW_H
-
diff --git a/examples/gestures/browser/edittreeview.cpp b/examples/gestures/browser/edittreeview.cpp
deleted file mode 100644
index c7cefe6..0000000
--- a/examples/gestures/browser/edittreeview.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "edittreeview.h"
-
-#include <QtGui/QKeyEvent>
-
-EditTreeView::EditTreeView(QWidget *parent)
- : QTreeView(parent)
-{
-}
-
-void EditTreeView::keyPressEvent(QKeyEvent *event)
-{
- if ((event->key() == Qt::Key_Delete
- || event->key() == Qt::Key_Backspace)
- && model()) {
- removeOne();
- } else {
- QAbstractItemView::keyPressEvent(event);
- }
-}
-
-void EditTreeView::removeOne()
-{
- if (!model())
- return;
- QModelIndex ci = currentIndex();
- int row = ci.row();
- model()->removeRow(row, ci.parent());
-}
-
-void EditTreeView::removeAll()
-{
- if (!model())
- return;
- model()->removeRows(0, model()->rowCount(rootIndex()), rootIndex());
-}
-
diff --git a/examples/gestures/browser/edittreeview.h b/examples/gestures/browser/edittreeview.h
deleted file mode 100644
index 3a6fcaf..0000000
--- a/examples/gestures/browser/edittreeview.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EDITTREEVIEW_H
-#define EDITTREEVIEW_H
-
-#include <QtGui/QTreeView>
-
-class EditTreeView : public QTreeView
-{
- Q_OBJECT
-
-public:
- EditTreeView(QWidget *parent = 0);
- void keyPressEvent(QKeyEvent *event);
-
-public slots:
- void removeOne();
- void removeAll();
-};
-
-#endif // EDITTREEVIEW_H
-
diff --git a/examples/gestures/browser/history.cpp b/examples/gestures/browser/history.cpp
deleted file mode 100644
index 0e0652d..0000000
--- a/examples/gestures/browser/history.cpp
+++ /dev/null
@@ -1,1282 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "history.h"
-
-#include "autosaver.h"
-#include "browserapplication.h"
-
-#include <QtCore/QBuffer>
-#include <QtCore/QDir>
-#include <QtCore/QFile>
-#include <QtCore/QFileInfo>
-#include <QtCore/QSettings>
-#include <QtCore/QTemporaryFile>
-#include <QtCore/QTextStream>
-
-#include <QtCore/QtAlgorithms>
-
-#include <QtGui/QClipboard>
-#include <QtGui/QDesktopServices>
-#include <QtGui/QHeaderView>
-#include <QtGui/QStyle>
-
-#include <QtWebKit/QWebHistoryInterface>
-#include <QtWebKit/QWebSettings>
-
-#include <QtCore/QDebug>
-
-static const unsigned int HISTORY_VERSION = 23;
-
-HistoryManager::HistoryManager(QObject *parent)
- : QWebHistoryInterface(parent)
- , m_saveTimer(new AutoSaver(this))
- , m_historyLimit(30)
- , m_historyModel(0)
- , m_historyFilterModel(0)
- , m_historyTreeModel(0)
-{
- m_expiredTimer.setSingleShot(true);
- connect(&m_expiredTimer, SIGNAL(timeout()),
- this, SLOT(checkForExpired()));
- connect(this, SIGNAL(entryAdded(const HistoryItem &)),
- m_saveTimer, SLOT(changeOccurred()));
- connect(this, SIGNAL(entryRemoved(const HistoryItem &)),
- m_saveTimer, SLOT(changeOccurred()));
- load();
-
- m_historyModel = new HistoryModel(this, this);
- m_historyFilterModel = new HistoryFilterModel(m_historyModel, this);
- m_historyTreeModel = new HistoryTreeModel(m_historyFilterModel, this);
-
- // QWebHistoryInterface will delete the history manager
- QWebHistoryInterface::setDefaultInterface(this);
-}
-
-HistoryManager::~HistoryManager()
-{
- m_saveTimer->saveIfNeccessary();
-}
-
-QList<HistoryItem> HistoryManager::history() const
-{
- return m_history;
-}
-
-bool HistoryManager::historyContains(const QString &url) const
-{
- return m_historyFilterModel->historyContains(url);
-}
-
-void HistoryManager::addHistoryEntry(const QString &url)
-{
- QUrl cleanUrl(url);
- cleanUrl.setPassword(QString());
- cleanUrl.setHost(cleanUrl.host().toLower());
- HistoryItem item(cleanUrl.toString(), QDateTime::currentDateTime());
- addHistoryItem(item);
-}
-
-void HistoryManager::setHistory(const QList<HistoryItem> &history, bool loadedAndSorted)
-{
- m_history = history;
-
- // verify that it is sorted by date
- if (!loadedAndSorted)
- qSort(m_history.begin(), m_history.end());
-
- checkForExpired();
-
- if (loadedAndSorted) {
- m_lastSavedUrl = m_history.value(0).url;
- } else {
- m_lastSavedUrl = QString();
- m_saveTimer->changeOccurred();
- }
- emit historyReset();
-}
-
-HistoryModel *HistoryManager::historyModel() const
-{
- return m_historyModel;
-}
-
-HistoryFilterModel *HistoryManager::historyFilterModel() const
-{
- return m_historyFilterModel;
-}
-
-HistoryTreeModel *HistoryManager::historyTreeModel() const
-{
- return m_historyTreeModel;
-}
-
-void HistoryManager::checkForExpired()
-{
- if (m_historyLimit < 0 || m_history.isEmpty())
- return;
-
- QDateTime now = QDateTime::currentDateTime();
- int nextTimeout = 0;
-
- while (!m_history.isEmpty()) {
- QDateTime checkForExpired = m_history.last().dateTime;
- checkForExpired.setDate(checkForExpired.date().addDays(m_historyLimit));
- if (now.daysTo(checkForExpired) > 7) {
- // check at most in a week to prevent int overflows on the timer
- nextTimeout = 7 * 86400;
- } else {
- nextTimeout = now.secsTo(checkForExpired);
- }
- if (nextTimeout > 0)
- break;
- HistoryItem item = m_history.takeLast();
- // remove from saved file also
- m_lastSavedUrl = QString();
- emit entryRemoved(item);
- }
-
- if (nextTimeout > 0)
- m_expiredTimer.start(nextTimeout * 1000);
-}
-
-void HistoryManager::addHistoryItem(const HistoryItem &item)
-{
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled))
- return;
-
- m_history.prepend(item);
- emit entryAdded(item);
- if (m_history.count() == 1)
- checkForExpired();
-}
-
-void HistoryManager::updateHistoryItem(const QUrl &url, const QString &title)
-{
- for (int i = 0; i < m_history.count(); ++i) {
- if (url == m_history.at(i).url) {
- m_history[i].title = title;
- m_saveTimer->changeOccurred();
- if (m_lastSavedUrl.isEmpty())
- m_lastSavedUrl = m_history.at(i).url;
- emit entryUpdated(i);
- break;
- }
- }
-}
-
-int HistoryManager::historyLimit() const
-{
- return m_historyLimit;
-}
-
-void HistoryManager::setHistoryLimit(int limit)
-{
- if (m_historyLimit == limit)
- return;
- m_historyLimit = limit;
- checkForExpired();
- m_saveTimer->changeOccurred();
-}
-
-void HistoryManager::clear()
-{
- m_history.clear();
- m_lastSavedUrl = QString();
- m_saveTimer->changeOccurred();
- m_saveTimer->saveIfNeccessary();
- historyReset();
-}
-
-void HistoryManager::loadSettings()
-{
- // load settings
- QSettings settings;
- settings.beginGroup(QLatin1String("history"));
- m_historyLimit = settings.value(QLatin1String("historyLimit"), 30).toInt();
-}
-
-void HistoryManager::load()
-{
- loadSettings();
-
- QFile historyFile(QDesktopServices::storageLocation(QDesktopServices::DataLocation)
- + QLatin1String("/history"));
- if (!historyFile.exists())
- return;
- if (!historyFile.open(QFile::ReadOnly)) {
- qWarning() << "Unable to open history file" << historyFile.fileName();
- return;
- }
-
- QList<HistoryItem> list;
- QDataStream in(&historyFile);
- // Double check that the history file is sorted as it is read in
- bool needToSort = false;
- HistoryItem lastInsertedItem;
- QByteArray data;
- QDataStream stream;
- QBuffer buffer;
- stream.setDevice(&buffer);
- while (!historyFile.atEnd()) {
- in >> data;
- buffer.close();
- buffer.setBuffer(&data);
- buffer.open(QIODevice::ReadOnly);
- quint32 ver;
- stream >> ver;
- if (ver != HISTORY_VERSION)
- continue;
- HistoryItem item;
- stream >> item.url;
- stream >> item.dateTime;
- stream >> item.title;
-
- if (!item.dateTime.isValid())
- continue;
-
- if (item == lastInsertedItem) {
- if (lastInsertedItem.title.isEmpty() && !list.isEmpty())
- list[0].title = item.title;
- continue;
- }
-
- if (!needToSort && !list.isEmpty() && lastInsertedItem < item)
- needToSort = true;
-
- list.prepend(item);
- lastInsertedItem = item;
- }
- if (needToSort)
- qSort(list.begin(), list.end());
-
- setHistory(list, true);
-
- // If we had to sort re-write the whole history sorted
- if (needToSort) {
- m_lastSavedUrl = QString();
- m_saveTimer->changeOccurred();
- }
-}
-
-void HistoryManager::save()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("history"));
- settings.setValue(QLatin1String("historyLimit"), m_historyLimit);
-
- bool saveAll = m_lastSavedUrl.isEmpty();
- int first = m_history.count() - 1;
- if (!saveAll) {
- // find the first one to save
- for (int i = 0; i < m_history.count(); ++i) {
- if (m_history.at(i).url == m_lastSavedUrl) {
- first = i - 1;
- break;
- }
- }
- }
- if (first == m_history.count() - 1)
- saveAll = true;
-
- QString directory = QDesktopServices::storageLocation(QDesktopServices::DataLocation);
- if (directory.isEmpty())
- directory = QDir::homePath() + QLatin1String("/.") + QCoreApplication::applicationName();
- if (!QFile::exists(directory)) {
- QDir dir;
- dir.mkpath(directory);
- }
-
- QFile historyFile(directory + QLatin1String("/history"));
- // When saving everything use a temporary file to prevent possible data loss.
- QTemporaryFile tempFile;
- tempFile.setAutoRemove(false);
- bool open = false;
- if (saveAll) {
- open = tempFile.open();
- } else {
- open = historyFile.open(QFile::Append);
- }
-
- if (!open) {
- qWarning() << "Unable to open history file for saving"
- << (saveAll ? tempFile.fileName() : historyFile.fileName());
- return;
- }
-
- QDataStream out(saveAll ? &tempFile : &historyFile);
- for (int i = first; i >= 0; --i) {
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
- HistoryItem item = m_history.at(i);
- stream << HISTORY_VERSION << item.url << item.dateTime << item.title;
- out << data;
- }
- tempFile.close();
-
- if (saveAll) {
- if (historyFile.exists() && !historyFile.remove())
- qWarning() << "History: error removing old history." << historyFile.errorString();
- if (!tempFile.rename(historyFile.fileName()))
- qWarning() << "History: error moving new history over old." << tempFile.errorString() << historyFile.fileName();
- }
- m_lastSavedUrl = m_history.value(0).url;
-}
-
-HistoryModel::HistoryModel(HistoryManager *history, QObject *parent)
- : QAbstractTableModel(parent)
- , m_history(history)
-{
- Q_ASSERT(m_history);
- connect(m_history, SIGNAL(historyReset()),
- this, SLOT(historyReset()));
- connect(m_history, SIGNAL(entryRemoved(const HistoryItem &)),
- this, SLOT(historyReset()));
-
- connect(m_history, SIGNAL(entryAdded(const HistoryItem &)),
- this, SLOT(entryAdded()));
- connect(m_history, SIGNAL(entryUpdated(int)),
- this, SLOT(entryUpdated(int)));
-}
-
-void HistoryModel::historyReset()
-{
- reset();
-}
-
-void HistoryModel::entryAdded()
-{
- beginInsertRows(QModelIndex(), 0, 0);
- endInsertRows();
-}
-
-void HistoryModel::entryUpdated(int offset)
-{
- QModelIndex idx = index(offset, 0);
- emit dataChanged(idx, idx);
-}
-
-QVariant HistoryModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- if (orientation == Qt::Horizontal
- && role == Qt::DisplayRole) {
- switch (section) {
- case 0: return tr("Title");
- case 1: return tr("Address");
- }
- }
- return QAbstractTableModel::headerData(section, orientation, role);
-}
-
-QVariant HistoryModel::data(const QModelIndex &index, int role) const
-{
- QList<HistoryItem> lst = m_history->history();
- if (index.row() < 0 || index.row() >= lst.size())
- return QVariant();
-
- const HistoryItem &item = lst.at(index.row());
- switch (role) {
- case DateTimeRole:
- return item.dateTime;
- case DateRole:
- return item.dateTime.date();
- case UrlRole:
- return QUrl(item.url);
- case UrlStringRole:
- return item.url;
- case Qt::DisplayRole:
- case Qt::EditRole: {
- switch (index.column()) {
- case 0:
- // when there is no title try to generate one from the url
- if (item.title.isEmpty()) {
- QString page = QFileInfo(QUrl(item.url).path()).fileName();
- if (!page.isEmpty())
- return page;
- return item.url;
- }
- return item.title;
- case 1:
- return item.url;
- }
- }
- case Qt::DecorationRole:
- if (index.column() == 0) {
- return BrowserApplication::instance()->icon(item.url);
- }
- }
- return QVariant();
-}
-
-int HistoryModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 2;
-}
-
-int HistoryModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : m_history->history().count();
-}
-
-bool HistoryModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (parent.isValid())
- return false;
- int lastRow = row + count - 1;
- beginRemoveRows(parent, row, lastRow);
- QList<HistoryItem> lst = m_history->history();
- for (int i = lastRow; i >= row; --i)
- lst.removeAt(i);
- disconnect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset()));
- m_history->setHistory(lst);
- connect(m_history, SIGNAL(historyReset()), this, SLOT(historyReset()));
- endRemoveRows();
- return true;
-}
-
-#define MOVEDROWS 15
-
-/*
- Maps the first bunch of items of the source model to the root
-*/
-HistoryMenuModel::HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent)
- : QAbstractProxyModel(parent)
- , m_treeModel(sourceModel)
-{
- setSourceModel(sourceModel);
-}
-
-int HistoryMenuModel::bumpedRows() const
-{
- QModelIndex first = m_treeModel->index(0, 0);
- if (!first.isValid())
- return 0;
- return qMin(m_treeModel->rowCount(first), MOVEDROWS);
-}
-
-int HistoryMenuModel::columnCount(const QModelIndex &parent) const
-{
- return m_treeModel->columnCount(mapToSource(parent));
-}
-
-int HistoryMenuModel::rowCount(const QModelIndex &parent) const
-{
- if (parent.column() > 0)
- return 0;
-
- if (!parent.isValid()) {
- int folders = sourceModel()->rowCount();
- int bumpedItems = bumpedRows();
- if (bumpedItems <= MOVEDROWS
- && bumpedItems == sourceModel()->rowCount(sourceModel()->index(0, 0)))
- --folders;
- return bumpedItems + folders;
- }
-
- if (parent.internalId() == -1) {
- if (parent.row() < bumpedRows())
- return 0;
- }
-
- QModelIndex idx = mapToSource(parent);
- int defaultCount = sourceModel()->rowCount(idx);
- if (idx == sourceModel()->index(0, 0))
- return defaultCount - bumpedRows();
- return defaultCount;
-}
-
-QModelIndex HistoryMenuModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- // currently not used or autotested
- Q_ASSERT(false);
- int sr = m_treeModel->mapToSource(sourceIndex).row();
- return createIndex(sourceIndex.row(), sourceIndex.column(), sr);
-}
-
-QModelIndex HistoryMenuModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- if (!proxyIndex.isValid())
- return QModelIndex();
-
- if (proxyIndex.internalId() == -1) {
- int bumpedItems = bumpedRows();
- if (proxyIndex.row() < bumpedItems)
- return m_treeModel->index(proxyIndex.row(), proxyIndex.column(), m_treeModel->index(0, 0));
- if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(m_treeModel->index(0, 0)))
- --bumpedItems;
- return m_treeModel->index(proxyIndex.row() - bumpedItems, proxyIndex.column());
- }
-
- QModelIndex historyIndex = m_treeModel->sourceModel()->index(proxyIndex.internalId(), proxyIndex.column());
- QModelIndex treeIndex = m_treeModel->mapFromSource(historyIndex);
- return treeIndex;
-}
-
-QModelIndex HistoryMenuModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0
- || column < 0 || column >= columnCount(parent)
- || parent.column() > 0)
- return QModelIndex();
- if (!parent.isValid())
- return createIndex(row, column, -1);
-
- QModelIndex treeIndexParent = mapToSource(parent);
-
- int bumpedItems = 0;
- if (treeIndexParent == m_treeModel->index(0, 0))
- bumpedItems = bumpedRows();
- QModelIndex treeIndex = m_treeModel->index(row + bumpedItems, column, treeIndexParent);
- QModelIndex historyIndex = m_treeModel->mapToSource(treeIndex);
- int historyRow = historyIndex.row();
- if (historyRow == -1)
- historyRow = treeIndex.row();
- return createIndex(row, column, historyRow);
-}
-
-QModelIndex HistoryMenuModel::parent(const QModelIndex &index) const
-{
- int offset = index.internalId();
- if (offset == -1 || !index.isValid())
- return QModelIndex();
-
- QModelIndex historyIndex = m_treeModel->sourceModel()->index(index.internalId(), 0);
- QModelIndex treeIndex = m_treeModel->mapFromSource(historyIndex);
- QModelIndex treeIndexParent = treeIndex.parent();
-
- int sr = m_treeModel->mapToSource(treeIndexParent).row();
- int bumpedItems = bumpedRows();
- if (bumpedItems <= MOVEDROWS && bumpedItems == sourceModel()->rowCount(sourceModel()->index(0, 0)))
- --bumpedItems;
- return createIndex(bumpedItems + treeIndexParent.row(), treeIndexParent.column(), sr);
-}
-
-
-HistoryMenu::HistoryMenu(QWidget *parent)
- : ModelMenu(parent)
- , m_history(0)
-{
- connect(this, SIGNAL(activated(const QModelIndex &)),
- this, SLOT(activated(const QModelIndex &)));
- setHoverRole(HistoryModel::UrlStringRole);
-}
-
-void HistoryMenu::activated(const QModelIndex &index)
-{
- emit openUrl(index.data(HistoryModel::UrlRole).toUrl());
-}
-
-bool HistoryMenu::prePopulated()
-{
- if (!m_history) {
- m_history = BrowserApplication::historyManager();
- m_historyMenuModel = new HistoryMenuModel(m_history->historyTreeModel(), this);
- setModel(m_historyMenuModel);
- }
- // initial actions
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
- if (!m_initialActions.isEmpty())
- addSeparator();
- setFirstSeparator(m_historyMenuModel->bumpedRows());
-
- return false;
-}
-
-void HistoryMenu::postPopulated()
-{
- if (m_history->history().count() > 0)
- addSeparator();
-
- QAction *showAllAction = new QAction(tr("Show All History"), this);
- connect(showAllAction, SIGNAL(triggered()), this, SLOT(showHistoryDialog()));
- addAction(showAllAction);
-
- QAction *clearAction = new QAction(tr("Clear History"), this);
- connect(clearAction, SIGNAL(triggered()), m_history, SLOT(clear()));
- addAction(clearAction);
-}
-
-void HistoryMenu::showHistoryDialog()
-{
- HistoryDialog *dialog = new HistoryDialog(this);
- connect(dialog, SIGNAL(openUrl(const QUrl&)),
- this, SIGNAL(openUrl(const QUrl&)));
- dialog->show();
-}
-
-void HistoryMenu::setInitialActions(QList<QAction*> actions)
-{
- m_initialActions = actions;
- for (int i = 0; i < m_initialActions.count(); ++i)
- addAction(m_initialActions.at(i));
-}
-
-TreeProxyModel::TreeProxyModel(QObject *parent) : QSortFilterProxyModel(parent)
-{
- setSortRole(HistoryModel::DateTimeRole);
- setFilterCaseSensitivity(Qt::CaseInsensitive);
-}
-
-bool TreeProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
-{
- if (!source_parent.isValid())
- return true;
- return QSortFilterProxyModel::filterAcceptsRow(source_row, source_parent);
-}
-
-HistoryDialog::HistoryDialog(QWidget *parent, HistoryManager *setHistory) : QDialog(parent)
-{
- HistoryManager *history = setHistory;
- if (!history)
- history = BrowserApplication::historyManager();
- setupUi(this);
- tree->setUniformRowHeights(true);
- tree->setSelectionBehavior(QAbstractItemView::SelectRows);
- tree->setTextElideMode(Qt::ElideMiddle);
- QAbstractItemModel *model = history->historyTreeModel();
- TreeProxyModel *proxyModel = new TreeProxyModel(this);
- connect(search, SIGNAL(textChanged(QString)),
- proxyModel, SLOT(setFilterFixedString(QString)));
- connect(removeButton, SIGNAL(clicked()), tree, SLOT(removeOne()));
- connect(removeAllButton, SIGNAL(clicked()), history, SLOT(clear()));
- proxyModel->setSourceModel(model);
- tree->setModel(proxyModel);
- tree->setExpanded(proxyModel->index(0, 0), true);
- tree->setAlternatingRowColors(true);
- QFontMetrics fm(font());
- int header = fm.width(QLatin1Char('m')) * 40;
- tree->header()->resizeSection(0, header);
- tree->header()->setStretchLastSection(true);
- connect(tree, SIGNAL(activated(const QModelIndex&)),
- this, SLOT(open()));
- tree->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tree, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(customContextMenuRequested(const QPoint &)));
-}
-
-void HistoryDialog::customContextMenuRequested(const QPoint &pos)
-{
- QMenu menu;
- QModelIndex index = tree->indexAt(pos);
- index = index.sibling(index.row(), 0);
- if (index.isValid() && !tree->model()->hasChildren(index)) {
- menu.addAction(tr("Open"), this, SLOT(open()));
- menu.addSeparator();
- menu.addAction(tr("Copy"), this, SLOT(copy()));
- }
- menu.addAction(tr("Delete"), tree, SLOT(removeOne()));
- menu.exec(QCursor::pos());
-}
-
-void HistoryDialog::open()
-{
- QModelIndex index = tree->currentIndex();
- if (!index.parent().isValid())
- return;
- emit openUrl(index.data(HistoryModel::UrlRole).toUrl());
-}
-
-void HistoryDialog::copy()
-{
- QModelIndex index = tree->currentIndex();
- if (!index.parent().isValid())
- return;
- QString url = index.data(HistoryModel::UrlStringRole).toString();
-
- QClipboard *clipboard = QApplication::clipboard();
- clipboard->setText(url);
-}
-
-HistoryFilterModel::HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent)
- : QAbstractProxyModel(parent),
- m_loaded(false)
-{
- setSourceModel(sourceModel);
-}
-
-int HistoryFilterModel::historyLocation(const QString &url) const
-{
- load();
- if (!m_historyHash.contains(url))
- return 0;
- return sourceModel()->rowCount() - m_historyHash.value(url);
-}
-
-QVariant HistoryFilterModel::data(const QModelIndex &index, int role) const
-{
- return QAbstractProxyModel::data(index, role);
-}
-
-void HistoryFilterModel::setSourceModel(QAbstractItemModel *newSourceModel)
-{
- if (sourceModel()) {
- disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(dataChanged(const QModelIndex &, const QModelIndex &)));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-
- QAbstractProxyModel::setSourceModel(newSourceModel);
-
- if (sourceModel()) {
- m_loaded = false;
- connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
- this, SLOT(sourceDataChanged(const QModelIndex &, const QModelIndex &)));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-}
-
-void HistoryFilterModel::sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
-{
- emit dataChanged(mapFromSource(topLeft), mapFromSource(bottomRight));
-}
-
-QVariant HistoryFilterModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- return sourceModel()->headerData(section, orientation, role);
-}
-
-void HistoryFilterModel::sourceReset()
-{
- m_loaded = false;
- reset();
-}
-
-int HistoryFilterModel::rowCount(const QModelIndex &parent) const
-{
- load();
- if (parent.isValid())
- return 0;
- return m_historyHash.count();
-}
-
-int HistoryFilterModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 2;
-}
-
-QModelIndex HistoryFilterModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- load();
- int sourceRow = sourceModel()->rowCount() - proxyIndex.internalId();
- return sourceModel()->index(sourceRow, proxyIndex.column());
-}
-
-QModelIndex HistoryFilterModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- load();
- QString url = sourceIndex.data(HistoryModel::UrlStringRole).toString();
- if (!m_historyHash.contains(url))
- return QModelIndex();
-
- // This can be done in a binary search, but we can't use qBinary find
- // because it can't take: qBinaryFind(m_sourceRow.end(), m_sourceRow.begin(), v);
- // so if this is a performance bottlneck then convert to binary search, until then
- // the cleaner/easier to read code wins the day.
- int realRow = -1;
- int sourceModelRow = sourceModel()->rowCount() - sourceIndex.row();
-
- for (int i = 0; i < m_sourceRow.count(); ++i) {
- if (m_sourceRow.at(i) == sourceModelRow) {
- realRow = i;
- break;
- }
- }
- if (realRow == -1)
- return QModelIndex();
-
- return createIndex(realRow, sourceIndex.column(), sourceModel()->rowCount() - sourceIndex.row());
-}
-
-QModelIndex HistoryFilterModel::index(int row, int column, const QModelIndex &parent) const
-{
- load();
- if (row < 0 || row >= rowCount(parent)
- || column < 0 || column >= columnCount(parent))
- return QModelIndex();
-
- return createIndex(row, column, m_sourceRow[row]);
-}
-
-QModelIndex HistoryFilterModel::parent(const QModelIndex &) const
-{
- return QModelIndex();
-}
-
-void HistoryFilterModel::load() const
-{
- if (m_loaded)
- return;
- m_sourceRow.clear();
- m_historyHash.clear();
- m_historyHash.reserve(sourceModel()->rowCount());
- for (int i = 0; i < sourceModel()->rowCount(); ++i) {
- QModelIndex idx = sourceModel()->index(i, 0);
- QString url = idx.data(HistoryModel::UrlStringRole).toString();
- if (!m_historyHash.contains(url)) {
- m_sourceRow.append(sourceModel()->rowCount() - i);
- m_historyHash[url] = sourceModel()->rowCount() - i;
- }
- }
- m_loaded = true;
-}
-
-void HistoryFilterModel::sourceRowsInserted(const QModelIndex &parent, int start, int end)
-{
- Q_ASSERT(start == end && start == 0);
- Q_UNUSED(end);
- if (!m_loaded)
- return;
- QModelIndex idx = sourceModel()->index(start, 0, parent);
- QString url = idx.data(HistoryModel::UrlStringRole).toString();
- if (m_historyHash.contains(url)) {
- int sourceRow = sourceModel()->rowCount() - m_historyHash[url];
- int realRow = mapFromSource(sourceModel()->index(sourceRow, 0)).row();
- beginRemoveRows(QModelIndex(), realRow, realRow);
- m_sourceRow.removeAt(realRow);
- m_historyHash.remove(url);
- endRemoveRows();
- }
- beginInsertRows(QModelIndex(), 0, 0);
- m_historyHash.insert(url, sourceModel()->rowCount() - start);
- m_sourceRow.insert(0, sourceModel()->rowCount());
- endInsertRows();
-}
-
-void HistoryFilterModel::sourceRowsRemoved(const QModelIndex &, int start, int end)
-{
- Q_UNUSED(start);
- Q_UNUSED(end);
- sourceReset();
-}
-
-/*
- Removing a continuous block of rows will remove filtered rows too as this is
- the users intention.
-*/
-bool HistoryFilterModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (row < 0 || count <= 0 || row + count > rowCount(parent) || parent.isValid())
- return false;
- int lastRow = row + count - 1;
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- beginRemoveRows(parent, row, lastRow);
- int oldCount = rowCount();
- int start = sourceModel()->rowCount() - m_sourceRow.value(row);
- int end = sourceModel()->rowCount() - m_sourceRow.value(lastRow);
- sourceModel()->removeRows(start, end - start + 1);
- endRemoveRows();
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- m_loaded = false;
- if (oldCount - count != rowCount())
- reset();
- return true;
-}
-
-HistoryCompletionModel::HistoryCompletionModel(QObject *parent)
- : QAbstractProxyModel(parent)
-{
-}
-
-QVariant HistoryCompletionModel::data(const QModelIndex &index, int role) const
-{
- if (sourceModel()
- && (role == Qt::EditRole || role == Qt::DisplayRole)
- && index.isValid()) {
- QModelIndex idx = mapToSource(index);
- idx = idx.sibling(idx.row(), 1);
- QString urlString = idx.data(HistoryModel::UrlStringRole).toString();
- if (index.row() % 2) {
- QUrl url = urlString;
- QString s = url.toString(QUrl::RemoveScheme
- | QUrl::RemoveUserInfo
- | QUrl::StripTrailingSlash);
- return s.mid(2); // strip // from the front
- }
- return urlString;
- }
- return QAbstractProxyModel::data(index, role);
-}
-
-int HistoryCompletionModel::rowCount(const QModelIndex &parent) const
-{
- return (parent.isValid() || !sourceModel()) ? 0 : sourceModel()->rowCount(parent) * 2;
-}
-
-int HistoryCompletionModel::columnCount(const QModelIndex &parent) const
-{
- return (parent.isValid()) ? 0 : 1;
-}
-
-QModelIndex HistoryCompletionModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- int row = sourceIndex.row() * 2;
- return index(row, sourceIndex.column());
-}
-
-QModelIndex HistoryCompletionModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- if (!sourceModel())
- return QModelIndex();
- int row = proxyIndex.row() / 2;
- return sourceModel()->index(row, proxyIndex.column());
-}
-
-QModelIndex HistoryCompletionModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0 || row >= rowCount(parent)
- || column < 0 || column >= columnCount(parent))
- return QModelIndex();
- return createIndex(row, column, 0);
-}
-
-QModelIndex HistoryCompletionModel::parent(const QModelIndex &) const
-{
- return QModelIndex();
-}
-
-void HistoryCompletionModel::setSourceModel(QAbstractItemModel *newSourceModel)
-{
- if (sourceModel()) {
- disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- }
-
- QAbstractProxyModel::setSourceModel(newSourceModel);
-
- if (newSourceModel) {
- connect(newSourceModel, SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceReset()));
- }
-
- reset();
-}
-
-void HistoryCompletionModel::sourceReset()
-{
- reset();
-}
-
-HistoryTreeModel::HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent)
- : QAbstractProxyModel(parent)
-{
- setSourceModel(sourceModel);
-}
-
-QVariant HistoryTreeModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
- return sourceModel()->headerData(section, orientation, role);
-}
-
-QVariant HistoryTreeModel::data(const QModelIndex &index, int role) const
-{
- if ((role == Qt::EditRole || role == Qt::DisplayRole)) {
- int start = index.internalId();
- if (start == 0) {
- int offset = sourceDateRow(index.row());
- if (index.column() == 0) {
- QModelIndex idx = sourceModel()->index(offset, 0);
- QDate date = idx.data(HistoryModel::DateRole).toDate();
- if (date == QDate::currentDate())
- return tr("Earlier Today");
- return date.toString(QLatin1String("dddd, MMMM d, yyyy"));
- }
- if (index.column() == 1) {
- return tr("%1 items").arg(rowCount(index.sibling(index.row(), 0)));
- }
- }
- }
- if (role == Qt::DecorationRole && index.column() == 0 && !index.parent().isValid())
- return QIcon(QLatin1String(":history.png"));
- if (role == HistoryModel::DateRole && index.column() == 0 && index.internalId() == 0) {
- int offset = sourceDateRow(index.row());
- QModelIndex idx = sourceModel()->index(offset, 0);
- return idx.data(HistoryModel::DateRole);
- }
-
- return QAbstractProxyModel::data(index, role);
-}
-
-int HistoryTreeModel::columnCount(const QModelIndex &parent) const
-{
- return sourceModel()->columnCount(mapToSource(parent));
-}
-
-int HistoryTreeModel::rowCount(const QModelIndex &parent) const
-{
- if ( parent.internalId() != 0
- || parent.column() > 0
- || !sourceModel())
- return 0;
-
- // row count OF dates
- if (!parent.isValid()) {
- if (!m_sourceRowCache.isEmpty())
- return m_sourceRowCache.count();
- QDate currentDate;
- int rows = 0;
- int totalRows = sourceModel()->rowCount();
-
- for (int i = 0; i < totalRows; ++i) {
- QDate rowDate = sourceModel()->index(i, 0).data(HistoryModel::DateRole).toDate();
- if (rowDate != currentDate) {
- m_sourceRowCache.append(i);
- currentDate = rowDate;
- ++rows;
- }
- }
- Q_ASSERT(m_sourceRowCache.count() == rows);
- return rows;
- }
-
- // row count FOR a date
- int start = sourceDateRow(parent.row());
- int end = sourceDateRow(parent.row() + 1);
- return (end - start);
-}
-
-// Translate the top level date row into the offset where that date starts
-int HistoryTreeModel::sourceDateRow(int row) const
-{
- if (row <= 0)
- return 0;
-
- if (m_sourceRowCache.isEmpty())
- rowCount(QModelIndex());
-
- if (row >= m_sourceRowCache.count()) {
- if (!sourceModel())
- return 0;
- return sourceModel()->rowCount();
- }
- return m_sourceRowCache.at(row);
-}
-
-QModelIndex HistoryTreeModel::mapToSource(const QModelIndex &proxyIndex) const
-{
- int offset = proxyIndex.internalId();
- if (offset == 0)
- return QModelIndex();
- int startDateRow = sourceDateRow(offset - 1);
- return sourceModel()->index(startDateRow + proxyIndex.row(), proxyIndex.column());
-}
-
-QModelIndex HistoryTreeModel::index(int row, int column, const QModelIndex &parent) const
-{
- if (row < 0
- || column < 0 || column >= columnCount(parent)
- || parent.column() > 0)
- return QModelIndex();
-
- if (!parent.isValid())
- return createIndex(row, column, 0);
- return createIndex(row, column, parent.row() + 1);
-}
-
-QModelIndex HistoryTreeModel::parent(const QModelIndex &index) const
-{
- int offset = index.internalId();
- if (offset == 0 || !index.isValid())
- return QModelIndex();
- return createIndex(offset - 1, 0, 0);
-}
-
-bool HistoryTreeModel::hasChildren(const QModelIndex &parent) const
-{
- QModelIndex grandparent = parent.parent();
- if (!grandparent.isValid())
- return true;
- return false;
-}
-
-Qt::ItemFlags HistoryTreeModel::flags(const QModelIndex &index) const
-{
- if (!index.isValid())
- return Qt::NoItemFlags;
- return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled;
-}
-
-bool HistoryTreeModel::removeRows(int row, int count, const QModelIndex &parent)
-{
- if (row < 0 || count <= 0 || row + count > rowCount(parent))
- return false;
-
- if (parent.isValid()) {
- // removing pages
- int offset = sourceDateRow(parent.row());
- return sourceModel()->removeRows(offset + row, count);
- } else {
- // removing whole dates
- for (int i = row + count - 1; i >= row; --i) {
- QModelIndex dateParent = index(i, 0);
- int offset = sourceDateRow(dateParent.row());
- if (!sourceModel()->removeRows(offset, rowCount(dateParent)))
- return false;
- }
- }
- return true;
-}
-
-void HistoryTreeModel::setSourceModel(QAbstractItemModel *newSourceModel)
-{
- if (sourceModel()) {
- disconnect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset()));
- disconnect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- disconnect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-
- QAbstractProxyModel::setSourceModel(newSourceModel);
-
- if (newSourceModel) {
- connect(sourceModel(), SIGNAL(modelReset()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(layoutChanged()), this, SLOT(sourceReset()));
- connect(sourceModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsInserted(const QModelIndex &, int, int)));
- connect(sourceModel(), SIGNAL(rowsRemoved(const QModelIndex &, int, int)),
- this, SLOT(sourceRowsRemoved(const QModelIndex &, int, int)));
- }
-
- reset();
-}
-
-void HistoryTreeModel::sourceReset()
-{
- m_sourceRowCache.clear();
- reset();
-}
-
-void HistoryTreeModel::sourceRowsInserted(const QModelIndex &parent, int start, int end)
-{
- Q_UNUSED(parent); // Avoid warnings when compiling release
- Q_ASSERT(!parent.isValid());
- if (start != 0 || start != end) {
- m_sourceRowCache.clear();
- reset();
- return;
- }
-
- m_sourceRowCache.clear();
- QModelIndex treeIndex = mapFromSource(sourceModel()->index(start, 0));
- QModelIndex treeParent = treeIndex.parent();
- if (rowCount(treeParent) == 1) {
- beginInsertRows(QModelIndex(), 0, 0);
- endInsertRows();
- } else {
- beginInsertRows(treeParent, treeIndex.row(), treeIndex.row());
- endInsertRows();
- }
-}
-
-QModelIndex HistoryTreeModel::mapFromSource(const QModelIndex &sourceIndex) const
-{
- if (!sourceIndex.isValid())
- return QModelIndex();
-
- if (m_sourceRowCache.isEmpty())
- rowCount(QModelIndex());
-
- QList<int>::iterator it;
- it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), sourceIndex.row());
- if (*it != sourceIndex.row())
- --it;
- int dateRow = qMax(0, it - m_sourceRowCache.begin());
- int row = sourceIndex.row() - m_sourceRowCache.at(dateRow);
- return createIndex(row, sourceIndex.column(), dateRow + 1);
-}
-
-void HistoryTreeModel::sourceRowsRemoved(const QModelIndex &parent, int start, int end)
-{
- Q_UNUSED(parent); // Avoid warnings when compiling release
- Q_ASSERT(!parent.isValid());
- if (m_sourceRowCache.isEmpty())
- return;
- for (int i = end; i >= start;) {
- QList<int>::iterator it;
- it = qLowerBound(m_sourceRowCache.begin(), m_sourceRowCache.end(), i);
- // playing it safe
- if (it == m_sourceRowCache.end()) {
- m_sourceRowCache.clear();
- reset();
- return;
- }
-
- if (*it != i)
- --it;
- int row = qMax(0, it - m_sourceRowCache.begin());
- int offset = m_sourceRowCache[row];
- QModelIndex dateParent = index(row, 0);
- // If we can remove all the rows in the date do that and skip over them
- int rc = rowCount(dateParent);
- if (i - rc + 1 == offset && start <= i - rc + 1) {
- beginRemoveRows(QModelIndex(), row, row);
- m_sourceRowCache.removeAt(row);
- i -= rc + 1;
- } else {
- beginRemoveRows(dateParent, i - offset, i - offset);
- ++row;
- --i;
- }
- for (int j = row; j < m_sourceRowCache.count(); ++j)
- --m_sourceRowCache[j];
- endRemoveRows();
- }
-}
-
diff --git a/examples/gestures/browser/history.h b/examples/gestures/browser/history.h
deleted file mode 100644
index 626e2f3..0000000
--- a/examples/gestures/browser/history.h
+++ /dev/null
@@ -1,350 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef HISTORY_H
-#define HISTORY_H
-
-#include "modelmenu.h"
-
-#include <QtCore/QDateTime>
-#include <QtCore/QHash>
-#include <QtCore/QObject>
-#include <QtCore/QTimer>
-#include <QtCore/QUrl>
-
-#include <QtGui/QSortFilterProxyModel>
-
-#include <QWebHistoryInterface>
-
-class HistoryItem
-{
-public:
- HistoryItem() {}
- HistoryItem(const QString &u,
- const QDateTime &d = QDateTime(), const QString &t = QString())
- : title(t), url(u), dateTime(d) {}
-
- inline bool operator==(const HistoryItem &other) const
- { return other.title == title
- && other.url == url && other.dateTime == dateTime; }
-
- // history is sorted in reverse
- inline bool operator <(const HistoryItem &other) const
- { return dateTime > other.dateTime; }
-
- QString title;
- QString url;
- QDateTime dateTime;
-};
-
-class AutoSaver;
-class HistoryModel;
-class HistoryFilterModel;
-class HistoryTreeModel;
-class HistoryManager : public QWebHistoryInterface
-{
- Q_OBJECT
- Q_PROPERTY(int historyLimit READ historyLimit WRITE setHistoryLimit)
-
-signals:
- void historyReset();
- void entryAdded(const HistoryItem &item);
- void entryRemoved(const HistoryItem &item);
- void entryUpdated(int offset);
-
-public:
- HistoryManager(QObject *parent = 0);
- ~HistoryManager();
-
- bool historyContains(const QString &url) const;
- void addHistoryEntry(const QString &url);
-
- void updateHistoryItem(const QUrl &url, const QString &title);
-
- int historyLimit() const;
- void setHistoryLimit(int limit);
-
- QList<HistoryItem> history() const;
- void setHistory(const QList<HistoryItem> &history, bool loadedAndSorted = false);
-
- // History manager keeps around these models for use by the completer and other classes
- HistoryModel *historyModel() const;
- HistoryFilterModel *historyFilterModel() const;
- HistoryTreeModel *historyTreeModel() const;
-
-public slots:
- void clear();
- void loadSettings();
-
-private slots:
- void save();
- void checkForExpired();
-
-protected:
- void addHistoryItem(const HistoryItem &item);
-
-private:
- void load();
-
- AutoSaver *m_saveTimer;
- int m_historyLimit;
- QTimer m_expiredTimer;
- QList<HistoryItem> m_history;
- QString m_lastSavedUrl;
-
- HistoryModel *m_historyModel;
- HistoryFilterModel *m_historyFilterModel;
- HistoryTreeModel *m_historyTreeModel;
-};
-
-class HistoryModel : public QAbstractTableModel
-{
- Q_OBJECT
-
-public slots:
- void historyReset();
- void entryAdded();
- void entryUpdated(int offset);
-
-public:
- enum Roles {
- DateRole = Qt::UserRole + 1,
- DateTimeRole = Qt::UserRole + 2,
- UrlRole = Qt::UserRole + 3,
- UrlStringRole = Qt::UserRole + 4
- };
-
- HistoryModel(HistoryManager *history, QObject *parent = 0);
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
-
-private:
- HistoryManager *m_history;
-};
-
-/*!
- Proxy model that will remove any duplicate entries.
- Both m_sourceRow and m_historyHash store their offsets not from
- the front of the list, but as offsets from the back.
- */
-class HistoryFilterModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryFilterModel(QAbstractItemModel *sourceModel, QObject *parent = 0);
-
- inline bool historyContains(const QString &url) const
- { load(); return m_historyHash.contains(url); }
- int historyLocation(const QString &url) const;
-
- QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
- void setSourceModel(QAbstractItemModel *sourceModel);
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& index= QModelIndex()) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
-
-private slots:
- void sourceReset();
- void sourceDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
- void sourceRowsInserted(const QModelIndex &parent, int start, int end);
- void sourceRowsRemoved(const QModelIndex &, int, int);
-
-private:
- void load() const;
-
- mutable QList<int> m_sourceRow;
- mutable QHash<QString, int> m_historyHash;
- mutable bool m_loaded;
-};
-
-/*
- The history menu
- - Removes the first twenty entries and puts them as children of the top level.
- - If there are less then twenty entries then the first folder is also removed.
-
- The mapping is done by knowing that HistoryTreeModel is over a table
- We store that row offset in our index's private data.
-*/
-class HistoryMenuModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryMenuModel(HistoryTreeModel *sourceModel, QObject *parent = 0);
- int columnCount(const QModelIndex &parent) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex mapFromSource(const QModelIndex & sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex & proxyIndex) const;
- QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex &index = QModelIndex()) const;
-
- int bumpedRows() const;
-
-private:
- HistoryTreeModel *m_treeModel;
-};
-
-// Menu that is dynamically populated from the history
-class HistoryMenu : public ModelMenu
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- HistoryMenu(QWidget *parent = 0);
- void setInitialActions(QList<QAction*> actions);
-
-protected:
- bool prePopulated();
- void postPopulated();
-
-private slots:
- void activated(const QModelIndex &index);
- void showHistoryDialog();
-
-private:
- HistoryManager *m_history;
- HistoryMenuModel *m_historyMenuModel;
- QList<QAction*> m_initialActions;
-};
-
-// proxy model for the history model that
-// exposes each url http://www.foo.com and it url starting at the host www.foo.com
-class HistoryCompletionModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryCompletionModel(QObject *parent = 0);
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
- QModelIndex index(int, int, const QModelIndex& = QModelIndex()) const;
- QModelIndex parent(const QModelIndex& index= QModelIndex()) const;
- void setSourceModel(QAbstractItemModel *sourceModel);
-
-private slots:
- void sourceReset();
-
-};
-
-// proxy model for the history model that converts the list
-// into a tree, one top level node per day.
-// Used in the HistoryDialog.
-class HistoryTreeModel : public QAbstractProxyModel
-{
- Q_OBJECT
-
-public:
- HistoryTreeModel(QAbstractItemModel *sourceModel, QObject *parent = 0);
- QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
- int columnCount(const QModelIndex &parent) const;
- int rowCount(const QModelIndex &parent = QModelIndex()) const;
- QModelIndex mapFromSource(const QModelIndex &sourceIndex) const;
- QModelIndex mapToSource(const QModelIndex &proxyIndex) const;
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const;
- QModelIndex parent(const QModelIndex &index= QModelIndex()) const;
- bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
- Qt::ItemFlags flags(const QModelIndex &index) const;
- bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
- QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
-
- void setSourceModel(QAbstractItemModel *sourceModel);
-
-private slots:
- void sourceReset();
- void sourceRowsInserted(const QModelIndex &parent, int start, int end);
- void sourceRowsRemoved(const QModelIndex &parent, int start, int end);
-
-private:
- int sourceDateRow(int row) const;
- mutable QList<int> m_sourceRowCache;
-
-};
-
-// A modified QSortFilterProxyModel that always accepts the root nodes in the tree
-// so filtering is only done on the children.
-// Used in the HistoryDialog
-class TreeProxyModel : public QSortFilterProxyModel
-{
- Q_OBJECT
-
-public:
- TreeProxyModel(QObject *parent = 0);
-
-protected:
- bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
-};
-
-#include "ui_history.h"
-
-class HistoryDialog : public QDialog, public Ui_HistoryDialog
-{
- Q_OBJECT
-
-signals:
- void openUrl(const QUrl &url);
-
-public:
- HistoryDialog(QWidget *parent = 0, HistoryManager *history = 0);
-
-private slots:
- void customContextMenuRequested(const QPoint &pos);
- void open();
- void copy();
-
-};
-
-#endif // HISTORY_H
-
diff --git a/examples/gestures/browser/history.ui b/examples/gestures/browser/history.ui
deleted file mode 100644
index 0944940..0000000
--- a/examples/gestures/browser/history.ui
+++ /dev/null
@@ -1,106 +0,0 @@
-<ui version="4.0" >
- <class>HistoryDialog</class>
- <widget class="QDialog" name="HistoryDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>758</width>
- <height>450</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>History</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>252</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1" >
- <widget class="SearchLineEdit" name="search" />
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="EditTreeView" name="tree" />
- </item>
- <item row="2" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QPushButton" name="removeButton" >
- <property name="text" >
- <string>&amp;Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="removeAllButton" >
- <property name="text" >
- <string>Remove &amp;All</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
- <set>QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>SearchLineEdit</class>
- <extends>QLineEdit</extends>
- <header>searchlineedit.h</header>
- </customwidget>
- <customwidget>
- <class>EditTreeView</class>
- <extends>QTreeView</extends>
- <header>edittreeview.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>HistoryDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>472</x>
- <y>329</y>
- </hint>
- <hint type="destinationlabel" >
- <x>461</x>
- <y>356</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/htmls/htmls.qrc b/examples/gestures/browser/htmls/htmls.qrc
deleted file mode 100644
index 03b256c..0000000
--- a/examples/gestures/browser/htmls/htmls.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE RCC><RCC version="1.0">
-<qresource>
- <file>notfound.html</file>
-</qresource>
-</RCC>
diff --git a/examples/gestures/browser/htmls/notfound.html b/examples/gestures/browser/htmls/notfound.html
deleted file mode 100644
index b04a9f8..0000000
--- a/examples/gestures/browser/htmls/notfound.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-<head>
-<title>%1</title>
-<style>
-body {
- padding: 3em 0em;
- background: #eeeeee;
-}
-hr {
- color: lightgray;
- width: 100%;
-}
-img {
- float: left;
- opacity: .8;
-}
-#box {
- background: white;
- border: 1px solid lightgray;
- width: 600px;
- padding: 60px;
- margin: auto;
-}
-h1 {
- font-size: 130%;
- font-weight: bold;
- border-bottom: 1px solid lightgray;
- margin-left: 48px;
-}
-h2 {
- font-size: 100%;
- font-weight: normal;
- border-bottom: 1px solid lightgray;
- margin-left: 48px;
-}
-ul {
- font-size: 80%;
- padding-left: 48px;
- margin: 0;
-}
-#reloadButton {
- padding-left: 48px;
-}
-</style>
-</head>
-<body>
- <div id="box">
- <img src="data:image/png;base64,IMAGE_BINARY_DATA_HERE" width="32" height="32"/>
- <h1>%2</h1>
- <h2>When connecting to: %3.</h2>
- <ul>
- <li>Check the address for errors such as <b>ww</b>.trolltech.com
- instead of <b>www</b>.trolltech.com</li>
- <li>If the address is correct, try checking the network
- connection.</li>
- <li>If your computer or network is protected by a firewall or
- proxy, make sure that the browser demo is permitted to access
- the network.</li>
- </ul>
- <br/><br/>
- </div>
-</body>
-</html>
diff --git a/examples/gestures/browser/main.cpp b/examples/gestures/browser/main.cpp
deleted file mode 100644
index b9e2830..0000000
--- a/examples/gestures/browser/main.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browserapplication.h"
-
-int main(int argc, char **argv)
-{
- Q_INIT_RESOURCE(data);
- BrowserApplication application(argc, argv);
- if (!application.isTheOnlyBrowser())
- return 0;
- application.newMainWindow();
- return application.exec();
-}
-
diff --git a/examples/gestures/browser/modelmenu.cpp b/examples/gestures/browser/modelmenu.cpp
deleted file mode 100644
index 2e81d0d..0000000
--- a/examples/gestures/browser/modelmenu.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "modelmenu.h"
-
-#include <QtCore/QAbstractItemModel>
-#include <qdebug.h>
-
-ModelMenu::ModelMenu(QWidget * parent)
- : QMenu(parent)
- , m_maxRows(7)
- , m_firstSeparator(-1)
- , m_maxWidth(-1)
- , m_hoverRole(0)
- , m_separatorRole(0)
- , m_model(0)
-{
- connect(this, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
-}
-
-bool ModelMenu::prePopulated()
-{
- return false;
-}
-
-void ModelMenu::postPopulated()
-{
-}
-
-void ModelMenu::setModel(QAbstractItemModel *model)
-{
- m_model = model;
-}
-
-QAbstractItemModel *ModelMenu::model() const
-{
- return m_model;
-}
-
-void ModelMenu::setMaxRows(int max)
-{
- m_maxRows = max;
-}
-
-int ModelMenu::maxRows() const
-{
- return m_maxRows;
-}
-
-void ModelMenu::setFirstSeparator(int offset)
-{
- m_firstSeparator = offset;
-}
-
-int ModelMenu::firstSeparator() const
-{
- return m_firstSeparator;
-}
-
-void ModelMenu::setRootIndex(const QModelIndex &index)
-{
- m_root = index;
-}
-
-QModelIndex ModelMenu::rootIndex() const
-{
- return m_root;
-}
-
-void ModelMenu::setHoverRole(int role)
-{
- m_hoverRole = role;
-}
-
-int ModelMenu::hoverRole() const
-{
- return m_hoverRole;
-}
-
-void ModelMenu::setSeparatorRole(int role)
-{
- m_separatorRole = role;
-}
-
-int ModelMenu::separatorRole() const
-{
- return m_separatorRole;
-}
-
-Q_DECLARE_METATYPE(QModelIndex)
-void ModelMenu::aboutToShow()
-{
- if (QMenu *menu = qobject_cast<QMenu*>(sender())) {
- QVariant v = menu->menuAction()->data();
- if (v.canConvert<QModelIndex>()) {
- QModelIndex idx = qvariant_cast<QModelIndex>(v);
- createMenu(idx, -1, menu, menu);
- disconnect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
- return;
- }
- }
-
- clear();
- if (prePopulated())
- addSeparator();
- int max = m_maxRows;
- if (max != -1)
- max += m_firstSeparator;
- createMenu(m_root, max, this, this);
- postPopulated();
-}
-
-void ModelMenu::createMenu(const QModelIndex &parent, int max, QMenu *parentMenu, QMenu *menu)
-{
- if (!menu) {
- QString title = parent.data().toString();
- menu = new QMenu(title, this);
- QIcon icon = qvariant_cast<QIcon>(parent.data(Qt::DecorationRole));
- menu->setIcon(icon);
- parentMenu->addMenu(menu);
- QVariant v;
- v.setValue(parent);
- menu->menuAction()->setData(v);
- connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
- return;
- }
-
- int end = m_model->rowCount(parent);
- if (max != -1)
- end = qMin(max, end);
-
- connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(triggered(QAction*)));
- connect(menu, SIGNAL(hovered(QAction*)), this, SLOT(hovered(QAction*)));
-
- for (int i = 0; i < end; ++i) {
- QModelIndex idx = m_model->index(i, 0, parent);
- if (m_model->hasChildren(idx)) {
- createMenu(idx, -1, menu);
- } else {
- if (m_separatorRole != 0
- && idx.data(m_separatorRole).toBool())
- addSeparator();
- else
- menu->addAction(makeAction(idx));
- }
- if (menu == this && i == m_firstSeparator - 1)
- addSeparator();
- }
-}
-
-QAction *ModelMenu::makeAction(const QModelIndex &index)
-{
- QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole));
- QAction *action = makeAction(icon, index.data().toString(), this);
- QVariant v;
- v.setValue(index);
- action->setData(v);
- return action;
-}
-
-QAction *ModelMenu::makeAction(const QIcon &icon, const QString &text, QObject *parent)
-{
- QFontMetrics fm(font());
- if (-1 == m_maxWidth)
- m_maxWidth = fm.width(QLatin1Char('m')) * 30;
- QString smallText = fm.elidedText(text, Qt::ElideMiddle, m_maxWidth);
- return new QAction(icon, smallText, parent);
-}
-
-void ModelMenu::triggered(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QModelIndex>()) {
- QModelIndex idx = qvariant_cast<QModelIndex>(v);
- emit activated(idx);
- }
-}
-
-void ModelMenu::hovered(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QModelIndex>()) {
- QModelIndex idx = qvariant_cast<QModelIndex>(v);
- QString hoveredString = idx.data(m_hoverRole).toString();
- if (!hoveredString.isEmpty())
- emit hovered(hoveredString);
- }
-}
-
diff --git a/examples/gestures/browser/modelmenu.h b/examples/gestures/browser/modelmenu.h
deleted file mode 100644
index b44daa8..0000000
--- a/examples/gestures/browser/modelmenu.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MODELMENU_H
-#define MODELMENU_H
-
-#include <QtGui/QMenu>
-#include <QtCore/QAbstractItemModel>
-
-// A QMenu that is dynamically populated from a QAbstractItemModel
-class ModelMenu : public QMenu
-{
- Q_OBJECT
-
-signals:
- void activated(const QModelIndex &index);
- void hovered(const QString &text);
-
-public:
- ModelMenu(QWidget *parent = 0);
-
- void setModel(QAbstractItemModel *model);
- QAbstractItemModel *model() const;
-
- void setMaxRows(int max);
- int maxRows() const;
-
- void setFirstSeparator(int offset);
- int firstSeparator() const;
-
- void setRootIndex(const QModelIndex &index);
- QModelIndex rootIndex() const;
-
- void setHoverRole(int role);
- int hoverRole() const;
-
- void setSeparatorRole(int role);
- int separatorRole() const;
-
- QAction *makeAction(const QIcon &icon, const QString &text, QObject *parent);
-
-protected:
- // add any actions before the tree, return true if any actions are added.
- virtual bool prePopulated();
- // add any actions after the tree
- virtual void postPopulated();
- // put all of the children of parent into menu up to max
- void createMenu(const QModelIndex &parent, int max, QMenu *parentMenu = 0, QMenu *menu = 0);
-
-private slots:
- void aboutToShow();
- void triggered(QAction *action);
- void hovered(QAction *action);
-
-private:
- QAction *makeAction(const QModelIndex &index);
- int m_maxRows;
- int m_firstSeparator;
- int m_maxWidth;
- int m_hoverRole;
- int m_separatorRole;
- QAbstractItemModel *m_model;
- QPersistentModelIndex m_root;
-};
-
-#endif // MODELMENU_H
-
diff --git a/examples/gestures/browser/networkaccessmanager.cpp b/examples/gestures/browser/networkaccessmanager.cpp
deleted file mode 100644
index 3a4598c..0000000
--- a/examples/gestures/browser/networkaccessmanager.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "networkaccessmanager.h"
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "ui_passworddialog.h"
-#include "ui_proxy.h"
-
-#include <QtCore/QSettings>
-
-#include <QtGui/QDesktopServices>
-#include <QtGui/QDialog>
-#include <QtGui/QMessageBox>
-#include <QtGui/QStyle>
-#include <QtGui/QTextDocument>
-
-#include <QtNetwork/QAuthenticator>
-#include <QtNetwork/QNetworkDiskCache>
-#include <QtNetwork/QNetworkProxy>
-#include <QtNetwork/QNetworkReply>
-#include <QtNetwork/QSslError>
-
-NetworkAccessManager::NetworkAccessManager(QObject *parent)
- : QNetworkAccessManager(parent)
-{
- connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
- SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
- connect(this, SIGNAL(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)),
- SLOT(proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)));
-#ifndef QT_NO_OPENSSL
- connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
- SLOT(sslErrors(QNetworkReply*, const QList<QSslError>&)));
-#endif
- loadSettings();
-
- QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
- QString location = QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
- diskCache->setCacheDirectory(location);
- setCache(diskCache);
-}
-
-void NetworkAccessManager::loadSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("proxy"));
- QNetworkProxy proxy;
- if (settings.value(QLatin1String("enabled"), false).toBool()) {
- if (settings.value(QLatin1String("type"), 0).toInt() == 0)
- proxy = QNetworkProxy::Socks5Proxy;
- else
- proxy = QNetworkProxy::HttpProxy;
- proxy.setHostName(settings.value(QLatin1String("hostName")).toString());
- proxy.setPort(settings.value(QLatin1String("port"), 1080).toInt());
- proxy.setUser(settings.value(QLatin1String("userName")).toString());
- proxy.setPassword(settings.value(QLatin1String("password")).toString());
- }
- setProxy(proxy);
-}
-
-void NetworkAccessManager::authenticationRequired(QNetworkReply *reply, QAuthenticator *auth)
-{
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
-
- QDialog dialog(mainWindow);
- dialog.setWindowFlags(Qt::Sheet);
-
- Ui::PasswordDialog passwordDialog;
- passwordDialog.setupUi(&dialog);
-
- passwordDialog.iconLabel->setText(QString());
- passwordDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));
-
- QString introMessage = tr("<qt>Enter username and password for \"%1\" at %2</qt>");
- introMessage = introMessage.arg(Qt::escape(reply->url().toString())).arg(Qt::escape(reply->url().toString()));
- passwordDialog.introLabel->setText(introMessage);
- passwordDialog.introLabel->setWordWrap(true);
-
- if (dialog.exec() == QDialog::Accepted) {
- auth->setUser(passwordDialog.userNameLineEdit->text());
- auth->setPassword(passwordDialog.passwordLineEdit->text());
- }
-}
-
-void NetworkAccessManager::proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth)
-{
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
-
- QDialog dialog(mainWindow);
- dialog.setWindowFlags(Qt::Sheet);
-
- Ui::ProxyDialog proxyDialog;
- proxyDialog.setupUi(&dialog);
-
- proxyDialog.iconLabel->setText(QString());
- proxyDialog.iconLabel->setPixmap(mainWindow->style()->standardIcon(QStyle::SP_MessageBoxQuestion, 0, mainWindow).pixmap(32, 32));
-
- QString introMessage = tr("<qt>Connect to proxy \"%1\" using:</qt>");
- introMessage = introMessage.arg(Qt::escape(proxy.hostName()));
- proxyDialog.introLabel->setText(introMessage);
- proxyDialog.introLabel->setWordWrap(true);
-
- if (dialog.exec() == QDialog::Accepted) {
- auth->setUser(proxyDialog.userNameLineEdit->text());
- auth->setPassword(proxyDialog.passwordLineEdit->text());
- }
-}
-
-#ifndef QT_NO_OPENSSL
-void NetworkAccessManager::sslErrors(QNetworkReply *reply, const QList<QSslError> &error)
-{
- // check if SSL certificate has been trusted already
- QString replyHost = reply->url().host() + ":" + reply->url().port();
- if(! sslTrustedHostList.contains(replyHost)) {
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
-
- QStringList errorStrings;
- for (int i = 0; i < error.count(); ++i)
- errorStrings += error.at(i).errorString();
- QString errors = errorStrings.join(QLatin1String("\n"));
- int ret = QMessageBox::warning(mainWindow, QCoreApplication::applicationName(),
- tr("SSL Errors:\n\n%1\n\n%2\n\n"
- "Do you want to ignore these errors for this host?").arg(reply->url().toString()).arg(errors),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (ret == QMessageBox::Yes) {
- reply->ignoreSslErrors();
- sslTrustedHostList.append(replyHost);
- }
- }
-}
-#endif
diff --git a/examples/gestures/browser/networkaccessmanager.h b/examples/gestures/browser/networkaccessmanager.h
deleted file mode 100644
index d90a4d4..0000000
--- a/examples/gestures/browser/networkaccessmanager.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef NETWORKACCESSMANAGER_H
-#define NETWORKACCESSMANAGER_H
-
-#include <QtNetwork/QNetworkAccessManager>
-
-class NetworkAccessManager : public QNetworkAccessManager
-{
- Q_OBJECT
-
-public:
- NetworkAccessManager(QObject *parent = 0);
-
-private:
- QList<QString> sslTrustedHostList;
-
-public slots:
- void loadSettings();
-
-private slots:
- void authenticationRequired(QNetworkReply *reply, QAuthenticator *auth);
- void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *auth);
-#ifndef QT_NO_OPENSSL
- void sslErrors(QNetworkReply *reply, const QList<QSslError> &error);
-#endif
-};
-
-#endif // NETWORKACCESSMANAGER_H
diff --git a/examples/gestures/browser/passworddialog.ui b/examples/gestures/browser/passworddialog.ui
deleted file mode 100644
index 7c16658..0000000
--- a/examples/gestures/browser/passworddialog.ui
+++ /dev/null
@@ -1,111 +0,0 @@
-<ui version="4.0" >
- <class>PasswordDialog</class>
- <widget class="QDialog" name="PasswordDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>399</width>
- <height>148</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Authentication Required</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" colspan="2" >
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="iconLabel" >
- <property name="text" >
- <string>DUMMY ICON</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="introLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="MinimumExpanding" hsizetype="MinimumExpanding" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text" >
- <string>INTRO TEXT DUMMY</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Username:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QLineEdit" name="userNameLineEdit" />
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="lblPassword" >
- <property name="text" >
- <string>Password:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QLineEdit" name="passwordLineEdit" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>PasswordDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>PasswordDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/proxy.ui b/examples/gestures/browser/proxy.ui
deleted file mode 100644
index 62a8be6..0000000
--- a/examples/gestures/browser/proxy.ui
+++ /dev/null
@@ -1,104 +0,0 @@
-<ui version="4.0" >
- <class>ProxyDialog</class>
- <widget class="QDialog" name="ProxyDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>369</width>
- <height>144</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Proxy Authentication</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="iconLabel" >
- <property name="text" >
- <string>ICON</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2" >
- <widget class="QLabel" name="introLabel" >
- <property name="text" >
- <string>Connect to proxy</string>
- </property>
- <property name="wordWrap" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="QLabel" name="usernameLabel" >
- <property name="text" >
- <string>Username:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QLineEdit" name="userNameLineEdit" />
- </item>
- <item row="2" column="0" colspan="2" >
- <widget class="QLabel" name="passwordLabel" >
- <property name="text" >
- <string>Password:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="2" >
- <widget class="QLineEdit" name="passwordLineEdit" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="3" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>ProxyDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>ProxyDialog</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/searchlineedit.cpp b/examples/gestures/browser/searchlineedit.cpp
deleted file mode 100644
index e04010d..0000000
--- a/examples/gestures/browser/searchlineedit.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "searchlineedit.h"
-
-#include <QtGui/QPainter>
-#include <QtGui/QMouseEvent>
-#include <QtGui/QMenu>
-#include <QtGui/QStyle>
-#include <QtGui/QStyleOptionFrameV2>
-
-ClearButton::ClearButton(QWidget *parent)
- : QAbstractButton(parent)
-{
- setCursor(Qt::ArrowCursor);
- setToolTip(tr("Clear"));
- setVisible(false);
- setFocusPolicy(Qt::NoFocus);
-}
-
-void ClearButton::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- QPainter painter(this);
- int height = this->height();
-
- painter.setRenderHint(QPainter::Antialiasing, true);
- QColor color = palette().color(QPalette::Mid);
- painter.setBrush(isDown()
- ? palette().color(QPalette::Dark)
- : palette().color(QPalette::Mid));
- painter.setPen(painter.brush().color());
- int size = width();
- int offset = size / 5;
- int radius = size - offset * 2;
- painter.drawEllipse(offset, offset, radius, radius);
-
- painter.setPen(palette().color(QPalette::Base));
- int border = offset * 2;
- painter.drawLine(border, border, width() - border, height - border);
- painter.drawLine(border, height - border, width() - border, border);
-}
-
-void ClearButton::textChanged(const QString &text)
-{
- setVisible(!text.isEmpty());
-}
-
-/*
- Search icon on the left hand side of the search widget
- When a menu is set a down arrow appears
- */
-class SearchButton : public QAbstractButton {
-public:
- SearchButton(QWidget *parent = 0);
- void paintEvent(QPaintEvent *event);
- QMenu *m_menu;
-
-protected:
- void mousePressEvent(QMouseEvent *event);
-};
-
-SearchButton::SearchButton(QWidget *parent)
- : QAbstractButton(parent),
- m_menu(0)
-{
- setObjectName(QLatin1String("SearchButton"));
- setCursor(Qt::ArrowCursor);
- setFocusPolicy(Qt::NoFocus);
-}
-
-void SearchButton::mousePressEvent(QMouseEvent *event)
-{
- if (m_menu && event->button() == Qt::LeftButton) {
- QWidget *p = parentWidget();
- if (p) {
- QPoint r = p->mapToGlobal(QPoint(0, p->height()));
- m_menu->exec(QPoint(r.x() + height() / 2, r.y()));
- }
- event->accept();
- }
- QAbstractButton::mousePressEvent(event);
-}
-
-void SearchButton::paintEvent(QPaintEvent *event)
-{
- Q_UNUSED(event);
- QPainterPath myPath;
-
- int radius = (height() / 5) * 2;
- QRect circle(height() / 3 - 1, height() / 4, radius, radius);
- myPath.addEllipse(circle);
-
- myPath.arcMoveTo(circle, 300);
- QPointF c = myPath.currentPosition();
- int diff = height() / 7;
- myPath.lineTo(qMin(width() - 2, (int)c.x() + diff), c.y() + diff);
-
- QPainter painter(this);
- painter.setRenderHint(QPainter::Antialiasing, true);
- painter.setPen(QPen(Qt::darkGray, 2));
- painter.drawPath(myPath);
-
- if (m_menu) {
- QPainterPath dropPath;
- dropPath.arcMoveTo(circle, 320);
- QPointF c = dropPath.currentPosition();
- c = QPointF(c.x() + 3.5, c.y() + 0.5);
- dropPath.moveTo(c);
- dropPath.lineTo(c.x() + 4, c.y());
- dropPath.lineTo(c.x() + 2, c.y() + 2);
- dropPath.closeSubpath();
- painter.setPen(Qt::darkGray);
- painter.setBrush(Qt::darkGray);
- painter.setRenderHint(QPainter::Antialiasing, false);
- painter.drawPath(dropPath);
- }
- painter.end();
-}
-
-/*
- SearchLineEdit is an enhanced QLineEdit
- - A Search icon on the left with optional menu
- - When there is no text and doesn't have focus an "inactive text" is displayed
- - When there is text a clear button is displayed on the right hand side
- */
-SearchLineEdit::SearchLineEdit(QWidget *parent) : ExLineEdit(parent),
- m_searchButton(new SearchButton(this))
-{
- connect(lineEdit(), SIGNAL(textChanged(const QString &)),
- this, SIGNAL(textChanged(const QString &)));
- setLeftWidget(m_searchButton);
- m_inactiveText = tr("Search");
-
- QSizePolicy policy = sizePolicy();
- setSizePolicy(QSizePolicy::Preferred, policy.verticalPolicy());
-}
-
-void SearchLineEdit::paintEvent(QPaintEvent *event)
-{
- if (lineEdit()->text().isEmpty() && !hasFocus() && !m_inactiveText.isEmpty()) {
- ExLineEdit::paintEvent(event);
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- QRect r = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
- QFontMetrics fm = fontMetrics();
- int horizontalMargin = lineEdit()->x();
- QRect lineRect(horizontalMargin + r.x(), r.y() + (r.height() - fm.height() + 1) / 2,
- r.width() - 2 * horizontalMargin, fm.height());
- QPainter painter(this);
- painter.setPen(palette().brush(QPalette::Disabled, QPalette::Text).color());
- painter.drawText(lineRect, Qt::AlignLeft|Qt::AlignVCenter, m_inactiveText);
- } else {
- ExLineEdit::paintEvent(event);
- }
-}
-
-void SearchLineEdit::resizeEvent(QResizeEvent *event)
-{
- updateGeometries();
- ExLineEdit::resizeEvent(event);
-}
-
-void SearchLineEdit::updateGeometries()
-{
- int menuHeight = height();
- int menuWidth = menuHeight + 1;
- if (!m_searchButton->m_menu)
- menuWidth = (menuHeight / 5) * 4;
- m_searchButton->resize(QSize(menuWidth, menuHeight));
-}
-
-QString SearchLineEdit::inactiveText() const
-{
- return m_inactiveText;
-}
-
-void SearchLineEdit::setInactiveText(const QString &text)
-{
- m_inactiveText = text;
-}
-
-void SearchLineEdit::setMenu(QMenu *menu)
-{
- if (m_searchButton->m_menu)
- m_searchButton->m_menu->deleteLater();
- m_searchButton->m_menu = menu;
- updateGeometries();
-}
-
-QMenu *SearchLineEdit::menu() const
-{
- if (!m_searchButton->m_menu) {
- m_searchButton->m_menu = new QMenu(m_searchButton);
- if (isVisible())
- (const_cast<SearchLineEdit*>(this))->updateGeometries();
- }
- return m_searchButton->m_menu;
-}
-
diff --git a/examples/gestures/browser/searchlineedit.h b/examples/gestures/browser/searchlineedit.h
deleted file mode 100644
index ad37dc7..0000000
--- a/examples/gestures/browser/searchlineedit.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SEARCHLINEEDIT_H
-#define SEARCHLINEEDIT_H
-
-#include "urllineedit.h"
-
-#include <QtGui/QLineEdit>
-#include <QtGui/QAbstractButton>
-
-QT_BEGIN_NAMESPACE
-class QMenu;
-QT_END_NAMESPACE
-
-class SearchButton;
-
-/*
- Clear button on the right hand side of the search widget.
- Hidden by default
- "A circle with an X in it"
- */
-class ClearButton : public QAbstractButton
-{
- Q_OBJECT
-
-public:
- ClearButton(QWidget *parent = 0);
- void paintEvent(QPaintEvent *event);
-
-public slots:
- void textChanged(const QString &text);
-};
-
-
-class SearchLineEdit : public ExLineEdit
-{
- Q_OBJECT
- Q_PROPERTY(QString inactiveText READ inactiveText WRITE setInactiveText)
-
-signals:
- void textChanged(const QString &text);
-
-public:
- SearchLineEdit(QWidget *parent = 0);
-
- QString inactiveText() const;
- void setInactiveText(const QString &text);
-
- QMenu *menu() const;
- void setMenu(QMenu *menu);
-
-protected:
- void resizeEvent(QResizeEvent *event);
- void paintEvent(QPaintEvent *event);
-
-private:
- void updateGeometries();
-
- SearchButton *m_searchButton;
- QString m_inactiveText;
-};
-
-#endif // SEARCHLINEEDIT_H
-
diff --git a/examples/gestures/browser/settings.cpp b/examples/gestures/browser/settings.cpp
deleted file mode 100644
index 2576449..0000000
--- a/examples/gestures/browser/settings.cpp
+++ /dev/null
@@ -1,324 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "settings.h"
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "cookiejar.h"
-#include "history.h"
-#include "networkaccessmanager.h"
-#include "webview.h"
-
-#include <QtCore/QSettings>
-#include <QtGui/QtGui>
-#include <QtWebKit/QtWebKit>
-
-SettingsDialog::SettingsDialog(QWidget *parent)
- : QDialog(parent)
-{
- setupUi(this);
- connect(exceptionsButton, SIGNAL(clicked()), this, SLOT(showExceptions()));
- connect(setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT(setHomeToCurrentPage()));
- connect(cookiesButton, SIGNAL(clicked()), this, SLOT(showCookies()));
- connect(standardFontButton, SIGNAL(clicked()), this, SLOT(chooseFont()));
- connect(fixedFontButton, SIGNAL(clicked()), this, SLOT(chooseFixedFont()));
-
- loadDefaults();
- loadFromSettings();
-}
-
-void SettingsDialog::loadDefaults()
-{
- QWebSettings *defaultSettings = QWebSettings::globalSettings();
- QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
- int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
- standardFont = QFont(standardFontFamily, standardFontSize);
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize()));
-
- QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
- int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
- fixedFont = QFont(fixedFontFamily, fixedFontSize);
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize()));
-
- downloadsLocation->setText(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation));
-
- enableJavascript->setChecked(defaultSettings->testAttribute(QWebSettings::JavascriptEnabled));
- enablePlugins->setChecked(defaultSettings->testAttribute(QWebSettings::PluginsEnabled));
-}
-
-void SettingsDialog::loadFromSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("MainWindow"));
- QString defaultHome = QLatin1String("http://qtsoftware.com");
- homeLineEdit->setText(settings.value(QLatin1String("home"), defaultHome).toString());
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("history"));
- int historyExpire = settings.value(QLatin1String("historyExpire")).toInt();
- int idx = 0;
- switch (historyExpire) {
- case 1: idx = 0; break;
- case 7: idx = 1; break;
- case 14: idx = 2; break;
- case 30: idx = 3; break;
- case 365: idx = 4; break;
- case -1: idx = 5; break;
- default:
- idx = 5;
- }
- expireHistory->setCurrentIndex(idx);
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("downloadmanager"));
- QString downloadDirectory = settings.value(QLatin1String("downloadDirectory"), downloadsLocation->text()).toString();
- downloadsLocation->setText(downloadDirectory);
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("general"));
- openLinksIn->setCurrentIndex(settings.value(QLatin1String("openLinksIn"), openLinksIn->currentIndex()).toInt());
-
- settings.endGroup();
-
- // Appearance
- settings.beginGroup(QLatin1String("websettings"));
- fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
- standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
-
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize()));
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize()));
-
- enableJavascript->setChecked(settings.value(QLatin1String("enableJavascript"), enableJavascript->isChecked()).toBool());
- enablePlugins->setChecked(settings.value(QLatin1String("enablePlugins"), enablePlugins->isChecked()).toBool());
- userStyleSheet->setText(settings.value(QLatin1String("userStyleSheet")).toUrl().toString());
- settings.endGroup();
-
- // Privacy
- settings.beginGroup(QLatin1String("cookies"));
-
- CookieJar *jar = BrowserApplication::cookieJar();
- QByteArray value = settings.value(QLatin1String("acceptCookies"), QLatin1String("AcceptOnlyFromSitesNavigatedTo")).toByteArray();
- QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- CookieJar::AcceptPolicy acceptCookies = acceptPolicyEnum.keyToValue(value) == -1 ?
- CookieJar::AcceptOnlyFromSitesNavigatedTo :
- static_cast<CookieJar::AcceptPolicy>(acceptPolicyEnum.keyToValue(value));
- switch(acceptCookies) {
- case CookieJar::AcceptAlways:
- acceptCombo->setCurrentIndex(0);
- break;
- case CookieJar::AcceptNever:
- acceptCombo->setCurrentIndex(1);
- break;
- case CookieJar::AcceptOnlyFromSitesNavigatedTo:
- acceptCombo->setCurrentIndex(2);
- break;
- }
-
- value = settings.value(QLatin1String("keepCookiesUntil"), QLatin1String("Expire")).toByteArray();
- QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy"));
- CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue(value) == -1 ?
- CookieJar::KeepUntilExpire :
- static_cast<CookieJar::KeepPolicy>(keepPolicyEnum.keyToValue(value));
- switch(keepCookies) {
- case CookieJar::KeepUntilExpire:
- keepUntilCombo->setCurrentIndex(0);
- break;
- case CookieJar::KeepUntilExit:
- keepUntilCombo->setCurrentIndex(1);
- break;
- case CookieJar::KeepUntilTimeLimit:
- keepUntilCombo->setCurrentIndex(2);
- break;
- }
- settings.endGroup();
-
-
- // Proxy
- settings.beginGroup(QLatin1String("proxy"));
- proxySupport->setChecked(settings.value(QLatin1String("enabled"), false).toBool());
- proxyType->setCurrentIndex(settings.value(QLatin1String("type"), 0).toInt());
- proxyHostName->setText(settings.value(QLatin1String("hostName")).toString());
- proxyPort->setValue(settings.value(QLatin1String("port"), 1080).toInt());
- proxyUserName->setText(settings.value(QLatin1String("userName")).toString());
- proxyPassword->setText(settings.value(QLatin1String("password")).toString());
- settings.endGroup();
-}
-
-void SettingsDialog::saveToSettings()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("MainWindow"));
- settings.setValue(QLatin1String("home"), homeLineEdit->text());
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("general"));
- settings.setValue(QLatin1String("openLinksIn"), openLinksIn->currentIndex());
- settings.endGroup();
-
- settings.beginGroup(QLatin1String("history"));
- int historyExpire = expireHistory->currentIndex();
- int idx = -1;
- switch (historyExpire) {
- case 0: idx = 1; break;
- case 1: idx = 7; break;
- case 2: idx = 14; break;
- case 3: idx = 30; break;
- case 4: idx = 365; break;
- case 5: idx = -1; break;
- }
- settings.setValue(QLatin1String("historyExpire"), idx);
- settings.endGroup();
-
- // Appearance
- settings.beginGroup(QLatin1String("websettings"));
- settings.setValue(QLatin1String("fixedFont"), fixedFont);
- settings.setValue(QLatin1String("standardFont"), standardFont);
- settings.setValue(QLatin1String("enableJavascript"), enableJavascript->isChecked());
- settings.setValue(QLatin1String("enablePlugins"), enablePlugins->isChecked());
- QString userStyleSheetString = userStyleSheet->text();
- if (QFile::exists(userStyleSheetString))
- settings.setValue(QLatin1String("userStyleSheet"), QUrl::fromLocalFile(userStyleSheetString));
- else
- settings.setValue(QLatin1String("userStyleSheet"), QUrl(userStyleSheetString));
- settings.endGroup();
-
- //Privacy
- settings.beginGroup(QLatin1String("cookies"));
-
- CookieJar::KeepPolicy keepCookies;
- switch(acceptCombo->currentIndex()) {
- default:
- case 0:
- keepCookies = CookieJar::KeepUntilExpire;
- break;
- case 1:
- keepCookies = CookieJar::KeepUntilExit;
- break;
- case 2:
- keepCookies = CookieJar::KeepUntilTimeLimit;
- break;
- }
- CookieJar *jar = BrowserApplication::cookieJar();
- QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy"));
- settings.setValue(QLatin1String("acceptCookies"), QLatin1String(acceptPolicyEnum.valueToKey(keepCookies)));
-
- CookieJar::KeepPolicy keepPolicy;
- switch(keepUntilCombo->currentIndex()) {
- default:
- case 0:
- keepPolicy = CookieJar::KeepUntilExpire;
- break;
- case 1:
- keepPolicy = CookieJar::KeepUntilExit;
- break;
- case 2:
- keepPolicy = CookieJar::KeepUntilTimeLimit;
- break;
- }
-
- QMetaEnum keepPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("KeepPolicy"));
- settings.setValue(QLatin1String("keepCookiesUntil"), QLatin1String(keepPolicyEnum.valueToKey(keepPolicy)));
-
- settings.endGroup();
-
- // proxy
- settings.beginGroup(QLatin1String("proxy"));
- settings.setValue(QLatin1String("enabled"), proxySupport->isChecked());
- settings.setValue(QLatin1String("type"), proxyType->currentIndex());
- settings.setValue(QLatin1String("hostName"), proxyHostName->text());
- settings.setValue(QLatin1String("port"), proxyPort->text());
- settings.setValue(QLatin1String("userName"), proxyUserName->text());
- settings.setValue(QLatin1String("password"), proxyPassword->text());
- settings.endGroup();
-
- BrowserApplication::instance()->loadSettings();
- BrowserApplication::networkAccessManager()->loadSettings();
- BrowserApplication::cookieJar()->loadSettings();
- BrowserApplication::historyManager()->loadSettings();
-}
-
-void SettingsDialog::accept()
-{
- saveToSettings();
- QDialog::accept();
-}
-
-void SettingsDialog::showCookies()
-{
- CookiesDialog *dialog = new CookiesDialog(BrowserApplication::cookieJar(), this);
- dialog->exec();
-}
-
-void SettingsDialog::showExceptions()
-{
- CookiesExceptionsDialog *dialog = new CookiesExceptionsDialog(BrowserApplication::cookieJar(), this);
- dialog->exec();
-}
-
-void SettingsDialog::chooseFont()
-{
- bool ok;
- QFont font = QFontDialog::getFont(&ok, standardFont, this);
- if ( ok ) {
- standardFont = font;
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize()));
- }
-}
-
-void SettingsDialog::chooseFixedFont()
-{
- bool ok;
- QFont font = QFontDialog::getFont(&ok, fixedFont, this);
- if ( ok ) {
- fixedFont = font;
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(font.family()).arg(font.pointSize()));
- }
-}
-
-void SettingsDialog::setHomeToCurrentPage()
-{
- BrowserMainWindow *mw = static_cast<BrowserMainWindow*>(parent());
- WebView *webView = mw->currentTab();
- if (webView)
- homeLineEdit->setText(webView->url().toString());
-}
-
diff --git a/examples/gestures/browser/settings.h b/examples/gestures/browser/settings.h
deleted file mode 100644
index 900be7b..0000000
--- a/examples/gestures/browser/settings.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SETTINGS_H
-#define SETTINGS_H
-
-#include <QtGui/QDialog>
-#include "ui_settings.h"
-
-class SettingsDialog : public QDialog, public Ui_Settings
-{
- Q_OBJECT
-
-public:
- SettingsDialog(QWidget *parent = 0);
- void accept();
-
-private slots:
- void loadDefaults();
- void loadFromSettings();
- void saveToSettings();
-
- void setHomeToCurrentPage();
- void showCookies();
- void showExceptions();
-
- void chooseFont();
- void chooseFixedFont();
-
-private:
- QFont standardFont;
- QFont fixedFont;
-};
-
-#endif // SETTINGS_H
-
diff --git a/examples/gestures/browser/settings.ui b/examples/gestures/browser/settings.ui
deleted file mode 100644
index 3491ce0..0000000
--- a/examples/gestures/browser/settings.ui
+++ /dev/null
@@ -1,614 +0,0 @@
-<ui version="4.0" >
- <class>Settings</class>
- <widget class="QDialog" name="Settings" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>657</width>
- <height>322</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>Settings</string>
- </property>
- <layout class="QGridLayout" name="gridLayout" >
- <item row="2" column="0" >
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="standardButtons" >
- <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QTabWidget" name="tabWidget" >
- <property name="currentIndex" >
- <number>0</number>
- </property>
- <widget class="QWidget" name="tab" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>General</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_4" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_3" >
- <property name="text" >
- <string>Home:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2" >
- <widget class="QLineEdit" name="homeLineEdit" />
- </item>
- <item row="1" column="1" >
- <widget class="QPushButton" name="setHomeToCurrentPageButton" >
- <property name="text" >
- <string>Set to current page</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <spacer name="horizontalSpacer" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>280</width>
- <height>18</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="label_4" >
- <property name="text" >
- <string>Remove history items:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1" colspan="2" >
- <widget class="QComboBox" name="expireHistory" >
- <item>
- <property name="text" >
- <string>After one day</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After one week</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After two weeks</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After one month</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>After one year</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Manually</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="3" column="0" >
- <widget class="QLabel" name="label_7" >
- <property name="text" >
- <string>Save downloads to:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1" colspan="2" >
- <widget class="QLineEdit" name="downloadsLocation" />
- </item>
- <item row="4" column="0" >
- <widget class="QLabel" name="label_8" >
- <property name="text" >
- <string>Open links from applications:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1" colspan="2" >
- <widget class="QComboBox" name="openLinksIn" >
- <item>
- <property name="text" >
- <string>In a tab in the current window</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>In a new window</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="5" column="1" colspan="2" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>391</width>
- <height>262</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_3" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Appearance</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_3" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_5" >
- <property name="text" >
- <string>Standard font:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QLabel" name="standardLabel" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="text" >
- <string>Times 16</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QPushButton" name="standardFontButton" >
- <property name="text" >
- <string>Select...</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label_6" >
- <property name="text" >
- <string>Fixed-width font:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QLabel" name="fixedLabel" >
- <property name="frameShape" >
- <enum>QFrame::StyledPanel</enum>
- </property>
- <property name="text" >
- <string>Courier 13</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QPushButton" name="fixedFontButton" >
- <property name="text" >
- <string>Select...</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <spacer name="verticalSpacer" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>93</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_2" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Privacy</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_3" >
- <item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
- <string>Web Content</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2" >
- <item>
- <widget class="QCheckBox" name="enablePlugins" >
- <property name="text" >
- <string>Enable Plugins</string>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QCheckBox" name="enableJavascript" >
- <property name="text" >
- <string>Enable Javascript</string>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="cookiesGroupBox" >
- <property name="title" >
- <string>Cookies</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_2" >
- <property name="text" >
- <string>Accept Cookies:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QComboBox" name="acceptCombo" >
- <item>
- <property name="text" >
- <string>Always</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Never</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Only from sites you navigate to</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="0" column="2" >
- <widget class="QPushButton" name="exceptionsButton" >
- <property name="text" >
- <string>Exceptions...</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Keep until:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" >
- <widget class="QComboBox" name="keepUntilCombo" >
- <item>
- <property name="text" >
- <string>They expire</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>I exit the application</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>At most 90 days</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="2" >
- <widget class="QPushButton" name="cookiesButton" >
- <property name="text" >
- <string>Cookies...</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>371</width>
- <height>177</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_4" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>243</height>
- </rect>
- </property>
- <attribute name="title" >
- <string>Proxy</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout" >
- <item>
- <widget class="QGroupBox" name="proxySupport" >
- <property name="title" >
- <string>Enable proxy</string>
- </property>
- <property name="checkable" >
- <bool>true</bool>
- </property>
- <layout class="QGridLayout" name="gridLayout_6" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_9" >
- <property name="text" >
- <string>Type:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="0" column="1" colspan="2" >
- <widget class="QComboBox" name="proxyType" >
- <item>
- <property name="text" >
- <string>Socks5</string>
- </property>
- </item>
- <item>
- <property name="text" >
- <string>Http</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label_10" >
- <property name="text" >
- <string>Host:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="1" column="1" colspan="2" >
- <widget class="QLineEdit" name="proxyHostName" />
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="label_11" >
- <property name="text" >
- <string>Port:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QSpinBox" name="proxyPort" >
- <property name="maximum" >
- <number>10000</number>
- </property>
- <property name="value" >
- <number>1080</number>
- </property>
- </widget>
- </item>
- <item row="2" column="2" >
- <spacer name="horizontalSpacer_2" >
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>293</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="3" column="0" >
- <widget class="QLabel" name="label_12" >
- <property name="text" >
- <string>User Name:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="3" column="1" colspan="2" >
- <widget class="QLineEdit" name="proxyUserName" />
- </item>
- <item row="4" column="0" >
- <widget class="QLabel" name="label_13" >
- <property name="text" >
- <string>Password:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="4" column="1" colspan="2" >
- <widget class="QLineEdit" name="proxyPassword" >
- <property name="echoMode" >
- <enum>QLineEdit::Password</enum>
- </property>
- </widget>
- </item>
- <item row="5" column="0" >
- <spacer name="verticalSpacer_2" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>8</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_5" >
- <attribute name="title" >
- <string>Advanced</string>
- </attribute>
- <layout class="QGridLayout" name="gridLayout_2" >
- <item row="0" column="0" >
- <widget class="QLabel" name="label_14" >
- <property name="text" >
- <string>Style Sheet:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="userStyleSheet" />
- </item>
- <item row="1" column="1" >
- <spacer name="verticalSpacer_3" >
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0" >
- <size>
- <width>20</width>
- <height>176</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>buttonBox</sender>
- <signal>accepted()</signal>
- <receiver>Settings</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>248</x>
- <y>254</y>
- </hint>
- <hint type="destinationlabel" >
- <x>157</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- <connection>
- <sender>buttonBox</sender>
- <signal>rejected()</signal>
- <receiver>Settings</receiver>
- <slot>reject()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>316</x>
- <y>260</y>
- </hint>
- <hint type="destinationlabel" >
- <x>286</x>
- <y>274</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
diff --git a/examples/gestures/browser/squeezelabel.cpp b/examples/gestures/browser/squeezelabel.cpp
deleted file mode 100644
index 3247330..0000000
--- a/examples/gestures/browser/squeezelabel.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "squeezelabel.h"
-
-SqueezeLabel::SqueezeLabel(QWidget *parent) : QLabel(parent)
-{
-}
-
-void SqueezeLabel::paintEvent(QPaintEvent *event)
-{
- QFontMetrics fm = fontMetrics();
- if (fm.width(text()) > contentsRect().width()) {
- QString elided = fm.elidedText(text(), Qt::ElideMiddle, width());
- QString oldText = text();
- setText(elided);
- QLabel::paintEvent(event);
- setText(oldText);
- } else {
- QLabel::paintEvent(event);
- }
-}
-
diff --git a/examples/gestures/browser/squeezelabel.h b/examples/gestures/browser/squeezelabel.h
deleted file mode 100644
index 550a275..0000000
--- a/examples/gestures/browser/squeezelabel.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SQUEEZELABEL_H
-#define SQUEEZELABEL_H
-
-#include <QtGui/QLabel>
-
-class SqueezeLabel : public QLabel
-{
- Q_OBJECT
-
-public:
- SqueezeLabel(QWidget *parent = 0);
-
-protected:
- void paintEvent(QPaintEvent *event);
-
-};
-
-#endif // SQUEEZELABEL_H
-
diff --git a/examples/gestures/browser/tabwidget.cpp b/examples/gestures/browser/tabwidget.cpp
deleted file mode 100644
index 67714e4..0000000
--- a/examples/gestures/browser/tabwidget.cpp
+++ /dev/null
@@ -1,830 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "tabwidget.h"
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "history.h"
-#include "urllineedit.h"
-#include "webview.h"
-
-#include <QtGui/QClipboard>
-#include <QtGui/QCompleter>
-#include <QtGui/QListView>
-#include <QtGui/QMenu>
-#include <QtGui/QMessageBox>
-#include <QtGui/QMouseEvent>
-#include <QtGui/QStackedWidget>
-#include <QtGui/QStyle>
-#include <QtGui/QToolButton>
-
-#include <QtCore/QDebug>
-
-TabBar::TabBar(QWidget *parent)
- : QTabBar(parent)
-{
- setContextMenuPolicy(Qt::CustomContextMenu);
- setAcceptDrops(true);
- connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
- this, SLOT(contextMenuRequested(const QPoint &)));
-
- QString alt = QLatin1String("Alt+%1");
- for (int i = 1; i <= 10; ++i) {
- int key = i;
- if (key == 10)
- key = 0;
- QShortcut *shortCut = new QShortcut(alt.arg(key), this);
- m_tabShortcuts.append(shortCut);
- connect(shortCut, SIGNAL(activated()), this, SLOT(selectTabAction()));
- }
- setTabsClosable(true);
- connect(this, SIGNAL(tabCloseRequested(int)),
- this, SIGNAL(closeTab(int)));
- setSelectionBehaviorOnRemove(QTabBar::SelectPreviousTab);
- setMovable(true);
-}
-
-void TabBar::selectTabAction()
-{
- if (QShortcut *shortCut = qobject_cast<QShortcut*>(sender())) {
- int index = m_tabShortcuts.indexOf(shortCut);
- if (index == 0)
- index = 10;
- setCurrentIndex(index);
- }
-}
-
-void TabBar::contextMenuRequested(const QPoint &position)
-{
- QMenu menu;
- menu.addAction(tr("New &Tab"), this, SIGNAL(newTab()), QKeySequence::AddTab);
- int index = tabAt(position);
- if (-1 != index) {
- QAction *action = menu.addAction(tr("Clone Tab"),
- this, SLOT(cloneTab()));
- action->setData(index);
-
- menu.addSeparator();
-
- action = menu.addAction(tr("&Close Tab"),
- this, SLOT(closeTab()), QKeySequence::Close);
- action->setData(index);
-
- action = menu.addAction(tr("Close &Other Tabs"),
- this, SLOT(closeOtherTabs()));
- action->setData(index);
-
- menu.addSeparator();
-
- action = menu.addAction(tr("Reload Tab"),
- this, SLOT(reloadTab()), QKeySequence::Refresh);
- action->setData(index);
- } else {
- menu.addSeparator();
- }
- menu.addAction(tr("Reload All Tabs"), this, SIGNAL(reloadAllTabs()));
- menu.exec(QCursor::pos());
-}
-
-void TabBar::cloneTab()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit cloneTab(index);
- }
-}
-
-void TabBar::closeTab()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit closeTab(index);
- }
-}
-
-void TabBar::closeOtherTabs()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit closeOtherTabs(index);
- }
-}
-
-void TabBar::mousePressEvent(QMouseEvent *event)
-{
- if (event->button() == Qt::LeftButton)
- m_dragStartPos = event->pos();
- QTabBar::mousePressEvent(event);
-}
-
-void TabBar::mouseMoveEvent(QMouseEvent *event)
-{
- if (event->buttons() == Qt::LeftButton) {
- int diffX = event->pos().x() - m_dragStartPos.x();
- int diffY = event->pos().y() - m_dragStartPos.y();
- if ((event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance()
- && diffX < 3 && diffX > -3
- && diffY < -10) {
- QDrag *drag = new QDrag(this);
- QMimeData *mimeData = new QMimeData;
- QList<QUrl> urls;
- int index = tabAt(event->pos());
- QUrl url = tabData(index).toUrl();
- urls.append(url);
- mimeData->setUrls(urls);
- mimeData->setText(tabText(index));
- mimeData->setData(QLatin1String("action"), "tab-reordering");
- drag->setMimeData(mimeData);
- drag->exec();
- }
- }
- QTabBar::mouseMoveEvent(event);
-}
-
-// When index is -1 index chooses the current tab
-void TabWidget::reloadTab(int index)
-{
- if (index < 0)
- index = currentIndex();
- if (index < 0 || index >= count())
- return;
-
- QWidget *widget = this->widget(index);
- if (WebView *tab = qobject_cast<WebView*>(widget))
- tab->reload();
-}
-
-void TabBar::reloadTab()
-{
- if (QAction *action = qobject_cast<QAction*>(sender())) {
- int index = action->data().toInt();
- emit reloadTab(index);
- }
-}
-
-TabWidget::TabWidget(QWidget *parent)
- : QTabWidget(parent)
- , m_recentlyClosedTabsAction(0)
- , m_newTabAction(0)
- , m_closeTabAction(0)
- , m_nextTabAction(0)
- , m_previousTabAction(0)
- , m_recentlyClosedTabsMenu(0)
- , m_lineEditCompleter(0)
- , m_lineEdits(0)
- , m_tabBar(new TabBar(this))
-{
- setElideMode(Qt::ElideRight);
-
- connect(m_tabBar, SIGNAL(newTab()), this, SLOT(newTab()));
- connect(m_tabBar, SIGNAL(closeTab(int)), this, SLOT(closeTab(int)));
- connect(m_tabBar, SIGNAL(cloneTab(int)), this, SLOT(cloneTab(int)));
- connect(m_tabBar, SIGNAL(closeOtherTabs(int)), this, SLOT(closeOtherTabs(int)));
- connect(m_tabBar, SIGNAL(reloadTab(int)), this, SLOT(reloadTab(int)));
- connect(m_tabBar, SIGNAL(reloadAllTabs()), this, SLOT(reloadAllTabs()));
- connect(m_tabBar, SIGNAL(tabMoved(int, int)), this, SLOT(moveTab(int, int)));
- setTabBar(m_tabBar);
- setDocumentMode(true);
-
- // Actions
- m_newTabAction = new QAction(QIcon(QLatin1String(":addtab.png")), tr("New &Tab"), this);
- m_newTabAction->setShortcuts(QKeySequence::AddTab);
- m_newTabAction->setIconVisibleInMenu(false);
- connect(m_newTabAction, SIGNAL(triggered()), this, SLOT(newTab()));
-
- m_closeTabAction = new QAction(QIcon(QLatin1String(":closetab.png")), tr("&Close Tab"), this);
- m_closeTabAction->setShortcuts(QKeySequence::Close);
- m_closeTabAction->setIconVisibleInMenu(false);
- connect(m_closeTabAction, SIGNAL(triggered()), this, SLOT(closeTab()));
-
- m_nextTabAction = new QAction(tr("Show Next Tab"), this);
- QList<QKeySequence> shortcuts;
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceRight));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageDown));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketRight));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Less));
- m_nextTabAction->setShortcuts(shortcuts);
- connect(m_nextTabAction, SIGNAL(triggered()), this, SLOT(nextTab()));
-
- m_previousTabAction = new QAction(tr("Show Previous Tab"), this);
- shortcuts.clear();
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BraceLeft));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_PageUp));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_BracketLeft));
- shortcuts.append(QKeySequence(Qt::CTRL | Qt::Key_Greater));
- m_previousTabAction->setShortcuts(shortcuts);
- connect(m_previousTabAction, SIGNAL(triggered()), this, SLOT(previousTab()));
-
- m_recentlyClosedTabsMenu = new QMenu(this);
- connect(m_recentlyClosedTabsMenu, SIGNAL(aboutToShow()),
- this, SLOT(aboutToShowRecentTabsMenu()));
- connect(m_recentlyClosedTabsMenu, SIGNAL(triggered(QAction *)),
- this, SLOT(aboutToShowRecentTriggeredAction(QAction *)));
- m_recentlyClosedTabsAction = new QAction(tr("Recently Closed Tabs"), this);
- m_recentlyClosedTabsAction->setMenu(m_recentlyClosedTabsMenu);
- m_recentlyClosedTabsAction->setEnabled(false);
-
- connect(this, SIGNAL(currentChanged(int)),
- this, SLOT(currentChanged(int)));
-
- m_lineEdits = new QStackedWidget(this);
-}
-
-void TabWidget::clear()
-{
- // clear the recently closed tabs
- m_recentlyClosedTabs.clear();
- // clear the line edit history
- for (int i = 0; i < m_lineEdits->count(); ++i) {
- QLineEdit *qLineEdit = lineEdit(i);
- qLineEdit->setText(qLineEdit->text());
- }
-}
-
-void TabWidget::moveTab(int fromIndex, int toIndex)
-{
- QWidget *lineEdit = m_lineEdits->widget(fromIndex);
- m_lineEdits->removeWidget(lineEdit);
- m_lineEdits->insertWidget(toIndex, lineEdit);
-}
-
-void TabWidget::addWebAction(QAction *action, QWebPage::WebAction webAction)
-{
- if (!action)
- return;
- m_actions.append(new WebActionMapper(action, webAction, this));
-}
-
-void TabWidget::currentChanged(int index)
-{
- WebView *webView = this->webView(index);
- if (!webView)
- return;
-
- Q_ASSERT(m_lineEdits->count() == count());
-
- WebView *oldWebView = this->webView(m_lineEdits->currentIndex());
- if (oldWebView) {
- disconnect(oldWebView, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(showStatusBarMessage(const QString&)));
- disconnect(oldWebView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)),
- this, SIGNAL(linkHovered(const QString&)));
- disconnect(oldWebView, SIGNAL(loadProgress(int)),
- this, SIGNAL(loadProgress(int)));
- }
-
- connect(webView, SIGNAL(statusBarMessage(const QString&)),
- this, SIGNAL(showStatusBarMessage(const QString&)));
- connect(webView->page(), SIGNAL(linkHovered(const QString&, const QString&, const QString&)),
- this, SIGNAL(linkHovered(const QString&)));
- connect(webView, SIGNAL(loadProgress(int)),
- this, SIGNAL(loadProgress(int)));
-
- for (int i = 0; i < m_actions.count(); ++i) {
- WebActionMapper *mapper = m_actions[i];
- mapper->updateCurrent(webView->page());
- }
- emit setCurrentTitle(webView->title());
- m_lineEdits->setCurrentIndex(index);
- emit loadProgress(webView->progress());
- emit showStatusBarMessage(webView->lastStatusBarText());
- if (webView->url().isEmpty())
- m_lineEdits->currentWidget()->setFocus();
- else
- webView->setFocus();
-}
-
-QAction *TabWidget::newTabAction() const
-{
- return m_newTabAction;
-}
-
-QAction *TabWidget::closeTabAction() const
-{
- return m_closeTabAction;
-}
-
-QAction *TabWidget::recentlyClosedTabsAction() const
-{
- return m_recentlyClosedTabsAction;
-}
-
-QAction *TabWidget::nextTabAction() const
-{
- return m_nextTabAction;
-}
-
-QAction *TabWidget::previousTabAction() const
-{
- return m_previousTabAction;
-}
-
-QWidget *TabWidget::lineEditStack() const
-{
- return m_lineEdits;
-}
-
-QLineEdit *TabWidget::currentLineEdit() const
-{
- return lineEdit(m_lineEdits->currentIndex());
-}
-
-WebView *TabWidget::currentWebView() const
-{
- return webView(currentIndex());
-}
-
-QLineEdit *TabWidget::lineEdit(int index) const
-{
- UrlLineEdit *urlLineEdit = qobject_cast<UrlLineEdit*>(m_lineEdits->widget(index));
- if (urlLineEdit)
- return urlLineEdit->lineEdit();
- return 0;
-}
-
-WebView *TabWidget::webView(int index) const
-{
- QWidget *widget = this->widget(index);
- if (WebView *webView = qobject_cast<WebView*>(widget)) {
- return webView;
- } else {
- // optimization to delay creating the first webview
- if (count() == 1) {
- TabWidget *that = const_cast<TabWidget*>(this);
- that->setUpdatesEnabled(false);
- that->newTab();
- that->closeTab(0);
- that->setUpdatesEnabled(true);
- return currentWebView();
- }
- }
- return 0;
-}
-
-int TabWidget::webViewIndex(WebView *webView) const
-{
- int index = indexOf(webView);
- return index;
-}
-
-WebView *TabWidget::newTab(bool makeCurrent)
-{
- // line edit
- UrlLineEdit *urlLineEdit = new UrlLineEdit;
- QLineEdit *lineEdit = urlLineEdit->lineEdit();
- if (!m_lineEditCompleter && count() > 0) {
- HistoryCompletionModel *completionModel = new HistoryCompletionModel(this);
- completionModel->setSourceModel(BrowserApplication::historyManager()->historyFilterModel());
- m_lineEditCompleter = new QCompleter(completionModel, this);
- // Should this be in Qt by default?
- QAbstractItemView *popup = m_lineEditCompleter->popup();
- QListView *listView = qobject_cast<QListView*>(popup);
- if (listView)
- listView->setUniformItemSizes(true);
- }
- lineEdit->setCompleter(m_lineEditCompleter);
- connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(lineEditReturnPressed()));
- m_lineEdits->addWidget(urlLineEdit);
- m_lineEdits->setSizePolicy(lineEdit->sizePolicy());
-
- // optimization to delay creating the more expensive WebView, history, etc
- if (count() == 0) {
- QWidget *emptyWidget = new QWidget;
- QPalette p = emptyWidget->palette();
- p.setColor(QPalette::Window, palette().color(QPalette::Base));
- emptyWidget->setPalette(p);
- emptyWidget->setAutoFillBackground(true);
- disconnect(this, SIGNAL(currentChanged(int)),
- this, SLOT(currentChanged(int)));
- addTab(emptyWidget, tr("(Untitled)"));
- connect(this, SIGNAL(currentChanged(int)),
- this, SLOT(currentChanged(int)));
- return 0;
- }
-
- // webview
- WebView *webView = new WebView;
- urlLineEdit->setWebView(webView);
- connect(webView, SIGNAL(loadStarted()),
- this, SLOT(webViewLoadStarted()));
- connect(webView, SIGNAL(loadFinished(bool)),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(iconChanged()),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(titleChanged(const QString &)),
- this, SLOT(webViewTitleChanged(const QString &)));
- connect(webView, SIGNAL(urlChanged(const QUrl &)),
- this, SLOT(webViewUrlChanged(const QUrl &)));
- connect(webView->page(), SIGNAL(windowCloseRequested()),
- this, SLOT(windowCloseRequested()));
- connect(webView->page(), SIGNAL(geometryChangeRequested(const QRect &)),
- this, SIGNAL(geometryChangeRequested(const QRect &)));
- connect(webView->page(), SIGNAL(printRequested(QWebFrame *)),
- this, SIGNAL(printRequested(QWebFrame *)));
- connect(webView->page(), SIGNAL(menuBarVisibilityChangeRequested(bool)),
- this, SIGNAL(menuBarVisibilityChangeRequested(bool)));
- connect(webView->page(), SIGNAL(statusBarVisibilityChangeRequested(bool)),
- this, SIGNAL(statusBarVisibilityChangeRequested(bool)));
- connect(webView->page(), SIGNAL(toolBarVisibilityChangeRequested(bool)),
- this, SIGNAL(toolBarVisibilityChangeRequested(bool)));
- addTab(webView, tr("(Untitled)"));
- if (makeCurrent)
- setCurrentWidget(webView);
-
- // webview actions
- for (int i = 0; i < m_actions.count(); ++i) {
- WebActionMapper *mapper = m_actions[i];
- mapper->addChild(webView->page()->action(mapper->webAction()));
- }
-
- if (count() == 1)
- currentChanged(currentIndex());
- emit tabsChanged();
- return webView;
-}
-
-void TabWidget::reloadAllTabs()
-{
- for (int i = 0; i < count(); ++i) {
- QWidget *tabWidget = widget(i);
- if (WebView *tab = qobject_cast<WebView*>(tabWidget)) {
- tab->reload();
- }
- }
-}
-
-void TabWidget::lineEditReturnPressed()
-{
- if (QLineEdit *lineEdit = qobject_cast<QLineEdit*>(sender())) {
- emit loadPage(lineEdit->text());
- if (m_lineEdits->currentWidget() == lineEdit)
- currentWebView()->setFocus();
- }
-}
-
-void TabWidget::windowCloseRequested()
-{
- WebPage *webPage = qobject_cast<WebPage*>(sender());
- WebView *webView = qobject_cast<WebView*>(webPage->view());
- int index = webViewIndex(webView);
- if (index >= 0) {
- if (count() == 1)
- webView->webPage()->mainWindow()->close();
- else
- closeTab(index);
- }
-}
-
-void TabWidget::closeOtherTabs(int index)
-{
- if (-1 == index)
- return;
- for (int i = count() - 1; i > index; --i)
- closeTab(i);
- for (int i = index - 1; i >= 0; --i)
- closeTab(i);
-}
-
-// When index is -1 index chooses the current tab
-void TabWidget::cloneTab(int index)
-{
- if (index < 0)
- index = currentIndex();
- if (index < 0 || index >= count())
- return;
- WebView *tab = newTab(false);
- tab->setUrl(webView(index)->url());
-}
-
-// When index is -1 index chooses the current tab
-void TabWidget::closeTab(int index)
-{
- if (index < 0)
- index = currentIndex();
- if (index < 0 || index >= count())
- return;
-
- bool hasFocus = false;
- if (WebView *tab = webView(index)) {
- if (tab->isModified()) {
- QMessageBox closeConfirmation(tab);
- closeConfirmation.setWindowFlags(Qt::Sheet);
- closeConfirmation.setWindowTitle(tr("Do you really want to close this page?"));
- closeConfirmation.setInformativeText(tr("You have modified this page and when closing it you would lose the modification.\n"
- "Do you really want to close this page?\n"));
- closeConfirmation.setIcon(QMessageBox::Question);
- closeConfirmation.addButton(QMessageBox::Yes);
- closeConfirmation.addButton(QMessageBox::No);
- closeConfirmation.setEscapeButton(QMessageBox::No);
- if (closeConfirmation.exec() == QMessageBox::No)
- return;
- }
- hasFocus = tab->hasFocus();
-
- m_recentlyClosedTabsAction->setEnabled(true);
- m_recentlyClosedTabs.prepend(tab->url());
- if (m_recentlyClosedTabs.size() >= TabWidget::m_recentlyClosedTabsSize)
- m_recentlyClosedTabs.removeLast();
- }
- QWidget *lineEdit = m_lineEdits->widget(index);
- m_lineEdits->removeWidget(lineEdit);
- lineEdit->deleteLater();
- QWidget *webView = widget(index);
- removeTab(index);
- webView->deleteLater();
- emit tabsChanged();
- if (hasFocus && count() > 0)
- currentWebView()->setFocus();
- if (count() == 0)
- emit lastTabClosed();
-}
-
-void TabWidget::webViewLoadStarted()
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- QIcon icon(QLatin1String(":loading.gif"));
- setTabIcon(index, icon);
- }
-}
-
-void TabWidget::webViewIconChanged()
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- QIcon icon = BrowserApplication::instance()->icon(webView->url());
- setTabIcon(index, icon);
- }
-}
-
-void TabWidget::webViewTitleChanged(const QString &title)
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- setTabText(index, title);
- }
- if (currentIndex() == index)
- emit setCurrentTitle(title);
- BrowserApplication::historyManager()->updateHistoryItem(webView->url(), title);
-}
-
-void TabWidget::webViewUrlChanged(const QUrl &url)
-{
- WebView *webView = qobject_cast<WebView*>(sender());
- int index = webViewIndex(webView);
- if (-1 != index) {
- m_tabBar->setTabData(index, url);
- }
- emit tabsChanged();
-}
-
-void TabWidget::aboutToShowRecentTabsMenu()
-{
- m_recentlyClosedTabsMenu->clear();
- for (int i = 0; i < m_recentlyClosedTabs.count(); ++i) {
- QAction *action = new QAction(m_recentlyClosedTabsMenu);
- action->setData(m_recentlyClosedTabs.at(i));
- QIcon icon = BrowserApplication::instance()->icon(m_recentlyClosedTabs.at(i));
- action->setIcon(icon);
- action->setText(m_recentlyClosedTabs.at(i).toString());
- m_recentlyClosedTabsMenu->addAction(action);
- }
-}
-
-void TabWidget::aboutToShowRecentTriggeredAction(QAction *action)
-{
- QUrl url = action->data().toUrl();
- loadUrlInCurrentTab(url);
-}
-
-void TabWidget::mouseDoubleClickEvent(QMouseEvent *event)
-{
- if (!childAt(event->pos())
- // Remove the line below when QTabWidget does not have a one pixel frame
- && event->pos().y() < (tabBar()->y() + tabBar()->height())) {
- newTab();
- return;
- }
- QTabWidget::mouseDoubleClickEvent(event);
-}
-
-void TabWidget::contextMenuEvent(QContextMenuEvent *event)
-{
- if (!childAt(event->pos())) {
- m_tabBar->contextMenuRequested(event->pos());
- return;
- }
- QTabWidget::contextMenuEvent(event);
-}
-
-void TabWidget::mouseReleaseEvent(QMouseEvent *event)
-{
- if (event->button() == Qt::MidButton && !childAt(event->pos())
- // Remove the line below when QTabWidget does not have a one pixel frame
- && event->pos().y() < (tabBar()->y() + tabBar()->height())) {
- QUrl url(QApplication::clipboard()->text(QClipboard::Selection));
- if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) {
- WebView *webView = newTab();
- webView->setUrl(url);
- }
- }
-}
-
-void TabWidget::loadUrlInCurrentTab(const QUrl &url)
-{
- WebView *webView = currentWebView();
- if (webView) {
- webView->loadUrl(url);
- webView->setFocus();
- }
-}
-
-void TabWidget::nextTab()
-{
- int next = currentIndex() + 1;
- if (next == count())
- next = 0;
- setCurrentIndex(next);
-}
-
-void TabWidget::previousTab()
-{
- int next = currentIndex() - 1;
- if (next < 0)
- next = count() - 1;
- setCurrentIndex(next);
-}
-
-static const qint32 TabWidgetMagic = 0xaa;
-
-QByteArray TabWidget::saveState() const
-{
- int version = 1;
- QByteArray data;
- QDataStream stream(&data, QIODevice::WriteOnly);
-
- stream << qint32(TabWidgetMagic);
- stream << qint32(version);
-
- QStringList tabs;
- for (int i = 0; i < count(); ++i) {
- if (WebView *tab = qobject_cast<WebView*>(widget(i))) {
- tabs.append(tab->url().toString());
- } else {
- tabs.append(QString::null);
- }
- }
- stream << tabs;
- stream << currentIndex();
- return data;
-}
-
-bool TabWidget::restoreState(const QByteArray &state)
-{
- int version = 1;
- QByteArray sd = state;
- QDataStream stream(&sd, QIODevice::ReadOnly);
- if (stream.atEnd())
- return false;
-
- qint32 marker;
- qint32 v;
- stream >> marker;
- stream >> v;
- if (marker != TabWidgetMagic || v != version)
- return false;
-
- QStringList openTabs;
- stream >> openTabs;
-
- for (int i = 0; i < openTabs.count(); ++i) {
- if (i != 0)
- newTab();
- loadPage(openTabs.at(i));
- }
-
- int currentTab;
- stream >> currentTab;
- setCurrentIndex(currentTab);
-
- return true;
-}
-
-WebActionMapper::WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent)
- : QObject(parent)
- , m_currentParent(0)
- , m_root(root)
- , m_webAction(webAction)
-{
- if (!m_root)
- return;
- connect(m_root, SIGNAL(triggered()), this, SLOT(rootTriggered()));
- connect(root, SIGNAL(destroyed(QObject *)), this, SLOT(rootDestroyed()));
- root->setEnabled(false);
-}
-
-void WebActionMapper::rootDestroyed()
-{
- m_root = 0;
-}
-
-void WebActionMapper::currentDestroyed()
-{
- updateCurrent(0);
-}
-
-void WebActionMapper::addChild(QAction *action)
-{
- if (!action)
- return;
- connect(action, SIGNAL(changed()), this, SLOT(childChanged()));
-}
-
-QWebPage::WebAction WebActionMapper::webAction() const
-{
- return m_webAction;
-}
-
-void WebActionMapper::rootTriggered()
-{
- if (m_currentParent) {
- QAction *gotoAction = m_currentParent->action(m_webAction);
- gotoAction->trigger();
- }
-}
-
-void WebActionMapper::childChanged()
-{
- if (QAction *source = qobject_cast<QAction*>(sender())) {
- if (m_root
- && m_currentParent
- && source->parent() == m_currentParent) {
- m_root->setChecked(source->isChecked());
- m_root->setEnabled(source->isEnabled());
- }
- }
-}
-
-void WebActionMapper::updateCurrent(QWebPage *currentParent)
-{
- if (m_currentParent)
- disconnect(m_currentParent, SIGNAL(destroyed(QObject *)),
- this, SLOT(currentDestroyed()));
-
- m_currentParent = currentParent;
- if (!m_root)
- return;
- if (!m_currentParent) {
- m_root->setEnabled(false);
- m_root->setChecked(false);
- return;
- }
- QAction *source = m_currentParent->action(m_webAction);
- m_root->setChecked(source->isChecked());
- m_root->setEnabled(source->isEnabled());
- connect(m_currentParent, SIGNAL(destroyed(QObject *)),
- this, SLOT(currentDestroyed()));
-}
-
diff --git a/examples/gestures/browser/tabwidget.h b/examples/gestures/browser/tabwidget.h
deleted file mode 100644
index ee7b226..0000000
--- a/examples/gestures/browser/tabwidget.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TABWIDGET_H
-#define TABWIDGET_H
-
-#include <QtGui/QTabBar>
-
-#include <QtGui/QShortcut>
-/*
- Tab bar with a few more features such as a context menu and shortcuts
- */
-class TabBar : public QTabBar
-{
- Q_OBJECT
-
-signals:
- void newTab();
- void cloneTab(int index);
- void closeTab(int index);
- void closeOtherTabs(int index);
- void reloadTab(int index);
- void reloadAllTabs();
- void tabMoveRequested(int fromIndex, int toIndex);
-
-public:
- TabBar(QWidget *parent = 0);
-
-protected:
- void mousePressEvent(QMouseEvent* event);
- void mouseMoveEvent(QMouseEvent* event);
-
-private slots:
- void selectTabAction();
- void cloneTab();
- void closeTab();
- void closeOtherTabs();
- void reloadTab();
- void contextMenuRequested(const QPoint &position);
-
-private:
- QList<QShortcut*> m_tabShortcuts;
- friend class TabWidget;
-
- QPoint m_dragStartPos;
- int m_dragCurrentIndex;
-};
-
-#include <QtWebKit/QWebPage>
-
-QT_BEGIN_NAMESPACE
-class QAction;
-QT_END_NAMESPACE
-class WebView;
-/*!
- A proxy object that connects a single browser action
- to one child webpage action at a time.
-
- Example usage: used to keep the main window stop action in sync with
- the current tabs webview's stop action.
- */
-class WebActionMapper : public QObject
-{
- Q_OBJECT
-
-public:
- WebActionMapper(QAction *root, QWebPage::WebAction webAction, QObject *parent);
- QWebPage::WebAction webAction() const;
- void addChild(QAction *action);
- void updateCurrent(QWebPage *currentParent);
-
-private slots:
- void rootTriggered();
- void childChanged();
- void rootDestroyed();
- void currentDestroyed();
-
-private:
- QWebPage *m_currentParent;
- QAction *m_root;
- QWebPage::WebAction m_webAction;
-};
-
-#include <QtCore/QUrl>
-#include <QtGui/QTabWidget>
-QT_BEGIN_NAMESPACE
-class QCompleter;
-class QLineEdit;
-class QMenu;
-class QStackedWidget;
-QT_END_NAMESPACE
-/*!
- TabWidget that contains WebViews and a stack widget of associated line edits.
-
- Connects up the current tab's signals to this class's signal and uses WebActionMapper
- to proxy the actions.
- */
-class TabWidget : public QTabWidget
-{
- Q_OBJECT
-
-signals:
- // tab widget signals
- void loadPage(const QString &url);
- void tabsChanged();
- void lastTabClosed();
-
- // current tab signals
- void setCurrentTitle(const QString &url);
- void showStatusBarMessage(const QString &message);
- void linkHovered(const QString &link);
- void loadProgress(int progress);
- void geometryChangeRequested(const QRect &geometry);
- void menuBarVisibilityChangeRequested(bool visible);
- void statusBarVisibilityChangeRequested(bool visible);
- void toolBarVisibilityChangeRequested(bool visible);
- void printRequested(QWebFrame *frame);
-
-public:
- TabWidget(QWidget *parent = 0);
- void clear();
- void addWebAction(QAction *action, QWebPage::WebAction webAction);
-
- QAction *newTabAction() const;
- QAction *closeTabAction() const;
- QAction *recentlyClosedTabsAction() const;
- QAction *nextTabAction() const;
- QAction *previousTabAction() const;
-
- QWidget *lineEditStack() const;
- QLineEdit *currentLineEdit() const;
- WebView *currentWebView() const;
- WebView *webView(int index) const;
- QLineEdit *lineEdit(int index) const;
- int webViewIndex(WebView *webView) const;
-
- QByteArray saveState() const;
- bool restoreState(const QByteArray &state);
-
-protected:
- void mouseDoubleClickEvent(QMouseEvent *event);
- void contextMenuEvent(QContextMenuEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
-
-public slots:
- void loadUrlInCurrentTab(const QUrl &url);
- WebView *newTab(bool makeCurrent = true);
- void cloneTab(int index = -1);
- void closeTab(int index = -1);
- void closeOtherTabs(int index);
- void reloadTab(int index = -1);
- void reloadAllTabs();
- void nextTab();
- void previousTab();
-
-private slots:
- void currentChanged(int index);
- void aboutToShowRecentTabsMenu();
- void aboutToShowRecentTriggeredAction(QAction *action);
- void webViewLoadStarted();
- void webViewIconChanged();
- void webViewTitleChanged(const QString &title);
- void webViewUrlChanged(const QUrl &url);
- void lineEditReturnPressed();
- void windowCloseRequested();
- void moveTab(int fromIndex, int toIndex);
-
-private:
- QAction *m_recentlyClosedTabsAction;
- QAction *m_newTabAction;
- QAction *m_closeTabAction;
- QAction *m_nextTabAction;
- QAction *m_previousTabAction;
-
- QMenu *m_recentlyClosedTabsMenu;
- static const int m_recentlyClosedTabsSize = 10;
- QList<QUrl> m_recentlyClosedTabs;
- QList<WebActionMapper*> m_actions;
-
- QCompleter *m_lineEditCompleter;
- QStackedWidget *m_lineEdits;
- TabBar *m_tabBar;
-};
-
-#endif // TABWIDGET_H
-
diff --git a/examples/gestures/browser/toolbarsearch.cpp b/examples/gestures/browser/toolbarsearch.cpp
deleted file mode 100644
index 0fb5322..0000000
--- a/examples/gestures/browser/toolbarsearch.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "toolbarsearch.h"
-#include "autosaver.h"
-
-#include <QtCore/QSettings>
-#include <QtCore/QUrl>
-
-#include <QtGui/QCompleter>
-#include <QtGui/QMenu>
-#include <QtGui/QStringListModel>
-
-#include <QtWebKit/QWebSettings>
-
-/*
- ToolbarSearch is a very basic search widget that also contains a small history.
- Searches are turned into urls that use Google to perform search
- */
-ToolbarSearch::ToolbarSearch(QWidget *parent)
- : SearchLineEdit(parent)
- , m_autosaver(new AutoSaver(this))
- , m_maxSavedSearches(10)
- , m_stringListModel(new QStringListModel(this))
-{
- QMenu *m = menu();
- connect(m, SIGNAL(aboutToShow()), this, SLOT(aboutToShowMenu()));
- connect(m, SIGNAL(triggered(QAction*)), this, SLOT(triggeredMenuAction(QAction*)));
-
- QCompleter *completer = new QCompleter(m_stringListModel, this);
- completer->setCompletionMode(QCompleter::InlineCompletion);
- lineEdit()->setCompleter(completer);
-
- connect(lineEdit(), SIGNAL(returnPressed()), SLOT(searchNow()));
- setInactiveText(tr("Google"));
- load();
-}
-
-ToolbarSearch::~ToolbarSearch()
-{
- m_autosaver->saveIfNeccessary();
-}
-
-void ToolbarSearch::save()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("toolbarsearch"));
- settings.setValue(QLatin1String("recentSearches"), m_stringListModel->stringList());
- settings.setValue(QLatin1String("maximumSaved"), m_maxSavedSearches);
- settings.endGroup();
-}
-
-void ToolbarSearch::load()
-{
- QSettings settings;
- settings.beginGroup(QLatin1String("toolbarsearch"));
- QStringList list = settings.value(QLatin1String("recentSearches")).toStringList();
- m_maxSavedSearches = settings.value(QLatin1String("maximumSaved"), m_maxSavedSearches).toInt();
- m_stringListModel->setStringList(list);
- settings.endGroup();
-}
-
-void ToolbarSearch::searchNow()
-{
- QString searchText = lineEdit()->text();
- QStringList newList = m_stringListModel->stringList();
- if (newList.contains(searchText))
- newList.removeAt(newList.indexOf(searchText));
- newList.prepend(searchText);
- if (newList.size() >= m_maxSavedSearches)
- newList.removeLast();
-
- QWebSettings *globalSettings = QWebSettings::globalSettings();
- if (!globalSettings->testAttribute(QWebSettings::PrivateBrowsingEnabled)) {
- m_stringListModel->setStringList(newList);
- m_autosaver->changeOccurred();
- }
-
- QUrl url(QLatin1String("http://www.google.com/search"));
- url.addQueryItem(QLatin1String("q"), searchText);
- url.addQueryItem(QLatin1String("ie"), QLatin1String("UTF-8"));
- url.addQueryItem(QLatin1String("oe"), QLatin1String("UTF-8"));
- url.addQueryItem(QLatin1String("client"), QLatin1String("qtdemobrowser"));
- emit search(url);
-}
-
-void ToolbarSearch::aboutToShowMenu()
-{
- lineEdit()->selectAll();
- QMenu *m = menu();
- m->clear();
- QStringList list = m_stringListModel->stringList();
- if (list.isEmpty()) {
- m->addAction(tr("No Recent Searches"));
- return;
- }
-
- QAction *recent = m->addAction(tr("Recent Searches"));
- recent->setEnabled(false);
- for (int i = 0; i < list.count(); ++i) {
- QString text = list.at(i);
- m->addAction(text)->setData(text);
- }
- m->addSeparator();
- m->addAction(tr("Clear Recent Searches"), this, SLOT(clear()));
-}
-
-void ToolbarSearch::triggeredMenuAction(QAction *action)
-{
- QVariant v = action->data();
- if (v.canConvert<QString>()) {
- QString text = v.toString();
- lineEdit()->setText(text);
- searchNow();
- }
-}
-
-void ToolbarSearch::clear()
-{
- m_stringListModel->setStringList(QStringList());
- m_autosaver->changeOccurred();;
-}
-
diff --git a/examples/gestures/browser/toolbarsearch.h b/examples/gestures/browser/toolbarsearch.h
deleted file mode 100644
index 02c1871..0000000
--- a/examples/gestures/browser/toolbarsearch.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TOOLBARSEARCH_H
-#define TOOLBARSEARCH_H
-
-#include "searchlineedit.h"
-
-QT_BEGIN_NAMESPACE
-class QUrl;
-class QAction;
-class QStringListModel;
-QT_END_NAMESPACE
-
-class AutoSaver;
-
-class ToolbarSearch : public SearchLineEdit
-{
- Q_OBJECT
-
-signals:
- void search(const QUrl &url);
-
-public:
- ToolbarSearch(QWidget *parent = 0);
- ~ToolbarSearch();
-
-public slots:
- void clear();
- void searchNow();
-
-private slots:
- void save();
- void aboutToShowMenu();
- void triggeredMenuAction(QAction *action);
-
-private:
- void load();
-
- AutoSaver *m_autosaver;
- int m_maxSavedSearches;
- QStringListModel *m_stringListModel;
-};
-
-#endif // TOOLBARSEARCH_H
-
diff --git a/examples/gestures/browser/urllineedit.cpp b/examples/gestures/browser/urllineedit.cpp
deleted file mode 100644
index 70951d1..0000000
--- a/examples/gestures/browser/urllineedit.cpp
+++ /dev/null
@@ -1,340 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "urllineedit.h"
-
-#include "browserapplication.h"
-#include "searchlineedit.h"
-#include "webview.h"
-
-#include <QtCore/QEvent>
-
-#include <QtGui/QApplication>
-#include <QtGui/QCompleter>
-#include <QtGui/QFocusEvent>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QLineEdit>
-#include <QtGui/QPainter>
-#include <QtGui/QStyle>
-#include <QtGui/QStyleOptionFrameV2>
-
-#include <QtCore/QDebug>
-
-ExLineEdit::ExLineEdit(QWidget *parent)
- : QWidget(parent)
- , m_leftWidget(0)
- , m_lineEdit(new QLineEdit(this))
- , m_clearButton(0)
-{
- setFocusPolicy(m_lineEdit->focusPolicy());
- setAttribute(Qt::WA_InputMethodEnabled);
- setSizePolicy(m_lineEdit->sizePolicy());
- setBackgroundRole(m_lineEdit->backgroundRole());
- setMouseTracking(true);
- setAcceptDrops(true);
- setAttribute(Qt::WA_MacShowFocusRect, true);
- QPalette p = m_lineEdit->palette();
- setPalette(p);
-
- // line edit
- m_lineEdit->setFrame(false);
- m_lineEdit->setFocusProxy(this);
- m_lineEdit->setAttribute(Qt::WA_MacShowFocusRect, false);
- QPalette clearPalette = m_lineEdit->palette();
- clearPalette.setBrush(QPalette::Base, QBrush(Qt::transparent));
- m_lineEdit->setPalette(clearPalette);
-
- // clearButton
- m_clearButton = new ClearButton(this);
- connect(m_clearButton, SIGNAL(clicked()),
- m_lineEdit, SLOT(clear()));
- connect(m_lineEdit, SIGNAL(textChanged(const QString&)),
- m_clearButton, SLOT(textChanged(const QString&)));
-}
-
-void ExLineEdit::setLeftWidget(QWidget *widget)
-{
- m_leftWidget = widget;
-}
-
-QWidget *ExLineEdit::leftWidget() const
-{
- return m_leftWidget;
-}
-
-void ExLineEdit::resizeEvent(QResizeEvent *event)
-{
- Q_ASSERT(m_leftWidget);
- updateGeometries();
- QWidget::resizeEvent(event);
-}
-
-void ExLineEdit::updateGeometries()
-{
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- QRect rect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
-
- int height = rect.height();
- int width = rect.width();
-
- int m_leftWidgetHeight = m_leftWidget->height();
- m_leftWidget->setGeometry(rect.x() + 2, rect.y() + (height - m_leftWidgetHeight)/2,
- m_leftWidget->width(), m_leftWidget->height());
-
- int clearButtonWidth = this->height();
- m_lineEdit->setGeometry(m_leftWidget->x() + m_leftWidget->width(), 0,
- width - clearButtonWidth - m_leftWidget->width(), this->height());
-
- m_clearButton->setGeometry(this->width() - clearButtonWidth, 0,
- clearButtonWidth, this->height());
-}
-
-void ExLineEdit::initStyleOption(QStyleOptionFrameV2 *option) const
-{
- option->initFrom(this);
- option->rect = contentsRect();
- option->lineWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth, option, this);
- option->midLineWidth = 0;
- option->state |= QStyle::State_Sunken;
- if (m_lineEdit->isReadOnly())
- option->state |= QStyle::State_ReadOnly;
-#ifdef QT_KEYPAD_NAVIGATION
- if (hasEditFocus())
- option->state |= QStyle::State_HasEditFocus;
-#endif
- option->features = QStyleOptionFrameV2::None;
-}
-
-QSize ExLineEdit::sizeHint() const
-{
- m_lineEdit->setFrame(true);
- QSize size = m_lineEdit->sizeHint();
- m_lineEdit->setFrame(false);
- return size;
-}
-
-void ExLineEdit::focusInEvent(QFocusEvent *event)
-{
- m_lineEdit->event(event);
- QWidget::focusInEvent(event);
-}
-
-void ExLineEdit::focusOutEvent(QFocusEvent *event)
-{
- m_lineEdit->event(event);
-
- if (m_lineEdit->completer()) {
- connect(m_lineEdit->completer(), SIGNAL(activated(QString)),
- m_lineEdit, SLOT(setText(QString)));
- connect(m_lineEdit->completer(), SIGNAL(highlighted(QString)),
- m_lineEdit, SLOT(_q_completionHighlighted(QString)));
- }
- QWidget::focusOutEvent(event);
-}
-
-void ExLineEdit::keyPressEvent(QKeyEvent *event)
-{
- m_lineEdit->event(event);
-}
-
-bool ExLineEdit::event(QEvent *event)
-{
- if (event->type() == QEvent::ShortcutOverride)
- return m_lineEdit->event(event);
- return QWidget::event(event);
-}
-
-void ExLineEdit::paintEvent(QPaintEvent *)
-{
- QPainter p(this);
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- style()->drawPrimitive(QStyle::PE_PanelLineEdit, &panel, &p, this);
-}
-
-QVariant ExLineEdit::inputMethodQuery(Qt::InputMethodQuery property) const
-{
- return m_lineEdit->inputMethodQuery(property);
-}
-
-void ExLineEdit::inputMethodEvent(QInputMethodEvent *e)
-{
- m_lineEdit->event(e);
-}
-
-
-class UrlIconLabel : public QLabel
-{
-
-public:
- UrlIconLabel(QWidget *parent);
-
- WebView *m_webView;
-
-protected:
- void mousePressEvent(QMouseEvent *event);
- void mouseMoveEvent(QMouseEvent *event);
-
-private:
- QPoint m_dragStartPos;
-
-};
-
-UrlIconLabel::UrlIconLabel(QWidget *parent)
- : QLabel(parent)
- , m_webView(0)
-{
- setMinimumWidth(16);
- setMinimumHeight(16);
-}
-
-void UrlIconLabel::mousePressEvent(QMouseEvent *event)
-{
- if (event->button() == Qt::LeftButton)
- m_dragStartPos = event->pos();
- QLabel::mousePressEvent(event);
-}
-
-void UrlIconLabel::mouseMoveEvent(QMouseEvent *event)
-{
- if (event->buttons() == Qt::LeftButton
- && (event->pos() - m_dragStartPos).manhattanLength() > QApplication::startDragDistance()
- && m_webView) {
- QDrag *drag = new QDrag(this);
- QMimeData *mimeData = new QMimeData;
- mimeData->setText(QString::fromUtf8(m_webView->url().toEncoded()));
- QList<QUrl> urls;
- urls.append(m_webView->url());
- mimeData->setUrls(urls);
- drag->setMimeData(mimeData);
- drag->exec();
- }
-}
-
-UrlLineEdit::UrlLineEdit(QWidget *parent)
- : ExLineEdit(parent)
- , m_webView(0)
- , m_iconLabel(0)
-{
- // icon
- m_iconLabel = new UrlIconLabel(this);
- m_iconLabel->resize(16, 16);
- setLeftWidget(m_iconLabel);
- m_defaultBaseColor = palette().color(QPalette::Base);
-
- webViewIconChanged();
-}
-
-void UrlLineEdit::setWebView(WebView *webView)
-{
- Q_ASSERT(!m_webView);
- m_webView = webView;
- m_iconLabel->m_webView = webView;
- connect(webView, SIGNAL(urlChanged(const QUrl &)),
- this, SLOT(webViewUrlChanged(const QUrl &)));
- connect(webView, SIGNAL(loadFinished(bool)),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(iconChanged()),
- this, SLOT(webViewIconChanged()));
- connect(webView, SIGNAL(loadProgress(int)),
- this, SLOT(update()));
-}
-
-void UrlLineEdit::webViewUrlChanged(const QUrl &url)
-{
- m_lineEdit->setText(QString::fromUtf8(url.toEncoded()));
- m_lineEdit->setCursorPosition(0);
-}
-
-void UrlLineEdit::webViewIconChanged()
-{
- QUrl url = (m_webView) ? m_webView->url() : QUrl();
- QIcon icon = BrowserApplication::instance()->icon(url);
- QPixmap pixmap(icon.pixmap(16, 16));
- m_iconLabel->setPixmap(pixmap);
-}
-
-QLinearGradient UrlLineEdit::generateGradient(const QColor &color) const
-{
- QLinearGradient gradient(0, 0, 0, height());
- gradient.setColorAt(0, m_defaultBaseColor);
- gradient.setColorAt(0.15, color.lighter(120));
- gradient.setColorAt(0.5, color);
- gradient.setColorAt(0.85, color.lighter(120));
- gradient.setColorAt(1, m_defaultBaseColor);
- return gradient;
-}
-
-void UrlLineEdit::focusOutEvent(QFocusEvent *event)
-{
- if (m_lineEdit->text().isEmpty() && m_webView)
- m_lineEdit->setText(QString::fromUtf8(m_webView->url().toEncoded()));
- ExLineEdit::focusOutEvent(event);
-}
-
-void UrlLineEdit::paintEvent(QPaintEvent *event)
-{
- QPalette p = palette();
- if (m_webView && m_webView->url().scheme() == QLatin1String("https")) {
- QColor lightYellow(248, 248, 210);
- p.setBrush(QPalette::Base, generateGradient(lightYellow));
- } else {
- p.setBrush(QPalette::Base, m_defaultBaseColor);
- }
- setPalette(p);
- ExLineEdit::paintEvent(event);
-
- QPainter painter(this);
- QStyleOptionFrameV2 panel;
- initStyleOption(&panel);
- QRect backgroundRect = style()->subElementRect(QStyle::SE_LineEditContents, &panel, this);
- if (m_webView && !hasFocus()) {
- int progress = m_webView->progress();
- QColor loadingColor = QColor(116, 192, 250);
- painter.setBrush(generateGradient(loadingColor));
- painter.setPen(Qt::transparent);
- int mid = backgroundRect.width() / 100 * progress;
- QRect progressRect(backgroundRect.x(), backgroundRect.y(), mid, backgroundRect.height());
- painter.drawRect(progressRect);
- }
-}
diff --git a/examples/gestures/browser/urllineedit.h b/examples/gestures/browser/urllineedit.h
deleted file mode 100644
index 0727e6a..0000000
--- a/examples/gestures/browser/urllineedit.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef URLLINEEDIT_H
-#define URLLINEEDIT_H
-
-#include <QtCore/QUrl>
-#include <QtGui/QWidget>
-#include <QtGui/QStyleOptionFrame>
-
-QT_BEGIN_NAMESPACE
-class QLineEdit;
-QT_END_NAMESPACE
-
-class ClearButton;
-class ExLineEdit : public QWidget
-{
- Q_OBJECT
-
-public:
- ExLineEdit(QWidget *parent = 0);
-
- inline QLineEdit *lineEdit() const { return m_lineEdit; }
-
- void setLeftWidget(QWidget *widget);
- QWidget *leftWidget() const;
-
- QSize sizeHint() const;
-
- QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
-protected:
- void focusInEvent(QFocusEvent *event);
- void focusOutEvent(QFocusEvent *event);
- void keyPressEvent(QKeyEvent *event);
- void paintEvent(QPaintEvent *event);
- void resizeEvent(QResizeEvent *event);
- void inputMethodEvent(QInputMethodEvent *e);
- bool event(QEvent *event);
-
-protected:
- void updateGeometries();
- void initStyleOption(QStyleOptionFrameV2 *option) const;
-
- QWidget *m_leftWidget;
- QLineEdit *m_lineEdit;
- ClearButton *m_clearButton;
-};
-
-class UrlIconLabel;
-class WebView;
-class UrlLineEdit : public ExLineEdit
-{
- Q_OBJECT
-
-public:
- UrlLineEdit(QWidget *parent = 0);
- void setWebView(WebView *webView);
-
-protected:
- void paintEvent(QPaintEvent *event);
- void focusOutEvent(QFocusEvent *event);
-
-private slots:
- void webViewUrlChanged(const QUrl &url);
- void webViewIconChanged();
-
-private:
- QLinearGradient generateGradient(const QColor &color) const;
- WebView *m_webView;
- UrlIconLabel *m_iconLabel;
- QColor m_defaultBaseColor;
-
-};
-
-
-#endif // URLLINEEDIT_H
-
diff --git a/examples/gestures/browser/webview.cpp b/examples/gestures/browser/webview.cpp
deleted file mode 100644
index e50872f..0000000
--- a/examples/gestures/browser/webview.cpp
+++ /dev/null
@@ -1,363 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "browserapplication.h"
-#include "browsermainwindow.h"
-#include "cookiejar.h"
-#include "downloadmanager.h"
-#include "networkaccessmanager.h"
-#include "tabwidget.h"
-#include "webview.h"
-
-#include <QtGui/QClipboard>
-#include <QtGui/QGesture>
-#include <QtGui/QMenu>
-#include <QtGui/QMessageBox>
-#include <QtGui/QMouseEvent>
-
-#include <QtWebKit/QWebHitTestResult>
-
-#include <QtUiTools/QUiLoader>
-
-#include <QtCore/QDebug>
-#include <QtCore/QBuffer>
-
-WebPage::WebPage(QObject *parent)
- : QWebPage(parent)
- , m_keyboardModifiers(Qt::NoModifier)
- , m_pressedButtons(Qt::NoButton)
- , m_openInNewTab(false)
-{
- setNetworkAccessManager(BrowserApplication::networkAccessManager());
- connect(this, SIGNAL(unsupportedContent(QNetworkReply *)),
- this, SLOT(handleUnsupportedContent(QNetworkReply *)));
-}
-
-BrowserMainWindow *WebPage::mainWindow()
-{
- QObject *w = this->parent();
- while (w) {
- if (BrowserMainWindow *mw = qobject_cast<BrowserMainWindow*>(w))
- return mw;
- w = w->parent();
- }
- return BrowserApplication::instance()->mainWindow();
-}
-
-bool WebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type)
-{
- // ctrl open in new tab
- // ctrl-shift open in new tab and select
- // ctrl-alt open in new window
- if (type == QWebPage::NavigationTypeLinkClicked
- && (m_keyboardModifiers & Qt::ControlModifier
- || m_pressedButtons == Qt::MidButton)) {
- bool newWindow = (m_keyboardModifiers & Qt::AltModifier);
- WebView *webView;
- if (newWindow) {
- BrowserApplication::instance()->newMainWindow();
- BrowserMainWindow *newMainWindow = BrowserApplication::instance()->mainWindow();
- webView = newMainWindow->currentTab();
- newMainWindow->raise();
- newMainWindow->activateWindow();
- webView->setFocus();
- } else {
- bool selectNewTab = (m_keyboardModifiers & Qt::ShiftModifier);
- webView = mainWindow()->tabWidget()->newTab(selectNewTab);
- }
- webView->load(request);
- m_keyboardModifiers = Qt::NoModifier;
- m_pressedButtons = Qt::NoButton;
- return false;
- }
- if (frame == mainFrame()) {
- m_loadingUrl = request.url();
- emit loadingUrl(m_loadingUrl);
- }
- return QWebPage::acceptNavigationRequest(frame, request, type);
-}
-
-QWebPage *WebPage::createWindow(QWebPage::WebWindowType type)
-{
- Q_UNUSED(type);
- if (m_keyboardModifiers & Qt::ControlModifier || m_pressedButtons == Qt::MidButton)
- m_openInNewTab = true;
- if (m_openInNewTab) {
- m_openInNewTab = false;
- return mainWindow()->tabWidget()->newTab()->page();
- }
- BrowserApplication::instance()->newMainWindow();
- BrowserMainWindow *mainWindow = BrowserApplication::instance()->mainWindow();
- return mainWindow->currentTab()->page();
-}
-
-#if !defined(QT_NO_UITOOLS)
-QObject *WebPage::createPlugin(const QString &classId, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues)
-{
- Q_UNUSED(url);
- Q_UNUSED(paramNames);
- Q_UNUSED(paramValues);
- QUiLoader loader;
- return loader.createWidget(classId, view());
-}
-#endif // !defined(QT_NO_UITOOLS)
-
-void WebPage::handleUnsupportedContent(QNetworkReply *reply)
-{
- if (reply->error() == QNetworkReply::NoError) {
- BrowserApplication::downloadManager()->handleUnsupportedContent(reply);
- return;
- }
-
- QFile file(QLatin1String(":/notfound.html"));
- bool isOpened = file.open(QIODevice::ReadOnly);
- Q_ASSERT(isOpened);
- QString title = tr("Error loading page: %1").arg(reply->url().toString());
- QString html = QString(QLatin1String(file.readAll()))
- .arg(title)
- .arg(reply->errorString())
- .arg(reply->url().toString());
-
- QBuffer imageBuffer;
- imageBuffer.open(QBuffer::ReadWrite);
- QIcon icon = view()->style()->standardIcon(QStyle::SP_MessageBoxWarning, 0, view());
- QPixmap pixmap = icon.pixmap(QSize(32,32));
- if (pixmap.save(&imageBuffer, "PNG")) {
- html.replace(QLatin1String("IMAGE_BINARY_DATA_HERE"),
- QString(QLatin1String(imageBuffer.buffer().toBase64())));
- }
-
- QList<QWebFrame*> frames;
- frames.append(mainFrame());
- while (!frames.isEmpty()) {
- QWebFrame *frame = frames.takeFirst();
- if (frame->url() == reply->url()) {
- frame->setHtml(html, reply->url());
- return;
- }
- QList<QWebFrame *> children = frame->childFrames();
- foreach(QWebFrame *frame, children)
- frames.append(frame);
- }
- if (m_loadingUrl == reply->url()) {
- mainFrame()->setHtml(html, reply->url());
- }
-}
-
-
-WebView::WebView(QWidget* parent)
- : QWebView(parent)
- , m_progress(0)
- , m_page(new WebPage(this))
- , m_currentPanFrame(0)
-{
- grabGesture(Qt::PanGesture);
- setPage(m_page);
- connect(page(), SIGNAL(statusBarMessage(const QString&)),
- SLOT(setStatusBarText(const QString&)));
- connect(this, SIGNAL(loadProgress(int)),
- this, SLOT(setProgress(int)));
- connect(this, SIGNAL(loadFinished(bool)),
- this, SLOT(loadFinished()));
- connect(page(), SIGNAL(loadingUrl(const QUrl&)),
- this, SIGNAL(urlChanged(const QUrl &)));
- connect(page(), SIGNAL(downloadRequested(const QNetworkRequest &)),
- this, SLOT(downloadRequested(const QNetworkRequest &)));
- page()->setForwardUnsupportedContent(true);
-
-}
-
-void WebView::contextMenuEvent(QContextMenuEvent *event)
-{
- QWebHitTestResult r = page()->mainFrame()->hitTestContent(event->pos());
- if (!r.linkUrl().isEmpty()) {
- QMenu menu(this);
- menu.addAction(pageAction(QWebPage::OpenLinkInNewWindow));
- menu.addAction(tr("Open in New Tab"), this, SLOT(openLinkInNewTab()));
- menu.addSeparator();
- menu.addAction(pageAction(QWebPage::DownloadLinkToDisk));
- // Add link to bookmarks...
- menu.addSeparator();
- menu.addAction(pageAction(QWebPage::CopyLinkToClipboard));
- if (page()->settings()->testAttribute(QWebSettings::DeveloperExtrasEnabled))
- menu.addAction(pageAction(QWebPage::InspectElement));
- menu.exec(mapToGlobal(event->pos()));
- return;
- }
- QWebView::contextMenuEvent(event);
-}
-
-void WebView::wheelEvent(QWheelEvent *event)
-{
- if (QApplication::keyboardModifiers() & Qt::ControlModifier) {
- int numDegrees = event->delta() / 8;
- int numSteps = numDegrees / 15;
- setTextSizeMultiplier(textSizeMultiplier() + numSteps * 0.1);
- event->accept();
- return;
- }
- QWebView::wheelEvent(event);
-}
-
-void WebView::openLinkInNewTab()
-{
- m_page->m_openInNewTab = true;
- pageAction(QWebPage::OpenLinkInNewWindow)->trigger();
-}
-
-void WebView::setProgress(int progress)
-{
- m_progress = progress;
-}
-
-void WebView::loadFinished()
-{
- if (100 != m_progress) {
- qWarning() << "Recieved finished signal while progress is still:" << progress()
- << "Url:" << url();
- }
- m_progress = 0;
-}
-
-void WebView::loadUrl(const QUrl &url)
-{
- m_initialUrl = url;
- load(url);
-}
-
-QString WebView::lastStatusBarText() const
-{
- return m_statusBarText;
-}
-
-QUrl WebView::url() const
-{
- QUrl url = QWebView::url();
- if (!url.isEmpty())
- return url;
-
- return m_initialUrl;
-}
-
-void WebView::mousePressEvent(QMouseEvent *event)
-{
- m_page->m_pressedButtons = event->buttons();
- m_page->m_keyboardModifiers = event->modifiers();
- QWebView::mousePressEvent(event);
-}
-
-void WebView::mouseReleaseEvent(QMouseEvent *event)
-{
- QWebView::mouseReleaseEvent(event);
- if (!event->isAccepted() && (m_page->m_pressedButtons & Qt::MidButton)) {
- QUrl url(QApplication::clipboard()->text(QClipboard::Selection));
- if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) {
- setUrl(url);
- }
- }
-}
-
-void WebView::setStatusBarText(const QString &string)
-{
- m_statusBarText = string;
-}
-
-void WebView::downloadRequested(const QNetworkRequest &request)
-{
- BrowserApplication::downloadManager()->download(request);
-}
-
-bool WebView::event(QEvent *event)
-{
- if (event->type() == QEvent::Gesture)
- {
- gestureEvent(static_cast<QGestureEvent*>(event));
- return true;
- }
- return QWebView::event(event);
-}
-
-void WebView::gestureEvent(QGestureEvent *event)
-{
- if (const QGesture *g = event->gesture(Qt::PanGesture)) {
- if (g->state() == Qt::GestureUpdated) {
- if (m_currentPanFrame) {
- m_panSpeed = g->pos() - g->lastPos();
- m_currentPanFrame->scroll(-m_panSpeed.x(), -m_panSpeed.y());
- }
- } else if (g->state() == Qt::GestureStarted) {
- startTimer(20);
- m_currentPanFrame = 0;
- if (QWebFrame *frame = page()->mainFrame()) {
- QWebHitTestResult result = frame->hitTestContent(g->startPos());
- if (!result.isNull())
- m_currentPanFrame = result.frame();
- while (m_currentPanFrame &&
- m_currentPanFrame->scrollBarMinimum(Qt::Vertical) == 0 &&
- m_currentPanFrame->scrollBarMaximum(Qt::Vertical) == 0 &&
- m_currentPanFrame->scrollBarMinimum(Qt::Horizontal) == 0 &&
- m_currentPanFrame->scrollBarMaximum(Qt::Horizontal) == 0) {
- m_currentPanFrame = m_currentPanFrame->parentFrame();
- }
- }
- } else {
- }
- event->accept();
- }
-}
-
-static QPoint deaccelerate(const QPoint &speed, int a = 1, int max = 64)
-{
- int x = qBound(-max, speed.x(), max);
- int y = qBound(-max, speed.y(), max);
- x = (x == 0) ? x : (x > 0) ? qMax(0, x - a) : qMin(0, x + a);
- y = (y == 0) ? y : (y > 0) ? qMax(0, y - a) : qMin(0, y + a);
- return QPoint(x, y);
-}
-
-void WebView::timerEvent(QTimerEvent *event)
-{
- m_panSpeed = deaccelerate(m_panSpeed);
- if (m_panSpeed.isNull())
- killTimer(event->timerId());
- if (m_currentPanFrame)
- m_currentPanFrame->scroll(-m_panSpeed.x(), -m_panSpeed.y());
-}
diff --git a/examples/gestures/browser/webview.h b/examples/gestures/browser/webview.h
deleted file mode 100644
index 71aca1a..0000000
--- a/examples/gestures/browser/webview.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef WEBVIEW_H
-#define WEBVIEW_H
-
-#include <QtWebKit/QWebView>
-
-QT_BEGIN_NAMESPACE
-class QAuthenticator;
-class QMouseEvent;
-class QNetworkProxy;
-class QNetworkReply;
-class QSslError;
-QT_END_NAMESPACE
-
-class BrowserMainWindow;
-class WebPage : public QWebPage {
- Q_OBJECT
-
-signals:
- void loadingUrl(const QUrl &url);
-
-public:
- WebPage(QObject *parent = 0);
- BrowserMainWindow *mainWindow();
-
-protected:
- bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type);
- QWebPage *createWindow(QWebPage::WebWindowType type);
-#if !defined(QT_NO_UITOOLS)
- QObject *createPlugin(const QString &classId, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues);
-#endif
-
-private slots:
- void handleUnsupportedContent(QNetworkReply *reply);
-
-private:
- friend class WebView;
-
- // set the webview mousepressedevent
- Qt::KeyboardModifiers m_keyboardModifiers;
- Qt::MouseButtons m_pressedButtons;
- bool m_openInNewTab;
- QUrl m_loadingUrl;
-};
-
-class WebView : public QWebView {
- Q_OBJECT
-
-public:
- WebView(QWidget *parent = 0);
- WebPage *webPage() const { return m_page; }
-
- void loadUrl(const QUrl &url);
- QUrl url() const;
-
- QString lastStatusBarText() const;
- inline int progress() const { return m_progress; }
-
-protected:
- bool event(QEvent *event);
- void gestureEvent(QGestureEvent *event);
- void timerEvent(QTimerEvent *event);
- void mousePressEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
- void contextMenuEvent(QContextMenuEvent *event);
- void wheelEvent(QWheelEvent *event);
-
-private slots:
- void setProgress(int progress);
- void loadFinished();
- void setStatusBarText(const QString &string);
- void downloadRequested(const QNetworkRequest &request);
- void openLinkInNewTab();
-
-private:
- QString m_statusBarText;
- QUrl m_initialUrl;
- int m_progress;
- WebPage *m_page;
- QPoint m_panSpeed;
- QWebFrame *m_currentPanFrame;
-};
-
-#endif
diff --git a/examples/gestures/browser/xbel.cpp b/examples/gestures/browser/xbel.cpp
deleted file mode 100644
index 6145281..0000000
--- a/examples/gestures/browser/xbel.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "xbel.h"
-
-#include <QtCore/QFile>
-
-BookmarkNode::BookmarkNode(BookmarkNode::Type type, BookmarkNode *parent) :
- expanded(false)
- , m_parent(parent)
- , m_type(type)
-{
- if (parent)
- parent->add(this);
-}
-
-BookmarkNode::~BookmarkNode()
-{
- if (m_parent)
- m_parent->remove(this);
- qDeleteAll(m_children);
- m_parent = 0;
- m_type = BookmarkNode::Root;
-}
-
-bool BookmarkNode::operator==(const BookmarkNode &other)
-{
- if (url != other.url
- || title != other.title
- || desc != other.desc
- || expanded != other.expanded
- || m_type != other.m_type
- || m_children.count() != other.m_children.count())
- return false;
-
- for (int i = 0; i < m_children.count(); ++i)
- if (!((*(m_children[i])) == (*(other.m_children[i]))))
- return false;
- return true;
-}
-
-BookmarkNode::Type BookmarkNode::type() const
-{
- return m_type;
-}
-
-void BookmarkNode::setType(Type type)
-{
- m_type = type;
-}
-
-QList<BookmarkNode *> BookmarkNode::children() const
-{
- return m_children;
-}
-
-BookmarkNode *BookmarkNode::parent() const
-{
- return m_parent;
-}
-
-void BookmarkNode::add(BookmarkNode *child, int offset)
-{
- Q_ASSERT(child->m_type != Root);
- if (child->m_parent)
- child->m_parent->remove(child);
- child->m_parent = this;
- if (-1 == offset)
- offset = m_children.size();
- m_children.insert(offset, child);
-}
-
-void BookmarkNode::remove(BookmarkNode *child)
-{
- child->m_parent = 0;
- m_children.removeAll(child);
-}
-
-
-XbelReader::XbelReader()
-{
-}
-
-BookmarkNode *XbelReader::read(const QString &fileName)
-{
- QFile file(fileName);
- if (!file.exists()) {
- return new BookmarkNode(BookmarkNode::Root);
- }
- file.open(QFile::ReadOnly);
- return read(&file);
-}
-
-BookmarkNode *XbelReader::read(QIODevice *device)
-{
- BookmarkNode *root = new BookmarkNode(BookmarkNode::Root);
- setDevice(device);
- while (!atEnd()) {
- readNext();
- if (isStartElement()) {
- QString version = attributes().value(QLatin1String("version")).toString();
- if (name() == QLatin1String("xbel")
- && (version.isEmpty() || version == QLatin1String("1.0"))) {
- readXBEL(root);
- } else {
- raiseError(QObject::tr("The file is not an XBEL version 1.0 file."));
- }
- }
- }
- return root;
-}
-
-void XbelReader::readXBEL(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("xbel"));
-
- while (!atEnd()) {
- readNext();
- if (isEndElement())
- break;
-
- if (isStartElement()) {
- if (name() == QLatin1String("folder"))
- readFolder(parent);
- else if (name() == QLatin1String("bookmark"))
- readBookmarkNode(parent);
- else if (name() == QLatin1String("separator"))
- readSeparator(parent);
- else
- skipUnknownElement();
- }
- }
-}
-
-void XbelReader::readFolder(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("folder"));
-
- BookmarkNode *folder = new BookmarkNode(BookmarkNode::Folder, parent);
- folder->expanded = (attributes().value(QLatin1String("folded")) == QLatin1String("no"));
-
- while (!atEnd()) {
- readNext();
-
- if (isEndElement())
- break;
-
- if (isStartElement()) {
- if (name() == QLatin1String("title"))
- readTitle(folder);
- else if (name() == QLatin1String("desc"))
- readDescription(folder);
- else if (name() == QLatin1String("folder"))
- readFolder(folder);
- else if (name() == QLatin1String("bookmark"))
- readBookmarkNode(folder);
- else if (name() == QLatin1String("separator"))
- readSeparator(folder);
- else
- skipUnknownElement();
- }
- }
-}
-
-void XbelReader::readTitle(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("title"));
- parent->title = readElementText();
-}
-
-void XbelReader::readDescription(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("desc"));
- parent->desc = readElementText();
-}
-
-void XbelReader::readSeparator(BookmarkNode *parent)
-{
- new BookmarkNode(BookmarkNode::Separator, parent);
- // empty elements have a start and end element
- readNext();
-}
-
-void XbelReader::readBookmarkNode(BookmarkNode *parent)
-{
- Q_ASSERT(isStartElement() && name() == QLatin1String("bookmark"));
- BookmarkNode *bookmark = new BookmarkNode(BookmarkNode::Bookmark, parent);
- bookmark->url = attributes().value(QLatin1String("href")).toString();
- while (!atEnd()) {
- readNext();
- if (isEndElement())
- break;
-
- if (isStartElement()) {
- if (name() == QLatin1String("title"))
- readTitle(bookmark);
- else if (name() == QLatin1String("desc"))
- readDescription(bookmark);
- else
- skipUnknownElement();
- }
- }
- if (bookmark->title.isEmpty())
- bookmark->title = QObject::tr("Unknown title");
-}
-
-void XbelReader::skipUnknownElement()
-{
- Q_ASSERT(isStartElement());
-
- while (!atEnd()) {
- readNext();
-
- if (isEndElement())
- break;
-
- if (isStartElement())
- skipUnknownElement();
- }
-}
-
-
-XbelWriter::XbelWriter()
-{
- setAutoFormatting(true);
-}
-
-bool XbelWriter::write(const QString &fileName, const BookmarkNode *root)
-{
- QFile file(fileName);
- if (!root || !file.open(QFile::WriteOnly))
- return false;
- return write(&file, root);
-}
-
-bool XbelWriter::write(QIODevice *device, const BookmarkNode *root)
-{
- setDevice(device);
-
- writeStartDocument();
- writeDTD(QLatin1String("<!DOCTYPE xbel>"));
- writeStartElement(QLatin1String("xbel"));
- writeAttribute(QLatin1String("version"), QLatin1String("1.0"));
- if (root->type() == BookmarkNode::Root) {
- for (int i = 0; i < root->children().count(); ++i)
- writeItem(root->children().at(i));
- } else {
- writeItem(root);
- }
-
- writeEndDocument();
- return true;
-}
-
-void XbelWriter::writeItem(const BookmarkNode *parent)
-{
- switch (parent->type()) {
- case BookmarkNode::Folder:
- writeStartElement(QLatin1String("folder"));
- writeAttribute(QLatin1String("folded"), parent->expanded ? QLatin1String("no") : QLatin1String("yes"));
- writeTextElement(QLatin1String("title"), parent->title);
- for (int i = 0; i < parent->children().count(); ++i)
- writeItem(parent->children().at(i));
- writeEndElement();
- break;
- case BookmarkNode::Bookmark:
- writeStartElement(QLatin1String("bookmark"));
- if (!parent->url.isEmpty())
- writeAttribute(QLatin1String("href"), parent->url);
- writeTextElement(QLatin1String("title"), parent->title);
- if (!parent->desc.isEmpty())
- writeAttribute(QLatin1String("desc"), parent->desc);
- writeEndElement();
- break;
- case BookmarkNode::Separator:
- writeEmptyElement(QLatin1String("separator"));
- break;
- default:
- break;
- }
-}
-
diff --git a/examples/gestures/browser/xbel.h b/examples/gestures/browser/xbel.h
deleted file mode 100644
index 20cbda6..0000000
--- a/examples/gestures/browser/xbel.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef XBEL_H
-#define XBEL_H
-
-#include <QtCore/QXmlStreamReader>
-#include <QtCore/QDateTime>
-
-class BookmarkNode
-{
-public:
- enum Type {
- Root,
- Folder,
- Bookmark,
- Separator
- };
-
- BookmarkNode(Type type = Root, BookmarkNode *parent = 0);
- ~BookmarkNode();
- bool operator==(const BookmarkNode &other);
-
- Type type() const;
- void setType(Type type);
- QList<BookmarkNode *> children() const;
- BookmarkNode *parent() const;
-
- void add(BookmarkNode *child, int offset = -1);
- void remove(BookmarkNode *child);
-
- QString url;
- QString title;
- QString desc;
- bool expanded;
-
-private:
- BookmarkNode *m_parent;
- Type m_type;
- QList<BookmarkNode *> m_children;
-
-};
-
-class XbelReader : public QXmlStreamReader
-{
-public:
- XbelReader();
- BookmarkNode *read(const QString &fileName);
- BookmarkNode *read(QIODevice *device);
-
-private:
- void skipUnknownElement();
- void readXBEL(BookmarkNode *parent);
- void readTitle(BookmarkNode *parent);
- void readDescription(BookmarkNode *parent);
- void readSeparator(BookmarkNode *parent);
- void readFolder(BookmarkNode *parent);
- void readBookmarkNode(BookmarkNode *parent);
-};
-
-#include <QtCore/QXmlStreamWriter>
-
-class XbelWriter : public QXmlStreamWriter
-{
-public:
- XbelWriter();
- bool write(const QString &fileName, const BookmarkNode *root);
- bool write(QIODevice *device, const BookmarkNode *root);
-
-private:
- void writeItem(const BookmarkNode *parent);
-};
-
-#endif // XBEL_H
-
diff --git a/examples/gestures/collidingmice/collidingmice.pro b/examples/gestures/collidingmice/collidingmice.pro
deleted file mode 100644
index 15164ce..0000000
--- a/examples/gestures/collidingmice/collidingmice.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-HEADERS += \
- mouse.h \
- gesturerecognizerlinjazax.h \
- linjazaxgesture.h
-
-SOURCES += \
- main.cpp \
- mouse.cpp \
- gesturerecognizerlinjazax.cpp
-
-RESOURCES += \
- mice.qrc
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/gestures/collidingmice
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS collidingmice.pro images
-sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/collidingmice
-INSTALLS += target sources
diff --git a/examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp b/examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp
deleted file mode 100644
index 2070f6f..0000000
--- a/examples/gestures/collidingmice/gesturerecognizerlinjazax.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gesturerecognizerlinjazax.h"
-
-#include <QRegExp>
-#include <QDebug>
-
-static const int SIZE = 20;
-
-DirectionSimpleRecognizer::DirectionSimpleRecognizer()
-{
-}
-
-Direction DirectionSimpleRecognizer::addPosition(const QPoint &pos)
-{
- if (!directions.isEmpty()) {
- const QPoint tmp = pos - directions.back().point;
- if (tmp.manhattanLength() < 5)
- return Direction();
- }
- if (lastPoint.isNull()) {
- lastPoint = pos;
- return Direction();
- }
- int dx = pos.x() - lastPoint.x();
- int dy = pos.y() - lastPoint.y();
- QString direction;
- if (dx < 0) {
- if (-1*dx >= SIZE/2)
- direction = "4";
- } else {
- if (dx >= SIZE/2)
- direction = "6";
- }
- if (dy < 0) {
- if (-1*dy >= SIZE/2)
- direction = "8";
- } else {
- if (dy >= SIZE/2)
- direction = "2";
- }
- if (direction.isEmpty())
- return Direction();
-
- lastPoint = pos;
- directions.push_back(Direction(direction, pos));
- return Direction(direction, pos);
-}
-
-
-DirectionList DirectionSimpleRecognizer::getDirections() const
-{
- return directions;
-}
-
-void DirectionSimpleRecognizer::reset()
-{
- directions.clear();
- lastPoint = QPoint();
-}
-
-///////////////////////////////////////////////////////////////////////////
-
-GestureRecognizerLinjaZax::GestureRecognizerLinjaZax()
- : QGestureRecognizer(QLatin1String("LinjaZax")), mousePressed(false), gestureFinished(false),
- zoomState(LinjaZaxGesture::NoZoom)
-{
-}
-
-QGestureRecognizer::Result GestureRecognizerLinjaZax::filterEvent(const QEvent *event)
-{
- if (zoomState != LinjaZaxGesture::NoZoom && !lastDirections.isEmpty()) {
- lastDirections = lastDirections.right(1);
- zoomState = LinjaZaxGesture::NoZoom;
- }
-
- if (event->type() == QEvent::MouseButtonPress) {
- if (!currentDirection.isEmpty()) {
- reset();
- return QGestureRecognizer::NotGesture;
- }
- mousePressed = true;
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- pressedPos = lastPos = currentPos = ev->pos();
- return QGestureRecognizer::MaybeGesture;
- } else if (event->type() == QEvent::MouseButtonRelease) {
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- if (mousePressed && !currentDirection.isEmpty()) {
- gestureFinished = true;
- currentPos = ev->pos();
- internalReset();
- return QGestureRecognizer::GestureFinished;
- }
- reset();
- return QGestureRecognizer::NotGesture;
- } else if (event->type() == QEvent::MouseMove) {
- if (!mousePressed)
- return QGestureRecognizer::NotGesture;
- lastPos = currentPos;
- const QMouseEvent *ev = static_cast<const QMouseEvent*>(event);
- currentPos = ev->pos();
- QString direction =
- simpleRecognizer.addPosition(ev->pos()).direction;
- QGestureRecognizer::Result result = QGestureRecognizer::NotGesture;
- if (currentDirection.isEmpty()) {
- if (direction.isEmpty())
- result = QGestureRecognizer::MaybeGesture;
- else
- result = QGestureRecognizer::GestureStarted;
- } else {
- result = QGestureRecognizer::GestureStarted;
- }
- if (!direction.isEmpty()) {
- lastDirections.append(direction);
- currentDirection = direction;
- if (lastDirections.length() > 5)
- lastDirections.remove(0, 1);
- if (lastDirections.contains("248") || lastDirections.contains("2448"))
- zoomState = LinjaZaxGesture::ZoomingIn;
- else if (lastDirections.contains("268") || lastDirections.contains("2668"))
- zoomState = LinjaZaxGesture::ZoomingOut;
- }
- return result;
- }
- return QGestureRecognizer::NotGesture;
-}
-
-static inline LinjaZaxGesture::DirectionType convertPanningDirection(const QString &direction)
-{
- if (direction.length() == 1) {
- if (direction == "4")
- return LinjaZaxGesture::Left;
- else if (direction == "6")
- return LinjaZaxGesture::Right;
- else if (direction == "8")
- return LinjaZaxGesture::Up;
- else if (direction == "2")
- return LinjaZaxGesture::Down;
- }
- return LinjaZaxGesture::None;
-}
-
-QGesture* GestureRecognizerLinjaZax::getGesture()
-{
- LinjaZaxGesture::DirectionType dir = convertPanningDirection(currentDirection);
- LinjaZaxGesture::DirectionType lastDir = convertPanningDirection(lastDirections.right(1));
- if (dir == LinjaZaxGesture::None)
- return 0;
- LinjaZaxGesture *g =
- new LinjaZaxGesture(this, pressedPos, lastPos, currentPos,
- QRect(), pressedPos, QDateTime(), 0,
- gestureFinished ? Qt::GestureFinished : Qt::GestureStarted);
- g->lastDirection_ = lastDir;
- g->direction_ = dir;
- g->zoomState_ = zoomState;
-
- return g;
-}
-
-void GestureRecognizerLinjaZax::reset()
-{
- mousePressed = false;
- lastDirections.clear();
- currentDirection.clear();
- gestureFinished = false;
- simpleRecognizer.reset();
- zoomState = LinjaZaxGesture::NoZoom;
-}
-
-void GestureRecognizerLinjaZax::internalReset()
-{
- mousePressed = false;
- simpleRecognizer.reset();
-}
diff --git a/examples/gestures/collidingmice/gesturerecognizerlinjazax.h b/examples/gestures/collidingmice/gesturerecognizerlinjazax.h
deleted file mode 100644
index 79b2c2b..0000000
--- a/examples/gestures/collidingmice/gesturerecognizerlinjazax.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GESTURERECOGNIZERLINJAZAX_H
-#define GESTURERECOGNIZERLINJAZAX_H
-
-#include <QList>
-#include <QPoint>
-#include <QString>
-#include <QGesture>
-#include <QGestureRecognizer>
-
-#include "linjazaxgesture.h"
-
-struct Direction
-{
- QString direction;
- QPoint point;
-
- Direction(QString dir, const QPoint &pt)
- : direction(dir), point(pt) { }
- Direction()
- : direction() { }
-
- inline bool isEmpty() const { return direction.isEmpty(); }
- inline bool isNull() const { return direction.isEmpty(); }
-};
-typedef QList<Direction> DirectionList;
-
-class DirectionSimpleRecognizer
-{
-public:
- DirectionSimpleRecognizer();
- Direction addPosition(const QPoint &pos);
- DirectionList getDirections() const;
- void reset();
-
-private:
- QPoint lastPoint;
- DirectionList directions;
-};
-
-class GestureRecognizerLinjaZax : public QGestureRecognizer
-{
- Q_OBJECT
-public:
- GestureRecognizerLinjaZax();
-
- QGestureRecognizer::Result filterEvent(const QEvent *event);
- QGesture* getGesture();
-
- void reset();
-
-private:
- void internalReset();
-
- QPoint pressedPos;
- QPoint lastPos;
- QPoint currentPos;
- bool mousePressed;
- bool gestureFinished;
- QString lastDirections;
- QString currentDirection;
- DirectionSimpleRecognizer simpleRecognizer;
- LinjaZaxGesture::ZoomState zoomState;
-};
-
-#endif
diff --git a/examples/gestures/collidingmice/images/cheese.jpg b/examples/gestures/collidingmice/images/cheese.jpg
deleted file mode 100644
index dea5795..0000000
--- a/examples/gestures/collidingmice/images/cheese.jpg
+++ /dev/null
Binary files differ
diff --git a/examples/gestures/collidingmice/linjazaxgesture.h b/examples/gestures/collidingmice/linjazaxgesture.h
deleted file mode 100644
index 53b907e..0000000
--- a/examples/gestures/collidingmice/linjazaxgesture.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef LINJAZAXGESTURE_H
-#define LINJAZAXGESTURE_H
-
-#include <QGesture>
-
-class LinjaZaxGesture : public QGesture
-{
-public:
- enum DirectionType
- {
- None = 0,
- LeftDown = 1,
- DownLeft = LeftDown,
- Down = 2,
- RightDown = 3,
- DownRight = RightDown,
- Left = 4,
- Right = 6,
- LeftUp = 7,
- UpLeft = LeftUp,
- Up = 8,
- RightUp = 9,
- UpRight = RightUp
- };
-
- enum ZoomState
- {
- NoZoom,
- ZoomingIn,
- ZoomingOut
- };
-
-public:
- explicit LinjaZaxGesture(QObject *parent,
- Qt::GestureState state = Qt::GestureStarted)
- : QGesture(parent, QLatin1String("LinjaZax"), state), lastDirection_(None),
- direction_(None), zoomState_(NoZoom) { }
- LinjaZaxGesture(QObject *parent, const QPoint &startPos,
- const QPoint &lastPos, const QPoint &pos, const QRect &rect,
- const QPoint &hotSpot, const QDateTime &startTime,
- uint duration, Qt::GestureState state)
- : QGesture(parent, QLatin1String("LinjaZax"), startPos, lastPos,
- pos, rect, hotSpot, startTime, duration, state) { }
- ~LinjaZaxGesture() { }
-
- DirectionType lastDirection() const
- { return lastDirection_; }
- DirectionType direction() const
- { return direction_; }
-
- ZoomState zoomState() const
- { return zoomState_; }
-
-private:
- DirectionType lastDirection_;
- DirectionType direction_;
- ZoomState zoomState_;
- friend class GestureRecognizerLinjaZax;
-};
-
-#endif
diff --git a/examples/gestures/collidingmice/main.cpp b/examples/gestures/collidingmice/main.cpp
deleted file mode 100644
index 3638442..0000000
--- a/examples/gestures/collidingmice/main.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mouse.h"
-
-#include "gesturerecognizerlinjazax.h"
-#include "linjazaxgesture.h"
-
-#include <QtGui>
-
-#include <math.h>
-
-#define ZOOMING_ANIMATION
-#ifdef ZOOMING_ANIMATION
-static const int AnimationSteps = 10;
-#endif
-
-static const int MouseCount = 7;
-
-class PannableGraphicsView : public QGraphicsView
-{
- Q_OBJECT
-public:
- PannableGraphicsView(QGraphicsScene *scene, QWidget *parent = 0)
- : QGraphicsView(scene, parent)
- {
- grabGesture(QLatin1String("LinjaZax"));
-#ifdef ZOOMING_ANIMATION
- timeline = new QTimeLine(700, this);
- timeline->setFrameRange(0, AnimationSteps);
- connect(timeline, SIGNAL(frameChanged(int)), this, SLOT(animationStep(int)));
-#endif
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture) {
- QGestureEvent *ge = static_cast<QGestureEvent*>(event);
- const LinjaZaxGesture *g = static_cast<const LinjaZaxGesture*>(ge->gesture("LinjaZax"));
- if (g) {
- switch (g->zoomState()) {
- case LinjaZaxGesture::ZoomingIn:
-#ifdef ZOOMING_ANIMATION
- scaleStep = 1. + 0.5/AnimationSteps;
- timeline->stop();
- timeline->start();
-#else
- scale(1.5, 1.5);
-#endif
- break;
- case LinjaZaxGesture::ZoomingOut:
-#ifdef ZOOMING_ANIMATION
- scaleStep = 1. - 0.5/AnimationSteps;
- timeline->stop();
- timeline->start();
-#else
- scale(0.6, 0.6);
-#endif
- break;
- default:
- break;
- };
- QPoint pt = g->pos() - g->lastPos();
- horizontalScrollBar()->setValue(horizontalScrollBar()->value() - pt.x());
- verticalScrollBar()->setValue(verticalScrollBar()->value() - pt.y());
- event->accept();
- return true;
- }
- }
- return QGraphicsView::event(event);
- }
-private slots:
-#ifdef ZOOMING_ANIMATION
- void animationStep(int step)
- {
- scale(scaleStep, scaleStep);
- }
-private:
- qreal scaleStep;
- QTimeLine *timeline;
-#endif
-};
-
-//! [0]
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
- app.addGestureRecognizer(new GestureRecognizerLinjaZax);
- qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
-//! [0]
-
-//! [1]
- QGraphicsScene scene;
- scene.setSceneRect(-600, -600, 1200, 1200);
-//! [1] //! [2]
- scene.setItemIndexMethod(QGraphicsScene::NoIndex);
-//! [2]
-
-//! [3]
- for (int i = 0; i < MouseCount; ++i) {
- Mouse *mouse = new Mouse;
- mouse->setPos(::sin((i * 6.28) / MouseCount) * 200,
- ::cos((i * 6.28) / MouseCount) * 200);
- scene.addItem(mouse);
- }
-//! [3]
-
-//! [4]
- PannableGraphicsView view(&scene);
- view.setRenderHint(QPainter::Antialiasing);
- view.setBackgroundBrush(QPixmap(":/images/cheese.jpg"));
-//! [4] //! [5]
- view.setCacheMode(QGraphicsView::CacheBackground);
- view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
- //view.setDragMode(QGraphicsView::ScrollHandDrag);
-//! [5] //! [6]
- view.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Colliding Mice"));
- view.resize(400, 300);
- view.show();
-
- return app.exec();
-}
-//! [6]
-
-#include "main.moc"
diff --git a/examples/gestures/collidingmice/mice.qrc b/examples/gestures/collidingmice/mice.qrc
deleted file mode 100644
index accdb4d..0000000
--- a/examples/gestures/collidingmice/mice.qrc
+++ /dev/null
@@ -1,5 +0,0 @@
-<RCC>
- <qresource prefix="/" >
- <file>images/cheese.jpg</file>
- </qresource>
-</RCC>
diff --git a/examples/gestures/collidingmice/mouse.cpp b/examples/gestures/collidingmice/mouse.cpp
deleted file mode 100644
index 256811a..0000000
--- a/examples/gestures/collidingmice/mouse.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mouse.h"
-
-#include <QGraphicsScene>
-#include <QPainter>
-#include <QStyleOption>
-
-#include <math.h>
-
-static const double Pi = 3.14159265358979323846264338327950288419717;
-static double TwoPi = 2.0 * Pi;
-
-static qreal normalizeAngle(qreal angle)
-{
- while (angle < 0)
- angle += TwoPi;
- while (angle > TwoPi)
- angle -= TwoPi;
- return angle;
-}
-
-//! [0]
-Mouse::Mouse()
- : angle(0), speed(0), mouseEyeDirection(0),
- color(qrand() % 256, qrand() % 256, qrand() % 256)
-{
- rotate(qrand() % (360 * 16));
- startTimer(1000 / 33);
-}
-//! [0]
-
-//! [1]
-QRectF Mouse::boundingRect() const
-{
- qreal adjust = 0.5;
- return QRectF(-18 - adjust, -22 - adjust,
- 36 + adjust, 60 + adjust);
-}
-//! [1]
-
-//! [2]
-QPainterPath Mouse::shape() const
-{
- QPainterPath path;
- path.addRect(-10, -20, 20, 40);
- return path;
-}
-//! [2]
-
-//! [3]
-void Mouse::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- // Body
- painter->setBrush(color);
- painter->drawEllipse(-10, -20, 20, 40);
-
- // Eyes
- painter->setBrush(Qt::white);
- painter->drawEllipse(-10, -17, 8, 8);
- painter->drawEllipse(2, -17, 8, 8);
-
- // Nose
- painter->setBrush(Qt::black);
- painter->drawEllipse(QRectF(-2, -22, 4, 4));
-
- // Pupils
- painter->drawEllipse(QRectF(-8.0 + mouseEyeDirection, -17, 4, 4));
- painter->drawEllipse(QRectF(4.0 + mouseEyeDirection, -17, 4, 4));
-
- // Ears
- painter->setBrush(scene()->collidingItems(this).isEmpty() ? Qt::darkYellow : Qt::red);
- painter->drawEllipse(-17, -12, 16, 16);
- painter->drawEllipse(1, -12, 16, 16);
-
- // Tail
- QPainterPath path(QPointF(0, 20));
- path.cubicTo(-5, 22, -5, 22, 0, 25);
- path.cubicTo(5, 27, 5, 32, 0, 30);
- path.cubicTo(-5, 32, -5, 42, 0, 35);
- painter->setBrush(Qt::NoBrush);
- painter->drawPath(path);
-}
-//! [3]
-
-//! [4]
-void Mouse::timerEvent(QTimerEvent *)
-{
-//! [4]
- // Don't move too far away
-//! [5]
- QLineF lineToCenter(QPointF(0, 0), mapFromScene(0, 0));
- if (lineToCenter.length() > 150) {
- qreal angleToCenter = ::acos(lineToCenter.dx() / lineToCenter.length());
- if (lineToCenter.dy() < 0)
- angleToCenter = TwoPi - angleToCenter;
- angleToCenter = normalizeAngle((Pi - angleToCenter) + Pi / 2);
-
- if (angleToCenter < Pi && angleToCenter > Pi / 4) {
- // Rotate left
- angle += (angle < -Pi / 2) ? 0.25 : -0.25;
- } else if (angleToCenter >= Pi && angleToCenter < (Pi + Pi / 2 + Pi / 4)) {
- // Rotate right
- angle += (angle < Pi / 2) ? 0.25 : -0.25;
- }
- } else if (::sin(angle) < 0) {
- angle += 0.25;
- } else if (::sin(angle) > 0) {
- angle -= 0.25;
-//! [5] //! [6]
- }
-//! [6]
-
- // Try not to crash with any other mice
-//! [7]
- QList<QGraphicsItem *> dangerMice = scene()->items(QPolygonF()
- << mapToScene(0, 0)
- << mapToScene(-30, -50)
- << mapToScene(30, -50));
- foreach (QGraphicsItem *item, dangerMice) {
- if (item == this)
- continue;
-
- QLineF lineToMouse(QPointF(0, 0), mapFromItem(item, 0, 0));
- qreal angleToMouse = ::acos(lineToMouse.dx() / lineToMouse.length());
- if (lineToMouse.dy() < 0)
- angleToMouse = TwoPi - angleToMouse;
- angleToMouse = normalizeAngle((Pi - angleToMouse) + Pi / 2);
-
- if (angleToMouse >= 0 && angleToMouse < Pi / 2) {
- // Rotate right
- angle += 0.5;
- } else if (angleToMouse <= TwoPi && angleToMouse > (TwoPi - Pi / 2)) {
- // Rotate left
- angle -= 0.5;
-//! [7] //! [8]
- }
-//! [8] //! [9]
- }
-//! [9]
-
- // Add some random movement
-//! [10]
- if (dangerMice.size() > 1 && (qrand() % 10) == 0) {
- if (qrand() % 1)
- angle += (qrand() % 100) / 500.0;
- else
- angle -= (qrand() % 100) / 500.0;
- }
-//! [10]
-
-//! [11]
- speed += (-50 + qrand() % 100) / 100.0;
-
- qreal dx = ::sin(angle) * 10;
- mouseEyeDirection = (qAbs(dx / 5) < 1) ? 0 : dx / 5;
-
- rotate(dx);
- setPos(mapToParent(0, -(3 + sin(speed) * 3)));
-}
-//! [11]
diff --git a/examples/gestures/collidingmice/mouse.h b/examples/gestures/collidingmice/mouse.h
deleted file mode 100644
index 6c8486f..0000000
--- a/examples/gestures/collidingmice/mouse.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MOUSE_H
-#define MOUSE_H
-
-#include <QGraphicsItem>
-#include <QObject>
-
-//! [0]
-class Mouse : public QObject, public QGraphicsItem
-{
- Q_OBJECT
-
-public:
- Mouse();
-
- QRectF boundingRect() const;
- QPainterPath shape() const;
- void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
- QWidget *widget);
-
-protected:
- void timerEvent(QTimerEvent *event);
-
-private:
- qreal angle;
- qreal speed;
- qreal mouseEyeDirection;
- QColor color;
-};
-//! [0]
-
-#endif
diff --git a/examples/gestures/gestures.pro b/examples/gestures/gestures.pro
index d0735ae..09cd56a 100644
--- a/examples/gestures/gestures.pro
+++ b/examples/gestures/gestures.pro
@@ -1,14 +1,7 @@
TEMPLATE = \
subdirs
SUBDIRS = \
- imageviewer \
- graphicsview \
- collidingmice
-
-contains(QT_CONFIG, webkit) {
- SUBDIRS += pannablewebview
- contains(QT_CONFIG, svg):SUBDIRS += browser
-}
+ imageviewer
# install
target.path = $$[QT_INSTALL_EXAMPLES]/gestures
diff --git a/examples/gestures/graphicsview/graphicsview.pro b/examples/gestures/graphicsview/graphicsview.pro
deleted file mode 100644
index 9cef564..0000000
--- a/examples/gestures/graphicsview/graphicsview.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-SOURCES = main.cpp
-
diff --git a/examples/gestures/graphicsview/main.cpp b/examples/gestures/graphicsview/main.cpp
deleted file mode 100644
index 12f4e75..0000000
--- a/examples/gestures/graphicsview/main.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-
-class PannableGraphicsView : public QGraphicsView
-{
-public:
- PannableGraphicsView()
- {
- grabGesture(Qt::PanGesture);
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture) {
- QGestureEvent *gestureEvent = static_cast<QGestureEvent*>(event);
- if (const QGesture *g = gestureEvent->gesture(Qt::PanGesture)) {
- QPoint pt = g->pos() - g->lastPos();
- horizontalScrollBar()->setValue(horizontalScrollBar()->value() - pt.x());
- verticalScrollBar()->setValue(verticalScrollBar()->value() - pt.y());
- event->accept();
- return true;
- }
- }
- return QGraphicsView::event(event);
- }
-};
-
-class ImageItem : public QGraphicsItem
-{
-public:
- ImageItem()
- : colored(false)
- {
- grabGesture(Qt::DoubleTapGesture);
- }
-
- QRectF boundingRect() const
- {
- return pixmap.isNull() ? QRectF(0, 0, 100, 100)
- : QRectF(QPointF(0,0), QSizeF(pixmap.size()));
- }
-
- void paint(QPainter *painter, const QStyleOptionGraphicsItem*, QWidget*)
- {
- if (pixmap.isNull()) {
- painter->setBrush(QBrush( colored ? Qt::green : Qt::white));
- painter->drawRect(0, 0, 100, 100);
- painter->drawLine(0, 0, 100, 100);
- painter->drawLine(0, 100, 100, 0);
- return;
- }
- painter->drawPixmap(0, 0, pixmap);
- }
-
- bool sceneEvent(QEvent *event)
- {
- if (event->type() == QEvent::GraphicsSceneGesture) {
- QGraphicsSceneGestureEvent *gestureEvent = static_cast<QGraphicsSceneGestureEvent*>(event);
- if (gestureEvent->gesture(Qt::DoubleTapGesture)) {
- event->accept();
- colored = !colored;
- update();
- return true;
- } else {
- qWarning("Item received unknown gesture");
- }
- }
- return QGraphicsItem::sceneEvent(event);
- }
-
-private:
- QPixmap pixmap;
- bool colored;
-};
-
-class MainWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- MainWidget(QWidget *parent = 0)
- : QWidget(parent)
- {
- QVBoxLayout *l = new QVBoxLayout(this);
- view = new PannableGraphicsView;
- l->addWidget(view);
- scene = new QGraphicsScene(0, 0, 1024, 768, view);
- view->setScene(scene);
-
- ImageItem *item = new ImageItem;
- scene->addItem(item);
- item->setPos(scene->width()/3, scene->height()/3);
- }
-
-signals:
-public slots:
-private:
- QGraphicsView *view;
- QGraphicsScene *scene;
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- MainWidget w;
- w.show();
- return app.exec();
-}
-
-#include "main.moc"
diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro
index 4c35dce..efbca00 100644
--- a/examples/gestures/imageviewer/imageviewer.pro
+++ b/examples/gestures/imageviewer/imageviewer.pro
@@ -1,12 +1,11 @@
-######################################################################
-# Automatically generated by qmake (2.01a) Thu Sep 11 17:18:17 2008
-######################################################################
-
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
-HEADERS += imagewidget.h
-SOURCES += imagewidget.cpp main.cpp
+HEADERS += imagewidget.h \
+ tapandholdgesture.h
+SOURCES += imagewidget.cpp \
+ tapandholdgesture.cpp \
+ main.cpp
diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp
index a4f3c9a..99889ed 100644
--- a/examples/gestures/imageviewer/imagewidget.cpp
+++ b/examples/gestures/imageviewer/imagewidget.cpp
@@ -46,6 +46,7 @@
ImageWidget::ImageWidget(QWidget *parent)
: QWidget(parent)
{
+ setAttribute(Qt::WA_AcceptTouchEvents);
setAttribute(Qt::WA_PaintOnScreen);
setAttribute(Qt::WA_OpaquePaintEvent);
setAttribute(Qt::WA_NoSystemBackground);
@@ -61,9 +62,11 @@ ImageWidget::ImageWidget(QWidget *parent)
horizontalOffset = 0;
verticalOffset = 0;
- grabGesture(Qt::DoubleTapGesture);
- grabGesture(Qt::PanGesture);
- grabGesture(Qt::TapAndHoldGesture);
+ panGesture = new QPanGesture(this);
+ connect(panGesture, SIGNAL(triggered()), this, SLOT(gestureTriggered()));
+
+ tapAndHoldGesture = new TapAndHoldGesture(this);
+ connect(tapAndHoldGesture, SIGNAL(triggered()), this, SLOT(gestureTriggered()));
}
void ImageWidget::paintEvent(QPaintEvent*)
@@ -97,7 +100,7 @@ void ImageWidget::paintEvent(QPaintEvent*)
p.setPen(QPen(Qt::gray, 2));
p.drawEllipse(touchFeedback.position, 5, 5);
if (touchFeedback.doubleTapped) {
- p.setPen(QPen(Qt::gray, 2, Qt::DotLine));
+ p.setPen(QPen(Qt::darkGray, 2, Qt::DotLine));
p.drawEllipse(touchFeedback.position, 15, 15);
} else if (touchFeedback.tapAndHoldState != 0) {
QPoint pts[8] = {
@@ -131,64 +134,62 @@ void ImageWidget::paintEvent(QPaintEvent*)
p.restore();
}
-bool ImageWidget::event(QEvent *event)
+void ImageWidget::mousePressEvent(QMouseEvent *event)
{
- if (event->type() == QEvent::Gesture) {
- gestureEvent(static_cast<QGestureEvent*>(event));
- return true;
- }
- return QWidget::event(event);
+ touchFeedback.tapped = true;
+ touchFeedback.position = event->pos();
}
-void ImageWidget::gestureEvent(QGestureEvent *event)
+void ImageWidget::mouseDoubleClickEvent(QMouseEvent *event)
{
+ touchFeedback.doubleTapped = true;
+ const QPoint p = event->pos();
+ touchFeedback.position = p;
+ horizontalOffset = p.x() - currentImage.width()*1.0*p.x()/width();
+ verticalOffset = p.y() - currentImage.height()*1.0*p.y()/height();
+ setZoomedIn(!zoomedIn);
+ zoomed = rotated = false;
+ updateImage();
+
+ feedbackFadeOutTimer.start(500, this);
+}
+
+void ImageWidget::gestureTriggered()
+{
+ touchFeedback.tapped = false;
touchFeedback.doubleTapped = false;
- Q_ASSERT(event);
- if (event->contains(Qt::TapGesture)) {
- //
- } else if (const QGesture *g = event->gesture(Qt::DoubleTapGesture)) {
- touchFeedback.doubleTapped = true;
- horizontalOffset = g->hotSpot().x() - currentImage.width()*1.0*g->hotSpot().x()/width();
- verticalOffset = g->hotSpot().y() - currentImage.height()*1.0*g->hotSpot().y()/height();
- setZoomedIn(!zoomedIn);
- zoomed = rotated = false;
- updateImage();
- } else if (const QGesture *g = event->gesture(Qt::PanGesture)) {
+ if (sender() == panGesture) {
+ QPanGesture *pg = qobject_cast<QPanGesture*>(sender());
if (zoomedIn) {
- // usual panning
#ifndef QT_NO_CURSOR
- if (g->state() == Qt::GestureStarted)
- setCursor(Qt::SizeAllCursor);
- else
- setCursor(Qt::ArrowCursor);
+ switch (pg->state()) {
+ case Qt::GestureStarted:
+ case Qt::GestureUpdated:
+ setCursor(Qt::SizeAllCursor);
+ break;
+ default:
+ setCursor(Qt::ArrowCursor);
+ }
#endif
- const int dx = g->pos().x() - g->lastPos().x();
- const int dy = g->pos().y() - g->lastPos().y();
- horizontalOffset += dx;
- verticalOffset += dy;
+ horizontalOffset += pg->lastOffset().width();
+ verticalOffset += pg->lastOffset().height();
update();
} else {
// only slide gesture should be accepted
- const QPanningGesture *pg = static_cast<const QPanningGesture*>(g);
- if (pg->direction() != pg->lastDirection()) {
- // ###: event->cancel();
- }
- if (g->state() == Qt::GestureFinished) {
+ if (pg->state() == Qt::GestureFinished) {
touchFeedback.sliding = false;
zoomed = rotated = false;
- if (pg->direction() == Qt::RightDirection) {
- qDebug() << "slide right";
+ if (pg->totalOffset().width() > 0)
goNextImage();
- } else if (pg->direction() == Qt::LeftDirection) {
- qDebug() << "slide left";
+ else
goPrevImage();
- }
updateImage();
}
}
- } else if (const QGesture *g = event->gesture(Qt::TapAndHoldGesture)) {
- if (g->state() == Qt::GestureFinished) {
+ feedbackFadeOutTimer.start(500, this);
+ } else if (sender() == tapAndHoldGesture) {
+ if (tapAndHoldGesture->state() == Qt::GestureFinished) {
qDebug() << "tap and hold detected";
touchFeedback.reset();
update();
@@ -197,13 +198,20 @@ void ImageWidget::gestureEvent(QGestureEvent *event)
menu.addAction("Action 1");
menu.addAction("Action 2");
menu.addAction("Action 3");
- menu.exec(mapToGlobal(g->hotSpot()));
+ menu.exec(mapToGlobal(tapAndHoldGesture->pos()));
}
- } else {
- qDebug() << "unknown gesture";
+ feedbackFadeOutTimer.start(500, this);
}
- feedbackFadeOutTimer.start(500, this);
- event->accept();
+}
+
+void ImageWidget::gestureFinished()
+{
+ qDebug() << "gesture finished" << sender();
+}
+
+void ImageWidget::gestureCancelled()
+{
+ qDebug() << "gesture cancelled" << sender();
}
void ImageWidget::resizeEvent(QResizeEvent*)
@@ -345,3 +353,5 @@ void ImageWidget::timerEvent(QTimerEvent *event)
}
update();
}
+
+#include "moc_imagewidget.cpp"
diff --git a/examples/gestures/imageviewer/imagewidget.h b/examples/gestures/imageviewer/imagewidget.h
index 7ec73a7..d8d5f8d 100644
--- a/examples/gestures/imageviewer/imagewidget.h
+++ b/examples/gestures/imageviewer/imagewidget.h
@@ -48,19 +48,28 @@
#include <QtGui>
+#include "tapandholdgesture.h"
+
class ImageWidget : public QWidget
{
+ Q_OBJECT
+
public:
ImageWidget(QWidget *parent = 0);
void openDirectory(const QString &path);
protected:
- bool event(QEvent *event);
void paintEvent(QPaintEvent*);
- void gestureEvent(QGestureEvent *event);
void resizeEvent(QResizeEvent*);
void timerEvent(QTimerEvent*);
+ void mousePressEvent(QMouseEvent*);
+ void mouseDoubleClickEvent(QMouseEvent*);
+
+private slots:
+ void gestureTriggered();
+ void gestureFinished();
+ void gestureCancelled();
private:
void updateImage();
@@ -71,6 +80,9 @@ private:
void goPrevImage();
void goToImage(int index);
+ QPanGesture *panGesture;
+ TapAndHoldGesture *tapAndHoldGesture;
+
QString path;
QStringList files;
int position;
diff --git a/examples/gestures/imageviewer/main.cpp b/examples/gestures/imageviewer/main.cpp
index 6bda418..cd1928b 100644
--- a/examples/gestures/imageviewer/main.cpp
+++ b/examples/gestures/imageviewer/main.cpp
@@ -81,6 +81,9 @@ int main(int argc, char *argv[])
if (QApplication::arguments().size() > 1)
w.openDirectory(QApplication::arguments().at(1));
+ else
+ w.openDirectory(QFileDialog::getExistingDirectory(0, "Select image folder"));
+
return app.exec();
}
diff --git a/examples/gestures/imageviewer/tapandholdgesture.cpp b/examples/gestures/imageviewer/tapandholdgesture.cpp
new file mode 100644
index 0000000..ff5284e
--- /dev/null
+++ b/examples/gestures/imageviewer/tapandholdgesture.cpp
@@ -0,0 +1,138 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "tapandholdgesture.h"
+
+#include <QtGui/qevent.h>
+
+/*!
+ \class TapAndHoldGesture
+ \since 4.6
+
+ \brief The TapAndHoldGesture class represents a Tap-and-Hold gesture,
+ providing additional information.
+*/
+
+const int TapAndHoldGesture::iterationCount = 40;
+const int TapAndHoldGesture::iterationTimeout = 50;
+
+/*!
+ Creates a new Tap and Hold gesture handler object and marks it as a child
+ of \a parent.
+
+ On some platforms like Windows there is a system-wide tap and hold gesture
+ that cannot be overriden, hence the gesture might never trigger and default
+ context menu will be shown instead.
+*/
+TapAndHoldGesture::TapAndHoldGesture(QWidget *parent)
+ : QGesture(parent), iteration(0)
+{
+}
+
+/*! \internal */
+bool TapAndHoldGesture::filterEvent(QEvent *event)
+{
+ if (!event->spontaneous())
+ return false;
+ const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
+ switch (event->type()) {
+ case QEvent::TouchBegin: {
+ if (timer.isActive())
+ timer.stop();
+ timer.start(TapAndHoldGesture::iterationTimeout, this);
+ const QPoint p = ev->touchPoints().at(0).pos().toPoint();
+ position = p;
+ break;
+ }
+ case QEvent::TouchUpdate:
+ if (ev->touchPoints().size() == 1) {
+ const QPoint startPos = ev->touchPoints().at(0).startPos().toPoint();
+ const QPoint pos = ev->touchPoints().at(0).pos().toPoint();
+ if ((startPos - pos).manhattanLength() > 15)
+ reset();
+ } else {
+ reset();
+ }
+ break;
+ case QEvent::TouchEnd:
+ reset();
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
+/*! \internal */
+void TapAndHoldGesture::timerEvent(QTimerEvent *event)
+{
+ if (event->timerId() != timer.timerId())
+ return;
+ if (iteration == TapAndHoldGesture::iterationCount) {
+ timer.stop();
+ setState(Qt::GestureFinished);
+ emit triggered();
+ } else {
+ setState(Qt::GestureStarted);
+ emit triggered();
+ }
+ ++iteration;
+}
+
+/*! \internal */
+void TapAndHoldGesture::reset()
+{
+ if (state() != Qt::NoGesture)
+ emit cancelled();
+ setState(Qt::NoGesture);
+ timer.stop();
+ iteration = 0;
+}
+
+/*!
+ \property TapAndHoldGesture::pos
+
+ \brief The position of the gesture.
+*/
+QPoint TapAndHoldGesture::pos() const
+{
+ return position;
+}
diff --git a/examples/gestures/imageviewer/tapandholdgesture.h b/examples/gestures/imageviewer/tapandholdgesture.h
new file mode 100644
index 0000000..e0d50b5
--- /dev/null
+++ b/examples/gestures/imageviewer/tapandholdgesture.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TAPANDHOLDGESTURE_H
+#define TAPANDHOLDGESTURE_H
+
+#include <QtCore/QBasicTimer>
+#include <QtGui/QGesture>
+#include <QtGui/QWidget>
+
+class TapAndHoldGesture : public QGesture
+{
+ Q_OBJECT
+ Q_PROPERTY(QPoint pos READ pos)
+
+public:
+ TapAndHoldGesture(QWidget *parent);
+
+ bool filterEvent(QEvent *event);
+ void reset();
+
+ QPoint pos() const;
+
+protected:
+ void timerEvent(QTimerEvent *event);
+
+private:
+ QBasicTimer timer;
+ int iteration;
+ QPoint position;
+ static const int iterationCount;
+ static const int iterationTimeout;
+};
+
+#endif // TAPANDHOLDGESTURE_H
diff --git a/examples/gestures/pannablewebview/main.cpp b/examples/gestures/pannablewebview/main.cpp
deleted file mode 100644
index 89c1fce..0000000
--- a/examples/gestures/pannablewebview/main.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include <QtWebKit>
-
-class PannableWebView : public QWebView
-{
-public:
- PannableWebView(QWidget *parent = 0)
- : QWebView(parent)
- {
-#if 0
- QPushButton *btn = new QPushButton("Some test button", this);
- btn->resize(300, 200);
- btn->move(40, 300);
-#endif
- grabGesture(Qt::PanGesture);
- }
-protected:
- bool event(QEvent *event)
- {
- if (event->type() == QEvent::Gesture)
- {
- QGestureEvent *ev = static_cast<QGestureEvent*>(event);
- if (const QGesture *g = ev->gesture(Qt::PanGesture)) {
- if (QWebFrame *frame = page()->mainFrame()) {
- QPoint offset = g->pos() - g->lastPos();
- frame->setScrollPosition(frame->scrollPosition() - offset);
- }
- event->accept();
- }
- return true;
- }
- return QWebView::event(event);
- }
-};
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- QGraphicsScene scene;
- QGraphicsView w(&scene);
-
- QWebView *wv = new PannableWebView;
- wv->resize(480, 800);
- wv->setUrl(QUrl("http://www.trolltech.com"));
- scene.addWidget(wv);
- w.show();
-
- return app.exec();
-}
diff --git a/examples/gestures/pannablewebview/pannablewebview.pro b/examples/gestures/pannablewebview/pannablewebview.pro
deleted file mode 100644
index 07d8f91..0000000
--- a/examples/gestures/pannablewebview/pannablewebview.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-SOURCES += \
- main.cpp
-
-QT += webkit
diff --git a/examples/graphicsview/collidingmice/mouse.cpp b/examples/graphicsview/collidingmice/mouse.cpp
index c6a67b1..4cc29dd 100644
--- a/examples/graphicsview/collidingmice/mouse.cpp
+++ b/examples/graphicsview/collidingmice/mouse.cpp
@@ -64,7 +64,7 @@ Mouse::Mouse()
: angle(0), speed(0), mouseEyeDirection(0),
color(qrand() % 256, qrand() % 256, qrand() % 256)
{
- rotate(qrand() % (360 * 16));
+ setRotation(qrand() % (360 * 16));
}
//! [0]
@@ -195,7 +195,7 @@ void Mouse::advance(int step)
qreal dx = ::sin(angle) * 10;
mouseEyeDirection = (qAbs(dx / 5) < 1) ? 0 : dx / 5;
- rotate(dx);
+ setRotation(rotation() + dx);
setPos(mapToParent(0, -(3 + sin(speed) * 3)));
}
//! [11]
diff --git a/examples/ipc/ipc.pro b/examples/ipc/ipc.pro
index b758fc4..e70fc38 100644
--- a/examples/ipc/ipc.pro
+++ b/examples/ipc/ipc.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
-SUBDIRS = sharedmemory
+# no QSharedMemory
+!vxworks:!qnx:SUBDIRS = sharedmemory
!wince*: SUBDIRS += localfortuneserver localfortuneclient
# install
diff --git a/examples/itemviews/chart/chart.pro b/examples/itemviews/chart/chart.pro
index 3556de0..3290170 100644
--- a/examples/itemviews/chart/chart.pro
+++ b/examples/itemviews/chart/chart.pro
@@ -4,7 +4,7 @@ RESOURCES = chart.qrc
SOURCES = main.cpp \
mainwindow.cpp \
pieview.cpp
-unix:!mac:!symbian:LIBS+= -lm
+unix:!mac:!symbian:!vxworks:LIBS+= -lm
TARGET.EPOCHEAPSIZE = 0x200000 0x800000
diff --git a/examples/itemviews/frozencolumn/freezetablewidget.h b/examples/itemviews/frozencolumn/freezetablewidget.h
index e22660e..f7b8e43 100644
--- a/examples/itemviews/frozencolumn/freezetablewidget.h
+++ b/examples/itemviews/frozencolumn/freezetablewidget.h
@@ -39,7 +39,6 @@
**
****************************************************************************/
-
#ifndef FREEZETABLEWIDGET_H
#define FREEZETABLEWIDGET_H
diff --git a/examples/itemviews/frozencolumn/main.cpp b/examples/itemviews/frozencolumn/main.cpp
index 8ed9d3b..9f6a637 100644
--- a/examples/itemviews/frozencolumn/main.cpp
+++ b/examples/itemviews/frozencolumn/main.cpp
@@ -39,7 +39,6 @@
**
****************************************************************************/
-
#include <QApplication>
#include <QStandardItemModel>
#include <QFile>
diff --git a/examples/mainwindows/application/main.cpp b/examples/mainwindows/application/main.cpp
index f83e709..2fe6d5f 100644
--- a/examples/mainwindows/application/main.cpp
+++ b/examples/mainwindows/application/main.cpp
@@ -49,6 +49,8 @@ int main(int argc, char *argv[])
Q_INIT_RESOURCE(application);
QApplication app(argc, argv);
+ app.setOrganizationName("Trolltech");
+ app.setApplicationName("Application Example");
MainWindow mainWin;
mainWin.show();
return app.exec();
diff --git a/examples/mainwindows/application/mainwindow.cpp b/examples/mainwindows/application/mainwindow.cpp
index 68c7287..43dfe14 100644
--- a/examples/mainwindows/application/mainwindow.cpp
+++ b/examples/mainwindows/application/mainwindow.cpp
@@ -377,13 +377,10 @@ void MainWindow::setCurrentFile(const QString &fileName)
textEdit->document()->setModified(false);
setWindowModified(false);
- QString shownName;
+ QString shownName = curFile;
if (curFile.isEmpty())
shownName = "untitled.txt";
- else
- shownName = strippedName(curFile);
-
- setWindowTitle(tr("%1[*] - %2").arg(shownName).arg(tr("Application")));
+ setWindowFilePath(shownName);
}
//! [47]
diff --git a/examples/mainwindows/mdi/mainwindow.cpp b/examples/mainwindows/mdi/mainwindow.cpp
index 3cb54f1..9ef2cae 100644
--- a/examples/mainwindows/mdi/mainwindow.cpp
+++ b/examples/mainwindows/mdi/mainwindow.cpp
@@ -259,7 +259,6 @@ void MainWindow::createActions()
connect(pasteAct, SIGNAL(triggered()), this, SLOT(paste()));
closeAct = new QAction(tr("Cl&ose"), this);
- closeAct->setShortcut(tr("Ctrl+F4"));
closeAct->setStatusTip(tr("Close the active window"));
connect(closeAct, SIGNAL(triggered()),
mdiArea, SLOT(closeActiveSubWindow()));
diff --git a/examples/mainwindows/recentfiles/main.cpp b/examples/mainwindows/recentfiles/main.cpp
index 5417429..1dd3c1b 100644
--- a/examples/mainwindows/recentfiles/main.cpp
+++ b/examples/mainwindows/recentfiles/main.cpp
@@ -46,6 +46,8 @@
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
+ app.setOrganizationName("Trolltech");
+ app.setApplicationName("Recent Files Example");
MainWindow *mainWin = new MainWindow;
mainWin->show();
return app.exec();
diff --git a/examples/mainwindows/recentfiles/mainwindow.cpp b/examples/mainwindows/recentfiles/mainwindow.cpp
index 1671f53..53d0d0e 100644
--- a/examples/mainwindows/recentfiles/mainwindow.cpp
+++ b/examples/mainwindows/recentfiles/mainwindow.cpp
@@ -54,7 +54,7 @@ MainWindow::MainWindow()
createMenus();
(void)statusBar();
- setWindowTitle(tr("Recent Files"));
+ setWindowFilePath(QString());
resize(400, 300);
}
@@ -209,13 +209,9 @@ void MainWindow::saveFile(const QString &fileName)
void MainWindow::setCurrentFile(const QString &fileName)
{
curFile = fileName;
- if (curFile.isEmpty())
- setWindowTitle(tr("Recent Files"));
- else
- setWindowTitle(tr("%1 - %2").arg(strippedName(curFile))
- .arg(tr("Recent Files")));
+ setWindowFilePath(curFile);
- QSettings settings("Trolltech", "Recent Files Example");
+ QSettings settings;
QStringList files = settings.value("recentFileList").toStringList();
files.removeAll(fileName);
files.prepend(fileName);
@@ -233,7 +229,7 @@ void MainWindow::setCurrentFile(const QString &fileName)
void MainWindow::updateRecentFileActions()
{
- QSettings settings("Trolltech", "Recent Files Example");
+ QSettings settings;
QStringList files = settings.value("recentFileList").toStringList();
int numRecentFiles = qMin(files.size(), (int)MaxRecentFiles);
diff --git a/examples/mainwindows/sdi/main.cpp b/examples/mainwindows/sdi/main.cpp
index a7e20d8..055d761 100644
--- a/examples/mainwindows/sdi/main.cpp
+++ b/examples/mainwindows/sdi/main.cpp
@@ -47,6 +47,8 @@ int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(sdi);
QApplication app(argc, argv);
+ app.setApplicationName("SDI Example");
+ app.setOrganizationName("Trolltech");
MainWindow *mainWin = new MainWindow;
mainWin->show();
return app.exec();
diff --git a/examples/mainwindows/sdi/mainwindow.cpp b/examples/mainwindows/sdi/mainwindow.cpp
index 8710105..1e7f2c0 100644
--- a/examples/mainwindows/sdi/mainwindow.cpp
+++ b/examples/mainwindows/sdi/mainwindow.cpp
@@ -266,7 +266,7 @@ void MainWindow::createStatusBar()
void MainWindow::readSettings()
{
- QSettings settings("Trolltech", "SDI Example");
+ QSettings settings;
QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint();
QSize size = settings.value("size", QSize(400, 400)).toSize();
move(pos);
@@ -275,7 +275,7 @@ void MainWindow::readSettings()
void MainWindow::writeSettings()
{
- QSettings settings("Trolltech", "SDI Example");
+ QSettings settings;
settings.setValue("pos", pos());
settings.setValue("size", size());
}
@@ -352,9 +352,7 @@ void MainWindow::setCurrentFile(const QString &fileName)
textEdit->document()->setModified(false);
setWindowModified(false);
-
- setWindowTitle(tr("%1[*] - %2").arg(strippedName(curFile))
- .arg(tr("SDI")));
+ setWindowFilePath(curFile);
}
QString MainWindow::strippedName(const QString &fullFileName)
diff --git a/examples/multimedia/README b/examples/multimedia/README
new file mode 100644
index 0000000..aa78e36
--- /dev/null
+++ b/examples/multimedia/README
@@ -0,0 +1,34 @@
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory.
+
+Documentation for these examples can be found via the Tutorial and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/multimedia/audio/audio.pro b/examples/multimedia/audio/audio.pro
new file mode 100644
index 0000000..c64bb34
--- /dev/null
+++ b/examples/multimedia/audio/audio.pro
@@ -0,0 +1,10 @@
+TEMPLATE = subdirs
+SUBDIRS = audioinput \
+ audiooutput \
+ audiodevices
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS audio.pro README
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio
+INSTALLS += target sources
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.cpp b/examples/multimedia/audio/audiodevices/audiodevices.cpp
new file mode 100644
index 0000000..2a3af98
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevices.cpp
@@ -0,0 +1,272 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QDebug>
+#include <QAudioDeviceInfo>
+
+#include "audiodevices.h"
+
+AudioDevicesBase::AudioDevicesBase( QMainWindow *parent, Qt::WFlags f )
+{
+ Q_UNUSED(parent)
+ Q_UNUSED(f)
+ setupUi( this );
+}
+
+AudioDevicesBase::~AudioDevicesBase() {}
+
+
+AudioTest::AudioTest( QMainWindow *parent, Qt::WFlags f )
+ : AudioDevicesBase( parent, f )
+{
+ mode = QAudio::AudioOutput;
+ modeBox->addItem("Input");
+ modeBox->addItem("Output");
+
+ connect(testButton,SIGNAL(clicked()),SLOT(test()));
+ connect(modeBox,SIGNAL(activated(int)),SLOT(modeChanged(int)));
+ connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
+ connect(frequencyBox,SIGNAL(activated(int)),SLOT(freqChanged(int)));
+ connect(channelsBox,SIGNAL(activated(int)),SLOT(channelChanged(int)));
+ connect(codecsBox,SIGNAL(activated(int)),SLOT(codecChanged(int)));
+ connect(sampleSizesBox,SIGNAL(activated(int)),SLOT(sampleSizeChanged(int)));
+ connect(sampleTypesBox,SIGNAL(activated(int)),SLOT(sampleTypeChanged(int)));
+ connect(endianBox,SIGNAL(activated(int)),SLOT(endianChanged(int)));
+
+ device = 0;
+
+ modeBox->setCurrentIndex(0);
+ modeChanged(0);
+ deviceBox->setCurrentIndex(0);
+ deviceChanged(0);
+}
+
+AudioTest::~AudioTest()
+{
+}
+
+void AudioTest::test()
+{
+ // tries to set all the settings picked.
+
+ if(device) {
+ if(device->isFormatSupported(settings)) {
+ logOutput->append("Success");
+ nearestFreq->setText("");
+ nearestChannel->setText("");
+ nearestCodec->setText("");
+ nearestSampleSize->setText("");
+ nearestSampleType->setText("");
+ nearestEndian->setText("");
+ } else {
+ QAudioFormat nearest = device->nearestFormat(settings);
+ logOutput->append(tr("Failed"));
+ nearestFreq->setText(QString("%1").arg(nearest.frequency()));
+ nearestChannel->setText(QString("%1").arg(nearest.channels()));
+ nearestCodec->setText(nearest.codec());
+ nearestSampleSize->setText(QString("%1").arg(nearest.sampleSize()));
+
+ switch(nearest.sampleType()) {
+ case QAudioFormat::SignedInt:
+ nearestSampleType->setText("SignedInt");
+ break;
+ case QAudioFormat::UnSignedInt:
+ nearestSampleType->setText("UnSignedInt");
+ break;
+ case QAudioFormat::Float:
+ nearestSampleType->setText("Float");
+ break;
+ case QAudioFormat::Unknown:
+ nearestSampleType->setText("Unknown");
+ }
+ switch(nearest.byteOrder()) {
+ case QAudioFormat::LittleEndian:
+ nearestEndian->setText("LittleEndian");
+ break;
+ case QAudioFormat::BigEndian:
+ nearestEndian->setText("BigEndian");
+ }
+ }
+ }
+ else
+ logOutput->append("No Device");
+}
+
+void AudioTest::modeChanged(int idx)
+{
+ // mode has changed
+ if(idx == 0)
+ mode=QAudio::AudioInput;
+ else
+ mode=QAudio::AudioOutput;
+
+ deviceBox->clear();
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(mode);
+ for(int i = 0; i < devices.size(); ++i) {
+ deviceBox->addItem(QAudioDeviceInfo(devices.at(i)).deviceName(), qVariantFromValue(devices.at(i)));
+ }
+}
+
+void AudioTest::deviceChanged(int idx)
+{
+ delete device;
+ device = 0;
+
+ if (deviceBox->count() == 0)
+ return;
+
+ // device has changed
+ deviceHandle = deviceBox->itemData(idx).value<QAudioDeviceId>();
+ device = new QAudioDeviceInfo(deviceHandle, this);
+
+ frequencyBox->clear();
+ QList<int> freqz = device->supportedFrequencies();
+ for(int i = 0; i < freqz.size(); ++i)
+ frequencyBox->addItem(QString("%1").arg(freqz.at(i)));
+ if(freqz.size())
+ settings.setFrequency(freqz.at(0));
+
+ channelsBox->clear();
+ QList<int> chz = device->supportedChannels();
+ for(int i = 0; i < chz.size(); ++i)
+ channelsBox->addItem(QString("%1").arg(chz.at(i)));
+ if(chz.size())
+ settings.setChannels(chz.at(0));
+
+ codecsBox->clear();
+ QStringList codecz = device->supportedCodecs();
+ for(int i = 0; i < codecz.size(); ++i)
+ codecsBox->addItem(QString("%1").arg(codecz.at(i)));
+ if(codecz.size())
+ settings.setCodec(codecz.at(0));
+ // Add false to create failed condition!
+ codecsBox->addItem("audio/mpeg");
+
+ sampleSizesBox->clear();
+ QList<int> sampleSizez = device->supportedSampleSizes();
+ for(int i = 0; i < sampleSizez.size(); ++i)
+ sampleSizesBox->addItem(QString("%1").arg(sampleSizez.at(i)));
+ if(sampleSizez.size())
+ settings.setSampleSize(sampleSizez.at(0));
+
+ sampleTypesBox->clear();
+ QList<QAudioFormat::SampleType> sampleTypez = device->supportedSampleTypes();
+ for(int i = 0; i < sampleTypez.size(); ++i) {
+ switch(sampleTypez.at(i)) {
+ case QAudioFormat::SignedInt:
+ sampleTypesBox->addItem("SignedInt");
+ break;
+ case QAudioFormat::UnSignedInt:
+ sampleTypesBox->addItem("UnSignedInt");
+ break;
+ case QAudioFormat::Float:
+ sampleTypesBox->addItem("Float");
+ break;
+ case QAudioFormat::Unknown:
+ sampleTypesBox->addItem("Unknown");
+ }
+ if(sampleTypez.size())
+ settings.setSampleType(sampleTypez.at(0));
+ }
+
+ endianBox->clear();
+ QList<QAudioFormat::Endian> endianz = device->supportedByteOrders();
+ for(int i = 0; i < endianz.size(); ++i) {
+ switch(endianz.at(i)) {
+ case QAudioFormat::LittleEndian:
+ endianBox->addItem("Little Endian");
+ break;
+ case QAudioFormat::BigEndian:
+ endianBox->addItem("Big Endian");
+ break;
+ }
+ }
+ if(endianz.size())
+ settings.setByteOrder(endianz.at(0));
+}
+
+void AudioTest::freqChanged(int idx)
+{
+ // freq has changed
+ settings.setFrequency(frequencyBox->itemText(idx).toInt());
+}
+
+void AudioTest::channelChanged(int idx)
+{
+ settings.setChannels(channelsBox->itemText(idx).toInt());
+}
+
+void AudioTest::codecChanged(int idx)
+{
+ settings.setCodec(codecsBox->itemText(idx));
+}
+
+void AudioTest::sampleSizeChanged(int idx)
+{
+ settings.setSampleSize(sampleSizesBox->itemText(idx).toInt());
+}
+
+void AudioTest::sampleTypeChanged(int idx)
+{
+ switch(sampleTypesBox->itemText(idx).toInt()) {
+ case QAudioFormat::SignedInt:
+ settings.setSampleType(QAudioFormat::SignedInt);
+ break;
+ case QAudioFormat::UnSignedInt:
+ settings.setSampleType(QAudioFormat::UnSignedInt);
+ break;
+ case QAudioFormat::Float:
+ settings.setSampleType(QAudioFormat::Float);
+ }
+}
+
+void AudioTest::endianChanged(int idx)
+{
+ switch(endianBox->itemText(idx).toInt()) {
+ case QAudioFormat::LittleEndian:
+ settings.setByteOrder(QAudioFormat::LittleEndian);
+ break;
+ case QAudioFormat::BigEndian:
+ settings.setByteOrder(QAudioFormat::BigEndian);
+ }
+}
+
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.h b/examples/multimedia/audio/audiodevices/audiodevices.h
new file mode 100644
index 0000000..34a531b
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevices.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QObject>
+#include <QMainWindow>
+#include <QAudioDeviceInfo>
+
+#include "ui_audiodevicesbase.h"
+
+class AudioDevicesBase : public QMainWindow, public Ui::AudioDevicesBase
+{
+public:
+ AudioDevicesBase( QMainWindow *parent = 0, Qt::WFlags f = 0 );
+ virtual ~AudioDevicesBase();
+};
+
+class AudioTest : public AudioDevicesBase
+{
+ Q_OBJECT
+public:
+ AudioTest( QMainWindow *parent = 0, Qt::WFlags f = 0 );
+ virtual ~AudioTest();
+
+ QAudioDeviceId deviceHandle;
+ QAudioDeviceInfo* device;
+ QAudioFormat settings;
+ QAudio::Mode mode;
+
+private slots:
+ void modeChanged(int idx);
+ void deviceChanged(int idx);
+ void freqChanged(int idx);
+ void channelChanged(int idx);
+ void codecChanged(int idx);
+ void sampleSizeChanged(int idx);
+ void sampleTypeChanged(int idx);
+ void endianChanged(int idx);
+ void test();
+};
+
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.pro b/examples/multimedia/audio/audiodevices/audiodevices.pro
new file mode 100644
index 0000000..adc4890
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevices.pro
@@ -0,0 +1,12 @@
+HEADERS = audiodevices.h
+SOURCES = audiodevices.cpp \
+ main.cpp
+FORMS += audiodevicesbase.ui
+
+QT += multimedia
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices
+sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiodevices.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices
+INSTALLS += target sources
diff --git a/examples/multimedia/audio/audiodevices/audiodevicesbase.ui b/examples/multimedia/audio/audiodevices/audiodevicesbase.ui
new file mode 100644
index 0000000..674f201
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/audiodevicesbase.ui
@@ -0,0 +1,255 @@
+<ui version="4.0" >
+ <class>AudioDevicesBase</class>
+ <widget class="QMainWindow" name="AudioDevicesBase" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>504</width>
+ <height>702</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>AudioDevicesBase</string>
+ </property>
+ <widget class="QWidget" name="centralwidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>28</y>
+ <width>504</width>
+ <height>653</height>
+ </rect>
+ </property>
+ <widget class="QWidget" name="layoutWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>40</x>
+ <y>21</y>
+ <width>321</width>
+ <height>506</height>
+ </rect>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="deviceLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Device</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QLabel" name="modeLabel" >
+ <property name="text" >
+ <string>Mode</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QComboBox" name="deviceBox" />
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="modeBox" />
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="actualLabel" >
+ <property name="frameShape" >
+ <enum>QFrame::Panel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text" >
+ <string>Actual Settings</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QLabel" name="nearestLabel" >
+ <property name="frameShape" >
+ <enum>QFrame::Panel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="text" >
+ <string>Nearest Settings</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="actualFreqLabel" >
+ <property name="text" >
+ <string>Frequency</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" >
+ <widget class="QLabel" name="nearestFreqLabel" >
+ <property name="text" >
+ <string>Frequency</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" >
+ <widget class="QComboBox" name="frequencyBox" />
+ </item>
+ <item row="4" column="1" >
+ <widget class="QLineEdit" name="nearestFreq" />
+ </item>
+ <item row="5" column="0" >
+ <widget class="QLabel" name="actualChannelsLabel" >
+ <property name="text" >
+ <string>Channels</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1" >
+ <widget class="QLabel" name="nearestChannelLabel" >
+ <property name="text" >
+ <string>Channel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" >
+ <widget class="QComboBox" name="channelsBox" />
+ </item>
+ <item row="6" column="1" >
+ <widget class="QLineEdit" name="nearestChannel" />
+ </item>
+ <item row="7" column="0" >
+ <widget class="QLabel" name="actualCodecLabel" >
+ <property name="text" >
+ <string>Codecs</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1" >
+ <widget class="QLabel" name="nearestCodecLabel" >
+ <property name="text" >
+ <string>Codec</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0" >
+ <widget class="QComboBox" name="codecsBox" />
+ </item>
+ <item row="8" column="1" >
+ <widget class="QLineEdit" name="nearestCodec" />
+ </item>
+ <item row="9" column="0" >
+ <widget class="QLabel" name="actualSampleSizeLabel" >
+ <property name="text" >
+ <string>SampleSize</string>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="1" >
+ <widget class="QLabel" name="nearestSampleSizeLabel" >
+ <property name="text" >
+ <string>SampleSize</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0" >
+ <widget class="QComboBox" name="sampleSizesBox" />
+ </item>
+ <item row="10" column="1" >
+ <widget class="QLineEdit" name="nearestSampleSize" />
+ </item>
+ <item row="11" column="0" >
+ <widget class="QLabel" name="actualSampleTypeLabel" >
+ <property name="text" >
+ <string>SampleType</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1" >
+ <widget class="QLabel" name="nearestSampleTypeLabel" >
+ <property name="text" >
+ <string>SampleType</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="0" >
+ <widget class="QComboBox" name="sampleTypesBox" />
+ </item>
+ <item row="12" column="1" >
+ <widget class="QLineEdit" name="nearestSampleType" />
+ </item>
+ <item row="13" column="0" >
+ <widget class="QLabel" name="actualEndianLabel" >
+ <property name="text" >
+ <string>Endianess</string>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="1" >
+ <widget class="QLabel" name="nearestEndianLabel" >
+ <property name="text" >
+ <string>Endianess</string>
+ </property>
+ </widget>
+ </item>
+ <item row="14" column="0" >
+ <widget class="QComboBox" name="endianBox" />
+ </item>
+ <item row="14" column="1" >
+ <widget class="QLineEdit" name="nearestEndian" />
+ </item>
+ <item row="15" column="0" colspan="2" >
+ <widget class="QTextEdit" name="logOutput" >
+ <property name="minimumSize" >
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="0" colspan="2" >
+ <widget class="QPushButton" name="testButton" >
+ <property name="text" >
+ <string>Test</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ <widget class="QMenuBar" name="menubar" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>504</width>
+ <height>28</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QStatusBar" name="statusbar" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>681</y>
+ <width>504</width>
+ <height>21</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/multimedia/audio/audiodevices/main.cpp b/examples/multimedia/audio/audiodevices/main.cpp
new file mode 100644
index 0000000..12e413e
--- /dev/null
+++ b/examples/multimedia/audio/audiodevices/main.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "audiodevices.h"
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio Device Test");
+
+ AudioTest audio;
+ audio.show();
+
+ return app.exec();
+}
diff --git a/examples/multimedia/audio/audioinput/audioinput.cpp b/examples/multimedia/audio/audioinput/audioinput.cpp
new file mode 100644
index 0000000..ae7d84c
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/audioinput.cpp
@@ -0,0 +1,376 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <stdlib.h>
+#include <math.h>
+
+#include <QDebug>
+#include <QPainter>
+#include <QVBoxLayout>
+
+#include <QAudioDeviceInfo>
+#include <QAudioInput>
+#include "audioinput.h"
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+Spectrum::Spectrum(QObject* parent, QAudioInput* device, float* out)
+ :QIODevice( parent )
+{
+ input = device;
+ output = out;
+
+ unsigned int i;
+
+ // Allocate sample buffer and initialize sin and cos lookup tables
+ fftState = (fft_state *) malloc (sizeof(fft_state));
+
+ for(i = 0; i < BUFFER_SIZE; i++) {
+ bitReverse[i] = reverseBits(i);
+ }
+ for(i = 0; i < BUFFER_SIZE / 2; i++) {
+ float j = 2 * M_PI * i / BUFFER_SIZE;
+ costable[i] = cos(j);
+ sintable[i] = sin(j);
+ }
+}
+
+Spectrum::~Spectrum()
+{
+}
+
+void Spectrum::start()
+{
+ open(QIODevice::WriteOnly);
+}
+
+void Spectrum::stop()
+{
+ close();
+}
+
+qint64 Spectrum::readData(char *data, qint64 maxlen)
+{
+ Q_UNUSED(data)
+ Q_UNUSED(maxlen)
+
+ return 0;
+}
+
+qint64 Spectrum::writeData(const char *data, qint64 len)
+{
+ performFFT((sound_sample*)data);
+ emit update();
+
+ return len;
+}
+
+int Spectrum::reverseBits(unsigned int initial) {
+ // BIT-REVERSE-COPY(a,A)
+
+ unsigned int reversed = 0, loop;
+ for(loop = 0; loop < BUFFER_SIZE_LOG; loop++) {
+ reversed <<= 1;
+ reversed += (initial & 1);
+ initial >>= 1;
+ }
+ return reversed;
+}
+
+void Spectrum::performFFT(const sound_sample *input) {
+ /* Convert to reverse bit order for FFT */
+ prepFFT(input, fftState->real, fftState->imag);
+
+ /* Calculate FFT */
+ calcFFT(fftState->real, fftState->imag);
+
+ /* Convert FFT to intensities */
+ outputFFT(fftState->real, fftState->imag);
+}
+
+void Spectrum::prepFFT(const sound_sample *input, float * re, float * im) {
+ unsigned int i;
+ float *realptr = re;
+ float *imagptr = im;
+
+ /* Get input, in reverse bit order */
+ for(i = 0; i < BUFFER_SIZE; i++) {
+ *realptr++ = input[bitReverse[i]];
+ *imagptr++ = 0;
+ }
+}
+
+void Spectrum::calcFFT(float * re, float * im) {
+ unsigned int i, j, k;
+ unsigned int exchanges;
+ float fact_real, fact_imag;
+ float tmp_real, tmp_imag;
+ unsigned int factfact;
+
+ /* Set up some variables to reduce calculation in the loops */
+ exchanges = 1;
+ factfact = BUFFER_SIZE / 2;
+
+ /* divide and conquer method */
+ for(i = BUFFER_SIZE_LOG; i != 0; i--) {
+ for(j = 0; j != exchanges; j++) {
+ fact_real = costable[j * factfact];
+ fact_imag = sintable[j * factfact];
+ for(k = j; k < BUFFER_SIZE; k += exchanges << 1) {
+ int k1 = k + exchanges;
+ tmp_real = fact_real * re[k1] - fact_imag * im[k1];
+ tmp_imag = fact_real * im[k1] + fact_imag * re[k1];
+ re[k1] = re[k] - tmp_real;
+ im[k1] = im[k] - tmp_imag;
+ re[k] += tmp_real;
+ im[k] += tmp_imag;
+ }
+ }
+ exchanges <<= 1;
+ factfact >>= 1;
+ }
+}
+
+void Spectrum::outputFFT(const float * re, const float * im) {
+ const float *realptr = re;
+ const float *imagptr = im;
+ float *outputptr = output;
+
+ float *endptr = output + BUFFER_SIZE / 2;
+
+ /* Convert FFT to intensities */
+
+ while(outputptr <= endptr) {
+ *outputptr = (*realptr * *realptr) + (*imagptr * *imagptr);
+ outputptr++; realptr++; imagptr++;
+ }
+ *output /= 4;
+ *endptr /= 4;
+}
+
+
+RenderArea::RenderArea(QWidget *parent)
+ : QWidget(parent)
+{
+ setBackgroundRole(QPalette::Base);
+ setAutoFillBackground(true);
+
+ samples = 0;
+ sampleSize = 0;
+ setMinimumHeight(30);
+ setMinimumWidth(200);
+}
+
+void RenderArea::paintEvent(QPaintEvent * /* event */)
+{
+ QPainter painter(this);
+
+ if(sampleSize == 0)
+ return;
+
+ painter.setPen(Qt::red);
+ int max = 0;
+ for(int i=0;i<sampleSize;i++) {
+ int m = (int)(sqrt(samples[i])/32768);
+ if(m > max)
+ max = m;
+ }
+ int x1,y1,x2,y2;
+
+ for(int i=0;i<10;i++) {
+ x1 = painter.viewport().left()+11;
+ y1 = painter.viewport().top()+10+i;
+ x2 = painter.viewport().right()-20-max;
+ y2 = painter.viewport().top()+10+i;
+ if(x2 < painter.viewport().left()+10)
+ x2 = painter.viewport().left()+10;
+
+ painter.drawLine(QPoint(x1,y1),QPoint(x2,y2));
+ }
+
+ painter.setPen(Qt::black);
+ painter.drawRect(QRect(painter.viewport().left()+10, painter.viewport().top()+10,
+ painter.viewport().right()-20, painter.viewport().bottom()-20));
+}
+
+void RenderArea::spectrum(float* output, int size)
+{
+ samples = output;
+ sampleSize = size;
+ repaint();
+}
+
+
+InputTest::InputTest()
+{
+ QWidget *window = new QWidget;
+ QVBoxLayout* layout = new QVBoxLayout;
+
+ canvas = new RenderArea;
+ layout->addWidget(canvas);
+
+ deviceBox = new QComboBox(this);
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioInput);
+ for(int i = 0; i < devices.size(); ++i) {
+ deviceBox->addItem(QAudioDeviceInfo(devices.at(i)).deviceName(), qVariantFromValue(devices.at(i)));
+ }
+ connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
+ layout->addWidget(deviceBox);
+
+ button = new QPushButton(this);
+ button->setText(tr("Click for Push Mode"));
+ connect(button,SIGNAL(clicked()),SLOT(toggleMode()));
+ layout->addWidget(button);
+
+ button2 = new QPushButton(this);
+ button2->setText(tr("Click To Suspend"));
+ connect(button2,SIGNAL(clicked()),SLOT(toggleSuspend()));
+ layout->addWidget(button2);
+
+ window->setLayout(layout);
+ setCentralWidget(window);
+ window->show();
+
+ buffer = new char[BUFFER_SIZE*10];
+ output = new float[1024];
+
+ pullMode = true;
+
+ format.setFrequency(8000);
+ format.setChannels(1);
+ format.setSampleSize(8);
+ format.setSampleType(QAudioFormat::UnSignedInt);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setCodec("audio/pcm");
+
+ audioInput = new QAudioInput(format,this);
+ connect(audioInput,SIGNAL(notify()),SLOT(status()));
+ connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+ spec = new Spectrum(this,audioInput,output);
+ connect(spec,SIGNAL(update()),SLOT(refreshDisplay()));
+ spec->start();
+ audioInput->start(spec);
+}
+
+InputTest::~InputTest() {}
+
+void InputTest::status()
+{
+ qWarning()<<"bytesReady = "<<audioInput->bytesReady()<<" bytes, clock = "<<audioInput->clock()<<"ms, totalTime = "<<audioInput->totalTime()/1000<<"ms";
+}
+
+void InputTest::readMore()
+{
+ if(!audioInput)
+ return;
+ qint64 len = audioInput->bytesReady();
+ if(len > BUFFER_SIZE*10)
+ len = BUFFER_SIZE*10;
+ qint64 l = input->read(buffer,len);
+ if(l > 0) {
+ spec->write(buffer,l);
+ }
+}
+
+void InputTest::toggleMode()
+{
+ // Change bewteen pull and push modes
+ audioInput->stop();
+
+ if(pullMode) {
+ button->setText(tr("Click for Push Mode"));
+ input = audioInput->start(0);
+ connect(input,SIGNAL(readyRead()),SLOT(readMore()));
+ pullMode = false;
+ } else {
+ button->setText(tr("Click for Pull Mode"));
+ pullMode = true;
+ audioInput->start(spec);
+ }
+}
+
+void InputTest::toggleSuspend()
+{
+ // toggle suspend/resume
+ if(audioInput->state() == QAudio::SuspendState) {
+ qWarning()<<"status: Suspended, resume()";
+ audioInput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioInput->state() == QAudio::ActiveState) {
+ qWarning()<<"status: Active, suspend()";
+ audioInput->suspend();
+ button2->setText("Click To Resume");
+ } else if (audioInput->state() == QAudio::StopState) {
+ qWarning()<<"status: Stopped, resume()";
+ audioInput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioInput->state() == QAudio::IdleState) {
+ qWarning()<<"status: IdleState";
+ }
+}
+
+void InputTest::state(QAudio::State state)
+{
+ qWarning()<<" state="<<state;
+}
+
+void InputTest::refreshDisplay()
+{
+ canvas->spectrum(output,256);
+ canvas->repaint();
+}
+
+void InputTest::deviceChanged(int idx)
+{
+ spec->stop();
+ audioInput->stop();
+ audioInput->disconnect(this);
+ delete audioInput;
+
+ device = deviceBox->itemData(idx).value<QAudioDeviceId>();
+ audioInput = new QAudioInput(device, format, this);
+ connect(audioInput,SIGNAL(notify()),SLOT(status()));
+ connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+ spec->start();
+ audioInput->start(spec);
+}
diff --git a/examples/multimedia/audio/audioinput/audioinput.h b/examples/multimedia/audio/audioinput/audioinput.h
new file mode 100644
index 0000000..3a6b356
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/audioinput.h
@@ -0,0 +1,144 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QPixmap>
+#include <QWidget>
+#include <QObject>
+#include <QMainWindow>
+#include <QPushButton>
+#include <QComboBox>
+
+#include <qaudioinput.h>
+
+#define BUFFER_SIZE_LOG 9
+#define BUFFER_SIZE (1 << BUFFER_SIZE_LOG)
+
+struct _struct_fft_state {
+ float real[BUFFER_SIZE];
+ float imag[BUFFER_SIZE];
+};
+typedef _struct_fft_state fft_state;
+typedef short int sound_sample;
+
+class Spectrum : public QIODevice
+{
+ Q_OBJECT
+public:
+ Spectrum(QObject* parent, QAudioInput* device, float* out);
+ ~Spectrum();
+
+ void start();
+ void stop();
+
+ qint64 readData(char *data, qint64 maxlen);
+ qint64 writeData(const char *data, qint64 len);
+
+ QAudioInput* input;
+ float* output;
+ fft_state* fftState;
+
+ unsigned int bitReverse[BUFFER_SIZE];
+ float sintable[BUFFER_SIZE / 2];
+ float costable[BUFFER_SIZE / 2];
+
+ void prepFFT (const sound_sample *input, float *re, float *im);
+ void calcFFT (float *re, float *im);
+ void outputFFT (const float *re, const float *im);
+ int reverseBits (unsigned int initial);
+ void performFFT (const sound_sample *input);
+
+signals:
+ void update();
+};
+
+
+class RenderArea : public QWidget
+{
+ Q_OBJECT
+
+public:
+ RenderArea(QWidget *parent = 0);
+
+ void spectrum(float* output, int size);
+
+protected:
+ void paintEvent(QPaintEvent *event);
+
+private:
+ QPixmap pixmap;
+
+ float* samples;
+ int sampleSize;
+};
+
+class InputTest : public QMainWindow
+{
+ Q_OBJECT
+public:
+ InputTest();
+ ~InputTest();
+
+ QAudioDeviceId device;
+ QAudioFormat format;
+ QAudioInput* audioInput;
+ Spectrum* spec;
+ QIODevice* input;
+ RenderArea* canvas;
+
+ bool pullMode;
+
+ QPushButton* button;
+ QPushButton* button2;
+ QComboBox* deviceBox;
+
+ char* buffer;
+ float* output;
+
+private slots:
+ void refreshDisplay();
+ void status();
+ void readMore();
+ void toggleMode();
+ void toggleSuspend();
+ void state(QAudio::State s);
+ void deviceChanged(int idx);
+};
+
diff --git a/examples/multimedia/audio/audioinput/audioinput.pro b/examples/multimedia/audio/audioinput/audioinput.pro
new file mode 100644
index 0000000..d930750
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/audioinput.pro
@@ -0,0 +1,12 @@
+HEADERS = audioinput.h
+SOURCES = audioinput.cpp \
+ main.cpp
+
+QT += multimedia
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput
+sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audioinput.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput
+INSTALLS += target sources
+
diff --git a/examples/multimedia/audio/audioinput/main.cpp b/examples/multimedia/audio/audioinput/main.cpp
new file mode 100644
index 0000000..64a9b04
--- /dev/null
+++ b/examples/multimedia/audio/audioinput/main.cpp
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "audioinput.h"
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio Input Test");
+
+ InputTest input;
+ input.show();
+
+ return app.exec();
+}
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.cpp b/examples/multimedia/audio/audiooutput/audiooutput.cpp
new file mode 100644
index 0000000..be26f19
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/audiooutput.cpp
@@ -0,0 +1,280 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QDebug>
+#include <QVBoxLayout>
+
+#include <QAudioOutput>
+#include <QAudioDeviceInfo>
+#include "audiooutput.h"
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+Generator::Generator(QObject *parent)
+ :QIODevice( parent )
+{
+ finished = false;
+ buffer = new char[SECONDS*44100*4+1000];
+ t=buffer;
+ len=fillData(t+4,450,SECONDS); /* left channel, 450Hz sine */
+ len+=fillData(t+6,452,SECONDS); /* right channel, 452Hz sine */
+ putLong(t,len);
+ putLong(buffer+4,len+8+16+8);
+ pos = 0;
+ total = len+8+16+8;
+}
+
+Generator::~Generator()
+{
+ delete [] buffer;
+}
+
+void Generator::start()
+{
+ open(QIODevice::ReadOnly);
+}
+
+void Generator::stop()
+{
+ close();
+}
+
+int Generator::putShort(char *t, unsigned int value)
+{
+ *(unsigned char *)(t++)=value&255;
+ *(unsigned char *)(t)=(value/256)&255;
+ return 2;
+}
+
+int Generator::putLong(char *t, unsigned int value)
+{
+ *(unsigned char *)(t++)=value&255;
+ *(unsigned char *)(t++)=(value/256)&255;
+ *(unsigned char *)(t++)=(value/(256*256))&255;
+ *(unsigned char *)(t)=(value/(256*256*256))&255;
+ return 4;
+}
+
+int Generator::fillData(char *start, int frequency, int seconds)
+{
+ int i, len=0;
+ int value;
+ for(i=0; i<seconds*44100; i++) {
+ value=(int)(32767.0*sin(2.0*M_PI*((double)(i))*(double)(frequency)/44100.0));
+ putShort(start, value);
+ start += 4;
+ len+=2;
+ }
+ return len;
+}
+
+qint64 Generator::readData(char *data, qint64 maxlen)
+{
+ int len = maxlen;
+ if(len > 16384)
+ len = 16384;
+
+ if(len < (SECONDS*44100*4+1000)-pos) {
+ // Normal
+ memcpy(data,t+pos,len);
+ pos+=len;
+ return len;
+ } else {
+ // Whats left and reset to start
+ qint64 left = (SECONDS*44100*4+1000)-pos;
+ memcpy(data,t+pos,left);
+ pos=0;
+ return left;
+ }
+}
+
+qint64 Generator::writeData(const char *data, qint64 len)
+{
+ Q_UNUSED(data);
+ Q_UNUSED(len);
+
+ return 0;
+}
+
+AudioTest::AudioTest()
+{
+ QWidget *window = new QWidget;
+ QVBoxLayout* layout = new QVBoxLayout;
+
+ deviceBox = new QComboBox(this);
+ QList<QAudioDeviceId> devices = QAudioDeviceInfo::deviceList(QAudio::AudioOutput);
+ for(int i = 0; i < devices.size(); ++i) {
+ deviceBox->addItem(QAudioDeviceInfo(devices.at(i)).deviceName(), qVariantFromValue(devices.at(i)));
+ }
+ connect(deviceBox,SIGNAL(activated(int)),SLOT(deviceChanged(int)));
+ layout->addWidget(deviceBox);
+
+ button = new QPushButton(this);
+ button->setText(tr("Click for Push Mode"));
+ connect(button,SIGNAL(clicked()),SLOT(toggle()));
+ layout->addWidget(button);
+
+ button2 = new QPushButton(this);
+ button2->setText(tr("Click To Suspend"));
+ connect(button2,SIGNAL(clicked()),SLOT(togglePlay()));
+ layout->addWidget(button2);
+
+ window->setLayout(layout);
+ setCentralWidget(window);
+ window->show();
+
+ buffer = new char[BUFFER_SIZE];
+
+ gen = new Generator(this);
+
+ pullMode = true;
+
+ timer = new QTimer(this);
+ connect(timer,SIGNAL(timeout()),SLOT(writeMore()));
+
+ gen->start();
+
+ settings.setFrequency(44100);
+ settings.setChannels(2);
+ settings.setSampleSize(16);
+ settings.setCodec("audio/pcm");
+ settings.setByteOrder(QAudioFormat::LittleEndian);
+ settings.setSampleType(QAudioFormat::SignedInt);
+ audioOutput = new QAudioOutput(settings,this);
+ connect(audioOutput,SIGNAL(notify()),SLOT(status()));
+ connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+
+ audioOutput->start(gen);
+}
+
+AudioTest::~AudioTest()
+{
+ delete [] buffer;
+}
+
+void AudioTest::deviceChanged(int idx)
+{
+ timer->stop();
+ gen->stop();
+ audioOutput->stop();
+ audioOutput->disconnect(this);
+ delete audioOutput;
+
+ device = deviceBox->itemData(idx).value<QAudioDeviceId>();
+ audioOutput = new QAudioOutput(device,settings,this);
+ connect(audioOutput,SIGNAL(notify()),SLOT(status()));
+ connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
+ gen->start();
+ audioOutput->start(gen);
+}
+
+void AudioTest::status()
+{
+ qWarning()<<"byteFree = "<<audioOutput->bytesFree()<<" bytes, clock = "<<audioOutput->clock()<<"ms, totalTime = "<<audioOutput->totalTime()/1000<<"ms";
+}
+
+void AudioTest::writeMore()
+{
+ if(!audioOutput)
+ return;
+
+ if(audioOutput->state() == QAudio::StopState)
+ return;
+
+ int l;
+ int out;
+
+ int chunks = audioOutput->bytesFree()/audioOutput->periodSize();
+ while(chunks) {
+ l = gen->read(buffer,audioOutput->periodSize());
+ if(l > 0)
+ out = output->write(buffer,l);
+ if(l != audioOutput->periodSize())
+ break;
+ chunks--;
+ }
+}
+
+void AudioTest::toggle()
+{
+ // Change between pull and push modes
+
+ timer->stop();
+ audioOutput->stop();
+
+ if (pullMode) {
+ button->setText("Click for Pull Mode");
+ output = audioOutput->start(0);
+ pullMode = false;
+ timer->start(20);
+ } else {
+ button->setText("Click for Push Mode");
+ pullMode = true;
+ audioOutput->start(gen);
+ }
+}
+
+void AudioTest::togglePlay()
+{
+ // toggle suspend/resume
+ if(audioOutput->state() == QAudio::SuspendState) {
+ qWarning()<<"status: Suspended, resume()";
+ audioOutput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioOutput->state() == QAudio::ActiveState) {
+ qWarning()<<"status: Active, suspend()";
+ audioOutput->suspend();
+ button2->setText("Click To Resume");
+ } else if (audioOutput->state() == QAudio::StopState) {
+ qWarning()<<"status: Stopped, resume()";
+ audioOutput->resume();
+ button2->setText("Click To Suspend");
+ } else if (audioOutput->state() == QAudio::IdleState) {
+ qWarning()<<"status: IdleState";
+ }
+}
+
+void AudioTest::state(QAudio::State state)
+{
+ qWarning()<<" state="<<state;
+}
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.h b/examples/multimedia/audio/audiooutput/audiooutput.h
new file mode 100644
index 0000000..1e21b48
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/audiooutput.h
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <math.h>
+
+#define BUFFER_SIZE 32768
+#define SECONDS 3
+
+#include <QObject>
+#include <QMainWindow>
+#include <QIODevice>
+#include <QTimer>
+#include <QPushButton>
+#include <QComboBox>
+
+#include <QAudioOutput>
+
+class Generator : public QIODevice
+{
+ Q_OBJECT
+public:
+ Generator(QObject *parent);
+ ~Generator();
+
+ void start();
+ void stop();
+
+ char *t;
+ int len;
+ int pos;
+ int total;
+ char *buffer;
+ bool finished;
+ int chunk_size;
+
+ qint64 readData(char *data, qint64 maxlen);
+ qint64 writeData(const char *data, qint64 len);
+
+private:
+ int putShort(char *t, unsigned int value);
+ int putLong(char *t, unsigned int value);
+ int fillData(char *start, int frequency, int seconds);
+};
+
+class AudioTest : public QMainWindow
+{
+ Q_OBJECT
+public:
+ AudioTest();
+ ~AudioTest();
+
+ QAudioDeviceId device;
+ Generator* gen;
+ QAudioOutput* audioOutput;
+ QIODevice* output;
+ QTimer* timer;
+ QAudioFormat settings;
+
+ bool pullMode;
+ char* buffer;
+
+ QPushButton* button;
+ QPushButton* button2;
+ QComboBox* deviceBox;
+
+private slots:
+ void status();
+ void writeMore();
+ void toggle();
+ void togglePlay();
+ void state(QAudio::State s);
+ void deviceChanged(int idx);
+};
+
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.pro b/examples/multimedia/audio/audiooutput/audiooutput.pro
new file mode 100644
index 0000000..08f43ce
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/audiooutput.pro
@@ -0,0 +1,11 @@
+HEADERS = audiooutput.h
+SOURCES = audiooutput.cpp \
+ main.cpp
+
+QT += multimedia
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput
+sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiooutput.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput
+INSTALLS += target sources
diff --git a/examples/multimedia/audio/audiooutput/main.cpp b/examples/multimedia/audio/audiooutput/main.cpp
new file mode 100644
index 0000000..fc319bd
--- /dev/null
+++ b/examples/multimedia/audio/audiooutput/main.cpp
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtGui>
+
+#include "audiooutput.h"
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio Output Test");
+
+ AudioTest audio;
+ audio.show();
+
+ return app.exec();
+}
diff --git a/examples/multimedia/multimedia.pro b/examples/multimedia/multimedia.pro
new file mode 100644
index 0000000..ac78b15
--- /dev/null
+++ b/examples/multimedia/multimedia.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+SUBDIRS = audio
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/multimedia
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS multimedia.pro README
+sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia
+INSTALLS += target sources
diff --git a/examples/network/ftp/sym_iap_util.h b/examples/network/ftp/sym_iap_util.h
index c399b35..1eb66a3 100644
--- a/examples/network/ftp/sym_iap_util.h
+++ b/examples/network/ftp/sym_iap_util.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/network/network.pro b/examples/network/network.pro
index 9e48e9a..99c778c 100644
--- a/examples/network/network.pro
+++ b/examples/network/network.pro
@@ -2,7 +2,6 @@ TEMPLATE = subdirs
SUBDIRS = blockingfortuneclient \
broadcastreceiver \
broadcastsender \
- network-chat \
download \
downloadmanager \
fortuneclient \
@@ -14,6 +13,9 @@ SUBDIRS = blockingfortuneclient \
googlesuggest \
torrent
+# no QProcess
+!vxworks:!qnx:SUBDIRS += network-chat
+
symbian: SUBDIRS = ftp
contains(QT_CONFIG, openssl):SUBDIRS += securesocketclient
diff --git a/examples/opengl/hellogl_es2/glwidget.cpp b/examples/opengl/hellogl_es2/glwidget.cpp
index 6b08662..bb07b22 100644
--- a/examples/opengl/hellogl_es2/glwidget.cpp
+++ b/examples/opengl/hellogl_es2/glwidget.cpp
@@ -41,6 +41,7 @@
#include "glwidget.h"
#include <QPainter>
+#include <QPaintEngine>
#include <math.h>
#include "bubble.h"
@@ -265,6 +266,8 @@ void GLWidget::paintGL()
QPainter painter;
painter.begin(this);
+ painter.paintEngine()->syncState();
+
glClearColor(0.1f, 0.1f, 0.2f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_TEXTURE_2D);
diff --git a/examples/openvg/README b/examples/openvg/README
new file mode 100644
index 0000000..5e385ea
--- /dev/null
+++ b/examples/openvg/README
@@ -0,0 +1,40 @@
+Qt provides support for integration with OpenVG implementations on
+platforms with appropriate hardware acceleration.
+
+These examples demonstrate the basic techniques used to take advantage of
+OpenVG in Qt applications. In particular, the "star" example shows how
+to mix QPainter and OpenVG calls in the same paint event.
+
+The example launcher provided with Qt can be used to explore each of the
+examples in this directory.
+
+Documentation for these examples can be found via the Tutorial and Examples
+link in the main Qt documentation.
+
+
+Finding the Qt Examples and Demos launcher
+==========================================
+
+On Windows:
+
+The launcher can be accessed via the Windows Start menu. Select the menu
+entry entitled "Qt Examples and Demos" entry in the submenu containing
+the Qt tools.
+
+On Mac OS X:
+
+For the binary distribution, the qtdemo executable is installed in the
+/Developer/Applications/Qt directory. For the source distribution, it is
+installed alongside the other Qt tools on the path specified when Qt is
+configured.
+
+On Unix/Linux:
+
+The qtdemo executable is installed alongside the other Qt tools on the path
+specified when Qt is configured.
+
+On all platforms:
+
+The source code for the launcher can be found in the demos/qtdemo directory
+in the Qt package. This example is built at the same time as the Qt libraries,
+tools, examples, and demonstrations.
diff --git a/examples/openvg/openvg.pro b/examples/openvg/openvg.pro
new file mode 100644
index 0000000..d76a389
--- /dev/null
+++ b/examples/openvg/openvg.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+SUBDIRS = star
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/openvg
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS openvg.pro README
+sources.path = $$[QT_INSTALL_EXAMPLES]/openvg
+INSTALLS += target sources
diff --git a/examples/openvg/star/main.cpp b/examples/openvg/star/main.cpp
new file mode 100644
index 0000000..eec2186
--- /dev/null
+++ b/examples/openvg/star/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenGL module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include "starwidget.h"
+
+int main(int argc, char *argv[])
+{
+#ifdef Q_OS_SYMBIAN
+ QApplication::setGraphicsSystem("openvg");
+#endif
+ QApplication app(argc, argv);
+ StarWidget mw;
+ mw.show();
+ return app.exec();
+}
diff --git a/examples/openvg/star/star.pro b/examples/openvg/star/star.pro
new file mode 100644
index 0000000..90c236d
--- /dev/null
+++ b/examples/openvg/star/star.pro
@@ -0,0 +1,6 @@
+TEMPLATE = app
+TARGET = star
+CONFIG += qt debug warn_on
+QT += openvg
+SOURCES = starwidget.cpp main.cpp
+HEADERS = starwidget.h
diff --git a/examples/openvg/star/starwidget.cpp b/examples/openvg/star/starwidget.cpp
new file mode 100644
index 0000000..9d2a255
--- /dev/null
+++ b/examples/openvg/star/starwidget.cpp
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenGL module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "starwidget.h"
+
+StarWidget::StarWidget(QWidget *parent)
+ : QWidget(parent)
+ , path(VG_INVALID_HANDLE)
+ , pen(Qt::red, 4.0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
+ , brush(Qt::yellow)
+{
+ setMinimumSize(220, 250);
+ setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+}
+
+static VGubyte const starSegments[] = {
+ VG_MOVE_TO_ABS,
+ VG_LINE_TO_REL,
+ VG_LINE_TO_REL,
+ VG_LINE_TO_REL,
+ VG_LINE_TO_REL,
+ VG_CLOSE_PATH
+};
+static VGfloat const starCoords[] = {
+ 110, 35,
+ 50, 160,
+ -130, -100,
+ 160, 0,
+ -130, 100
+};
+
+void StarWidget::paintEvent(QPaintEvent *)
+{
+ QPainter painter;
+ painter.begin(this);
+
+ // Make sure that we are using the OpenVG paint engine.
+ if (painter.paintEngine()->type() != QPaintEngine::OpenVG) {
+#ifdef Q_WS_QWS
+ qWarning("Not using OpenVG: use the '-display' option to specify an OpenVG driver");
+#else
+ qWarning("Not using OpenVG: specify '-graphicssystem OpenVG'");
+#endif
+ return;
+ }
+
+ // Select a pen and a brush for drawing the star.
+ painter.setPen(pen);
+ painter.setBrush(brush);
+
+ // We want the star border to be anti-aliased.
+ painter.setRenderHints(QPainter::Antialiasing);
+
+ // Flush the state changes to the OpenVG implementation
+ // and prepare to perform raw OpenVG calls.
+ painter.paintEngine()->syncState();
+
+ // Cache the path if we haven't already.
+ if (path == VG_INVALID_HANDLE) {
+ path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
+ VG_PATH_DATATYPE_F,
+ 1.0f, // scale
+ 0.0f, // bias
+ 6, // segmentCapacityHint
+ 10, // coordCapacityHint
+ VG_PATH_CAPABILITY_ALL);
+ vgAppendPathData(path, sizeof(starSegments), starSegments, starCoords);
+ }
+
+ // Draw the star directly using the OpenVG API.
+ vgDrawPath(path, VG_FILL_PATH | VG_STROKE_PATH);
+
+ // Restore normal QPainter operations.
+ painter.paintEngine()->syncState();
+
+ painter.end();
+}
diff --git a/examples/openvg/star/starwidget.h b/examples/openvg/star/starwidget.h
new file mode 100644
index 0000000..883f8c4
--- /dev/null
+++ b/examples/openvg/star/starwidget.h
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtOpenGL module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef STARWIDGET_H
+#define STARWIDGET_H
+
+#include <QWidget>
+#include <QPainter>
+#include <QPaintEngine>
+#include "qvg.h"
+
+class StarWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ StarWidget(QWidget *parent = 0);
+ ~StarWidget() {}
+
+protected:
+ void paintEvent(QPaintEvent *);
+
+private:
+ VGPath path;
+ QPen pen;
+ QBrush brush;
+};
+
+#endif
diff --git a/examples/painting/painterpaths/painterpaths.pro b/examples/painting/painterpaths/painterpaths.pro
index 6c9ba95..fbf2ba9 100644
--- a/examples/painting/painterpaths/painterpaths.pro
+++ b/examples/painting/painterpaths/painterpaths.pro
@@ -3,7 +3,7 @@ HEADERS = renderarea.h \
SOURCES = main.cpp \
renderarea.cpp \
window.cpp
-unix:!mac:!symbian:LIBS += -lm
+unix:!mac:!symbian:!vxworks:LIBS += -lm
# install
target.path = $$[QT_INSTALL_EXAMPLES]/painting/painterpaths
@@ -13,4 +13,4 @@ INSTALLS += target sources
include($$QT_SOURCE_TREE/examples/examplebase.pri)
-symbian:TARGET.UID3 = 0xA000A64C \ No newline at end of file
+symbian:TARGET.UID3 = 0xA000A64C
diff --git a/examples/phonon/musicplayer/mainwindow.cpp b/examples/phonon/musicplayer/mainwindow.cpp
index ee97c7a..f123d29 100644
--- a/examples/phonon/musicplayer/mainwindow.cpp
+++ b/examples/phonon/musicplayer/mainwindow.cpp
@@ -157,9 +157,12 @@ void MainWindow::tableClicked(int row, int /* column */)
mediaObject->stop();
mediaObject->clearQueue();
+ if (row >= sources.size())
+ return;
+
mediaObject->setCurrentSource(sources[row]);
- if (wasPlaying)
+ if (wasPlaying)
mediaObject->play();
else
mediaObject->stop();
diff --git a/examples/qws/qws.pro b/examples/qws/qws.pro
index e9f310f..34b1d2c 100644
--- a/examples/qws/qws.pro
+++ b/examples/qws/qws.pro
@@ -1,5 +1,7 @@
TEMPLATE = subdirs
-SUBDIRS = framebuffer mousecalibration simpledecoration
+# no /dev/fbX
+!qnx:!vxworks:SUBDIRS = framebuffer
+SUBDIRS += mousecalibration simpledecoration
# install
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS README *.pro
diff --git a/examples/script/customclass/bytearrayclass.cpp b/examples/script/customclass/bytearrayclass.cpp
index 81a0b8a..2044a16 100644
--- a/examples/script/customclass/bytearrayclass.cpp
+++ b/examples/script/customclass/bytearrayclass.cpp
@@ -100,7 +100,7 @@ ByteArrayClass::ByteArrayClass(QScriptEngine *engine)
QScriptValue global = engine->globalObject();
proto.setPrototype(global.property("Object").property("prototype"));
- ctor = engine->newFunction(construct);
+ ctor = engine->newFunction(construct, proto);
ctor.setData(qScriptValueFromValue(engine, this));
}
//! [0]
@@ -224,7 +224,10 @@ QScriptValue ByteArrayClass::construct(QScriptContext *ctx, QScriptEngine *)
ByteArrayClass *cls = qscriptvalue_cast<ByteArrayClass*>(ctx->callee().data());
if (!cls)
return QScriptValue();
- int size = ctx->argument(0).toInt32();
+ QScriptValue arg = ctx->argument(0);
+ if (arg.instanceOf(ctx->callee()))
+ return cls->newInstance(qscriptvalue_cast<QByteArray>(arg));
+ int size = arg.toInt32();
return cls->newInstance(size);
}
//! [2]
@@ -240,7 +243,7 @@ QScriptValue ByteArrayClass::toScriptValue(QScriptEngine *eng, const QByteArray
void ByteArrayClass::fromScriptValue(const QScriptValue &obj, QByteArray &ba)
{
- ba = qscriptvalue_cast<QByteArray>(obj.data());
+ ba = qvariant_cast<QByteArray>(obj.data().toVariant());
}
diff --git a/examples/script/customclass/main.cpp b/examples/script/customclass/main.cpp
index 05aefd5..3b98f5c 100644
--- a/examples/script/customclass/main.cpp
+++ b/examples/script/customclass/main.cpp
@@ -52,6 +52,7 @@ int main(int argc, char **argv)
eng.globalObject().setProperty("ByteArray", baClass->constructor());
qDebug() << "ba = new ByteArray(4):" << eng.evaluate("ba = new ByteArray(4)").toString();
+ qDebug() << "ba instanceof ByteArray:" << eng.evaluate("ba instanceof ByteArray").toBool();
qDebug() << "ba.length:" << eng.evaluate("ba.length").toNumber();
qDebug() << "ba[1] = 123; ba[1]:" << eng.evaluate("ba[1] = 123; ba[1]").toNumber();
qDebug() << "ba[7] = 224; ba.length:" << eng.evaluate("ba[7] = 224; ba.length").toNumber();
@@ -65,6 +66,9 @@ int main(int argc, char **argv)
qDebug() << "ba.toBase64().toLatin1String():" << eng.evaluate("b64.toLatin1String()").toString();
qDebug() << "ba.valueOf():" << eng.evaluate("ba.valueOf()").toString();
qDebug() << "ba.chop(2); ba.length:" << eng.evaluate("ba.chop(2); ba.length").toNumber();
+ qDebug() << "ba2 = new ByteArray(ba):" << eng.evaluate("ba2 = new ByteArray(ba)").toString();
+ qDebug() << "ba2.equals(ba):" << eng.evaluate("ba2.equals(ba)").toBool();
+ qDebug() << "ba2.equals(new ByteArray()):" << eng.evaluate("ba2.equals(new ByteArray())").toBool();
return 0;
}
diff --git a/examples/script/qsdbg/scriptdebugger.h b/examples/script/qsdbg/scriptdebugger.h
index 4752511..2d4ba07 100644
--- a/examples/script/qsdbg/scriptdebugger.h
+++ b/examples/script/qsdbg/scriptdebugger.h
@@ -78,7 +78,7 @@ protected:
ScriptDebuggerPrivate *d_ptr;
private:
- Q_DECLARE_SCOPED_PRIVATE(ScriptDebugger)
+ Q_DECLARE_PRIVATE(ScriptDebugger)
Q_DISABLE_COPY(ScriptDebugger)
};
diff --git a/examples/statemachine/factorial/main.cpp b/examples/statemachine/factorial/main.cpp
index 18a9521..5050347 100644
--- a/examples/statemachine/factorial/main.cpp
+++ b/examples/statemachine/factorial/main.cpp
@@ -151,14 +151,14 @@ int main(int argc, char **argv)
//! [3]
//! [4]
- QState *compute = new QState(machine.rootState());
+ QState *compute = new QState(&machine);
compute->assignProperty(&factorial, "fac", 1);
compute->assignProperty(&factorial, "x", 6);
compute->addTransition(new FactorialLoopTransition(&factorial));
//! [4]
//! [5]
- QFinalState *done = new QFinalState(machine.rootState());
+ QFinalState *done = new QFinalState(&machine);
FactorialDoneTransition *doneTransition = new FactorialDoneTransition(&factorial);
doneTransition->setTargetState(done);
compute->addTransition(doneTransition);
diff --git a/examples/statemachine/statemachine.pro b/examples/statemachine/statemachine.pro
index 5074a3c..ea3e7a8 100644
--- a/examples/statemachine/statemachine.pro
+++ b/examples/statemachine/statemachine.pro
@@ -4,9 +4,7 @@ SUBDIRS = \
factorial \
pingpong \
trafficlight \
- twowaybutton \
- tankgame \
- tankgameplugins
+ twowaybutton
# install
target.path = $$[QT_INSTALL_EXAMPLES]/statemachine
diff --git a/examples/statemachine/tankgame/gameitem.cpp b/examples/statemachine/tankgame/gameitem.cpp
deleted file mode 100644
index 94affb4..0000000
--- a/examples/statemachine/tankgame/gameitem.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gameitem.h"
-
-#include <QGraphicsScene>
-#include <QDebug>
-
-GameItem::GameItem(QObject *parent) : QObject(parent)
-{
-}
-
-QPointF GameItem::tryMove(const QPointF &requestedPosition, QLineF *collidedLine,
- QGraphicsItem **collidedItem) const
-{
- QLineF movementPath(pos(), requestedPosition);
-
- qreal cannonLength = 0.0;
- {
- QPointF p1 = boundingRect().center();
- QPointF p2 = QPointF(boundingRect().right() + 10.0, p1.y());
-
- cannonLength = QLineF(mapToScene(p1), mapToScene(p2)).length();
- }
-
- movementPath.setLength(movementPath.length() + cannonLength);
-
- QRectF boundingRectPath(QPointF(qMin(movementPath.x1(), movementPath.x2()), qMin(movementPath.y1(), movementPath.y2())),
- QPointF(qMax(movementPath.x1(), movementPath.x2()), qMax(movementPath.y1(), movementPath.y2())));
-
- QList<QGraphicsItem *> itemsInRect = scene()->items(boundingRectPath, Qt::IntersectsItemBoundingRect);
-
- QPointF nextPoint = requestedPosition;
- QRectF sceneRect = scene()->sceneRect();
-
- foreach (QGraphicsItem *item, itemsInRect) {
- if (item == static_cast<const QGraphicsItem *>(this))
- continue;
-
- QPolygonF mappedBoundingRect = item->mapToScene(item->boundingRect());
- for (int i=0; i<mappedBoundingRect.size(); ++i) {
- QPointF p1 = mappedBoundingRect.at(i == 0 ? mappedBoundingRect.size()-1 : i-1);
- QPointF p2 = mappedBoundingRect.at(i);
-
- QLineF rectLine(p1, p2);
- QPointF intersectionPoint;
- QLineF::IntersectType intersectType = movementPath.intersect(rectLine, &intersectionPoint);
-
- if (intersectType == QLineF::BoundedIntersection) {
- movementPath.setP2(intersectionPoint);
- movementPath.setLength(movementPath.length() - cannonLength);
- nextPoint = movementPath.p2();
-
- if (collidedLine != 0)
- *collidedLine = rectLine;
-
- if (collidedItem != 0)
- *collidedItem = item;
- }
- }
- }
-
-
- // Don't go outside of map
- if (nextPoint.x() < sceneRect.left()) {
- nextPoint.rx() = sceneRect.left();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().topLeft(), scene()->sceneRect().bottomLeft());
- }
-
- if (nextPoint.x() > sceneRect.right()) {
- nextPoint.rx() = sceneRect.right();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().topRight(), scene()->sceneRect().bottomRight());
- }
-
- if (nextPoint.y() < sceneRect.top()) {
- nextPoint.ry() = sceneRect.top();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().topLeft(), scene()->sceneRect().topRight());
- }
-
- if (nextPoint.y() > sceneRect.bottom()) {
- nextPoint.ry() = sceneRect.bottom();
- if (collidedLine != 0)
- *collidedLine = QLineF(scene()->sceneRect().bottomLeft(), scene()->sceneRect().bottomRight());
- }
-
- return nextPoint;
-}
-
diff --git a/examples/statemachine/tankgame/gameitem.h b/examples/statemachine/tankgame/gameitem.h
deleted file mode 100644
index af012bb..0000000
--- a/examples/statemachine/tankgame/gameitem.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GAMEITEM_H
-#define GAMEITEM_H
-
-#include <QGraphicsItem>
-
-QT_BEGIN_NAMESPACE
-class QLineF;
-QT_END_NAMESPACE
-class GameItem: public QObject, public QGraphicsItem
-{
- Q_OBJECT
-public:
- enum { Type = UserType + 1 };
- int type() const { return Type; }
-
- GameItem(QObject *parent = 0);
-
- virtual void idle(qreal elapsed) = 0;
-
-protected:
- QPointF tryMove(const QPointF &requestedPosition, QLineF *collidedLine = 0,
- QGraphicsItem **collidedItem = 0) const;
-};
-
-#endif
diff --git a/examples/statemachine/tankgame/gameovertransition.cpp b/examples/statemachine/tankgame/gameovertransition.cpp
deleted file mode 100644
index 634fbce..0000000
--- a/examples/statemachine/tankgame/gameovertransition.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gameovertransition.h"
-#include "tankitem.h"
-
-#include <QSignalEvent>
-#include <QSignalMapper>
-
-GameOverTransition::GameOverTransition(QAbstractState *targetState)
- : QSignalTransition(new QSignalMapper(), SIGNAL(mapped(QObject*)))
-{
- setTargetState(targetState);
-
- QSignalMapper *mapper = qobject_cast<QSignalMapper *>(senderObject());
- mapper->setParent(this);
-}
-
-void GameOverTransition::addTankItem(TankItem *tankItem)
-{
- m_tankItems.append(tankItem);
-
- QSignalMapper *mapper = qobject_cast<QSignalMapper *>(senderObject());
- mapper->setMapping(tankItem, tankItem);
- connect(tankItem, SIGNAL(aboutToBeDestroyed()), mapper, SLOT(map()));
-}
-
-bool GameOverTransition::eventTest(QEvent *e)
-{
- bool ret = QSignalTransition::eventTest(e);
-
- if (ret) {
- QSignalEvent *signalEvent = static_cast<QSignalEvent *>(e);
- QObject *sender = qvariant_cast<QObject *>(signalEvent->arguments().at(0));
- TankItem *tankItem = qobject_cast<TankItem *>(sender);
- m_tankItems.removeAll(tankItem);
-
- return m_tankItems.size() <= 1;
- } else {
- return false;
- }
-}
diff --git a/examples/statemachine/tankgame/gameovertransition.h b/examples/statemachine/tankgame/gameovertransition.h
deleted file mode 100644
index e918359..0000000
--- a/examples/statemachine/tankgame/gameovertransition.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GAMEOVERTRANSITION_H
-#define GAMEOVERTRANSITION_H
-
-#include <QSignalTransition>
-
-class TankItem;
-class GameOverTransition: public QSignalTransition
-{
- Q_OBJECT
-public:
- GameOverTransition(QAbstractState *targetState);
-
- void addTankItem(TankItem *tankItem);
-
-protected:
- bool eventTest(QEvent *event);
-
-private:
- QList<TankItem *> m_tankItems;
-};
-
-#endif
diff --git a/examples/statemachine/tankgame/main.cpp b/examples/statemachine/tankgame/main.cpp
deleted file mode 100644
index 85e2747..0000000
--- a/examples/statemachine/tankgame/main.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QApplication>
-#include "mainwindow.h"
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- MainWindow mainWindow;
- mainWindow.show();
-
- return app.exec();
-}
diff --git a/examples/statemachine/tankgame/mainwindow.cpp b/examples/statemachine/tankgame/mainwindow.cpp
deleted file mode 100644
index 68a8d68..0000000
--- a/examples/statemachine/tankgame/mainwindow.cpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "mainwindow.h"
-#include "tankitem.h"
-#include "rocketitem.h"
-#include "plugin.h"
-#include "gameovertransition.h"
-
-#include <QStateMachine>
-#include <QGraphicsView>
-#include <QAction>
-#include <QMenuBar>
-#include <QState>
-#include <QHistoryState>
-#include <QTimer>
-#include <QFileDialog>
-#include <QPluginLoader>
-#include <QApplication>
-#include <QInputDialog>
-#include <QMessageBox>
-
-MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent), m_scene(0), m_machine(0), m_runningState(0), m_started(false)
-{
- init();
-}
-
-MainWindow::~MainWindow()
-{
-}
-
-void MainWindow::addWall(const QRectF &wall)
-{
- QGraphicsRectItem *item = new QGraphicsRectItem;
- item->setRect(wall);
- item->setBrush(Qt::darkGreen);
- item->setPen(QPen(Qt::black, 0));
-
- m_scene->addItem(item);
-}
-
-void MainWindow::init()
-{
- setWindowTitle("Pluggable Tank Game");
-
- QGraphicsView *view = new QGraphicsView(this);
- view->setRenderHints(QPainter::Antialiasing);
- setCentralWidget(view);
-
- m_scene = new QGraphicsScene(this);
- view->setScene(m_scene);
-
- QRectF sceneRect = QRectF(-200.0, -200.0, 400.0, 400.0);
- m_scene->setSceneRect(sceneRect);
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().topLeft() + QPointF(30.0, 30.0));
- item->setDirection(45.0);
- item->setColor(Qt::red);
-
- m_spawns.append(item);
- }
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().topRight() + QPointF(-30.0, 30.0));
- item->setDirection(135.0);
- item->setColor(Qt::green);
-
- m_spawns.append(item);
- }
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().bottomRight() + QPointF(-30.0, -30.0));
- item->setDirection(225.0);
- item->setColor(Qt::blue);
-
- m_spawns.append(item);
- }
-
- {
- TankItem *item = new TankItem(this);
-
- item->setPos(m_scene->sceneRect().bottomLeft() + QPointF(30.0, -30.0));
- item->setDirection(315.0);
- item->setColor(Qt::yellow);
-
- m_spawns.append(item);
- }
-
- QPointF centerOfMap = sceneRect.center();
-
- addWall(QRectF(centerOfMap + QPointF(-50.0, -60.0), centerOfMap + QPointF(50.0, -50.0)));
- addWall(QRectF(centerOfMap - QPointF(-50.0, -60.0), centerOfMap - QPointF(50.0, -50.0)));
- addWall(QRectF(centerOfMap + QPointF(-50.0, -50.0), centerOfMap + QPointF(-40.0, 50.0)));
- addWall(QRectF(centerOfMap - QPointF(-50.0, -50.0), centerOfMap - QPointF(-40.0, 50.0)));
-
- addWall(QRectF(sceneRect.topLeft() + QPointF(sceneRect.width() / 2.0 - 5.0, -10.0),
- sceneRect.topLeft() + QPointF(sceneRect.width() / 2.0 + 5.0, 100.0)));
- addWall(QRectF(sceneRect.bottomLeft() + QPointF(sceneRect.width() / 2.0 - 5.0, 10.0),
- sceneRect.bottomLeft() + QPointF(sceneRect.width() / 2.0 + 5.0, -100.0)));
- addWall(QRectF(sceneRect.topLeft() + QPointF(-10.0, sceneRect.height() / 2.0 - 5.0),
- sceneRect.topLeft() + QPointF(100.0, sceneRect.height() / 2.0 + 5.0)));
- addWall(QRectF(sceneRect.topRight() + QPointF(10.0, sceneRect.height() / 2.0 - 5.0),
- sceneRect.topRight() + QPointF(-100.0, sceneRect.height() / 2.0 + 5.0)));
-
-
- QAction *addTankAction = menuBar()->addAction("&Add tank");
- QAction *runGameAction = menuBar()->addAction("&Run game");
- runGameAction->setObjectName("runGameAction");
- QAction *stopGameAction = menuBar()->addAction("&Stop game");
- menuBar()->addSeparator();
- QAction *quitAction = menuBar()->addAction("&Quit");
-
- connect(addTankAction, SIGNAL(triggered()), this, SLOT(addTank()));
- connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
-
- m_machine = new QStateMachine(this);
- QState *stoppedState = new QState(m_machine->rootState());
- stoppedState->setObjectName("stoppedState");
- stoppedState->assignProperty(runGameAction, "enabled", true);
- stoppedState->assignProperty(stopGameAction, "enabled", false);
- stoppedState->assignProperty(this, "started", false);
- m_machine->setInitialState(stoppedState);
-
-//! [5]
- QState *spawnsAvailable = new QState(stoppedState);
- spawnsAvailable->assignProperty(addTankAction, "enabled", true);
-
- QState *noSpawnsAvailable = new QState(stoppedState);
- noSpawnsAvailable->assignProperty(addTankAction, "enabled", false);
-//! [5]
- spawnsAvailable->setObjectName("spawnsAvailable");
- noSpawnsAvailable->setObjectName("noSpawnsAvailable");
-
- spawnsAvailable->addTransition(this, SIGNAL(mapFull()), noSpawnsAvailable);
-
-//! [3]
- QHistoryState *hs = new QHistoryState(stoppedState);
- hs->setDefaultState(spawnsAvailable);
-//! [3]
- hs->setObjectName("hs");
-
- stoppedState->setInitialState(hs);
-
-//! [0]
- m_runningState = new QState(QState::ParallelStates, m_machine->rootState());
-//! [0]
- m_runningState->setObjectName("runningState");
- m_runningState->assignProperty(addTankAction, "enabled", false);
- m_runningState->assignProperty(runGameAction, "enabled", false);
- m_runningState->assignProperty(stopGameAction, "enabled", true);
-
- QState *gameOverState = new QState(m_machine->rootState());
- gameOverState->setObjectName("gameOverState");
- gameOverState->assignProperty(stopGameAction, "enabled", false);
- connect(gameOverState, SIGNAL(entered()), this, SLOT(gameOver()));
-
- stoppedState->addTransition(runGameAction, SIGNAL(triggered()), m_runningState);
- m_runningState->addTransition(stopGameAction, SIGNAL(triggered()), stoppedState);
-
- m_gameOverTransition = new GameOverTransition(gameOverState);
- m_runningState->addTransition(m_gameOverTransition);
-
- QTimer *timer = new QTimer(this);
- timer->setInterval(100);
- connect(timer, SIGNAL(timeout()), this, SLOT(runStep()));
- connect(m_runningState, SIGNAL(entered()), timer, SLOT(start()));
- connect(m_runningState, SIGNAL(exited()), timer, SLOT(stop()));
-
- m_machine->start();
- m_time.start();
-}
-
-void MainWindow::runStep()
-{
- if (!m_started) {
- m_time.restart();
- m_started = true;
- } else {
- int elapsed = m_time.elapsed();
- if (elapsed > 0) {
- m_time.restart();
- qreal elapsedSecs = elapsed / 1000.0;
- QList<QGraphicsItem *> items = m_scene->items();
- foreach (QGraphicsItem *item, items) {
- if (GameItem *gameItem = qgraphicsitem_cast<GameItem *>(item))
- gameItem->idle(elapsedSecs);
- }
- }
- }
-}
-
-void MainWindow::gameOver()
-{
- QList<QGraphicsItem *> items = m_scene->items();
-
- TankItem *lastTankStanding = 0;
- foreach (QGraphicsItem *item, items) {
- if (GameItem *gameItem = qgraphicsitem_cast<GameItem *>(item)) {
- if ((lastTankStanding = qobject_cast<TankItem *>(gameItem)) != 0)
- break;
- }
- }
-
- QMessageBox::information(this, "Game over!",
- QString::fromLatin1("The tank played by '%1' has won!").arg(lastTankStanding->objectName()));
-}
-
-void MainWindow::addRocket()
-{
- TankItem *tankItem = qobject_cast<TankItem *>(sender());
- if (tankItem != 0) {
- RocketItem *rocketItem = new RocketItem;
-
- QPointF s = tankItem->mapToScene(QPointF(tankItem->boundingRect().right() + 10.0,
- tankItem->boundingRect().center().y()));
- rocketItem->setPos(s);
- rocketItem->setDirection(tankItem->direction());
- m_scene->addItem(rocketItem);
- }
-}
-
-void MainWindow::addTank()
-{
- Q_ASSERT(!m_spawns.isEmpty());
-
- QDir pluginsDir(qApp->applicationDirPath());
-#if defined(Q_OS_WIN)
- if (pluginsDir.dirName().toLower() == "debug" || pluginsDir.dirName().toLower() == "release")
- pluginsDir.cdUp();
-#elif defined(Q_OS_MAC)
- if (pluginsDir.dirName() == "MacOS") {
- pluginsDir.cdUp();
- pluginsDir.cdUp();
- pluginsDir.cdUp();
- }
-#endif
-
- pluginsDir.cd("plugins");
-
- QStringList itemNames;
- QList<Plugin *> items;
- foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
- QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
- QObject *possiblePlugin = loader.instance();
- if (Plugin *plugin = qobject_cast<Plugin *>(possiblePlugin)) {
- QString objectName = possiblePlugin->objectName();
- if (objectName.isEmpty())
- objectName = fileName;
-
- itemNames.append(objectName);
- items.append(plugin);
- }
- }
-
- if (items.isEmpty()) {
- QMessageBox::information(this, "No tank types found", "Please build the errorstateplugins directory");
- return;
- }
-
- bool ok;
-//! [1]
- QString selectedName = QInputDialog::getItem(this, "Select a tank type", "Tank types",
- itemNames, 0, false, &ok);
-//! [1]
-
- if (ok && !selectedName.isEmpty()) {
- int idx = itemNames.indexOf(selectedName);
- if (Plugin *plugin = idx >= 0 ? items.at(idx) : 0) {
- TankItem *tankItem = m_spawns.takeLast();
- tankItem->setObjectName(selectedName);
- tankItem->setToolTip(selectedName);
- m_scene->addItem(tankItem);
- connect(tankItem, SIGNAL(cannonFired()), this, SLOT(addRocket()));
- if (m_spawns.isEmpty())
- emit mapFull();
-
- m_gameOverTransition->addTankItem(tankItem);
-
- QState *region = new QState(m_runningState);
- region->setObjectName(QString::fromLatin1("region%1").arg(m_spawns.size()));
-//! [2]
- QState *pluginState = plugin->create(region, tankItem);
-//! [2]
- region->setInitialState(pluginState);
-
- // If the plugin has an error it is disabled
-//! [4]
- QState *errorState = new QState(region);
- errorState->setObjectName(QString::fromLatin1("errorState%1").arg(m_spawns.size()));
- errorState->assignProperty(tankItem, "enabled", false);
- pluginState->setErrorState(errorState);
-//! [4]
- }
- }
-}
-
diff --git a/examples/statemachine/tankgame/mainwindow.h b/examples/statemachine/tankgame/mainwindow.h
deleted file mode 100644
index d42b7ac..0000000
--- a/examples/statemachine/tankgame/mainwindow.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-#include <QTime>
-
-QT_BEGIN_NAMESPACE
-class QGraphicsScene;
-class QStateMachine;
-class QState;
-QT_END_NAMESPACE
-class GameOverTransition;
-class TankItem;
-
-class MainWindow: public QMainWindow
-{
- Q_OBJECT
- Q_PROPERTY(bool started READ started WRITE setStarted)
-public:
- MainWindow(QWidget *parent = 0);
- ~MainWindow();
-
- void setStarted(bool b) { m_started = b; }
- bool started() const { return m_started; }
-
-public slots:
- void addTank();
- void addRocket();
- void runStep();
- void gameOver();
-
-signals:
- void mapFull();
-
-private:
- void init();
- void addWall(const QRectF &wall);
-
- QGraphicsScene *m_scene;
-
- QStateMachine *m_machine;
- QState *m_runningState;
- GameOverTransition *m_gameOverTransition;
-
- QList<TankItem *> m_spawns;
- QTime m_time;
-
- bool m_started : 1;
-};
-
-#endif
-
diff --git a/examples/statemachine/tankgame/plugin.h b/examples/statemachine/tankgame/plugin.h
deleted file mode 100644
index 97e4640..0000000
--- a/examples/statemachine/tankgame/plugin.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef PLUGIN_H
-#define PLUGIN_H
-
-#include <QtPlugin>
-
-QT_BEGIN_NAMESPACE
-class QState;
-QT_END_NAMESPACE
-class Plugin
-{
-public:
- virtual ~Plugin() {}
-
- virtual QState *create(QState *parentState, QObject *tank) = 0;
-};
-
-QT_BEGIN_NAMESPACE
-Q_DECLARE_INTERFACE(Plugin, "TankPlugin")
-QT_END_NAMESPACE
-
-#endif
diff --git a/examples/statemachine/tankgame/rocketitem.cpp b/examples/statemachine/tankgame/rocketitem.cpp
deleted file mode 100644
index d286e5d..0000000
--- a/examples/statemachine/tankgame/rocketitem.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "rocketitem.h"
-#include "tankitem.h"
-
-#include <QPainter>
-#include <QGraphicsScene>
-
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-RocketItem::RocketItem(QObject *parent)
- : GameItem(parent), m_direction(0.0), m_distance(300.0)
-{
-}
-
-QRectF RocketItem::boundingRect() const
-{
- return QRectF(-1.0, -1.0, 2.0, 2.0);
-}
-
-void RocketItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- painter->setBrush(Qt::black);
- painter->drawEllipse(boundingRect());
-}
-
-void RocketItem::idle(qreal elapsed)
-{
- qreal dist = elapsed * speed();
-
- m_distance -= dist;
- if (m_distance < 0.0) {
- scene()->removeItem(this);
- delete this;
- return;
- }
-
- qreal a = m_direction * M_PI / 180.0;
-
- qreal yd = dist * sin(a);
- qreal xd = dist * sin(M_PI / 2.0 - a);
-
- QPointF requestedPosition = pos() + QPointF(xd, yd);
- QGraphicsItem *collidedItem = 0;
- QPointF nextPosition = tryMove(requestedPosition, 0, &collidedItem);
- if (requestedPosition == nextPosition) {
- setPos(nextPosition);
- } else {
- if (GameItem *gameItem = qgraphicsitem_cast<GameItem *>(collidedItem)) {
- TankItem *tankItem = qobject_cast<TankItem *>(gameItem);
- if (tankItem != 0)
- tankItem->hitByRocket();
- }
-
- scene()->removeItem(this);
- delete this;
- }
-}
diff --git a/examples/statemachine/tankgame/rocketitem.h b/examples/statemachine/tankgame/rocketitem.h
deleted file mode 100644
index a485d03..0000000
--- a/examples/statemachine/tankgame/rocketitem.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef ROCKETITEM_H
-#define ROCKETITEM_H
-
-#include "gameitem.h"
-
-class RocketItem: public GameItem
-{
- Q_OBJECT
-public:
- RocketItem(QObject *parent = 0);
-
- virtual void idle(qreal elapsed);
- qreal speed() const { return 100.0; }
- void setDirection(qreal direction) { m_direction = direction; }
-
-protected:
- virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
- QRectF boundingRect() const;
-
-private:
- qreal m_direction;
- qreal m_distance;
-};
-
-#endif
diff --git a/examples/statemachine/tankgame/tankgame.pro b/examples/statemachine/tankgame/tankgame.pro
deleted file mode 100644
index 59415be..0000000
--- a/examples/statemachine/tankgame/tankgame.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-HEADERS += mainwindow.h \
- plugin.h \
- tankitem.h \
- rocketitem.h \
- gameitem.h \
- gameovertransition.h
-SOURCES += main.cpp \
- mainwindow.cpp \
- tankitem.cpp \
- rocketitem.cpp \
- gameitem.cpp \
- gameovertransition.cpp
-CONFIG += console
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS tankgame.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame
-INSTALLS += target sources
diff --git a/examples/statemachine/tankgame/tankitem.cpp b/examples/statemachine/tankgame/tankitem.cpp
deleted file mode 100644
index 192b272..0000000
--- a/examples/statemachine/tankgame/tankitem.cpp
+++ /dev/null
@@ -1,302 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "tankitem.h"
-
-#include <QPainter>
-#include <QGraphicsScene>
-#include <QDebug>
-
-#include <math.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
-class Action
-{
-public:
- Action(TankItem *item) : m_item(item)
- {
- }
-
- TankItem *item() const { return m_item; }
- void setItem(TankItem *item) { m_item = item; }
-
- virtual bool apply(qreal timeDelta) = 0;
-
-private:
- TankItem *m_item;
-};
-
-class MoveAction: public Action
-{
-public:
- MoveAction(TankItem *item, qreal distance)
- : Action(item), m_distance(distance)
- {
- m_reverse = m_distance < 0.0;
- }
-
- bool apply(qreal timeDelta)
- {
- qreal dist = timeDelta * item()->speed() * (m_reverse ? -1.0 : 1.0);
-
- bool done = false;
- if (qAbs(m_distance) < qAbs(dist)) {
- done = true;
- dist = m_distance;
- }
- m_distance -= dist;
-
- qreal a = item()->direction() * M_PI / 180.0;
-
- qreal yd = dist * sin(a);
- qreal xd = dist * sin(M_PI / 2.0 - a);
-
- item()->setPos(item()->pos() + QPointF(xd, yd));
- return !done;
- }
-
-private:
- qreal m_distance;
- bool m_reverse;
-};
-
-class TurnAction: public Action
-{
-public:
- TurnAction(TankItem *item, qreal distance)
- : Action(item), m_distance(distance)
- {
- m_reverse = m_distance < 0.0;
- }
-
- bool apply(qreal timeDelta)
- {
- qreal dist = timeDelta * item()->angularSpeed() * (m_reverse ? -1.0 : 1.0);
- bool done = false;
- if (qAbs(m_distance) < qAbs(dist)) {
- done = true;
- dist = m_distance;
- }
- m_distance -= dist;
-
- item()->setDirection(item()->direction() + dist);
- return !done;
- }
-
-private:
- qreal m_distance;
- bool m_reverse;
-};
-
-TankItem::TankItem(QObject *parent)
- : GameItem(parent), m_currentAction(0), m_currentDirection(0.0), m_enabled(true)
-{
- connect(this, SIGNAL(cannonFired()), this, SIGNAL(actionCompleted()));
-}
-
-void TankItem::idle(qreal elapsed)
-{
- if (m_enabled) {
- if (m_currentAction != 0) {
- if (!m_currentAction->apply(elapsed)) {
- setAction(0);
- emit actionCompleted();
- }
-
- QGraphicsItem *item = 0;
- qreal distance = distanceToObstacle(&item);
- if (TankItem *tankItem = qgraphicsitem_cast<TankItem *>(item))
- emit tankSpotted(tankItem->direction(), distance);
- }
- }
-}
-
-void TankItem::hitByRocket()
-{
- emit aboutToBeDestroyed();
- deleteLater();
-}
-
-void TankItem::setAction(Action *newAction)
-{
- if (m_currentAction != 0)
- delete m_currentAction;
-
- m_currentAction = newAction;
-}
-
-void TankItem::fireCannon()
-{
- emit cannonFired();
-}
-
-void TankItem::moveForwards(qreal length)
-{
- setAction(new MoveAction(this, length));
-}
-
-void TankItem::moveBackwards(qreal length)
-{
- setAction(new MoveAction(this, -length));
-}
-
-void TankItem::turn(qreal degrees)
-{
- setAction(new TurnAction(this, degrees));
-}
-
-void TankItem::turnTo(qreal degrees)
-{
- setAction(new TurnAction(this, degrees - direction()));
-}
-
-void TankItem::stop()
-{
- setAction(0);
-}
-
-QVariant TankItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
-{
- if (change == ItemPositionChange && scene()) {
- QPointF requestedPosition = value.toPointF();
- QLineF collidedLine;
- QPointF nextPoint = tryMove(requestedPosition, &collidedLine);
- if (nextPoint != requestedPosition)
- emit collision(collidedLine);
- return nextPoint;
- } else {
- return QGraphicsItem::itemChange(change, value);
- }
-}
-
-
-void TankItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
-{
- QRectF brect = boundingRect();
-
- painter->setBrush(m_color);
- painter->setPen(Qt::black);
-
- // body
- painter->drawRect(brect.adjusted(0.0, 4.0, -2.0, -4.0));
-
- // cannon
- QRectF cannonBase = brect.adjusted(10.0, 6.0, -12.0, -6.0);
- painter->drawEllipse(cannonBase);
-
- painter->drawRect(QRectF(QPointF(cannonBase.center().x(), cannonBase.center().y() - 2.0),
- QPointF(brect.right(), cannonBase.center().y() + 2.0)));
-
- // left track
- painter->setBrush(QBrush(Qt::black, Qt::VerPattern));
- QRectF leftTrackRect = QRectF(brect.topLeft(), QPointF(brect.right() - 2.0, brect.top() + 4.0));
- painter->fillRect(leftTrackRect, Qt::darkYellow);
- painter->drawRect(leftTrackRect);
-
- // right track
- QRectF rightTrackRect = QRectF(QPointF(brect.left(), brect.bottom() - 4.0),
- QPointF(brect.right() - 2.0, brect.bottom()));
- painter->fillRect(rightTrackRect, Qt::darkYellow);
- painter->drawRect(rightTrackRect);
-
- if (!m_enabled) {
- painter->setPen(QPen(Qt::red, 5));
-
- painter->drawEllipse(brect);
-
- QPainterPath path;
- path.addEllipse(brect);
- painter->setClipPath(path);
- painter->drawLine(brect.topRight(), brect.bottomLeft());
- }
-}
-
-QRectF TankItem::boundingRect() const
-{
- return QRectF(-20.0, -10.0, 40.0, 20.0);
-}
-
-qreal TankItem::direction() const
-{
- return m_currentDirection;
-}
-
-void TankItem::setDirection(qreal newDirection)
-{
- int fullRotations = int(newDirection) / 360;
- newDirection -= fullRotations * 360.0;
-
- qreal diff = newDirection - m_currentDirection;
- m_currentDirection = newDirection;
- rotate(diff);
-}
-
-qreal TankItem::distanceToObstacle(QGraphicsItem **obstacle) const
-{
- qreal dist = sqrt(pow(scene()->sceneRect().width(), 2) + pow(scene()->sceneRect().height(), 2));
-
- qreal a = m_currentDirection * M_PI / 180.0;
-
- qreal yd = dist * sin(a);
- qreal xd = dist * sin(M_PI / 2.0 - a);
-
- QPointF requestedPosition = pos() + QPointF(xd, yd);
- QGraphicsItem *collidedItem = 0;
- QPointF nextPosition = tryMove(requestedPosition, 0, &collidedItem);
- if (collidedItem != 0) {
- if (obstacle != 0)
- *obstacle = collidedItem;
-
- QPointF d = nextPosition - pos();
- return sqrt(pow(d.x(), 2) + pow(d.y(), 2));
- } else {
- return 0.0;
- }
-}
-
-qreal TankItem::distanceToObstacle() const
-{
- return distanceToObstacle(0);
-}
-
diff --git a/examples/statemachine/tankgame/tankitem.h b/examples/statemachine/tankgame/tankitem.h
deleted file mode 100644
index a2f72de..0000000
--- a/examples/statemachine/tankgame/tankitem.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef TANKITEM_H
-#define TANKITEM_H
-
-#include "gameitem.h"
-
-#include <QColor>
-
-class Action;
-class TankItem: public GameItem
-{
- Q_OBJECT
- Q_PROPERTY(bool enabled READ enabled WRITE setEnabled)
- Q_PROPERTY(qreal direction READ direction WRITE turnTo)
- Q_PROPERTY(qreal distanceToObstacle READ distanceToObstacle)
-public:
- TankItem(QObject *parent = 0);
-
- void setColor(const QColor &color) { m_color = color; }
- QColor color() const { return m_color; }
-
- void idle(qreal elapsed);
- void setDirection(qreal newDirection);
-
- qreal speed() const { return 90.0; }
- qreal angularSpeed() const { return 90.0; }
-
- QRectF boundingRect() const;
-
- void hitByRocket();
-
- void setEnabled(bool b) { m_enabled = b; }
- bool enabled() const { return m_enabled; }
-
- qreal direction() const;
- qreal distanceToObstacle() const;
- qreal distanceToObstacle(QGraphicsItem **item) const;
-
-//! [0]
-signals:
- void tankSpotted(qreal direction, qreal distance);
- void collision(const QLineF &collidedLine);
- void actionCompleted();
- void cannonFired();
- void aboutToBeDestroyed();
-
-public slots:
- void moveForwards(qreal length = 10.0);
- void moveBackwards(qreal length = 10.0);
- void turn(qreal degrees = 30.0);
- void turnTo(qreal degrees = 0.0);
- void stop();
- void fireCannon();
-//! [0]
-
-protected:
- virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
- QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value);
-
-private:
- void setAction(Action *newAction);
-
- Action *m_currentAction;
- qreal m_currentDirection;
- QColor m_color;
- bool m_enabled;
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/random_ai/random_ai.pro b/examples/statemachine/tankgameplugins/random_ai/random_ai.pro
deleted file mode 100644
index 5bc0b26..0000000
--- a/examples/statemachine/tankgameplugins/random_ai/random_ai.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = random_ai_plugin.h
-SOURCES = random_ai_plugin.cpp
-TARGET = $$qtLibraryTarget(random_ai)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS random_ai.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/random_ai \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp b/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp
deleted file mode 100644
index ddfd1c5..0000000
--- a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "random_ai_plugin.h"
-
-#include <QState>
-#include <QTime>
-#include <QtPlugin>
-
-QState *RandomAiPlugin::create(QState *parentState, QObject *tank)
-{
- qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
-
- QState *topLevel = new QState(parentState);
-
- QState *selectNextActionState = new SelectActionState(topLevel);
- topLevel->setInitialState(selectNextActionState);
-
- QState *fireState = new RandomDistanceState(topLevel);
- connect(fireState, SIGNAL(distanceComputed(qreal)), tank, SLOT(fireCannon()));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(fireSelected()), fireState);
-
- QState *moveForwardsState = new RandomDistanceState(topLevel);
- connect(moveForwardsState, SIGNAL(distanceComputed(qreal)), tank, SLOT(moveForwards(qreal)));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(moveForwardsSelected()), moveForwardsState);
-
- QState *moveBackwardsState = new RandomDistanceState(topLevel);
- connect(moveBackwardsState, SIGNAL(distanceComputed(qreal)), tank, SLOT(moveBackwards(qreal)));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(moveBackwardsSelected()), moveBackwardsState);
-
- QState *turnState = new RandomDistanceState(topLevel);
- connect(turnState, SIGNAL(distanceComputed(qreal)), tank, SLOT(turn(qreal)));
- selectNextActionState->addTransition(selectNextActionState, SIGNAL(turnSelected()), turnState);
-
- topLevel->addTransition(tank, SIGNAL(actionCompleted()), selectNextActionState);
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(random_ai, RandomAiPlugin)
diff --git a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h b/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h
deleted file mode 100644
index 4c3fc0f..0000000
--- a/examples/statemachine/tankgameplugins/random_ai/random_ai_plugin.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef RANDOM_AI_PLUGIN_H
-#define RANDOM_AI_PLUGIN_H
-
-#include <QObject>
-#include <QState>
-
-#include <tankgame/plugin.h>
-
-class SelectActionState: public QState
-{
- Q_OBJECT
-public:
- SelectActionState(QState *parent = 0) : QState(parent)
- {
- }
-
-signals:
- void fireSelected();
- void moveForwardsSelected();
- void moveBackwardsSelected();
- void turnSelected();
-
-protected:
- void onEntry(QEvent *)
- {
- int rand = qrand() % 4;
- switch (rand) {
- case 0: emit fireSelected(); break;
- case 1: emit moveForwardsSelected(); break;
- case 2: emit moveBackwardsSelected(); break;
- case 3: emit turnSelected(); break;
- };
- }
-};
-
-class RandomDistanceState: public QState
-{
- Q_OBJECT
-public:
- RandomDistanceState(QState *parent = 0) : QState(parent)
- {
- }
-
-signals:
- void distanceComputed(qreal distance);
-
-protected:
- void onEntry(QEvent *)
- {
- emit distanceComputed(qreal(qrand() % 180));
- }
-};
-
-class RandomAiPlugin: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- RandomAiPlugin() { setObjectName("Random"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif // RANDOM_AI_PLUGIN_H
diff --git a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp b/examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp
deleted file mode 100644
index 79d7d0c..0000000
--- a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "seek_ai.h"
-
-QState *SeekAi::create(QState *parentState, QObject *tank)
-{
- QState *topLevel = new QState(parentState);
- topLevel->setObjectName("topLevel");
-
- QState *seek = new QState(topLevel);
- seek->setObjectName("seek");
- topLevel->setInitialState(seek);
-
- QState *lookForNearestWall = new SearchState(tank, seek);
- lookForNearestWall->setObjectName("lookForNearestWall");
- seek->setInitialState(lookForNearestWall);
-
- QState *driveToFirstObstacle = new QState(seek);
- driveToFirstObstacle->setObjectName("driveToFirstObstacle");
- lookForNearestWall->addTransition(lookForNearestWall, SIGNAL(nearestObstacleStraightAhead()),
- driveToFirstObstacle);
-
- QState *drive = new QState(driveToFirstObstacle);
- drive->setObjectName("drive");
- driveToFirstObstacle->setInitialState(drive);
- connect(drive, SIGNAL(entered()), tank, SLOT(moveForwards()));
- connect(drive, SIGNAL(exited()), tank, SLOT(stop()));
-
- // Go in loop
- QState *finishedDriving = new QState(driveToFirstObstacle);
- finishedDriving->setObjectName("finishedDriving");
- drive->addTransition(tank, SIGNAL(actionCompleted()), finishedDriving);
- finishedDriving->addTransition(drive);
-
- QState *turnTo = new QState(seek);
- turnTo->setObjectName("turnTo");
- driveToFirstObstacle->addTransition(new CollisionTransition(tank, turnTo));
-
- turnTo->addTransition(tank, SIGNAL(actionCompleted()), driveToFirstObstacle);
-
- ChaseState *chase = new ChaseState(tank, topLevel);
- chase->setObjectName("chase");
- seek->addTransition(new TankSpottedTransition(tank, chase));
- chase->addTransition(chase, SIGNAL(finished()), driveToFirstObstacle);
- chase->addTransition(new TankSpottedTransition(tank, chase));
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(seek_ai, SeekAi)
diff --git a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.h b/examples/statemachine/tankgameplugins/seek_ai/seek_ai.h
deleted file mode 100644
index 1bc5b26..0000000
--- a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SEEK_AI_H
-#define SEEK_AI_H
-
-#include <tankgame/plugin.h>
-
-#include <QState>
-#include <QFinalState>
-#include <QSignalTransition>
-#include <QSignalEvent>
-#include <QVariant>
-#include <QLineF>
-#include <QDebug>
-
-class SearchState: public QState
-{
- Q_OBJECT
-public:
- SearchState(QObject *tank, QState *parentState = 0)
- : QState(parentState),
- m_tank(tank),
- m_distanceToTurn(360.0),
- m_nearestDistance(-1.0),
- m_directionOfNearestObstacle(0.0)
- {
- }
-
-public slots:
- void turnAlittle()
- {
- qreal dist = m_tank->property("distanceToObstacle").toDouble();
-
- if (m_nearestDistance < 0.0 || dist < m_nearestDistance) {
- m_nearestDistance = dist;
- m_directionOfNearestObstacle = m_tank->property("direction").toDouble();
- }
-
- m_distanceToTurn -= 10.0;
- if (m_distanceToTurn < 0.0) {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(turnAlittle()));
- connect(m_tank, SIGNAL(actionCompleted()), this, SIGNAL(nearestObstacleStraightAhead()));
- m_tank->setProperty("direction", m_directionOfNearestObstacle);
- }
-
- qreal currentDirection = m_tank->property("direction").toDouble();
- m_tank->setProperty("direction", currentDirection + 10.0);
- }
-
-signals:
- void nearestObstacleStraightAhead();
-
-protected:
- void onEntry(QEvent *)
- {
- connect(m_tank, SIGNAL(actionCompleted()), this, SLOT(turnAlittle()));
- turnAlittle();
- }
-
- void onExit(QEvent *)
- {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(turnAlittle()));
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(nearestObstacleStraightAhead()));
- }
-
-private:
- QObject *m_tank;
-
- qreal m_distanceToTurn;
- qreal m_nearestDistance;
- qreal m_directionOfNearestObstacle;
-};
-
-class CollisionTransition: public QSignalTransition
-{
-public:
- CollisionTransition(QObject *tank, QState *turnTo)
- : QSignalTransition(tank, SIGNAL(collision(QLineF))),
- m_tank(tank),
- m_turnTo(turnTo)
- {
- setTargetState(turnTo);
- }
-
-protected:
- bool eventTest(QEvent *event)
- {
- bool b = QSignalTransition::eventTest(event);
- if (b) {
- QSignalEvent *se = static_cast<QSignalEvent *>(event);
- m_lastLine = se->arguments().at(0).toLineF();
- }
- return b;
- }
-
- void onTransition(QEvent *)
- {
- qreal angleOfWall = m_lastLine.angle();
-
- qreal newDirection;
- if (qrand() % 2 == 0)
- newDirection = angleOfWall;
- else
- newDirection = angleOfWall - 180.0;
-
- m_turnTo->assignProperty(m_tank, "direction", newDirection);
- }
-
-private:
- QLineF m_lastLine;
- QObject *m_tank;
- QState *m_turnTo;
-};
-
-class ChaseState: public QState
-{
- class GoToLocationState: public QState
- {
- public:
- GoToLocationState(QObject *tank, QState *parentState = 0)
- : QState(parentState), m_tank(tank), m_distance(0.0)
- {
- }
-
- void setDistance(qreal distance) { m_distance = distance; }
-
- protected:
- void onEntry()
- {
- QMetaObject::invokeMethod(m_tank, "moveForwards", Q_ARG(qreal, m_distance));
- }
-
- private:
- QObject *m_tank;
- qreal m_distance;
- };
-
-public:
- ChaseState(QObject *tank, QState *parentState = 0) : QState(parentState), m_tank(tank)
- {
- QState *fireCannon = new QState(this);
- fireCannon->setObjectName("fireCannon");
- connect(fireCannon, SIGNAL(entered()), tank, SLOT(fireCannon()));
- setInitialState(fireCannon);
-
- m_goToLocation = new GoToLocationState(tank, this);
- m_goToLocation->setObjectName("goToLocation");
- fireCannon->addTransition(tank, SIGNAL(actionCompleted()), m_goToLocation);
-
- m_turnToDirection = new QState(this);
- m_turnToDirection->setObjectName("turnToDirection");
- m_goToLocation->addTransition(tank, SIGNAL(actionCompleted()), m_turnToDirection);
-
- QFinalState *finalState = new QFinalState(this);
- finalState->setObjectName("finalState");
- m_turnToDirection->addTransition(tank, SIGNAL(actionCompleted()), finalState);
- }
-
- void setDirection(qreal direction)
- {
- m_turnToDirection->assignProperty(m_tank, "direction", direction);
- }
-
- void setDistance(qreal distance)
- {
- m_goToLocation->setDistance(distance);
- }
-
-private:
- QObject *m_tank;
- GoToLocationState *m_goToLocation;
- QState *m_turnToDirection;
-
-};
-
-class TankSpottedTransition: public QSignalTransition
-{
-public:
- TankSpottedTransition(QObject *tank, ChaseState *target) : QSignalTransition(tank, SIGNAL(tankSpotted(qreal,qreal))), m_chase(target)
- {
- setTargetState(target);
- }
-
-protected:
- bool eventTest(QEvent *event)
- {
- bool b = QSignalTransition::eventTest(event);
- if (b) {
- QSignalEvent *se = static_cast<QSignalEvent *>(event);
- m_chase->setDirection(se->arguments().at(0).toDouble());
- m_chase->setDistance(se->arguments().at(1).toDouble());
- }
- return b;
- }
-
-private:
- ChaseState *m_chase;
-};
-
-class SeekAi: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- SeekAi() { setObjectName("Seek and destroy"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro b/examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro
deleted file mode 100644
index 0d8bf2e..0000000
--- a/examples/statemachine/tankgameplugins/seek_ai/seek_ai.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = seek_ai.h
-SOURCES = seek_ai.cpp
-TARGET = $$qtLibraryTarget(seek_ai)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS seek_ai.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/seek_ai \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp b/examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp
deleted file mode 100644
index 4e71285..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "spin_ai.h"
-
-#include <QtPlugin>
-
-QState *SpinAi::create(QState *parentState, QObject *tank)
-{
- QState *topLevel = new QState(parentState);
- QState *spinState = new SpinState(tank, topLevel);
- topLevel->setInitialState(spinState);
-
- // When tank is spotted, fire two times and go back to spin state
- QState *fireState = new QState(topLevel);
-
- QState *fireOnce = new QState(fireState);
- fireState->setInitialState(fireOnce);
- connect(fireOnce, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- QState *fireTwice = new QState(fireState);
- connect(fireTwice, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- fireOnce->addTransition(tank, SIGNAL(actionCompleted()), fireTwice);
- fireTwice->addTransition(tank, SIGNAL(actionCompleted()), spinState);
-
- spinState->addTransition(tank, SIGNAL(tankSpotted(qreal,qreal)), fireState);
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(spin_ai, SpinAi)
diff --git a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.h b/examples/statemachine/tankgameplugins/spin_ai/spin_ai.h
deleted file mode 100644
index a97024d..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SPIN_AI_H
-#define SPIN_AI_H
-
-#include <tankgame/plugin.h>
-
-#include <QObject>
-#include <QState>
-#include <QVariant>
-
-class SpinState: public QState
-{
- Q_OBJECT
-public:
- SpinState(QObject *tank, QState *parent) : QState(parent), m_tank(tank)
- {
- }
-
-public slots:
- void spin()
- {
- m_tank->setProperty("direction", m_tank->property("direction").toDouble() + 90.0);
- }
-
-protected:
- void onEntry(QEvent *)
- {
- connect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- spin();
- }
-
- void onExit(QEvent *)
- {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- }
-
-private:
- QObject *m_tank;
-
-};
-
-class SpinAi: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- SpinAi() { setObjectName("Spin and destroy"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro b/examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro
deleted file mode 100644
index 8ab4da0..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai/spin_ai.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = spin_ai.h
-SOURCES = spin_ai.cpp
-TARGET = $$qtLibraryTarget(spin_ai)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS spin_ai.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/spin_ai \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp b/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp
deleted file mode 100644
index 12a9656..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "spin_ai_with_error.h"
-
-#include <QtPlugin>
-
-QState *SpinAiWithError::create(QState *parentState, QObject *tank)
-{
- QState *topLevel = new QState(parentState);
- QState *spinState = new SpinState(tank, topLevel);
- topLevel->setInitialState(spinState);
-
- // When tank is spotted, fire two times and go back to spin state
- // (no initial state set for fireState will lead to run-time error in machine)
- QState *fireState = new QState(topLevel);
-
- QState *fireOnce = new QState(fireState);
- connect(fireOnce, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- QState *fireTwice = new QState(fireState);
- connect(fireTwice, SIGNAL(entered()), tank, SLOT(fireCannon()));
-
- fireOnce->addTransition(tank, SIGNAL(actionCompleted()), fireTwice);
- fireTwice->addTransition(tank, SIGNAL(actionCompleted()), spinState);
-
- spinState->addTransition(tank, SIGNAL(tankSpotted(qreal,qreal)), fireState);
-
- return topLevel;
-}
-
-Q_EXPORT_PLUGIN2(spin_ai_with_error, SpinAiWithError)
diff --git a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h b/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h
deleted file mode 100644
index f35da26..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at http://www.qtsoftware.com/contact.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SPIN_AI_WITH_ERROR_H
-#define SPIN_AI_WITH_ERROR_H
-
-#include <tankgame/plugin.h>
-
-#include <QObject>
-#include <QState>
-#include <QVariant>
-
-class SpinState: public QState
-{
- Q_OBJECT
-public:
- SpinState(QObject *tank, QState *parent) : QState(parent), m_tank(tank)
- {
- }
-
-public slots:
- void spin()
- {
- m_tank->setProperty("direction", m_tank->property("direction").toDouble() + 90.0);
- }
-
-protected:
- void onEntry(QEvent *)
- {
- connect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- spin();
- }
-
- void onExit(QEvent *)
- {
- disconnect(m_tank, SIGNAL(actionCompleted()), this, SLOT(spin()));
- }
-
-private:
- QObject *m_tank;
-
-};
-
-class SpinAiWithError: public QObject, public Plugin
-{
- Q_OBJECT
- Q_INTERFACES(Plugin)
-public:
- SpinAiWithError() { setObjectName("Spin and destroy with runtime error in state machine"); }
-
- virtual QState *create(QState *parentState, QObject *tank);
-};
-
-#endif
diff --git a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro b/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro
deleted file mode 100644
index 124cf98..0000000
--- a/examples/statemachine/tankgameplugins/spin_ai_with_error/spin_ai_with_error.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-INCLUDEPATH += ../..
-HEADERS = spin_ai_with_error.h
-SOURCES = spin_ai_with_error.cpp
-TARGET = $$qtLibraryTarget(spin_ai_with_error)
-DESTDIR = ../../tankgame/plugins
-
-#! [0]
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgame/plugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS spin_ai_with_error.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins/spin_ai_with_error \ No newline at end of file
diff --git a/examples/statemachine/tankgameplugins/tankgameplugins.pro b/examples/statemachine/tankgameplugins/tankgameplugins.pro
deleted file mode 100644
index a098e03..0000000
--- a/examples/statemachine/tankgameplugins/tankgameplugins.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = random_ai \
- spin_ai_with_error \
- spin_ai \
- seek_ai
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS tankgameplugins.pro
-sources.path = $$[QT_INSTALL_EXAMPLES]/statemachine/tankgameplugins
-INSTALLS += target sources
diff --git a/examples/threads/mandelbrot/mandelbrot.pro b/examples/threads/mandelbrot/mandelbrot.pro
index 8f552a8..cf95ea0 100644
--- a/examples/threads/mandelbrot/mandelbrot.pro
+++ b/examples/threads/mandelbrot/mandelbrot.pro
@@ -4,7 +4,7 @@ SOURCES = main.cpp \
mandelbrotwidget.cpp \
renderthread.cpp
-unix:!mac:!symbian:LIBS += -lm
+unix:!mac:!symbian:!vxworks:LIBS += -lm
# install
target.path = $$[QT_INSTALL_EXAMPLES]/threads/mandelbrot
diff --git a/examples/tools/codecs/encodedfiles/.gitattributes b/examples/tools/codecs/encodedfiles/.gitattributes
deleted file mode 100644
index 996aab2..0000000
--- a/examples/tools/codecs/encodedfiles/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-iso-8859-15.txt -crlf
-iso-8859-1.txt -crlf
diff --git a/examples/tools/codecs/encodedfiles/iso-8859-1.txt b/examples/tools/codecs/encodedfiles/iso-8859-1.txt
index 4a7ebe3..d7fcaca 100644
--- a/examples/tools/codecs/encodedfiles/iso-8859-1.txt
+++ b/examples/tools/codecs/encodedfiles/iso-8859-1.txt
@@ -1,6 +1,6 @@
-Paulo Coelho: O Gênio e as Rosas
-Anna Hallström, Urban Östberg: Svår svenska
-Darrell Huff: How to Lie with Statistics
-Franz Kafka: Das Schloß
-Walter Moers: Die 13½ Leben des Käpt'n Blaubär
-Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
+Paulo Coelho: O Gênio e as Rosas
+Anna Hallström, Urban Östberg: Svår svenska
+Darrell Huff: How to Lie with Statistics
+Franz Kafka: Das Schloß
+Walter Moers: Die 13½ Leben des Käpt'n Blaubär
+Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
diff --git a/examples/tools/codecs/encodedfiles/iso-8859-15.txt b/examples/tools/codecs/encodedfiles/iso-8859-15.txt
index cd43ea3..be2d83c 100644
--- a/examples/tools/codecs/encodedfiles/iso-8859-15.txt
+++ b/examples/tools/codecs/encodedfiles/iso-8859-15.txt
@@ -1,8 +1,8 @@
-Paulo Coelho: O Gênio e as Rosas
-Jean-Pierre Coffe: À table en famille avec 15 ¤ par jour
-Anna Hallström, Urban Östberg: Svår svenska
-Darrell Huff: How to Lie with Statistics
-Franz Kafka: Das Schloß
-Helena Lehecková: T¨ekkiä suomalaisille
-Arthur Rimbaud: ¼uvres complètes
-Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
+Paulo Coelho: O Gênio e as Rosas
+Jean-Pierre Coffe: À table en famille avec 15 ¤ par jour
+Anna Hallström, Urban Östberg: Svår svenska
+Darrell Huff: How to Lie with Statistics
+Franz Kafka: Das Schloß
+Helena Lehecková: T¨ekkiä suomalaisille
+Arthur Rimbaud: ¼uvres complètes
+Dag Solstad: Forsøk på å beskrive det ugjennomtrengelige
diff --git a/examples/tools/completer/mainwindow.cpp b/examples/tools/completer/mainwindow.cpp
index 8ea1c39..c98482a 100644
--- a/examples/tools/completer/mainwindow.cpp
+++ b/examples/tools/completer/mainwindow.cpp
@@ -78,6 +78,12 @@ MainWindow::MainWindow(QWidget *parent)
//! [0]
//! [1]
+ QLabel *maxVisibleLabel = new QLabel;
+ maxVisibleLabel->setText(tr("Max Visible Items"));
+ maxVisibleSpinBox = new QSpinBox;
+ maxVisibleSpinBox->setRange(3,25);
+ maxVisibleSpinBox->setValue(10);
+
wrapCheckBox = new QCheckBox;
wrapCheckBox->setText(tr("Wrap around completions"));
wrapCheckBox->setChecked(true);
@@ -90,6 +96,7 @@ MainWindow::MainWindow(QWidget *parent)
connect(modelCombo, SIGNAL(activated(int)), this, SLOT(changeModel()));
connect(modeCombo, SIGNAL(activated(int)), this, SLOT(changeMode(int)));
connect(caseCombo, SIGNAL(activated(int)), this, SLOT(changeCase(int)));
+ connect(maxVisibleSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changeMaxVisible(int)));
//! [2]
//! [3]
@@ -99,9 +106,10 @@ MainWindow::MainWindow(QWidget *parent)
layout->addWidget(modelLabel, 0, 0); layout->addWidget(modelCombo, 0, 1);
layout->addWidget(modeLabel, 1, 0); layout->addWidget(modeCombo, 1, 1);
layout->addWidget(caseLabel, 2, 0); layout->addWidget(caseCombo, 2, 1);
- layout->addWidget(wrapCheckBox, 3, 0);
- layout->addWidget(contentsLabel, 4, 0, 1, 2);
- layout->addWidget(lineEdit, 5, 0, 1, 2);
+ layout->addWidget(maxVisibleLabel, 3, 0); layout->addWidget(maxVisibleSpinBox, 3, 1);
+ layout->addWidget(wrapCheckBox, 4, 0);
+ layout->addWidget(contentsLabel, 5, 0, 1, 2);
+ layout->addWidget(lineEdit, 6, 0, 1, 2);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
@@ -205,6 +213,7 @@ void MainWindow::changeModel()
{
delete completer;
completer = new QCompleter(this);
+ completer->setMaxVisibleItems(maxVisibleSpinBox->value());
switch (modelCombo->currentIndex()) {
default:
@@ -256,9 +265,16 @@ void MainWindow::changeModel()
//! [14]
//! [15]
+void MainWindow::changeMaxVisible(int max)
+{
+ completer->setMaxVisibleItems(max);
+}
+//! [15]
+
+//! [16]
void MainWindow::about()
{
QMessageBox::about(this, tr("About"), tr("This example demonstrates the "
"different features of the QCompleter class."));
}
-//! [15]
+//! [16]
diff --git a/examples/tools/completer/mainwindow.h b/examples/tools/completer/mainwindow.h
index f6c962b..30b8d26 100644
--- a/examples/tools/completer/mainwindow.h
+++ b/examples/tools/completer/mainwindow.h
@@ -52,6 +52,7 @@ class QLabel;
class QLineEdit;
class QProgressBar;
class QCheckBox;
+class QSpinBox;
QT_END_NAMESPACE
//! [0]
@@ -67,6 +68,7 @@ private slots:
void changeCase(int);
void changeMode(int);
void changeModel();
+ void changeMaxVisible(int);
//! [0]
//! [1]
@@ -77,6 +79,7 @@ private:
QComboBox *caseCombo;
QComboBox *modeCombo;
QComboBox *modelCombo;
+ QSpinBox *maxVisibleSpinBox;
QCheckBox *wrapCheckBox;
QCompleter *completer;
QLabel *contentsLabel;
diff --git a/examples/tools/regexp/regexpdialog.cpp b/examples/tools/regexp/regexpdialog.cpp
index 42cb617..7aab1be 100644
--- a/examples/tools/regexp/regexpdialog.cpp
+++ b/examples/tools/regexp/regexpdialog.cpp
@@ -69,6 +69,7 @@ RegExpDialog::RegExpDialog(QWidget *parent)
syntaxComboBox->addItem(tr("Regular expression v2"), QRegExp::RegExp2);
syntaxComboBox->addItem(tr("Wildcard"), QRegExp::Wildcard);
syntaxComboBox->addItem(tr("Fixed string"), QRegExp::FixedString);
+ syntaxComboBox->addItem(tr("W3C Xml Schema 1.1"), QRegExp::W3CXmlSchema11);
syntaxLabel = new QLabel(tr("&Pattern Syntax:"));
syntaxLabel->setBuddy(syntaxComboBox);
diff --git a/examples/uitools/textfinder/forms/input.txt b/examples/uitools/textfinder/forms/input.txt
index fae542f..29dfe5d 100644
--- a/examples/uitools/textfinder/forms/input.txt
+++ b/examples/uitools/textfinder/forms/input.txt
@@ -1,5 +1,5 @@
These forms are processed at run-time to produce dynamically-generated user interfaces.
-In order to generate a form at run-time, a resource file containing a .ui file is needed.
+In order to generate a form at run-time, a resource file containing a UI file is needed.
Applications that use the form handling classes need to be configured to be built against
the QtUiTools module. This is done by including the following declaration in a qmake project
file to ensure that the application is compiled and linked appropriately. A form loader object,
diff --git a/examples/widgets/softkeys/main.cpp b/examples/widgets/softkeys/main.cpp
index a544b28..3025e36 100644
--- a/examples/widgets/softkeys/main.cpp
+++ b/examples/widgets/softkeys/main.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/softkeys.cpp b/examples/widgets/softkeys/softkeys.cpp
index d8ab09a..7419aec 100644
--- a/examples/widgets/softkeys/softkeys.cpp
+++ b/examples/widgets/softkeys/softkeys.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/softkeys/softkeys.h b/examples/widgets/softkeys/softkeys.h
index da56eae..6f46563 100644
--- a/examples/widgets/softkeys/softkeys.h
+++ b/examples/widgets/softkeys/softkeys.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the examples of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/widgets/tablet/tabletcanvas.cpp b/examples/widgets/tablet/tabletcanvas.cpp
index 4e8150e..3e9ae38 100644
--- a/examples/widgets/tablet/tabletcanvas.cpp
+++ b/examples/widgets/tablet/tabletcanvas.cpp
@@ -137,11 +137,6 @@ void TabletCanvas::paintImage(QPainter &painter, QTabletEvent *event)
QPoint brushAdjust(10, 10);
switch (myTabletDevice) {
- case QTabletEvent::Stylus:
- painter.setBrush(myBrush);
- painter.setPen(myPen);
- painter.drawLine(polyLine[1], event->pos());
- break;
case QTabletEvent::Airbrush:
myBrush.setColor(myColor);
myBrush.setStyle(brushPattern(event->pressure()));
@@ -156,10 +151,32 @@ void TabletCanvas::paintImage(QPainter &painter, QTabletEvent *event)
case QTabletEvent::Puck:
case QTabletEvent::FourDMouse:
case QTabletEvent::RotationStylus:
- qWarning("This input device is not supported by the example.");
+ {
+ const QString error(tr("This input device is not supported by the example."));
+#ifndef QT_NO_STATUSTIP
+ QStatusTipEvent status(error);
+ QApplication::sendEvent(this, &status);
+#else
+ qWarning() << error;
+#endif
+ }
break;
default:
- qWarning("Unknown tablet device.");
+ {
+ const QString error(tr("Unknown tablet device - treating as stylus"));
+#ifndef QT_NO_STATUSTIP
+ QStatusTipEvent status(error);
+ QApplication::sendEvent(this, &status);
+#else
+ qWarning() << error;
+#endif
+ }
+ // FALL-THROUGH
+ case QTabletEvent::Stylus:
+ painter.setBrush(myBrush);
+ painter.setPen(myPen);
+ painter.drawLine(polyLine[1], event->pos());
+ break;
}
}
//! [5]
@@ -250,7 +267,7 @@ void TabletCanvas::updateBrush(QTabletEvent *event)
}
//! [11]
-void TabletCanvas::resizeEvent(QResizeEvent *event)
+void TabletCanvas::resizeEvent(QResizeEvent *)
{
initImage();
polyLine[0] = polyLine[1] = polyLine[2] = QPoint();
diff --git a/examples/xml/htmlinfo/main.cpp b/examples/xml/htmlinfo/main.cpp
index 72aef81..fa85f55 100644
--- a/examples/xml/htmlinfo/main.cpp
+++ b/examples/xml/htmlinfo/main.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/examples/xmlpatterns/schema/files/contact.xsd b/examples/xmlpatterns/schema/files/contact.xsd
new file mode 100644
index 0000000..3e1b570
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/contact.xsd
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="contact">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="givenName" type="xsd:string"/>
+ <xsd:element name="familyName" type="xsd:string"/>
+ <xsd:element name="birthdate" type="xsd:date" minOccurs="0"/>
+ <xsd:element name="homeAddress" type="address"/>
+ <xsd:element name="workAddress" type="address" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="address">
+ <xsd:sequence>
+ <xsd:element name="street" type="xsd:string"/>
+ <xsd:element name="zipCode" type="xsd:string"/>
+ <xsd:element name="city" type="xsd:string"/>
+ <xsd:element name="country" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/examples/xmlpatterns/schema/files/invalid_contact.xml b/examples/xmlpatterns/schema/files/invalid_contact.xml
new file mode 100644
index 0000000..42f1edd
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/invalid_contact.xml
@@ -0,0 +1,11 @@
+<contact>
+ <givenName>John</givenName>
+ <familyName>Doe</familyName>
+ <title>Prof.</title>
+ <workAddress>
+ <street>Sandakerveien 116</street>
+ <zipCode>N-0550</zipCode>
+ <city>Oslo</city>
+ <country>Norway</country>
+ </workAddress>
+</contact>
diff --git a/examples/xmlpatterns/schema/files/invalid_order.xml b/examples/xmlpatterns/schema/files/invalid_order.xml
new file mode 100644
index 0000000..8ffc5fd
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/invalid_order.xml
@@ -0,0 +1,13 @@
+<order>
+ <customerId>234219</customerId>
+ <article>
+ <articleId>21692</articleId>
+ <count>3</count>
+ </article>
+ <article>
+ <articleId>24749</articleId>
+ <count>9</count>
+ </article>
+ <deliveryDate>2009-01-23</deliveryDate>
+ <payed>yes</payed>
+</order>
diff --git a/examples/xmlpatterns/schema/files/invalid_recipe.xml b/examples/xmlpatterns/schema/files/invalid_recipe.xml
new file mode 100644
index 0000000..4d75af6
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/invalid_recipe.xml
@@ -0,0 +1,14 @@
+<recipe>
+ <title>Cheese on Toast</title>
+ <ingredient name="Bread" quantity="2" unit="slices"/>
+ <ingredient name="Cheese" quantity="2" unit="slices"/>
+ <time quantity="3" unit="days"/>
+ <method>
+ <step>1. Slice the bread and cheese.</step>
+ <step>2. Grill one side of each slice of bread.</step>
+ <step>3. Turn over the bread and place a slice of cheese on each piece.</step>
+ <step>4. Grill until the cheese has started to melt.</step>
+ <step>5. Serve and enjoy!</step>
+ </method>
+ <comment>Tell your friends about it!</comment>
+</recipe>
diff --git a/examples/xmlpatterns/schema/files/order.xsd b/examples/xmlpatterns/schema/files/order.xsd
new file mode 100644
index 0000000..405cafe
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/order.xsd
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="order">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerId" type="xsd:positiveInteger"/>
+ <xsd:element name="article" type="articleType" maxOccurs="unbounded"/>
+ <xsd:element name="deliveryDate" type="xsd:date"/>
+ <xsd:element name="payed" type="xsd:boolean"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="articleType">
+ <xsd:sequence>
+ <xsd:element name="articleId" type="xsd:positiveInteger"/>
+ <xsd:element name="count" type="xsd:positiveInteger"/>
+ <xsd:element name="comment" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/examples/xmlpatterns/schema/files/recipe.xsd b/examples/xmlpatterns/schema/files/recipe.xsd
new file mode 100644
index 0000000..bbbafd9
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/recipe.xsd
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="recipe">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="title" type="xsd:string"/>
+ <xsd:element name="ingredient" type="ingredientType" maxOccurs="unbounded"/>
+ <xsd:element name="time" type="timeType"/>
+ <xsd:element name="method">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="step" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="ingredientType">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="quantity" type="xsd:positiveInteger"/>
+ <xsd:attribute name="unit" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="timeType">
+ <xsd:attribute name="quantity" type="xsd:positiveInteger"/>
+ <xsd:attribute name="unit">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="seconds"/>
+ <xsd:enumeration value="minutes"/>
+ <xsd:enumeration value="hours"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/examples/xmlpatterns/schema/files/valid_contact.xml b/examples/xmlpatterns/schema/files/valid_contact.xml
new file mode 100644
index 0000000..53c04d4
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/valid_contact.xml
@@ -0,0 +1,11 @@
+<contact>
+ <givenName>John</givenName>
+ <familyName>Doe</familyName>
+ <birthdate>1977-12-25</birthdate>
+ <homeAddress>
+ <street>Sandakerveien 116</street>
+ <zipCode>N-0550</zipCode>
+ <city>Oslo</city>
+ <country>Norway</country>
+ </homeAddress>
+</contact>
diff --git a/examples/xmlpatterns/schema/files/valid_order.xml b/examples/xmlpatterns/schema/files/valid_order.xml
new file mode 100644
index 0000000..f83c36c
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/valid_order.xml
@@ -0,0 +1,18 @@
+<order>
+ <customerId>194223</customerId>
+ <article>
+ <articleId>22242</articleId>
+ <count>5</count>
+ </article>
+ <article>
+ <articleId>32372</articleId>
+ <count>12</count>
+ <comment>without stripes</comment>
+ </article>
+ <article>
+ <articleId>23649</articleId>
+ <count>2</count>
+ </article>
+ <deliveryDate>2009-01-23</deliveryDate>
+ <payed>true</payed>
+</order>
diff --git a/examples/xmlpatterns/schema/files/valid_recipe.xml b/examples/xmlpatterns/schema/files/valid_recipe.xml
new file mode 100644
index 0000000..f6499ba
--- /dev/null
+++ b/examples/xmlpatterns/schema/files/valid_recipe.xml
@@ -0,0 +1,13 @@
+<recipe>
+ <title>Cheese on Toast</title>
+ <ingredient name="Bread" quantity="2" unit="slices"/>
+ <ingredient name="Cheese" quantity="2" unit="slices"/>
+ <time quantity="3" unit="minutes"/>
+ <method>
+ <step>1. Slice the bread and cheese.</step>
+ <step>2. Grill one side of each slice of bread.</step>
+ <step>3. Turn over the bread and place a slice of cheese on each piece.</step>
+ <step>4. Grill until the cheese has started to melt.</step>
+ <step>5. Serve and enjoy!</step>
+ </method>
+</recipe>
diff --git a/examples/xmlpatterns/schema/main.cpp b/examples/xmlpatterns/schema/main.cpp
new file mode 100644
index 0000000..3324135
--- /dev/null
+++ b/examples/xmlpatterns/schema/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include "mainwindow.h"
+
+//! [0]
+int main(int argc, char* argv[])
+{
+ Q_INIT_RESOURCE(schema);
+ QApplication app(argc, argv);
+ MainWindow* const window = new MainWindow;
+ window->show();
+ return app.exec();
+}
+//! [0]
diff --git a/examples/xmlpatterns/schema/mainwindow.cpp b/examples/xmlpatterns/schema/mainwindow.cpp
new file mode 100644
index 0000000..3cb5ff3
--- /dev/null
+++ b/examples/xmlpatterns/schema/mainwindow.cpp
@@ -0,0 +1,218 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include <QtXmlPatterns>
+
+#include "mainwindow.h"
+#include "xmlsyntaxhighlighter.h"
+
+//! [4]
+class MessageHandler : public QAbstractMessageHandler
+{
+ public:
+ MessageHandler()
+ : QAbstractMessageHandler(0)
+ {
+ }
+
+ QString statusMessage() const
+ {
+ return m_description;
+ }
+
+ int line() const
+ {
+ return m_sourceLocation.line();
+ }
+
+ int column() const
+ {
+ return m_sourceLocation.column();
+ }
+
+ protected:
+ virtual void handleMessage(QtMsgType type, const QString &description,
+ const QUrl &identifier, const QSourceLocation &sourceLocation)
+ {
+ Q_UNUSED(type);
+ Q_UNUSED(identifier);
+
+ m_messageType = type;
+ m_description = description;
+ m_sourceLocation = sourceLocation;
+ }
+
+ private:
+ QtMsgType m_messageType;
+ QString m_description;
+ QSourceLocation m_sourceLocation;
+};
+//! [4]
+
+//! [0]
+MainWindow::MainWindow()
+{
+ setupUi(this);
+
+ new XmlSyntaxHighlighter(schemaView->document());
+ new XmlSyntaxHighlighter(instanceEdit->document());
+
+ schemaSelection->addItem(tr("Contact Schema"));
+ schemaSelection->addItem(tr("Recipe Schema"));
+ schemaSelection->addItem(tr("Order Schema"));
+
+ instanceSelection->addItem(tr("Valid Contact Instance"));
+ instanceSelection->addItem(tr("Invalid Contact Instance"));
+
+ connect(schemaSelection, SIGNAL(currentIndexChanged(int)), SLOT(schemaSelected(int)));
+ connect(instanceSelection, SIGNAL(currentIndexChanged(int)), SLOT(instanceSelected(int)));
+ connect(validateButton, SIGNAL(clicked()), SLOT(validate()));
+ connect(instanceEdit, SIGNAL(textChanged()), SLOT(textChanged()));
+
+ validationStatus->setAlignment(Qt::AlignCenter | Qt::AlignVCenter);
+
+ schemaSelected(0);
+ instanceSelected(0);
+}
+//! [0]
+
+//! [1]
+void MainWindow::schemaSelected(int index)
+{
+ instanceSelection->clear();
+ if (index == 0) {
+ instanceSelection->addItem(tr("Valid Contact Instance"));
+ instanceSelection->addItem(tr("Invalid Contact Instance"));
+ } else if (index == 1) {
+ instanceSelection->addItem(tr("Valid Recipe Instance"));
+ instanceSelection->addItem(tr("Invalid Recipe Instance"));
+ } else if (index == 2) {
+ instanceSelection->addItem(tr("Valid Order Instance"));
+ instanceSelection->addItem(tr("Invalid Order Instance"));
+ }
+ textChanged();
+
+ QFile schemaFile(QString(":/schema_%1.xsd").arg(index));
+ schemaFile.open(QIODevice::ReadOnly);
+ const QString schemaText(QString::fromUtf8(schemaFile.readAll()));
+ schemaView->setPlainText(schemaText);
+
+ validate();
+}
+//! [1]
+
+//! [2]
+void MainWindow::instanceSelected(int index)
+{
+ QFile instanceFile(QString(":/instance_%1.xml").arg((2*schemaSelection->currentIndex()) + index));
+ instanceFile.open(QIODevice::ReadOnly);
+ const QString instanceText(QString::fromUtf8(instanceFile.readAll()));
+ instanceEdit->setPlainText(instanceText);
+
+ validate();
+}
+//! [2]
+
+//! [3]
+void MainWindow::validate()
+{
+ const QByteArray schemaData = schemaView->toPlainText().toUtf8();
+ const QByteArray instanceData = instanceEdit->toPlainText().toUtf8();
+
+ MessageHandler messageHandler;
+
+ QXmlSchema schema;
+ schema.setMessageHandler(&messageHandler);
+
+ schema.load(schemaData);
+
+ bool errorOccurred = false;
+ if (!schema.isValid()) {
+ errorOccurred = true;
+ } else {
+ QXmlSchemaValidator validator(schema);
+ if (!validator.validate(instanceData))
+ errorOccurred = true;
+ }
+
+ if (errorOccurred) {
+ validationStatus->setText(messageHandler.statusMessage());
+ moveCursor(messageHandler.line(), messageHandler.column());
+ } else {
+ validationStatus->setText(tr("validation successful"));
+ }
+
+ const QString styleSheet = QString("QLabel {background: %1; padding: 3px}")
+ .arg(errorOccurred ? QColor(Qt::red).lighter(160).name() :
+ QColor(Qt::green).lighter(160).name());
+ validationStatus->setStyleSheet(styleSheet);
+}
+//! [3]
+
+void MainWindow::textChanged()
+{
+ instanceEdit->setExtraSelections(QList<QTextEdit::ExtraSelection>());
+}
+
+void MainWindow::moveCursor(int line, int column)
+{
+ instanceEdit->moveCursor(QTextCursor::Start);
+ for (int i = 1; i < line; ++i)
+ instanceEdit->moveCursor(QTextCursor::Down);
+
+ for (int i = 1; i < column; ++i)
+ instanceEdit->moveCursor(QTextCursor::Right);
+
+ QList<QTextEdit::ExtraSelection> extraSelections;
+ QTextEdit::ExtraSelection selection;
+
+ const QColor lineColor = QColor(Qt::red).lighter(160);
+ selection.format.setBackground(lineColor);
+ selection.format.setProperty(QTextFormat::FullWidthSelection, true);
+ selection.cursor = instanceEdit->textCursor();
+ selection.cursor.clearSelection();
+ extraSelections.append(selection);
+
+ instanceEdit->setExtraSelections(extraSelections);
+
+ instanceEdit->setFocus();
+}
diff --git a/examples/xmlpatterns/schema/mainwindow.h b/examples/xmlpatterns/schema/mainwindow.h
new file mode 100644
index 0000000..32d9b09
--- /dev/null
+++ b/examples/xmlpatterns/schema/mainwindow.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+#include "ui_schema.h"
+
+//! [0]
+class MainWindow : public QMainWindow,
+ private Ui::SchemaMainWindow
+{
+ Q_OBJECT
+
+ public:
+ MainWindow();
+
+ private Q_SLOTS:
+ void schemaSelected(int index);
+ void instanceSelected(int index);
+ void validate();
+ void textChanged();
+
+ private:
+ void moveCursor(int line, int column);
+};
+//! [0]
+#endif
diff --git a/examples/xmlpatterns/schema/schema.pro b/examples/xmlpatterns/schema/schema.pro
new file mode 100644
index 0000000..af32e0a
--- /dev/null
+++ b/examples/xmlpatterns/schema/schema.pro
@@ -0,0 +1,11 @@
+QT += xmlpatterns
+FORMS += schema.ui
+HEADERS = mainwindow.h ../shared/xmlsyntaxhighlighter.h
+RESOURCES = schema.qrc
+SOURCES = main.cpp mainwindow.cpp ../shared/xmlsyntaxhighlighter.cpp
+INCLUDEPATH += ../shared/
+
+target.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/schema
+sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro *.xq *.html files
+sources.path = $$[QT_INSTALL_EXAMPLES]/xmlpatterns/schema
+INSTALLS += target sources
diff --git a/examples/xmlpatterns/schema/schema.qrc b/examples/xmlpatterns/schema/schema.qrc
new file mode 100644
index 0000000..eb7ddfd
--- /dev/null
+++ b/examples/xmlpatterns/schema/schema.qrc
@@ -0,0 +1,13 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file alias="schema_0.xsd">files/contact.xsd</file>
+ <file alias="schema_1.xsd">files/recipe.xsd</file>
+ <file alias="schema_2.xsd">files/order.xsd</file>
+ <file alias="instance_0.xml">files/valid_contact.xml</file>
+ <file alias="instance_1.xml">files/invalid_contact.xml</file>
+ <file alias="instance_2.xml">files/valid_recipe.xml</file>
+ <file alias="instance_3.xml">files/invalid_recipe.xml</file>
+ <file alias="instance_4.xml">files/valid_order.xml</file>
+ <file alias="instance_5.xml">files/invalid_order.xml</file>
+</qresource>
+</RCC>
diff --git a/examples/xmlpatterns/schema/schema.ui b/examples/xmlpatterns/schema/schema.ui
new file mode 100644
index 0000000..b67f444
--- /dev/null
+++ b/examples/xmlpatterns/schema/schema.ui
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SchemaMainWindow</class>
+ <widget class="QMainWindow" name="SchemaMainWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>417</width>
+ <height>594</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>XML Schema Validation</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <widget class="QLabel" name="schemaLabel">
+ <property name="text">
+ <string>XML Schema Document:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2" colspan="2">
+ <widget class="QComboBox" name="schemaSelection"/>
+ </item>
+ <item row="1" column="0" colspan="4">
+ <widget class="QTextBrowser" name="schemaView"/>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <widget class="QLabel" name="instanceLabel">
+ <property name="text">
+ <string>XML Instance Document:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" colspan="2">
+ <widget class="QComboBox" name="instanceSelection"/>
+ </item>
+ <item row="3" column="0" colspan="4">
+ <widget class="QTextEdit" name="instanceEdit"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Status:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1" colspan="2">
+ <widget class="QLabel" name="validationStatus">
+ <property name="text">
+ <string>not validated</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
+ <widget class="QPushButton" name="validateButton">
+ <property name="text">
+ <string>Validate</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/xmlpatterns/trafficinfo/mainwindow.cpp b/examples/xmlpatterns/trafficinfo/mainwindow.cpp
index 943055a..105ede4 100644
--- a/examples/xmlpatterns/trafficinfo/mainwindow.cpp
+++ b/examples/xmlpatterns/trafficinfo/mainwindow.cpp
@@ -111,7 +111,9 @@ void MainWindow::mousePressEvent(QMouseEvent *event)
void MainWindow::paintEvent(QPaintEvent*)
{
- QLinearGradient gradient(QPoint(width()/2, 0), QPoint(width()/2, height()));
+ const QPoint start(width()/2, 0);
+ const QPoint finalStop(width()/2, height());
+ QLinearGradient gradient(start, finalStop);
const QColor qtGreen(102, 176, 54);
gradient.setColorAt(0, qtGreen.dark());
gradient.setColorAt(0.5, qtGreen);
diff --git a/examples/xmlpatterns/xmlpatterns.pro b/examples/xmlpatterns/xmlpatterns.pro
index 081abde..d5b3498 100644
--- a/examples/xmlpatterns/xmlpatterns.pro
+++ b/examples/xmlpatterns/xmlpatterns.pro
@@ -2,7 +2,8 @@ TEMPLATE = subdirs
SUBDIRS = recipes \
trafficinfo \
xquery \
- filetree
+ filetree \
+ schema
# This example depends on QtWebkit as well.
contains(QT_CONFIG, webkit):SUBDIRS += qobjectxmlmodel
diff --git a/mkspecs/common/symbian/fixed_stdlib.h b/mkspecs/common/symbian/fixed_stdlib.h
index 7fd73d6..82ad45d 100644
--- a/mkspecs/common/symbian/fixed_stdlib.h
+++ b/mkspecs/common/symbian/fixed_stdlib.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the makespecs of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -61,4 +61,4 @@
# undef REVERT_WCHAR_T_DECLARED
# endif //REVERT_WCHAR_T_DECLARED
-#endif \ No newline at end of file
+#endif
diff --git a/mkspecs/common/symbian/qplatformdefs.h b/mkspecs/common/symbian/qplatformdefs.h
index 5f093b7..db5f461 100644
--- a/mkspecs/common/symbian/qplatformdefs.h
+++ b/mkspecs/common/symbian/qplatformdefs.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the qmake spec of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 554bf85..af2be8f 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -29,7 +29,7 @@ QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
QMAKE_CXX = g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS.CW =
-QMAKE_CXXFLAGS.ARMCC = --no_hide_all
+QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
@@ -77,7 +77,7 @@ QMAKE_LIBS_S60 = -lavkon -leikcoctl
QMAKE_COPY = cp
QMAKE_COPY_DIR = cp -r
QMAKE_MOVE = mv
- QMAKE_DEL_FILE = rm
+ QMAKE_DEL_FILE = rm -f
QMAKE_MKDIR = mkdir
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_DIR_EXISTS = test -d
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index fdc72ca..42ce1bc 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -15,10 +15,7 @@ WIN_INCLUDETEMP=
win32:count($$list($$INCPATH), 40, >) {
INCLUDETEMP = $$MOC_DIR/mocinclude.tmp
- # Remove any existing mocinclude.tmp when qmake runs
WIN_INCLUDETEMP=$$INCLUDETEMP
- WIN_INCLUDETEMP~=s,/,\,g
- system($$QMAKE_DEL_FILE $$WIN_INCLUDETEMP > NUL 2>&1)
EOC = $$escape_expand(\n\t)
@@ -65,7 +62,9 @@ moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAK
moc_header.input = HEADERS
moc_header.variable_out = SOURCES
moc_header.name = MOC ${QMAKE_FILE_IN}
-!isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
+if(!contains(TEMPLATE, "vc.*"):!contains(TEMPLATE_PREFIX, "vc")) {
+ !isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
+}
silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands
QMAKE_EXTRA_COMPILERS += moc_header
INCREDIBUILD_XGE += moc_header
@@ -77,7 +76,9 @@ moc_source.commands = ${QMAKE_FUNC_mocCmd}
moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
moc_source.input = SOURCES OBJECTIVE_SOURCES
moc_source.name = MOC ${QMAKE_FILE_IN}
-!isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
+if(!contains(TEMPLATE, "vc.*"):!contains(TEMPLATE_PREFIX, "vc")) {
+ !isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
+}
silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands
QMAKE_EXTRA_COMPILERS += moc_source
INCREDIBUILD_XGE += moc_source
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 9ac67dd..6de19c3 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -36,7 +36,7 @@ INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picki
win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
# As order does matter for static libs, we reorder the QT variable here
-TMPLIBS = webkit phonon dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
+TMPLIBS = multimedia webkit phonon dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
for(QTLIB, $$list($$TMPLIBS)) {
contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
}
@@ -160,6 +160,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
else:isEqual(QTLIB, dbus):qlib = QtDBus
else:isEqual(QTLIB, phonon):qlib = phonon
else:isEqual(QTLIB, webkit):qlib = QtWebKit
+ else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
else:message("Unknown QT: $$QTLIB"):qlib =
!isEmpty(qlib) {
target_qt:isEqual(TARGET, qlib) {
@@ -167,6 +168,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
} else {
DEFINES *= $$upper(QT_$${QTLIB}_LIB)
isEqual(QTLIB, opengl):CONFIG += opengl
+ isEqual(QTLIB, openvg):CONFIG += openvg
isEqual(QTLIB, qt3support):DEFINES *= QT3_SUPPORT
isEqual(QTLIB, testlib):CONFIG += console
isEqual(QTLIB, dbus):CONFIG += dbusadaptors dbusinterfaces
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
index 385765b..eaf373a 100644
--- a/mkspecs/features/uic.prf
+++ b/mkspecs/features/uic.prf
@@ -51,7 +51,7 @@ equals(UI_DIR, .) {
uic3 {
isEmpty(FORMS3) {
UIC3_FORMS = FORMS
- !build_pass:message("Project contains CONFIG+=uic3, but no files in FORMS3; .ui files in FORMS treated as UIC3 form files.")
+ !build_pass:message("Project contains CONFIG+=uic3, but no files in FORMS3; UI files in FORMS treated as UIC3 form files.")
} else {
UIC3_FORMS = FORMS3
}
diff --git a/mkspecs/features/unix/openvg.prf b/mkspecs/features/unix/openvg.prf
index a21d1ca..29acec1 100644
--- a/mkspecs/features/unix/openvg.prf
+++ b/mkspecs/features/unix/openvg.prf
@@ -1,9 +1,15 @@
!isEmpty(QMAKE_INCDIR_OPENVG): INCLUDEPATH += $$QMAKE_INCDIR_OPENVG
!isEmpty(QMAKE_LIBDIR_OPENVG): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENVG
-!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $QMAKE_LIBS_OPENVG
+!isEmpty(QMAKE_LIBS_OPENVG): LIBS += $$QMAKE_LIBS_OPENVG
+
+contains(QT_CONFIG, egl) {
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBDIR_EGL): LIBS += -L$$QMAKE_LIBDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
+}
contains(QT_CONFIG, openvg_on_opengl) {
!isEmpty(QMAKE_INCDIR_OPENGL): INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
!isEmpty(QMAKE_LIBDIR_OPENGL): QMAKE_LIBDIR += -L$$QMAKE_LIBDIR_OPENGL
- !isEmpty(QMAKE_LIBS_OPENGL): LIBS += $QMAKE_LIBS_OPENGL
+ !isEmpty(QMAKE_LIBS_OPENGL): LIBS += $$QMAKE_LIBS_OPENGL
}
diff --git a/mkspecs/features/vxworks.prf b/mkspecs/features/vxworks.prf
new file mode 100644
index 0000000..a910c69
--- /dev/null
+++ b/mkspecs/features/vxworks.prf
@@ -0,0 +1,63 @@
+# VxWorks Munching Feature
+# When compiling C++ sources on VxWorks in kernel mode, all .o files have to
+# be processed by the so-called 'munch' script which will generate
+# additional code for static c'tors and d'tors. The resulting .c file has to
+# be compiled in turn and linked to the executable.
+# This can only been done when linking applications, since the munch script
+# generates a .c file containing static symbols: linking a lib that was
+# already munched to a munched application would lead to duplicate symbols!
+
+isEmpty(VXWORKS_MUNCH_EXT):VXWORKS_MUNCH_EXT = vxm
+isEmpty(VXWORKS_MUNCH_TOOL):VXWORKS_MUNCH_TOOL = $(WIND_BASE)/host/resource/hutils/tcl/munch.tcl
+
+
+!exists($$VXWORKS_MUNCH_TOOL) {
+ error("Could not find VxWorks Munch tool: '$${VXWORKS_MUNCH_TOOL}'. Please set the environment variable WIND_BASE correctly.")
+}
+
+# The following scope is entered for any project that specifies 'shared' as well
+# as for any project specifying neither 'shared', nor 'lib', nor 'staticlib'.
+# This means that for a static build only the executable is munched, while for
+# a shared build, every lib, plugin and executable is munched separately.
+
+shared|!staticlib:!lib {
+ *-dcc {
+ VXWORKS_MUNCH_CMD = (targ=`basename $(TARGET)`; \
+ ddump -Ng \"$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
+ $$QMAKE_CC -c $$QMAKE_CFLAGS \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
+ $$QMAKE_LINK $$QMAKE_LFLAGS -X -r5 -r4 \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(TARGET)\" -o \"$(TARGET).munched\" && \
+ mv \"$(TARGET).munched\" \"$(TARGET)\" && \
+ chmod +x \"$(TARGET)\")
+ }
+ *-g++ {
+ VXWORKS_MUNCH_CMD = (targ=`basename $(TARGET)`; \
+ nm \"$(DESTDIR)$(TARGET)\" | tclsh $$VXWORKS_MUNCH_TOOL -c $$VXWORKS_ARCH_MUNCH >\"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" && \
+ $$QMAKE_CC -c $$QMAKE_CFLAGS -fdollars-in-identifiers \"$(OBJECTS_DIR)/\$\${targ}_ctdt.c\" -o \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" && \
+ $$QMAKE_LINK $$QMAKE_LFLAGS -nostdlib -Wl,-X -T $(WIND_BASE)/target/h/tool/gnu/ldscripts/link.OUT \"$(OBJECTS_DIR)/\$\${targ}_ctdt.o\" \"$(DESTDIR)$(TARGET)\" -o \"$(DESTDIR)$(TARGET).munched\" && \
+ mv \"$(DESTDIR)$(TARGET).munched\" \"$(DESTDIR)$(TARGET)\" && \
+ chmod +x \"$(DESTDIR)$(TARGET)\")
+ }
+
+ # We need to create a dummy lib.a in case someone links against this lib.
+ # In VxWorks it's the responsibility of the run-time linker ld to resolve
+ # symbols, since there are no real shared libraries for the toolchain linker
+ # to link against.
+
+ shared:contains(TEMPLATE, lib) {
+ VXWORKS_MUNCH_CMD += "&&"
+ VXWORKS_MUNCH_CMD += (atarg=`basename $(TARGET) .so.$${VERSION}`.a ; touch \"$(DESTDIR)\$\${atarg}\")
+ }
+
+ QMAKE_POST_LINK = $$VXWORKS_MUNCH_CMD $$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo creating $@.$$VXWORKS_MUNCH_EXT && $$QMAKE_POST_LINK
+
+ isEmpty(DESTDIR) {
+ target.targets += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ } else {
+ target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$VXWORKS_MUNCH_EXT"
+ }
+ *-g++:LIBS += -lgcc
+}
+
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
index 354ce26..b4f39f5 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
index 9dc529f..cc57bf4 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
index 97fc6b3..ca6cca9 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_generate_temp_dirs.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
index 8cbd0a8..a3e0f4a 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
@@ -1,7 +1,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qt.xml b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
index ff12761..ad08bd8 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qt.xml
+++ b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
@@ -3,7 +3,7 @@
# /****************************************************************************
# **
# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# ** Contact: Qt Software Information (qt-info@nokia.com)
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
# **
# ** This file is part of symbian-sbsv2 mkspec.
# **
diff --git a/mkspecs/unsupported/qnx-g++/qmake.conf b/mkspecs/unsupported/qnx-g++/qmake.conf
new file mode 100644
index 0000000..2e568dc
--- /dev/null
+++ b/mkspecs/unsupported/qnx-g++/qmake.conf
@@ -0,0 +1,59 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6 with X11
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+include(../common/g++.conf)
+include(../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = /opt/X11R6/include
+QMAKE_LIBDIR_X11 = /opt/X11R6/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = /opt/X11R6/include
+QMAKE_LIBDIR_OPENGL = /opt/X11R6/lib
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11 -lm -lsocket
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK = -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qnx-g++/qplatformdefs.h b/mkspecs/unsupported/qnx-g++/qplatformdefs.h
new file mode 100644
index 0000000..f59922d
--- /dev/null
+++ b/mkspecs/unsupported/qnx-g++/qplatformdefs.h
@@ -0,0 +1,172 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+// QNX doesn't have the System V <sys/shm.h> header. This is not a standard
+// POSIX header, it's only documented in the Single UNIX Specification.
+// The preferred POSIX compliant way to share memory is to use the functions
+// in <sys/mman.h> that comply with the POSIX Real Time Interface (1003.1b).
+#include <sys/mman.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+// for htonl
+#include <arpa/inet.h>
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_FOPEN ::fopen64
+#define QT_FSEEK ::fseeko64
+#define QT_FTELL ::ftello64
+#define QT_FGETPOS ::fgetpos64
+#define QT_FSETPOS ::fsetpos64
+#define QT_FPOS_T fpos64_t
+#define QT_OFF_T off64_t
+#else
+#define QT_FOPEN ::fopen
+#define QT_FSEEK ::fseeko
+#define QT_FTELL ::ftello
+#define QT_FGETPOS ::fgetpos
+#define QT_FSETPOS ::fsetpos
+#define QT_FPOS_T fpos_t
+#define QT_OFF_T off_t
+#endif
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_STATBUF struct stat64
+#define QT_STATBUF4TSTAT struct stat64
+#define QT_STAT ::stat64
+#define QT_FSTAT ::fstat64
+#define QT_LSTAT ::lstat64
+#define QT_OPEN ::open64
+#define QT_TRUNCATE ::truncate64
+#define QT_FTRUNCATE ::ftruncate64
+#define QT_LSEEK ::lseek64
+#else
+#define QT_STATBUF struct stat
+#define QT_STATBUF4TSTAT struct stat
+#define QT_STAT ::stat
+#define QT_FSTAT ::fstat
+#define QT_LSTAT ::lstat
+#define QT_OPEN ::open
+#define QT_TRUNCATE ::truncate
+#define QT_FTRUNCATE ::ftruncate
+#define QT_LSEEK ::lseek
+#endif
+
+#define QT_STAT_REG S_IFREG
+#define QT_STAT_DIR S_IFDIR
+#define QT_STAT_MASK S_IFMT
+#define QT_STAT_LNK S_IFLNK
+#define QT_SOCKET_CONNECT ::connect
+#define QT_SOCKET_BIND ::bind
+#define QT_FILENO fileno
+#define QT_CLOSE ::close
+#define QT_READ ::read
+#define QT_WRITE ::write
+#define QT_ACCESS ::access
+#define QT_GETCWD ::getcwd
+#define QT_CHDIR ::chdir
+#define QT_MKDIR ::mkdir
+#define QT_RMDIR ::rmdir
+#define QT_OPEN_LARGEFILE O_LARGEFILE
+#define QT_OPEN_RDONLY O_RDONLY
+#define QT_OPEN_WRONLY O_WRONLY
+#define QT_OPEN_RDWR O_RDWR
+#define QT_OPEN_CREAT O_CREAT
+#define QT_OPEN_TRUNC O_TRUNC
+#define QT_OPEN_APPEND O_APPEND
+
+#define QT_SIGNAL_RETTYPE void
+#define QT_SIGNAL_ARGS int
+#define QT_SIGNAL_IGNORE SIG_IGN
+
+#define QT_SOCKLEN_T socklen_t
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+// QNX6 doesn't have getpagesize()
+inline int getpagesize()
+{
+ return ::sysconf(_SC_PAGESIZE);
+}
+
+#include <stdlib.h>
+
+// QNX6 doesn't have strtof - use strtod instead
+inline float strtof(const char *b, char **e)
+{
+ return float(strtod(b, e));
+}
+
+#define QT_QWS_TEMP_DIR qgetenv("TMP");
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
new file mode 100644
index 0000000..51fe697
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf
@@ -0,0 +1,102 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+#
+# qmake configuration for common gcc
+#
+
+QMAKE_CC = ntox86-gcc-3.3.5
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_CXX = ntox86-g++-3.3.5
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = ntox86-gcc-3.3.5
+QMAKE_LINK_SHLIB = ntox86-gcc-3.3.5
+QMAKE_LFLAGS += -Wl,--no-undefined
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_RPATH = -Wl,-rpath,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+#include(../../common/g++.conf)
+include(../../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK += -lsocket
+QMAKE_LIBS_GUI += -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h b/mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h
new file mode 100644
index 0000000..7f0d1c4
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-generic-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../qnx-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
new file mode 100644
index 0000000..3f24cd9
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qmake.conf
@@ -0,0 +1,97 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = ntox86-gcc-4.2.4
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_CXX = ntox86-g++-4.2.4
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = ntox86-g++-4.2.4
+QMAKE_LINK_SHLIB = ntox86-g++-4.2.4
+QMAKE_LFLAGS += -Wl,--no-undefined
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_RPATH = -Wl,-rpath,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+include(../../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK += -lsocket
+QMAKE_LIBS_GUI += -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h b/mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h
new file mode 100644
index 0000000..7f0d1c4
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-i386-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../qnx-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
new file mode 100644
index 0000000..56a9c66
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-ppc-g++/qmake.conf
@@ -0,0 +1,97 @@
+#
+# qmake configuration for qnx-g++
+#
+# Written for QNX RTOS v6
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl
+QT += core gui
+
+QMAKE_CC = ntoppc-gcc-4.3.3
+QMAKE_CFLAGS += -pipe
+QMAKE_CFLAGS_DEPS += -M
+QMAKE_CFLAGS_WARN_ON += -Wall -W
+QMAKE_CFLAGS_WARN_OFF += -w
+QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB += -fPIC
+QMAKE_CFLAGS_STATIC_LIB += -fPIC
+QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
+QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
+QMAKE_COMPILER_DEFINES += __QNXNTO__
+
+QMAKE_CXX = ntoppc-g++-4.3.3
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = ntoppc-g++-4.3.3
+QMAKE_LINK_SHLIB = ntoppc-g++-4.3.3
+QMAKE_LFLAGS += -Wl,--no-undefined
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP +=
+QMAKE_LFLAGS_SHLIB += -shared
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME += -Wl,-soname,
+QMAKE_LFLAGS_THREAD +=
+QMAKE_RPATH = -Wl,-rpath,
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
+
+include(../../common/unix.conf)
+
+QMAKE_CFLAGS_THREAD = -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CLFAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+#QMAKE_LIBS = -lunix
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK += -lsocket
+QMAKE_LIBS_GUI += -lsocket
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+load(qt_config)
diff --git a/mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h b/mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h
new file mode 100644
index 0000000..7f0d1c4
--- /dev/null
+++ b/mkspecs/unsupported/qws/qnx-ppc-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../qnx-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
new file mode 100644
index 0000000..a8f7e49
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qmake.conf
@@ -0,0 +1,111 @@
+#
+# qmake configuration for vxworks-ppc-dcc
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+VXWORKS_ARCH = ppc
+VXWORKS_CPU = PPC32
+VXWORKS_DIAB_SPEC = -tPPC7400FV:vxworks66
+VXWORKS_ARCH_MUNCH = ppc
+
+QMAKE_CC = dcc
+QMAKE_CFLAGS += $$VXWORKS_DIAB_SPEC -Xkeywords=0x0 -Xcode-absolute-far -Xansi -Xforce-declarations -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=diab -DTOOL=diab -D_WRS_KERNEL -DVXWORKS -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_DEPS +=
+QMAKE_CFLAGS_WARN_ON +=
+QMAKE_CFLAGS_WARN_OFF += -Xsuppress-warnings
+QMAKE_CFLAGS_RELEASE +=
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB +=
+QMAKE_CFLAGS_STATIC_LIB +=
+QMAKE_CFLAGS_YACC +=
+QMAKE_CFLAGS_HIDESYMS +=
+QMAKE_CFLAGS_PRECOMPILE +=
+QMAKE_CFLAGS_USE_PRECOMPILE +=
+
+QMAKE_CXX = dcc
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS
+QMAKE_CXXFLAGS_PRECOMPILE +=
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = dld
+QMAKE_LINK_SHLIB = dld
+QMAKE_LFLAGS += $$VXWORKS_DIAB_SPEC
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP += -r5
+QMAKE_LFLAGS_SHLIB +=
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME +=
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_NOUNDEF +=
+QMAKE_RPATH =
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC =
+QMAKE_LFLAGS_DYNAMIC_LIST =
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = $(WIND_HOME)/GSS/include
+QMAKE_LIBDIR_X11 = $(WIND_HOME)/GSS/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = $$QMAKE_INCDIR_X11
+QMAKE_LIBDIR_OPENGL = $$QMAKE_LIBDIR_X11
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethostbyname and friends
+
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_INSTALL_FILE = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(../../common/unix.conf)
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h b/mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h
new file mode 100644
index 0000000..a1735d0
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-dcc/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../vxworks-simpentium-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf b/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
new file mode 100644
index 0000000..be8c13d
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-g++/qmake.conf
@@ -0,0 +1,37 @@
+#
+# qmake configuration for vxworks-simpentium-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+DEFINES += VXWORKS
+
+VXWORKS_ARCH = ppc
+VXWORKS_CPU = PPC32
+VXWORKS_ARCH_MUNCH = ppc
+
+include(../../common/g++.conf)
+include(../../common/linux.conf)
+
+QMAKE_CC = cc$$VXWORKS_ARCH_MUNCH
+QMAKE_CFLAGS = -fno-builtin -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_SHLIB = # remove -fPIC
+QMAKE_CFLAGS_STATIC_LIB = # remove -fPIC
+QMAKE_CXX = c++$$VXWORKS_ARCH_MUNCH
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_SHLIB= # remove -fPIC
+QMAKE_CXXFLAGS_STATIC_LIB= # remove -fPIC
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LFLAGS_SHLIB = -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common # remove -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_APP += -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common
+# QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethostbyname() and friends
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h b/mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h
new file mode 100644
index 0000000..a1735d0
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-ppc-g++/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../vxworks-simpentium-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
new file mode 100644
index 0000000..6228a6b
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qmake.conf
@@ -0,0 +1,110 @@
+#
+# qmake configuration for vxworks-simpentium-dcc
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+
+VXWORKS_ARCH = simlinux
+VXWORKS_CPU = SIMLINUX
+VXWORKS_DIAB_SPEC = -tX86LH:vxworks66
+VXWORKS_ARCH_MUNCH = pentium
+
+QMAKE_CC = dcc
+QMAKE_CFLAGS += $$VXWORKS_DIAB_SPEC -Xkeywords=0x0 -Xcode-absolute-far -Xansi -Xforce-declarations -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=diab -DTOOL=diab -D_WRS_KERNEL -DVXWORKS -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_DEPS +=
+QMAKE_CFLAGS_WARN_ON +=
+QMAKE_CFLAGS_WARN_OFF += -Xsuppress-warnings
+QMAKE_CFLAGS_RELEASE +=
+QMAKE_CFLAGS_DEBUG += -g
+QMAKE_CFLAGS_SHLIB +=
+QMAKE_CFLAGS_STATIC_LIB +=
+QMAKE_CFLAGS_YACC +=
+QMAKE_CFLAGS_HIDESYMS +=
+QMAKE_CFLAGS_PRECOMPILE +=
+QMAKE_CFLAGS_USE_PRECOMPILE +=
+
+QMAKE_CXX = dcc
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
+QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
+QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS
+QMAKE_CXXFLAGS_PRECOMPILE +=
+QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+
+QMAKE_LINK = dld
+QMAKE_LINK_SHLIB = dld
+QMAKE_LFLAGS += $$VXWORKS_DIAB_SPEC -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common
+QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_DEBUG +=
+QMAKE_LFLAGS_APP += -r5
+QMAKE_LFLAGS_SHLIB +=
+QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_SONAME +=
+QMAKE_LFLAGS_THREAD +=
+QMAKE_LFLAGS_NOUNDEF +=
+QMAKE_RPATH =
+
+QMAKE_PCH_OUTPUT_EXT = .gch
+
+# -Bsymbolic-functions (ld) support
+QMAKE_LFLAGS_BSYMBOLIC_FUNC =
+QMAKE_LFLAGS_DYNAMIC_LIST =
+
+QMAKE_CFLAGS_THREAD += -D_REENTRANT
+QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
+
+QMAKE_INCDIR =
+QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 = $(WIND_HOME)/GSS/include
+QMAKE_LIBDIR_X11 = $(WIND_HOME)/GSS/lib
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL = $$QMAKE_INCDIR_X11
+QMAKE_LIBDIR_OPENGL = $$QMAKE_LIBDIR_X11
+
+QMAKE_LIBS =
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_X11 = -lXext -lX11
+QMAKE_LIBS_X11SM = -lSM -lICE
+QMAKE_LIBS_NIS = -lnsl
+QMAKE_LIBS_OPENGL = -lGLU -lGL
+QMAKE_LIBS_OPENGL_QT = -lGL
+QMAKE_LIBS_THREAD =
+QMAKE_LIBS_NETWORK = # -lnet # only needed if kernel is missing gethostbyname and friends
+
+QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
+QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
+
+QMAKE_AR = ar cqs
+QMAKE_OBJCOPY = objcopy
+QMAKE_RANLIB =
+
+QMAKE_TAR = tar -cf
+QMAKE_GZIP = gzip -9f
+
+QMAKE_COPY = cp -f
+QMAKE_COPY_FILE = $(COPY)
+QMAKE_COPY_DIR = $(COPY) -r
+QMAKE_MOVE = mv -f
+QMAKE_DEL_FILE = rm -f
+QMAKE_DEL_DIR = rmdir
+QMAKE_STRIP = strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+QMAKE_CHK_DIR_EXISTS = test -d
+QMAKE_MKDIR = mkdir -p
+QMAKE_INSTALL_FILE = install -m 644 -p
+QMAKE_INSTALL_PROGRAM = install -m 755 -p
+
+include(../../common/unix.conf)
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h b/mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h
new file mode 100644
index 0000000..a1735d0
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-dcc/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../vxworks-simpentium-g++/qplatformdefs.h"
diff --git a/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf b/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
new file mode 100644
index 0000000..29e9c70
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-g++/qmake.conf
@@ -0,0 +1,37 @@
+#
+# qmake configuration for vxworks-simpentium-g++
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl vxworks
+QT += core gui network
+QMAKE_INCREMENTAL_STYLE = sublib
+DEFINES += VXWORKS
+
+VXWORKS_ARCH = simlinux
+VXWORKS_CPU = SIMLINUX
+VXWORKS_ARCH_MUNCH = pentium
+
+include(../../common/g++.conf)
+include(../../common/linux.conf)
+
+QMAKE_CC = cc$$VXWORKS_ARCH_MUNCH
+QMAKE_CFLAGS = -fno-builtin -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip -DCPU=$$upper($$VXWORKS_ARCH) -DVX_CPU_FAMILY=$$VXWORKS_ARCH -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -D_VSB_CONFIG_FILE=\'<../lib/h/config/vsbConfig.h>\'
+QMAKE_CFLAGS_SHLIB = # remove -fPIC
+QMAKE_CFLAGS_STATIC_LIB = # remove -fPIC
+QMAKE_CXX = c++$$VXWORKS_ARCH_MUNCH
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_SHLIB= # remove -fPIC
+QMAKE_CXXFLAGS_STATIC_LIB= # remove -fPIC
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LFLAGS_SHLIB = -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common # remove -shared
+QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
+QMAKE_LFLAGS_APP += -Wl,-Ur -L $(WIND_BASE)/target/lib/$$VXWORKS_ARCH/$$VXWORKS_CPU/common
+QMAKE_LIBS_NETWORK = # -lnetwrap # only needed if kernel is missing gethostbyname() and friends
+QMAKE_LIBS_DYNLOAD =
+QMAKE_LIBS_THREAD =
+
+load(qt_config)
+
diff --git a/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h b/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
new file mode 100644
index 0000000..b3eefea
--- /dev/null
+++ b/mkspecs/unsupported/vxworks-simpentium-g++/qplatformdefs.h
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+#include "qfunctions_vxworks.h"
+
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_STATBUF struct stat64
+#define QT_STATBUF4TSTAT struct stat64
+#define QT_STAT ::stat64
+#define QT_FSTAT ::fstat64
+#define QT_LSTAT ::stat64
+#define QT_OPEN ::open64
+#define QT_TRUNCATE ::truncate64
+#define QT_FTRUNCATE ::ftruncate64
+#define QT_LSEEK ::lseek64
+#else
+#define QT_STATBUF struct stat
+#define QT_STATBUF4TSTAT struct stat
+#define QT_STAT ::stat
+#define QT_FSTAT ::fstat
+#define QT_LSTAT ::stat
+#define QT_OPEN ::open
+#define QT_TRUNCATE ::truncate
+#define QT_FTRUNCATE ::ftruncate
+#define QT_LSEEK ::lseek
+#endif
+
+#ifdef QT_LARGEFILE_SUPPORT
+#define QT_FOPEN ::fopen64
+#define QT_FSEEK ::fseeko64
+#define QT_FTELL ::ftello64
+#define QT_FGETPOS ::fgetpos64
+#define QT_FSETPOS ::fsetpos64
+#define QT_FPOS_T fpos64_t
+#define QT_OFF_T off64_t
+#else
+#define QT_FOPEN ::fopen
+#define QT_FSEEK ::fseek
+#define QT_FTELL ::ftell
+#define QT_FGETPOS ::fgetpos
+#define QT_FSETPOS ::fsetpos
+#define QT_FPOS_T fpos_t
+#define QT_OFF_T long
+#endif
+
+#define QT_STAT_REG S_IFREG
+#define QT_STAT_DIR S_IFDIR
+#define QT_STAT_MASK S_IFMT
+#define QT_STAT_LNK S_IFLNK
+#define QT_SOCKET_CONNECT(sd, to, tolen) \
+ ::connect(sd, (struct sockaddr *) to, tolen)
+#define QT_SOCKET_BIND ::bind
+#define QT_FILENO fileno
+#define QT_CLOSE ::close
+#define QT_READ(fd, buf, len) ::read(fd, (char*) buf, len)
+#define QT_WRITE(fd, buf, len) ::write(fd, (char*) buf, len)
+#define QT_ACCESS ::access
+#define QT_GETCWD ::getcwd
+#define QT_CHDIR ::chdir
+#define QT_MKDIR(dir, perm) ::mkdir(dir)
+#define QT_RMDIR ::rmdir
+#define QT_OPEN_LARGEFILE O_LARGEFILE
+#define QT_OPEN_RDONLY O_RDONLY
+#define QT_OPEN_WRONLY O_WRONLY
+#define QT_OPEN_RDWR O_RDWR
+#define QT_OPEN_CREAT O_CREAT
+#define QT_OPEN_TRUNC O_TRUNC
+#define QT_OPEN_APPEND O_APPEND
+
+#define QT_SIGNAL_RETTYPE void
+#define QT_SIGNAL_ARGS int
+#define QT_SIGNAL_IGNORE SIG_IGN
+
+// there IS a socklen_t in sys/socket.h (unsigned int),
+// but sockLib.h uses int in all function declaration...
+//#define QT_SOCKLEN_T socklen_t
+#define QT_SOCKLEN_T int
+
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+
+
+#endif // QPLATFORMDEFS_H
diff --git a/mkspecs/win32-g++/qplatformdefs.h b/mkspecs/win32-g++/qplatformdefs.h
index c4ee4b4..97c63f5 100644
--- a/mkspecs/win32-g++/qplatformdefs.h
+++ b/mkspecs/win32-g++/qplatformdefs.h
@@ -60,7 +60,7 @@
#include <errno.h>
#include <sys/stat.h>
#include <stdlib.h>
-#include <windows.h>
+#include <qt_windows.h>
#include <limits.h>
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT-0 < 0x0500)
diff --git a/mkspecs/win32-mwc/qplatformdefs.h b/mkspecs/win32-mwc/qplatformdefs.h
index 0ce3ac6..5c31394 100644
--- a/mkspecs/win32-mwc/qplatformdefs.h
+++ b/mkspecs/win32-mwc/qplatformdefs.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the qmake spec of the Qt Toolkit.
**
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/qmake/Makefile.unix b/qmake/Makefile.unix
index c7f4dc4..6ba5b6b 100644
--- a/qmake/Makefile.unix
+++ b/qmake/Makefile.unix
@@ -13,7 +13,7 @@ OBJS=project.o property.o main.o makefile.o unixmake2.o unixmake.o \
symmake.o initprojectdeploy_symbian.o symmake_abld.o symmake_sbsv2.o
#qt code
-QOBJS=qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \
+QOBJS=qtextcodec.o qutfcodec.o qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o \
qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlistdata.o qfile.o \
qfsfileengine_unix.o qfsfileengine_iterator_unix.o qfsfileengine.o \
qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o \
@@ -47,6 +47,7 @@ DEPEND_SRC=project.cpp property.cpp meta.cpp main.cpp generators/makefile.cpp ge
generators/win32/msvc_objectmodel.cpp generators/win32/msvc_nmake.cpp generators/win32/borland_bmake.cpp \
generators/symbian/symmake.cpp generators/symbian/initprojectdeploy_symbian.cpp \
generators/symbian/symmake_abld.cpp generators/symbian/symmake_sbsv2.cpp \
+ $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp \
$(SOURCE_PATH)/src/corelib/tools/qstring.cpp $(SOURCE_PATH)/src/corelib/io/qfile.cpp \
$(SOURCE_PATH)/src/corelib/io/qtextstream.cpp $(SOURCE_PATH)/src/corelib/io/qiodevice.cpp \
$(SOURCE_PATH)/src/corelib/global/qmalloc.cpp \
@@ -165,6 +166,12 @@ qcore_mac.o: $(SOURCE_PATH)/src/corelib/kernel/qcore_mac.cpp
qurl.o: $(SOURCE_PATH)/src/corelib/io/qurl.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qurl.cpp
+qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+
+qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+ $(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) -c -o $@ $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32
index 3f4f8d4..929f950 100644
--- a/qmake/Makefile.win32
+++ b/qmake/Makefile.win32
@@ -110,6 +110,8 @@ QTOBJS= \
qmalloc.obj \
qmap.obj \
qregexp.obj \
+ qtextcodec.obj \
+ qutfcodec.obj \
qstring.obj \
qstringlist.obj \
qtextstream.obj \
@@ -198,6 +200,8 @@ clean::
-del qmalloc.obj
-del qmap.obj
-del qregexp.obj
+ -del qtextcodec.obj
+ -del qutfcodec.obj
-del qstring.obj
-del qstringlist.obj
-del qtextstream.obj
@@ -347,6 +351,9 @@ qbytearraymatcher.obj: $(SOURCE_PATH)\src\corelib\tools\qbytearraymatcher.cpp
qchar.obj: $(SOURCE_PATH)\src\corelib\tools\qchar.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qchar.cpp
+qutfcodec.obj: $(SOURCE_PATH)\src\corelib\codecs\qutfcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\codecs\qutfcodec.cpp
+
qstring.obj: $(SOURCE_PATH)\src\corelib\tools\qstring.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qstring.cpp
@@ -389,8 +396,8 @@ qfsfileengine_iterator.obj: $(SOURCE_PATH)\src\corelib\io\qfsfileengine_iterator
qabstractfileengine.obj: $(SOURCE_PATH)\src\corelib\io\qabstractfileengine.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\io\qabstractfileengine.cpp
-qtextcodec.obj: $(SOURCE_PATH)\src\codecs\qtextcodec.cpp
- $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\codecs\qtextcodec.cpp
+qtextcodec.obj: $(SOURCE_PATH)\src\corelib\codecs\qtextcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\codecs\qtextcodec.cpp
qregexp.obj: $(SOURCE_PATH)\src\corelib\tools\qregexp.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)\src\corelib\tools\qregexp.cpp
diff --git a/qmake/Makefile.win32-g++ b/qmake/Makefile.win32-g++
index 03ca6dd..c18201e 100644
--- a/qmake/Makefile.win32-g++
+++ b/qmake/Makefile.win32-g++
@@ -75,6 +75,8 @@ QTOBJS= \
qmalloc.o \
qmap.o \
qregexp.o \
+ qtextcodec.o \
+ qutfcodec.o \
qstring.o \
qstringlist.o \
qtextstream.o \
@@ -198,6 +200,9 @@ qvsnprintf.o: $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp
qbytearraymatcher.o: $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
+qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
@@ -237,8 +242,8 @@ qfsfileengine.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp
qfsfileengine_iterator.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
-qtextcodec.o: $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
- $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
+qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
diff --git a/qmake/Makefile.win32-g++-sh b/qmake/Makefile.win32-g++-sh
index bd1b8b5..e02a021 100644
--- a/qmake/Makefile.win32-g++-sh
+++ b/qmake/Makefile.win32-g++-sh
@@ -75,6 +75,8 @@ QTOBJS= \
qmalloc.o \
qmap.o \
qregexp.o \
+ qtextcodec.o \
+ qutfcodec.o \
qstring.o \
qstringlist.o \
qtextstream.o \
@@ -197,6 +199,9 @@ qvsnprintf.o: $(SOURCE_PATH)/src/corelib/tools/qvsnprintf.cpp
qbytearraymatcher.o: $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qbytearraymatcher.cpp
+qutfcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qutfcodec.cpp
+
qstring.o: $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qstring.cpp
@@ -236,8 +241,8 @@ qfsfileengine.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine.cpp
qfsfileengine_iterator.o: $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qfsfileengine_iterator.cpp
-qtextcodec.o: $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
- $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/codecs/qtextcodec.cpp
+qtextcodec.o: $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
+ $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/codecs/qtextcodec.cpp
qregexp.o: $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
$(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/tools/qregexp.cpp
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index dae38fc..a983d3b 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -156,7 +156,7 @@ ProjectBuilderMakefileGenerator::writeSubDirs(QTextStream &t)
QString profile = tmp;
if(!profile.endsWith(Option::dir_sep))
profile += Option::dir_sep;
- profile += fi.baseName() + ".pro";
+ profile += fi.baseName() + Option::pro_ext;
fi = QFileInfo(profile);
}
QMakeProject tmp_proj;
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 345f999..0db24ae 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -121,7 +121,7 @@ bool MakefileGenerator::mkdir(const QString &in_path) const
QDir d;
if(path.startsWith(QDir::separator())) {
d.cd(QString(QDir::separator()));
- path = path.right(path.length() - 1);
+ path.remove(0, 1);
}
bool ret = true;
#ifdef Q_OS_WIN
@@ -129,7 +129,7 @@ bool MakefileGenerator::mkdir(const QString &in_path) const
if(!QDir::isRelativePath(path)) {
if(QFile::exists(path.left(3))) {
d.cd(path.left(3));
- path = path.right(path.length() - 3);
+ path.remove(0, 3);
} else {
warn_msg(WarnLogic, "Cannot access drive '%s' (%s)",
path.left(3).toLatin1().data(), path.toLatin1().data());
@@ -201,13 +201,13 @@ MakefileGenerator::initOutPaths()
if(Option::mkfile::do_cache && !Option::mkfile::cachefile.isEmpty() &&
v.contains("QMAKE_ABSOLUTE_SOURCE_ROOT")) {
QString root = v["QMAKE_ABSOLUTE_SOURCE_ROOT"].first();
- root = Option::fixPathToTargetOS(root);
+ root = QDir::fromNativeSeparators(root);
if(!root.isEmpty()) {
QFileInfo fi = fileInfo(Option::mkfile::cachefile);
if(!fi.makeAbsolute()) {
QString cache_r = fi.path(), pwd = Option::output_dir;
if(pwd.startsWith(cache_r) && !pwd.startsWith(root)) {
- pwd = Option::fixPathToTargetOS(root + pwd.mid(cache_r.length()));
+ pwd = root + pwd.mid(cache_r.length());
if(exists(pwd))
v.insert("QMAKE_ABSOLUTE_SOURCE_PATH", QStringList(pwd));
}
@@ -217,7 +217,7 @@ MakefileGenerator::initOutPaths()
}
if(!v["QMAKE_ABSOLUTE_SOURCE_PATH"].isEmpty()) {
QString &asp = v["QMAKE_ABSOLUTE_SOURCE_PATH"].first();
- asp = Option::fixPathToTargetOS(asp);
+ asp = QDir::fromNativeSeparators(asp);
if(asp.isEmpty() || asp == Option::output_dir) //if they're the same, why bother?
v["QMAKE_ABSOLUTE_SOURCE_PATH"].clear();
}
@@ -243,7 +243,7 @@ MakefileGenerator::initOutPaths()
if(!(dirs[x] == "DLLDESTDIR"))
#endif
{
- if(pathRef.right(Option::dir_sep.length()) != Option::dir_sep)
+ if(!pathRef.endsWith(Option::dir_sep))
pathRef += Option::dir_sep;
}
@@ -346,7 +346,7 @@ MakefileGenerator::findFilesInVPATH(QStringList l, uchar flags, const QString &v
QString real_dir = Option::fixPathToLocalOS((*vpath_it));
if(exists(real_dir + QDir::separator() + val)) {
QString dir = (*vpath_it);
- if(dir.right(Option::dir_sep.length()) != Option::dir_sep)
+ if(!dir.endsWith(Option::dir_sep))
dir += Option::dir_sep;
val = dir + val;
if(!(flags & VPATH_NoFixify))
@@ -365,7 +365,7 @@ MakefileGenerator::findFilesInVPATH(QStringList l, uchar flags, const QString &v
real_dir = dir;
if(!(flags & VPATH_NoFixify))
real_dir = fileFixify(real_dir, qmake_getpwd(), Option::output_dir);
- regex = regex.right(regex.length() - dir.length());
+ regex.remove(0, dir.length());
}
if(real_dir.isEmpty() || exists(real_dir)) {
QStringList files = QDir(real_dir).entryList(QStringList(regex));
@@ -725,14 +725,14 @@ MakefileGenerator::init()
if(project->isActiveConfig("qmake_cache")) {
QString cache_file;
if(!project->isEmpty("QMAKE_INTERNAL_CACHE_FILE")) {
- cache_file = Option::fixPathToLocalOS(project->first("QMAKE_INTERNAL_CACHE_FILE"));
+ cache_file = QDir::fromNativeSeparators(project->first("QMAKE_INTERNAL_CACHE_FILE"));
} else {
cache_file = ".qmake.internal.cache";
if(project->isActiveConfig("build_pass"))
cache_file += ".BUILD." + project->first("BUILD_PASS");
}
- if(cache_file.indexOf(QDir::separator()) == -1)
- cache_file.prepend(Option::output_dir + QDir::separator());
+ if(cache_file.indexOf('/') == -1)
+ cache_file.prepend(Option::output_dir + '/');
QMakeSourceFileInfo::setCacheFile(cache_file);
}
@@ -789,7 +789,7 @@ MakefileGenerator::init()
QString dir, regex = Option::fixPathToLocalOS((*dep_it));
if(regex.lastIndexOf(Option::dir_sep) != -1) {
dir = regex.left(regex.lastIndexOf(Option::dir_sep) + 1);
- regex = regex.right(regex.length() - dir.length());
+ regex.remove(0, dir.length());
}
QStringList files = QDir(dir).entryList(QStringList(regex));
if(files.isEmpty()) {
@@ -939,7 +939,7 @@ MakefileGenerator::writePrlFile(QTextStream &t)
QString target = project->first("TARGET");
int slsh = target.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- target = target.right(target.length() - slsh - 1);
+ target.remove(0, slsh + 1);
QString bdir = Option::output_dir;
if(bdir.isEmpty())
bdir = qmake_getpwd();
@@ -1057,11 +1057,11 @@ MakefileGenerator::prlFileName(bool fixify)
ret = project->first("TARGET");
int slsh = ret.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- ret = ret.right(ret.length() - slsh);
+ ret.remove(0, slsh);
if(!ret.endsWith(Option::prl_ext)) {
int dot = ret.indexOf('.');
if(dot != -1)
- ret = ret.left(dot);
+ ret.truncate(dot);
ret += Option::prl_ext;
}
if(!project->isEmpty("QMAKE_BUNDLE"))
@@ -1211,7 +1211,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
if(project->values((*it) + ".CONFIG").indexOf("no_path") == -1 &&
project->values((*it) + ".CONFIG").indexOf("dummy_install") == -1) {
dst = fileFixify(unescapeFilePath(project->values(pvar).first()), FileFixifyAbsolute, false);
- if(dst.right(1) != Option::dir_sep)
+ if(!dst.endsWith(Option::dir_sep))
dst += Option::dir_sep;
}
dst = escapeFilePath(dst);
@@ -1240,9 +1240,9 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
int slsh = filestr.lastIndexOf(Option::dir_sep);
if(slsh != -1) {
dirstr = filestr.left(slsh+1);
- filestr = filestr.right(filestr.length() - slsh - 1);
+ filestr.remove(0, slsh+1);
}
- if(dirstr.right(Option::dir_sep.length()) != Option::dir_sep)
+ if(!dirstr.endsWith(Option::dir_sep))
dirstr += Option::dir_sep;
if(exists(wild)) { //real file
QString file = wild;
@@ -1342,7 +1342,7 @@ MakefileGenerator::writeInstalls(QTextStream &t, const QString &installs, bool n
const QStringList &dirs = project->values(pvar);
for(QStringList::ConstIterator pit = dirs.begin(); pit != dirs.end(); ++pit) {
QString tmp_dst = fileFixify((*pit), FileFixifyAbsolute, false);
- if (!isWindowsShell() && tmp_dst.right(1) != Option::dir_sep)
+ if (!isWindowsShell() && !tmp_dst.endsWith(Option::dir_sep))
tmp_dst += Option::dir_sep;
t << mkdir_p_asstring(filePrefixRoot(root, tmp_dst)) << "\n\t";
}
@@ -2174,8 +2174,6 @@ QString MakefileGenerator::buildArgs(const QString &outdir)
ret += " -unix";
else if(Option::target_mode == Option::TARG_WIN_MODE)
ret += " -win32";
- else if(Option::target_mode == Option::TARG_QNX6_MODE)
- ret += " -qnx6";
//configs
for(QStringList::Iterator it = Option::user_configs.begin();
@@ -2277,8 +2275,8 @@ MakefileGenerator::findSubDirsSubTargets() const
st->profile = file.section(Option::dir_sep, -1) + Option::pro_ext;
st->in_directory = file;
}
- while(st->in_directory.right(1) == Option::dir_sep)
- st->in_directory = st->in_directory.left(st->in_directory.length() - 1);
+ while(st->in_directory.endsWith(Option::dir_sep))
+ st->in_directory.chop(1);
if(fileInfo(st->in_directory).isRelative())
st->out_directory = st->in_directory;
else
@@ -2358,7 +2356,7 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
if (!(flags & SubTargetSkipDefaultVariables)) {
QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
if(ofile.lastIndexOf(Option::dir_sep) != -1)
- ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
+ ofile.remove(0, ofile.lastIndexOf(Option::dir_sep) +1);
t << "MAKEFILE = " << ofile << endl;
/* Calling Option::fixPathToTargetOS() is necessary for MinGW/MSYS, which requires
* back-slashes to be turned into slashes. */
@@ -2802,11 +2800,13 @@ MakefileGenerator::fileFixify(const QString& file, const QString &out_d, const Q
return cacheVal;
//do the fixin'
- const QString pwd = qmake_getpwd() + "/";
+ QString pwd = qmake_getpwd();
+ if (!pwd.endsWith('/'))
+ pwd += '/';
QString orig_file = ret;
if(ret.startsWith(QLatin1Char('~'))) {
if(ret.startsWith(QLatin1String("~/")))
- ret = QDir::homePath() + Option::dir_sep + ret.mid(1);
+ ret = QDir::homePath() + ret.mid(1);
else
warn_msg(WarnLogic, "Unable to expand ~ in %s", ret.toLatin1().constData());
}
@@ -2895,13 +2895,13 @@ MakefileGenerator::checkMultipleDefinition(const QString &f, const QString &w)
QString file = f;
int slsh = f.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- file = file.right(file.length() - slsh - 1);
+ file.remove(0, slsh + 1);
QStringList &l = project->values(w);
for(QStringList::Iterator val_it = l.begin(); val_it != l.end(); ++val_it) {
QString file2((*val_it));
slsh = file2.lastIndexOf(Option::dir_sep);
if(slsh != -1)
- file2 = file2.right(file2.length() - slsh - 1);
+ file2.remove(0, slsh + 1);
if(file2 == file) {
warn_msg(WarnLogic, "Found potential symbol conflict of %s (%s) in %s",
file.toLatin1().constData(), (*val_it).toLatin1().constData(), w.toLatin1().constData());
@@ -3055,7 +3055,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
file.setFileName(Option::output_dir + "/" + file.fileName()); //pwd when qmake was run
QFileInfo fi(fileInfo(file.fileName()));
if(fi.isDir())
- outdir = file.fileName() + QDir::separator();
+ outdir = file.fileName() + '/';
}
if(!outdir.isEmpty() || file.fileName().isEmpty()) {
QString fname = "Makefile";
@@ -3075,7 +3075,7 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
file.setFileName(file.fileName() + "." + build);
if(project->isEmpty("QMAKE_MAKEFILE"))
project->values("QMAKE_MAKEFILE").append(file.fileName());
- int slsh = file.fileName().lastIndexOf(Option::dir_sep);
+ int slsh = file.fileName().lastIndexOf('/');
if(slsh != -1)
mkdir(file.fileName().left(slsh));
if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Truncate)) {
@@ -3085,9 +3085,13 @@ MakefileGenerator::openOutput(QFile &file, const QString &build) const
od = fileInfo(fi.readLink()).absolutePath();
else
od = fi.path();
- od = Option::fixPathToTargetOS(od);
- if(QDir::isRelativePath(od))
- od.prepend(Option::output_dir);
+ od = QDir::fromNativeSeparators(od);
+ if(QDir::isRelativePath(od)) {
+ QString dir = Option::output_dir;
+ if (!dir.endsWith('/') && !od.isEmpty())
+ dir += '/';
+ od.prepend(dir);
+ }
Option::output_dir = od;
return true;
}
diff --git a/qmake/generators/makefiledeps.cpp b/qmake/generators/makefiledeps.cpp
index 34a5322..d907394 100644
--- a/qmake/generators/makefiledeps.cpp
+++ b/qmake/generators/makefiledeps.cpp
@@ -378,17 +378,19 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
files_changed = true;
file->dep_checked = true;
+ const QMakeLocalFileName sourceFile = fixPathForFile(file->file, true);
+
struct stat fst;
char *buffer = 0;
int buffer_len = 0;
{
int fd;
#if defined(_MSC_VER) && _MSC_VER >= 1400
- if (_sopen_s(&fd, fixPathForFile(file->file, true).local().toLatin1().constData(),
+ if (_sopen_s(&fd, sourceFile.local().toLatin1().constData(),
_O_RDONLY, _SH_DENYNO, _S_IREAD) != 0)
fd = -1;
#else
- fd = open(fixPathForFile(file->file, true).local().toLatin1().constData(), O_RDONLY);
+ fd = open(sourceFile.local().toLatin1().constData(), O_RDONLY);
#endif
if(fd == -1 || fstat(fd, &fst) || S_ISDIR(fst.st_mode))
return false;
@@ -623,12 +625,8 @@ bool QMakeSourceFileInfo::findDeps(SourceFile *file)
QMakeLocalFileName lfn(inc);
if(QDir::isRelativePath(lfn.real())) {
if(try_local) {
- QString dir = findFileInfo(file->file).path();
- if(QDir::isRelativePath(dir))
- dir.prepend(qmake_getpwd() + "/");
- if(!dir.endsWith("/"))
- dir += "/";
- QMakeLocalFileName f(dir + lfn.local());
+ QDir sourceDir = findFileInfo(sourceFile).dir();
+ QMakeLocalFileName f(sourceDir.absoluteFilePath(lfn.local()));
if(findFileInfo(f).exists()) {
lfn = fixPathForFile(f);
exists = true;
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index 0b8fa17..4a9fd8d 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -294,9 +294,9 @@ SubdirsMetaMakefileGenerator::init()
init_flag = true;
if(Option::recursive) {
- QString old_output_dir = QDir::cleanPath(Option::output_dir);
+ QString old_output_dir = Option::output_dir;
QString old_output = Option::output.fileName();
- QString oldpwd = QDir::cleanPath(qmake_getpwd());
+ QString oldpwd = qmake_getpwd();
QString thispwd = oldpwd;
if(!thispwd.endsWith('/'))
thispwd += '/';
@@ -452,18 +452,17 @@ QStringList SymbianSubdirsMetaMakefileGenerator::getDependencyList(QString mmpFi
QStringList list;
QList<QString> values = mmpDependency.values(mmpFilename);
- if(recursionDepth < 0) {
+ if (recursionDepth < 0) {
// special case; just first dependency level
list = values;
return list;
}
- if(values.size() == 0) {
+ if (values.size() == 0) {
//reached recursion END condition
- if(recursionDepth == 0) {
+ if (recursionDepth == 0) {
--recursionDepth;
return list; // empty list // no dependencies / return
- }
- else {
+ } else {
list.append(mmpFilename);
recursionDepth--;
return list; // leaf // return
@@ -473,13 +472,13 @@ QStringList SymbianSubdirsMetaMakefileGenerator::getDependencyList(QString mmpFi
for (int i = 0; i < values.size(); ++i) {
QString current = values.at(i);
QStringList tailList = getDependencyList(current, recursionDepth);
- for(int j = 0; j < tailList.size(); ++j) {
- QString path = tailList.at(j);
- list.append(path);
+ for (int j = 0; j < tailList.size(); ++j) {
+ QString path = tailList.at(j);
+ list.append(path);
}
}
- if(recursionDepth > 0) {
+ if (recursionDepth > 0) {
//for mmp somewhere in middle
list.append(mmpFilename);
}
@@ -510,7 +509,7 @@ QString SymbianSubdirsMetaMakefileGenerator::cleanFromSpecialCharacters(QString&
bool SymbianSubdirsMetaMakefileGenerator::init()
{
- if(init_flag)
+ if (init_flag)
return false;
init_flag = true;
@@ -519,54 +518,53 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
Option::recursive = true;
- if(Option::recursive) {
+ if (Option::recursive) {
QString old_output_dir = QDir::cleanPath(Option::output_dir);
- if(!old_output_dir.endsWith('/'))
- old_output_dir += '/';
- QString old_output = Option::output.fileName();
+ if (!old_output_dir.endsWith('/'))
+ old_output_dir += '/';
+ QString old_output = Option::output.fileName();
QString oldpwd = QDir::cleanPath(qmake_getpwd());
- if(!oldpwd.endsWith('/'))
- oldpwd += '/';
+ if (!oldpwd.endsWith('/'))
+ oldpwd += '/';
// find the parent mmp filename
int end = oldpwd.size() - 1;
int start = oldpwd.lastIndexOf("/", end - 2);
QString parentMmpFilename = oldpwd.mid(start + 1, end - start - 1);
parentMmpFilename.prepend(oldpwd);
- parentMmpFilename = parentMmpFilename.append(".mmp");
+ parentMmpFilename = parentMmpFilename.append(Option::mmp_ext);
const QStringList &subdirs = project->values("SUBDIRS");
static int recurseDepth = -1;
++recurseDepth;
- for(int i = 0; i < subdirs.size(); ++i) {
+ for (int i = 0; i < subdirs.size(); ++i) {
Subdir *sub = new Subdir;
sub->indent = recurseDepth;
QFileInfo subdir(subdirs.at(i));
// childMmpFielname should be derived from subdirName
QString subdirName = subdirs.at(i);
- if(!project->isEmpty(subdirs.at(i) + ".file"))
+ if (!project->isEmpty(subdirs.at(i) + ".file"))
subdir = project->first(subdirs.at(i) + ".file");
- else if(!project->isEmpty(subdirs.at(i) + ".subdir"))
+ else if (!project->isEmpty(subdirs.at(i) + ".subdir"))
subdir = project->first(subdirs.at(i) + ".subdir");
QString sub_name;
QString childMmpFilename;
- if(subdir.isDir()) {
+ if (subdir.isDir()) {
subdir = QFileInfo(subdir.filePath() + "/" + subdir.fileName() + Option::pro_ext);
childMmpFilename = subdir.fileName();
childMmpFilename = subdir.absoluteFilePath();
childMmpFilename.replace(Option::pro_ext, QString(""));
- childMmpFilename.append(".mmp");
- }
- else {
+ childMmpFilename.append(Option::mmp_ext);
+ } else {
childMmpFilename = subdir.absoluteFilePath();
- childMmpFilename.replace(QString(".pro"), QString(".mmp"));
+ childMmpFilename.replace(Option::pro_ext, Option::mmp_ext);
sub_name = childMmpFilename;
- sub_name.replace(QString(".mmp"), QString(""));
+ sub_name.replace(Option::mmp_ext, QString(""));
sub_name.replace(0, sub_name.lastIndexOf("/") + 1, QString(""));
project->values("SHADOW_BLD_INFS").append(QString("bld.inf.") + sub_name);
}
@@ -576,7 +574,7 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
for (int ind = 0; ind < sub->indent; ++ind)
printf(" ");
sub->input_dir = subdir.absolutePath();
- if(subdir.isRelative() && old_output_dir != oldpwd) {
+ if (subdir.isRelative() && old_output_dir != oldpwd) {
sub->output_dir = old_output_dir + "/" + subdir.path();
printf("Reading %s [%s]\n", subdir.absoluteFilePath().toLatin1().constData(), sub->output_dir.toLatin1().constData());
} else {
@@ -590,10 +588,10 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
QString newpwd = qmake_getpwd();
Option::output_dir = sub->output_dir;
- if(Option::output_dir.at(Option::output_dir.length()-1) != QLatin1Char('/'))
+ if (Option::output_dir.at(Option::output_dir.length() - 1) != QLatin1Char('/'))
Option::output_dir += QLatin1Char('/');
sub_proj->read(subdir.fileName());
- if(!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
+ if (!sub_proj->variables()["QMAKE_FAILED_REQUIREMENTS"].isEmpty()) {
fprintf(stderr, "Project file(%s) not recursed because all requirements not met:\n\t%s\n",
subdir.fileName().toLatin1().constData(),
sub_proj->values("QMAKE_FAILED_REQUIREMENTS").join(" ").toLatin1().constData());
@@ -608,7 +606,7 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
mmpDependency.insert(parentMmpFilename, childMmpFilename);
sub->makefile = MetaMakefileGenerator::createMetaGenerator(sub_proj, sub_name);
- if(0 && sub->makefile->type() == SUBDIRSMETATYPE) {
+ if (0 && sub->makefile->type() == SUBDIRSMETATYPE) {
subs.append(sub);
} else {
const QString output_name = Option::output.fileName();
@@ -626,7 +624,7 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
}
--recurseDepth;
- Option::output.setFileName(old_output);
+ Option::output.setFileName(old_output);
Option::output_dir = old_output_dir;
qmake_setpwd(oldpwd);
}
@@ -637,27 +635,27 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
// To fully expand find all dependencies:
// Do as recursion, then insert result as subdirs data in project
QString newpwd = qmake_getpwd();
- if(!newpwd.endsWith('/'))
+ if (!newpwd.endsWith('/'))
newpwd += '/';
int end = newpwd.size() - 1;
int start = newpwd.lastIndexOf("/", end - 2);
QString mmpFilename = newpwd.mid(start + 1, end - start - 1);
mmpFilename.prepend(newpwd);
- mmpFilename = mmpFilename.append(".mmp");
+ mmpFilename = mmpFilename.append(Option::mmp_ext);
// map mmpfile to its absolute filepath
mmpPaths.insert(mmpFilename, newpwd);
QStringList directDependencyList = getDependencyList(mmpFilename, -1);
- for(int i = 0; i < directDependencyList.size(); ++i) {
+ for (int i = 0; i < directDependencyList.size(); ++i) {
project->values("MMPFILES_DIRECT_DEPENDS").append(directDependencyList.at(i));
}
QStringList dependencyList = getDependencyList(mmpFilename, 0);
self->output_dir = Option::output_dir;
- if(!Option::recursive || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir()))
- self->output_file = Option::output.fileName();
+ if (!Option::recursive || (!Option::output.fileName().endsWith(Option::dir_sep) && !QFileInfo(Option::output).isDir()))
+ self->output_file = Option::output.fileName();
self->makefile = new BuildsMetaMakefileGenerator(project, name, false);
self->makefile->init();
subs.append(self);
@@ -665,17 +663,18 @@ bool SymbianSubdirsMetaMakefileGenerator::init()
return true;
}
-QStringList SymbianSubdirsMetaMakefileGenerator::calculateRelativePaths(QString mmpParent, QStringList mmpChildren) {
+QStringList SymbianSubdirsMetaMakefileGenerator::calculateRelativePaths(QString mmpParent, QStringList mmpChildren)
+{
QStringList mmpRelativePaths;
QString parentDir = mmpPaths.value(mmpParent);
QDir directory(parentDir);
- for(int i = 0; i < mmpChildren.size(); ++i) {
+ for (int i = 0; i < mmpChildren.size(); ++i) {
QString childDir = mmpPaths.value(mmpChildren.at(i));
- if(mmpChildren.at(i) == mmpParent)
+ if (mmpChildren.at(i) == mmpParent)
mmpRelativePaths.append(mmpChildren.at(i));
else {
QString relativePath = directory.relativeFilePath(childDir);
- if(relativePath.startsWith(".."))
+ if (relativePath.startsWith(".."))
mmpRelativePaths.append(childDir);
else
directory.relativeFilePath(relativePath);
@@ -750,15 +749,15 @@ MetaMakefileGenerator *
MetaMakefileGenerator::createMetaGenerator(QMakeProject *proj, const QString &name, bool op)
{
MetaMakefileGenerator *ret = 0;
- if((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
- Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
- if(proj->first("MAKEFILE_GENERATOR").startsWith("SYMBIAN") && proj->values("TEMPLATE").contains("subdirs")) {
+ if ((Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||
+ Option::qmake_mode == Option::QMAKE_GENERATE_PRL)) {
+ if (proj->first("MAKEFILE_GENERATOR").startsWith("SYMBIAN") && proj->values("TEMPLATE").contains("subdirs")) {
// new metamakefilegenerator type to support subdirs for symbian related projects
ret = new SymbianSubdirsMetaMakefileGenerator(proj, name, op);
} else if (proj->first("TEMPLATE").endsWith("subdirs"))
ret = new SubdirsMetaMakefileGenerator(proj, name, op);
}
- if(!ret)
+ if (!ret)
ret = new BuildsMetaMakefileGenerator(proj, name, op);
ret->init();
return ret;
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.cpp b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
index 8e3e20b..392eca2 100644
--- a/qmake/generators/symbian/initprojectdeploy_symbian.cpp
+++ b/qmake/generators/symbian/initprojectdeploy_symbian.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -45,15 +45,20 @@
#include <qdebug.h>
#define PLUGIN_STUB_DIR "qmakepluginstubs"
+#define SYSBIN_DIR "\\sys\\bin"
+
+#define SUFFIX_DLL "dll"
+#define SUFFIX_EXE "exe"
+#define SUFFIX_QTPLUGIN "qtplugin"
static bool isPlugin(const QFileInfo& info, const QString& devicePath)
{
// Libraries are plugins if deployment path is something else than
- // \\sys\\bin or x:\\sys\\bin
- if (0 == info.suffix().compare(QLatin1String("dll")) &&
- (devicePath.size() < 8 ||
- (0 != devicePath.compare(QLatin1String("\\sys\\bin")) &&
- 0 != devicePath.mid(1).compare(QLatin1String(":\\sys\\bin"))))) {
+ // SYSBIN_DIR with or without drive letter
+ if (0 == info.suffix().compare(QLatin1String(SUFFIX_DLL), Qt::CaseInsensitive) &&
+ (devicePath.size() < 8 ||
+ (0 != devicePath.compare(QLatin1String(SYSBIN_DIR), Qt::CaseInsensitive) &&
+ 0 != devicePath.mid(1).compare(QLatin1String(":" SYSBIN_DIR), Qt::CaseInsensitive)))) {
return true;
} else {
return false;
@@ -62,8 +67,8 @@ static bool isPlugin(const QFileInfo& info, const QString& devicePath)
static bool isBinary(const QFileInfo& info)
{
- if (0 == info.suffix().compare(QLatin1String("dll")) ||
- 0 == info.suffix().compare(QLatin1String("exe"))) {
+ if (0 == info.suffix().compare(QLatin1String(SUFFIX_DLL), Qt::CaseInsensitive) ||
+ 0 == info.suffix().compare(QLatin1String(SUFFIX_EXE), Qt::CaseInsensitive)) {
return true;
} else {
return false;
@@ -74,27 +79,28 @@ static void createPluginStub(const QFileInfo& info,
const QString& devicePath,
DeploymentList &deploymentList,
QStringList& generatedDirs,
- QStringList& generatedFiles) {
+ QStringList& generatedFiles)
+{
QDir().mkpath(QLatin1String(PLUGIN_STUB_DIR "\\"));
if (!generatedDirs.contains(PLUGIN_STUB_DIR))
generatedDirs << PLUGIN_STUB_DIR;
// Plugin stubs must have different name from the actual plugins, because
// the toolchain for creating ROM images cannot handle non-binary .dll files properly.
- QFile stubFile(QLatin1String(PLUGIN_STUB_DIR "\\") + info.completeBaseName() + ".qtplugin");
- if(stubFile.open(QIODevice::WriteOnly)) {
+ QFile stubFile(QLatin1String(PLUGIN_STUB_DIR "\\") + info.completeBaseName() + "." SUFFIX_QTPLUGIN);
+ if (stubFile.open(QIODevice::WriteOnly)) {
if (!generatedFiles.contains(stubFile.fileName()))
generatedFiles << stubFile.fileName();
QTextStream t(&stubFile);
// Add note to stub so that people will not wonder what it is.
// Creation date is added to make new stub to deploy always to
// force plugin cache miss when loading plugins.
- t << "This file is a Qt plugin stub file. The real Qt plugin is located in \\sys\\bin. Created:" << QDateTime::currentDateTime().toString(Qt::ISODate) << "\n";
+ t << "This file is a Qt plugin stub file. The real Qt plugin is located in " SYSBIN_DIR ". Created:" << QDateTime::currentDateTime().toString(Qt::ISODate) << "\n";
} else {
fprintf(stderr, "cannot deploy \"%s\" because of plugin stub file creation failed\n", info.fileName().toLatin1().constData());
}
QFileInfo stubInfo(stubFile);
deploymentList.append(CopyItem(Option::fixPathToLocalOS(stubInfo.absoluteFilePath()),
- Option::fixPathToLocalOS(devicePath + "\\" + stubInfo.fileName())));
+ Option::fixPathToLocalOS(devicePath + "\\" + stubInfo.fileName())));
}
void initProjectDeploySymbian(QMakeProject* project,
@@ -110,7 +116,7 @@ void initProjectDeploySymbian(QMakeProject* project,
if (targetPath.isEmpty())
targetPath = testPath;
if (targetPath.endsWith("/") || targetPath.endsWith("\\"))
- targetPath = targetPath.mid(0,targetPath.size()-1);
+ targetPath = targetPath.mid(0, targetPath.size() - 1);
bool targetPathHasDriveLetter = false;
if (targetPath.size() > 1) {
@@ -121,9 +127,9 @@ void initProjectDeploySymbian(QMakeProject* project,
foreach(QString item, project->values("DEPLOYMENT")) {
QString devicePath = project->first(item + ".path");
if (!deployBinaries
- && !devicePath.isEmpty()
- && (0 == devicePath.compare(project->values("APP_RESOURCE_DIR").join(""))
- || 0 == devicePath.compare(project->values("REG_RESOURCE_IMPORT_DIR").join("")))) {
+ && !devicePath.isEmpty()
+ && (0 == devicePath.compare(project->values("APP_RESOURCE_DIR").join(""), Qt::CaseInsensitive)
+ || 0 == devicePath.compare(project->values("REG_RESOURCE_IMPORT_DIR").join(""), Qt::CaseInsensitive))) {
// Do not deploy resources in emulator builds, as that seems to cause conflicts
// If there is ever a real need to deploy pre-built resources for emulator,
// BLD_INF_RULES.prj_exports can be used as a workaround.
@@ -140,14 +146,14 @@ void initProjectDeploySymbian(QMakeProject* project,
}
// check if item.path is relative (! either / or \)
else if (!(devicePath.at(0) == QLatin1Char('/')
- || devicePath.at(0) == QLatin1Char('\\')
- || devicePathHasDriveLetter)) {
+ || devicePath.at(0) == QLatin1Char('\\')
+ || devicePathHasDriveLetter)) {
// create output path
devicePath = Option::fixPathToLocalOS(QDir::cleanPath(targetPath + QLatin1Char('\\') + devicePath));
} else {
- if (0 == platform.compare(QLatin1String("winscw"))) {
+ if (0 == platform.compare(QLatin1String("winscw"), Qt::CaseInsensitive)) {
if (devicePathHasDriveLetter) {
- devicePath = epocRoot() + "epoc32\\winscw\\" + devicePath.remove(1,1);
+ devicePath = epocRoot() + "epoc32\\winscw\\" + devicePath.remove(1, 1);
} else {
devicePath = epocRoot() + "epoc32\\winscw\\c" + devicePath;
}
@@ -162,13 +168,13 @@ void initProjectDeploySymbian(QMakeProject* project,
devicePath.replace(QLatin1String("/"), QLatin1String("\\"));
if (!deployBinaries &&
- 0 == devicePath.right(8).compare(QLatin1String("\\sys\\bin"))) {
- // Skip deploying to \\sys\\bin for anything but binary deployments
- // Note: Deploying pre-built binaries also follow this rule, so emulator builds
- // will not get those deployed. Since there is no way to differentiate currently
- // between pre-built binaries for emulator and HW anyway, this is not a major issue.
- continue;
- }
+ 0 == devicePath.right(8).compare(QLatin1String(SYSBIN_DIR), Qt::CaseInsensitive)) {
+ // Skip deploying to SYSBIN_DIR for anything but binary deployments
+ // Note: Deploying pre-built binaries also follow this rule, so emulator builds
+ // will not get those deployed. Since there is no way to differentiate currently
+ // between pre-built binaries for emulator and HW anyway, this is not a major issue.
+ continue;
+ }
foreach(QString source, project->values(item + ".sources")) {
source = Option::fixPathToLocalOS(source);
@@ -193,7 +199,7 @@ void initProjectDeploySymbian(QMakeProject* project,
// Executables and libraries are deployed to \sys\bin
QFileInfo releasePath(epocRoot() + "epoc32\\release\\" + platform + "\\" + build + "\\");
deploymentList.append(CopyItem(Option::fixPathToLocalOS(releasePath.absolutePath() + "\\" + info.fileName()),
- Option::fixPathToLocalOS(deploymentDrive + QLatin1String("\\sys\\bin\\") + info.fileName())));
+ Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + info.fileName())));
}
if (isPlugin(info, devicePath)) {
createPluginStub(info, devicePath, deploymentList, generatedDirs, generatedFiles);
@@ -203,7 +209,7 @@ void initProjectDeploySymbian(QMakeProject* project,
// Generate deployment even if file doesn't exist, as this may be the case
// when generating .pkg files.
deploymentList.append(CopyItem(Option::fixPathToLocalOS(info.absoluteFilePath()),
- Option::fixPathToLocalOS(devicePath + "\\" + info.fileName())));
+ Option::fixPathToLocalOS(devicePath + "\\" + info.fileName())));
continue;
}
}
@@ -212,9 +218,9 @@ void initProjectDeploySymbian(QMakeProject* project,
int pathSize = info.absolutePath().size();
QDirIterator iterator(searchPath, QStringList() << nameFilter
, QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks
- , dirSearch ? QDirIterator::Subdirectories : QDirIterator::NoIteratorFlags );
+ , dirSearch ? QDirIterator::Subdirectories : QDirIterator::NoIteratorFlags);
- while(iterator.hasNext()) {
+ while (iterator.hasNext()) {
iterator.next();
QFileInfo iteratorInfo(iterator.filePath());
QString absoluteItemPath = Option::fixPathToLocalOS(iteratorInfo.absolutePath());
@@ -223,16 +229,16 @@ void initProjectDeploySymbian(QMakeProject* project,
if (!iteratorInfo.isDir()) {
if (isPlugin(iterator.fileInfo(), devicePath)) {
// This deploys pre-built plugins. Other pre-built binaries will deploy normally,
- // as they have \sys\bin target path.
+ // as they have SYSBIN_DIR target path.
if (deployBinaries) {
deploymentList.append(CopyItem(Option::fixPathToLocalOS(absoluteItemPath + "\\" + iterator.fileName()),
- Option::fixPathToLocalOS(deploymentDrive + QLatin1String("\\sys\\bin\\") + iterator.fileName())));
+ Option::fixPathToLocalOS(deploymentDrive + QLatin1String(SYSBIN_DIR "\\") + iterator.fileName())));
}
createPluginStub(info, devicePath + "\\" + absoluteItemPath.right(diffSize), deploymentList, generatedDirs, generatedFiles);
continue;
} else {
deploymentList.append(CopyItem(Option::fixPathToLocalOS(absoluteItemPath + "\\" + iterator.fileName()),
- Option::fixPathToLocalOS(devicePath + "\\" + absoluteItemPath.right(diffSize) + "\\" + iterator.fileName())));
+ Option::fixPathToLocalOS(devicePath + "\\" + absoluteItemPath.right(diffSize) + "\\" + iterator.fileName())));
}
}
}
diff --git a/qmake/generators/symbian/initprojectdeploy_symbian.h b/qmake/generators/symbian/initprojectdeploy_symbian.h
index 0aad431..a104985 100644
--- a/qmake/generators/symbian/initprojectdeploy_symbian.h
+++ b/qmake/generators/symbian/initprojectdeploy_symbian.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -66,4 +66,5 @@ extern void initProjectDeploySymbian(QMakeProject* project,
const QString &build,
QStringList& generatedDirs,
QStringList& generatedFiles);
-#endif // INITPROJECTDEPLOYSYMBIAN_H \ No newline at end of file
+
+#endif // INITPROJECTDEPLOYSYMBIAN_H
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index 1f22c70..b3fa0f2 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -62,24 +62,17 @@
#define BLD_INF_TAG_MMPFILES "prj_mmpfiles"
#define BLD_INF_TAG_TESTMMPFILES "prj_testmmpfiles"
#define BLD_INF_TAG_EXTENSIONS "prj_extensions"
+
#define RSS_RULES "RSS_RULES"
#define RSS_RULES_BASE "RSS_RULES."
#define RSS_TAG_NBROFICONS "number_of_icons"
#define RSS_TAG_ICONFILE "icon_file"
-#define DUMP_VAR(v) \
-{ \
- QString s(v); \
- QStringList list = project->values(s); \
- printf("----------------------------------\n", qPrintable(s)); \
- printf("Dumping %s (%d items) from %s, %d\n", \
- qPrintable(s), \
- list.count(), \
- __FILE__, \
- __LINE__); \
- foreach(QString l, list) \
- printf("\t%s\n", qPrintable(l)); \
-}
+#define MMP_TARGET "TARGET"
+#define MMP_TARGETTYPE "TARGETTYPE"
+#define MMP_SECUREID "SECUREID"
+
+#define PRINT_FILE_CREATE_ERROR(filename) fprintf(stderr, "Error: Could not create '%s'\n", qPrintable(filename));
QString SymbianMakefileGenerator::fixPathForMmp(const QString& origPath, const QDir& parentDir)
{
@@ -129,7 +122,7 @@ QString SymbianMakefileGenerator::canonizePath(const QString& origPath)
resultPath = QDir::fromNativeSeparators(epocRoot()) + resultPath.mid(1);
QFileInfo fi(fileInfo(resultPath));
- if(fi.isDir()) {
+ if (fi.isDir()) {
resultPath = fi.canonicalFilePath();
} else {
resultPath = fi.canonicalPath();
@@ -163,7 +156,7 @@ void SymbianMakefileGenerator::writeHeader(QTextStream &t)
QString shortProFilename = project->projectFile();
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(QString(".pro"), QString(""));
+ shortProFilename.replace(Option::pro_ext, QString(""));
QString bldinfDefine = shortProFilename;
bldinfDefine.append("_");
@@ -189,7 +182,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
// Generate pkg files if there are any actual files to deploy
bool generatePkg = false;
- if (getTargetExtension() == "exe") {
+ if (targetType == TypeExe) {
generatePkg = true;
} else {
foreach(QString item, project->values("DEPLOYMENT")) {
@@ -203,7 +196,7 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
if (generatePkg) {
QStringList platformList = project->values("SYMBIAN_PLATFORMS");
foreach(QString platform, platformList) {
- if(platform.compare("WINSCW", Qt::CaseInsensitive)) {
+ if (platform.compare("WINSCW", Qt::CaseInsensitive)) {
generatePkgFile(platform.toLower(), "udeb", iconFile);
generatePkgFile(platform.toLower(), "urel", iconFile);
}
@@ -223,41 +216,39 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
}
QFile wrapperMakefile(wrapperFileName);
- if(wrapperMakefile.open(QIODevice::WriteOnly)) {
+ if (wrapperMakefile.open(QIODevice::WriteOnly)) {
generatedFiles << wrapperFileName;
} else {
- fprintf(stderr, "Error: Could not open wrapper makefile '%s'\n", qPrintable(wrapperFileName));
+ PRINT_FILE_CREATE_ERROR(wrapperFileName);
return false;
}
- if (getTargetExtension() == "subdirs") {
- // If we have something to deploy, generate extension makefile for just that, since
- // normal extension makefile is not getting generated and we need emulator deployment to be done.
- if (generatePkg)
- writeMkFile(wrapperFileName, true);
- writeWrapperMakefile(wrapperMakefile, isPrimaryMakefile);
- return true;
- }
+ if (targetType == TypeSubdirs) {
+ // If we have something to deploy, generate extension makefile for just that, since
+ // normal extension makefile is not getting generated and we need emulator deployment to be done.
+ if (generatePkg)
+ writeMkFile(wrapperFileName, true);
+ writeWrapperMakefile(wrapperMakefile, isPrimaryMakefile);
+ return true;
+ }
writeMkFile(wrapperFileName, false);
QString shortProFilename = project->projectFile();
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(QString(".pro"), QString(""));
+ shortProFilename.replace(Option::pro_ext, QString(""));
QString mmpFilename = shortProFilename;
mmpFilename.append("_");
mmpFilename.append(uid3);
- mmpFilename.append(".mmp");
+ mmpFilename.append(Option::mmp_ext);
writeMmpFile(mmpFilename, symbianLangCodes);
- if (getTargetExtension() == "exe") {
+ if (targetType == TypeExe) {
if (!project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
- QString appname = escapeFilePath(fileFixify(project->first("TARGET")));
- appname = removePathSeparators(appname);
- writeRegRssFile(appname, userRssRules);
- writeRssFile(appname, numberOfIcons, iconFile);
- writeLocFile(appname, symbianLangCodes);
+ writeRegRssFile(fixedTarget, userRssRules);
+ writeRssFile(fixedTarget, numberOfIcons, iconFile);
+ writeLocFile(fixedTarget, symbianLangCodes);
}
}
@@ -267,17 +258,19 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
return true;
}
-bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile)
+void SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile)
{
- QString build = ( config == "udeb" ) ? "debug" : "release";
+ QString build = (config == "udeb") ? "debug" : "release";
QString pkgFilename = QString("%1_%2-%3.%4")
.arg(fileInfo(project->projectFile()).completeBaseName())
.arg(build)
.arg(compiler)
.arg("pkg");
QFile pkgFile(pkgFilename);
- if (!pkgFile.open(QIODevice::WriteOnly | QIODevice::Text))
- return false;
+ if (!pkgFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
+ PRINT_FILE_CREATE_ERROR(pkgFilename);
+ return;
+ }
generatedFiles << pkgFile.fileName();
@@ -294,7 +287,7 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
QStringList pkgrulesValue = project->values(pkgrulesItem);
// If there is no stringlist defined for a rule, use rule name directly
// This is convenience for defining single line mmp statements
- if (pkgrulesValue.isEmpty()){
+ if (pkgrulesValue.isEmpty()) {
rawPkgPreRules << pkgrulesItem;
} else {
foreach(QString pkgrule, pkgrulesValue) {
@@ -306,41 +299,38 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
// Apply some defaults if specific data does not exist in PKG pre-rules
- if(!containsStartWithItem('&', rawPkgPreRules)) {
+ if (!containsStartWithItem('&', rawPkgPreRules)) {
// language, (*** hardcoded to english atm, should be parsed from TRANSLATIONS)
t << "; Language" << endl;
t << "&EN" << endl << endl;
} else {
// In case user defines langs, he must take care also about SIS header
- if(!containsStartWithItem('#', rawPkgPreRules))
+ if (!containsStartWithItem('#', rawPkgPreRules))
fprintf(stderr, "Warning: If language is defined with DEPLOYMENT pkg_prerules, also the SIS header must be defined\n");
}
// name of application, UID and version
- QString applicationName = project->first("TARGET");
- int last = applicationName.lastIndexOf(QLatin1Char('/'));
- applicationName = applicationName.mid( last == -1 ? 0 : last+1 );
QString applicationVersion = project->first("VERSION").isEmpty() ? "1,0,0" : project->first("VERSION").replace('.', ',');
- if(!containsStartWithItem('#', rawPkgPreRules)) {
+ if (!containsStartWithItem('#', rawPkgPreRules)) {
t << "; SIS header: name, uid, version" << endl;
- t << QString("#{\"%1\"},(%2),%3").arg(applicationName).arg(uid3).arg(applicationVersion) << endl << endl;
+ t << QString("#{\"%1\"},(%2),%3").arg(fixedTarget).arg(uid3).arg(applicationVersion) << endl << endl;
}
// Localized vendor name
- if(!containsStartWithItem('%', rawPkgPreRules)) {
+ if (!containsStartWithItem('%', rawPkgPreRules)) {
t << "; Localised Vendor name" << endl;
t << "%{\"Vendor\"}" << endl << endl;
}
// Unique vendor name
- if(!containsStartWithItem(':', rawPkgPreRules)) {
+ if (!containsStartWithItem(':', rawPkgPreRules)) {
t << "; Unique Vendor name" << endl;
t << ":\"Vendor\"" << endl << endl;
}
// PKG pre-rules - these are added before actual file installations i.e. SISX package body
- if(rawPkgPreRules.size()) {
+ if (rawPkgPreRules.size()) {
t << "; Manual PKG pre-rules from PRO files" << endl;
foreach(QString item, rawPkgPreRules) {
t << item << endl;
@@ -360,10 +350,10 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
.arg(config);
- if (getTargetExtension() == "exe") {
+ if (targetType == TypeExe) {
// deploy .exe file
t << "; Executable and default resource files" << endl;
- QString exeFile = applicationName + ".exe";
+ QString exeFile = fixedTarget + ".exe";
t << QString("\"%1/%2\" - \"%3\\%4\"")
.arg(epocReleasePath)
.arg(exeFile)
@@ -374,24 +364,24 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
if (!project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
t << QString("\"%1epoc32/data/z/resource/apps/%2\" - \"%3\\%4\"")
.arg(epocRoot())
- .arg(applicationName + ".rsc")
+ .arg(fixedTarget + ".rsc")
.arg(installPathResource)
- .arg(applicationName + ".rsc") << endl;
+ .arg(fixedTarget + ".rsc") << endl;
t << QString("\"%1epoc32/data/z/private/10003a3f/import/apps/%2\" - \"%3\\%4\"")
.arg(epocRoot())
- .arg(applicationName + "_reg.rsc")
+ .arg(fixedTarget + "_reg.rsc")
.arg(installPathRegResource)
- .arg(applicationName + "_reg.rsc") << endl;
+ .arg(fixedTarget + "_reg.rsc") << endl;
QString myIconFile = iconFile;
myIconFile = myIconFile.replace("\\\\", "\\");
if (!iconFile.isEmpty()) {
t << QString("\"%1epoc32/data/z%2\" - \"!:%3\"")
- .arg(epocRoot())
- .arg(QString(myIconFile).replace('\\','/'))
- .arg(myIconFile) << endl << endl;
+ .arg(epocRoot())
+ .arg(QString(myIconFile).replace('\\','/'))
+ .arg(myIconFile) << endl << endl;
}
}
}
@@ -401,10 +391,10 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
QString remoteTestPath;
remoteTestPath = QString("!:\\private\\%1").arg(privateDirUid);
- initProjectDeploySymbian( project, depList, remoteTestPath, true, compiler, config, generatedDirs, generatedFiles );
+ initProjectDeploySymbian(project, depList, remoteTestPath, true, compiler, config, generatedDirs, generatedFiles);
if (depList.size())
t << "; DEPLOYMENT" << endl;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
t << QString("\"%1\" - \"%2\"")
.arg(QString(depList.at(i).from).replace('\\','/'))
.arg(depList.at(i).to) << endl;
@@ -418,7 +408,7 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
QStringList pkgrulesValue = project->values(pkgrulesItem);
// If there is no stringlist defined for a rule, use rule name directly
// This is convenience for defining single line statements
- if (pkgrulesValue.isEmpty()){
+ if (pkgrulesValue.isEmpty()) {
t << pkgrulesItem << endl;
} else {
foreach(QString pkgrule, pkgrulesValue) {
@@ -428,29 +418,27 @@ bool SymbianMakefileGenerator::generatePkgFile(const QString &compiler, const QS
t << endl;
}
}
-
- return true;
}
bool SymbianMakefileGenerator::containsStartWithItem(const QChar &c, const QStringList& src)
{
- bool result = false;
- foreach (QString str, src) {
- if (str.startsWith(c)) {
- result = true;
- break;
+ bool result = false;
+ foreach(QString str, src) {
+ if (str.startsWith(c)) {
+ result = true;
+ break;
}
- }
- return result;
+ }
+ return result;
}
-bool SymbianMakefileGenerator::writeCustomDefFile()
+void SymbianMakefileGenerator::writeCustomDefFile()
{
- if(targetType.compare("plugin", Qt::CaseInsensitive) == 0 && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
+ if (targetType == TypePlugin && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
// Create custom def file for plugin
QFile ft(QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL));
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
@@ -473,26 +461,24 @@ bool SymbianMakefileGenerator::writeCustomDefFile()
t << "\tqt_plugin_instance @ 2 NONAME" << endl;
t << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(QString(PLUGIN_COMMON_DEF_FILE_ACTUAL))
}
}
-
- return true;
}
void SymbianMakefileGenerator::init()
{
MakefileGenerator::init();
+ fixedTarget = escapeFilePath(fileFixify(project->first("TARGET")));
+ fixedTarget = removePathSeparators(fixedTarget);
- if(0 != project->values("QMAKE_PLATFORM").size())
+ if (0 != project->values("QMAKE_PLATFORM").size())
platform = varGlue("QMAKE_PLATFORM", "", " ", "");
- if(0 == project->values("QMAKESPEC").size())
+ if (0 == project->values("QMAKESPEC").size())
project->values("QMAKESPEC").append(qgetenv("QMAKESPEC"));
- if(!isConfigSetToSymbian())
- project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
-
+ project->values("QMAKE_LIBS") += escapeFilePaths(project->values("LIBS"));
// bld.inf
project->values("MAKEFILE") += BLD_INF_FILENAME;
@@ -501,40 +487,40 @@ void SymbianMakefileGenerator::init()
initMmpVariables();
// Check TARGET.UID2 and TARGET.UID3 presence
- if(0 != project->values("TARGET.UID3").size()) {
+ if (0 != project->values("TARGET.UID3").size()) {
uid3 = project->first("TARGET.UID3");
} else {
uid3 = generateUID3();
}
- if((project->values("TEMPLATE")).contains("app"))
- targetType = "exe";
- else if((project->values("TEMPLATE")).contains("lib")) {
+ if ((project->values("TEMPLATE")).contains("app"))
+ targetType = TypeExe;
+ else if ((project->values("TEMPLATE")).contains("lib")) {
// Check CONFIG to see if we are to build staticlib or dll
- if(project->values("CONFIG").contains("staticlib") || project->values("CONFIG").contains("static"))
- targetType = "staticlib";
+ if (project->values("CONFIG").contains("staticlib") || project->values("CONFIG").contains("static"))
+ targetType = TypeLib;
else if (project->values("CONFIG").contains("plugin"))
- targetType = "plugin";
+ targetType = TypePlugin;
else
- targetType = "dll";
+ targetType = TypeDll;
+ } else {
+ targetType = TypeSubdirs;
}
- else
- targetType = "subdirs";
- if(0 != project->values("TARGET.UID2").size()) {
+ if (0 != project->values("TARGET.UID2").size()) {
uid2 = project->first("TARGET.UID2");
} else if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
uid2 = "0x20004C45";
} else {
- if(getTargetExtension() == "exe") {
- if(project->values("QT").contains("gui", Qt::CaseInsensitive)) {
+ if (targetType == TypeExe) {
+ if (project->values("QT").contains("gui", Qt::CaseInsensitive)) {
// exe and gui -> uid2 needed
uid2 = "0x100039CE";
} else {
// exe but not gui: uid2 is ignored anyway -> set it to 0
uid2 = "0";
}
- } else if(getTargetExtension() == "dll" || getTargetExtension() == "lib") {
+ } else if (targetType == TypeDll || targetType == TypeLib || targetType == TypePlugin) {
uid2 = "0x1000008d";
}
}
@@ -548,25 +534,25 @@ void SymbianMakefileGenerator::init()
uint uidNum = uid3.toUInt(&conversionOk, 0);
if (!conversionOk) {
- fprintf(stderr, "Error: Invalid UID \"%s\".", uid3.toUtf8().constData());
+ fprintf(stderr, "Error: Invalid UID \"%s\".\n", uid3.toUtf8().constData());
} else {
privateDirUid.setNum(uidNum, 16);
while (privateDirUid.length() < 8)
- privateDirUid.insert(0,QLatin1Char('0'));
+ privateDirUid.insert(0, QLatin1Char('0'));
}
}
QString SymbianMakefileGenerator::getTargetExtension()
{
QString ret;
- if(targetType.compare("exe", Qt::CaseInsensitive) == 0 || targetType.compare("app", Qt::CaseInsensitive) == 0) {
+ if (targetType == TypeExe) {
ret.append("exe");
- } else if (targetType.compare("staticlib",Qt::CaseInsensitive) == 0) {
+ } else if (targetType == TypeLib) {
ret.append("lib");
- } else if (targetType.compare("dll", Qt::CaseInsensitive) == 0 || targetType.compare("plugin", Qt::CaseInsensitive) == 0) {
+ } else if (targetType == TypeDll || targetType == TypePlugin) {
ret.append("dll");
- } else if (targetType.compare("subdirs", Qt::CaseInsensitive) == 0) {
- ret.append("subdirs");
+ } else if (targetType == TypeSubdirs) {
+ // Not actually usable, so return empty
} else {
// If nothing else set, default to exe
ret.append("exe");
@@ -575,11 +561,6 @@ QString SymbianMakefileGenerator::getTargetExtension()
return ret;
}
-bool SymbianMakefileGenerator::isConfigSetToSymbian()
-{
- return project->values("CONFIG").contains("symbian", Qt::CaseInsensitive);
-}
-
QString SymbianMakefileGenerator::generateUID3()
{
QString target = project->first("TARGET");
@@ -588,7 +569,7 @@ QString SymbianMakefileGenerator::generateUID3()
return generate_test_uid(target);
}
-bool SymbianMakefileGenerator::initMmpVariables()
+void SymbianMakefileGenerator::initMmpVariables()
{
QStringList sysincspaths;
QStringList srcincpaths;
@@ -601,12 +582,12 @@ bool SymbianMakefileGenerator::initMmpVariables()
QDir current = QDir::current();
QString canonizedCurrent = canonizePath(".");
- for(int j = 0; j < srcpaths.size(); ++j) {
+ for (int j = 0; j < srcpaths.size(); ++j) {
QFileInfo fi(fileInfo(srcpaths.at(j)));
// Sometimes sources have other than *.c* files (e.g. *.moc); prune them.
if (fi.suffix().startsWith("c")) {
- if(fi.filePath().length() > fi.fileName().length() ) {
- appendIfnotExist(srcincpaths, fi.path() );
+ if (fi.filePath().length() > fi.fileName().length()) {
+ appendIfnotExist(srcincpaths, fi.path());
sources[canonizePath(fi.path())] += fi.fileName();
} else {
sources[canonizedCurrent] += fi.fileName();
@@ -624,7 +605,7 @@ bool SymbianMakefileGenerator::initMmpVariables()
incpaths << project->values("UI_DIR");
QString epocPath("epoc32");
- for(int j = 0; j < incpaths.size(); ++j) {
+ for (int j = 0; j < incpaths.size(); ++j) {
QString includepath = canonizePath(incpaths.at(j));
appendIfnotExist(sysincspaths, includepath);
// As a workaround for Symbian toolchain insistence to treat include
@@ -640,18 +621,18 @@ bool SymbianMakefileGenerator::initMmpVariables()
// Remove duplicate include path entries
QStringList temporary;
- for(int i = 0; i < sysincspaths.size(); ++i) {
+ for (int i = 0; i < sysincspaths.size(); ++i) {
QString origPath = sysincspaths.at(i);
QFileInfo origPathInfo(fileInfo(origPath));
bool bFound = false;
- for(int j = 0; j < temporary.size(); ++j) {
+ for (int j = 0; j < temporary.size(); ++j) {
QString tmpPath = temporary.at(j);
QFileInfo tmpPathInfo(fileInfo(tmpPath));
- if(origPathInfo.absoluteFilePath() == tmpPathInfo.absoluteFilePath()) {
+ if (origPathInfo.absoluteFilePath() == tmpPathInfo.absoluteFilePath()) {
bFound = true;
- if(!tmpPathInfo.isRelative() && origPathInfo.isRelative()) {
+ if (!tmpPathInfo.isRelative() && origPathInfo.isRelative()) {
// We keep the relative notation
temporary.removeOne(tmpPath);
temporary << origPath;
@@ -659,7 +640,7 @@ bool SymbianMakefileGenerator::initMmpVariables()
}
}
- if(!bFound)
+ if (!bFound)
temporary << origPath;
}
@@ -668,17 +649,15 @@ bool SymbianMakefileGenerator::initMmpVariables()
sysincspaths << temporary;
systeminclude.insert("SYSTEMINCLUDE", sysincspaths);
-
- return true;
}
bool SymbianMakefileGenerator::removeDuplicatedStrings(QStringList& stringList)
{
QStringList tmpStringList;
- for(int i = 0; i < stringList.size(); ++i) {
+ for (int i = 0; i < stringList.size(); ++i) {
QString string = stringList.at(i);
- if(tmpStringList.contains(string))
+ if (tmpStringList.contains(string))
continue;
else
tmpStringList.append(string);
@@ -689,23 +668,21 @@ bool SymbianMakefileGenerator::removeDuplicatedStrings(QStringList& stringList)
return true;
}
-bool SymbianMakefileGenerator::writeMmpFileHeader(QTextStream &t)
+void SymbianMakefileGenerator::writeMmpFileHeader(QTextStream &t)
{
t << "// ==============================================================================" << endl;
t << "// Generated by qmake (" << qmake_version() << ") (Qt " << QT_VERSION_STR << ") on: ";
t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
t << "// This file is generated by qmake and should not be modified by the" << endl;
t << "// user." << endl;
- t << "// Name : " << escapeFilePath(fileFixify(project->projectFile().remove(project->projectFile().length()-4,4))) << ".mmp" << endl;
+ t << "// Name : " << escapeFilePath(fileFixify(project->projectFile().remove(project->projectFile().length() - 4, 4))) << Option::mmp_ext << endl;
t << "// ==============================================================================" << endl << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symbianLangCodes)
+void SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symbianLangCodes)
{
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
@@ -722,7 +699,7 @@ bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symb
QDir current = QDir::current();
- for(QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
QStringList values = it.value();
QString currentSourcePath = it.key();
@@ -749,23 +726,18 @@ bool SymbianMakefileGenerator::writeMmpFile(QString &filename, QStringList &symb
writeMmpFileRulesPart(t);
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename)
}
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileMacrosPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileMacrosPart(QTextStream& t)
{
t << endl;
- if(isConfigSetToSymbian())
- return true;
-
QStringList &defines = project->values("DEFINES");
if (defines.size())
t << "// Qt Macros" << endl;
- for(int i = 0; i < defines.size(); ++i) {
+ for (int i = 0; i < defines.size(); ++i) {
QString def = defines.at(i);
addMacro(t, def);
}
@@ -774,82 +746,77 @@ bool SymbianMakefileGenerator::writeMmpFileMacrosPart(QTextStream& t)
QStringList &exp_defines = project->values("PRL_EXPORT_DEFINES");
if (exp_defines.size())
t << endl << "// Qt Export Defines" << endl;
- for(int i = 0; i < exp_defines.size(); ++i) {
+ for (int i = 0; i < exp_defines.size(); ++i) {
QString def = exp_defines.at(i);
addMacro(t, def);
}
t << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::addMacro(QTextStream& t, const QString& value)
+void SymbianMakefileGenerator::addMacro(QTextStream& t, const QString& value)
{
- t << "MACRO" << "\t\t" << value << endl;
- return true;
+ t << "MACRO" << "\t\t" << value << endl;
}
-bool SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t)
{
- if(getTargetExtension() == "exe") {
- t << "TARGET" << "\t\t" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".exe")) << "\n";
+ if (targetType == TypeExe) {
+ t << MMP_TARGET << "\t\t" << fixedTarget << ".exe" << endl;
if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive))
- t << "TARGETTYPE" << "\t\t" << "STDEXE" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "STDEXE" << endl;
else
- t << "TARGETTYPE" << "\t\t" << "EXE" << endl;
- } else if (getTargetExtension() == "dll"){
- t << "TARGET" << "\t\t" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".dll")) << "\n";
+ t << MMP_TARGETTYPE << "\t\t" << "EXE" << endl;
+ } else if (targetType == TypeDll || targetType == TypePlugin) {
+ t << MMP_TARGET << "\t\t" << fixedTarget << ".dll" << endl;
if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive))
- t << "TARGETTYPE" << "\t\t" << "STDDLL" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "STDDLL" << endl;
else
- t << "TARGETTYPE" << "\t\t" << "DLL" << endl;
- } else if (getTargetExtension() == "lib"){
- t << "TARGET" << "\t\t" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".lib")) << "\n";
+ t << MMP_TARGETTYPE << "\t\t" << "DLL" << endl;
+ } else if (targetType == TypeLib) {
+ t << MMP_TARGET << "\t\t" << fixedTarget << ".lib" << endl;
if (project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive))
- t << "TARGETTYPE" << "\t\t" << "STDLIB" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "STDLIB" << endl;
else
- t << "TARGETTYPE" << "\t\t" << "LIB" << endl;
+ t << MMP_TARGETTYPE << "\t\t" << "LIB" << endl;
} else {
- printf("unexpected target and targettype %s\n", getTargetExtension().toAscii().data());
+ fprintf(stderr, "Error: Unexpected targettype (%d) in SymbianMakefileGenerator::writeMmpFileTargetPart\n", targetType);
}
t << endl;
t << "UID" << "\t\t" << uid2 << " " << uid3 << endl;
- if(0 != project->values("TARGET.SID").size()) {
- t << "SECUREID" << "\t\t" << project->values("TARGET.SID").join(" ") << endl;
+ if (0 != project->values("TARGET.SID").size()) {
+ t << MMP_SECUREID << "\t\t" << project->values("TARGET.SID").join(" ") << endl;
} else {
- if(0 == uid3.size())
- t << "SECUREID" << "\t\t" << "0" << endl;
+ if (0 == uid3.size())
+ t << MMP_SECUREID << "\t\t" << "0" << endl;
else
- t << "SECUREID" << "\t\t" << uid3 << endl;
+ t << MMP_SECUREID << "\t\t" << uid3 << endl;
}
// default value used from mkspecs is 0
- if(0 != project->values("TARGET.VID").size()) {
+ if (0 != project->values("TARGET.VID").size()) {
t << "VENDORID" << "\t\t" << project->values("TARGET.VID").join(" ") << endl;
}
t << endl;
- if(0 != project->first("TARGET.EPOCSTACKSIZE").size())
+ if (0 != project->first("TARGET.EPOCSTACKSIZE").size())
t << "EPOCSTACKSIZE" << "\t\t" << project->first("TARGET.EPOCSTACKSIZE") << endl;
- if(0 != project->values("TARGET.EPOCHEAPSIZE").size())
+ if (0 != project->values("TARGET.EPOCHEAPSIZE").size())
t << "EPOCHEAPSIZE" << "\t\t" << project->values("TARGET.EPOCHEAPSIZE").join(" ") << endl;
- if(0 != project->values("TARGET.EPOCALLOWDLLDATA").size())
+ if (0 != project->values("TARGET.EPOCALLOWDLLDATA").size())
t << "EPOCALLOWDLLDATA" << endl;
- if(targetType.compare("plugin", Qt::CaseInsensitive) == 0 && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
+ if (targetType == TypePlugin && !project->values("CONFIG").contains("stdbinary", Qt::CaseInsensitive)) {
// Use custom def file for Qt plugins
t << "DEFFILE " PLUGIN_COMMON_DEF_FILE_FOR_MMP << endl;
}
t << endl;
-
- return true;
}
@@ -857,14 +824,12 @@ bool SymbianMakefileGenerator::writeMmpFileTargetPart(QTextStream& t)
Application registration resource files should be installed to the
\private\10003a3f\import\apps directory.
*/
-bool SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes)
+void SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes)
{
- if((getTargetExtension() == "exe") &&
- !project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
- QString target = escapeFilePath(fileFixify(project->first("TARGET")));
- target = removePathSeparators(target);
+ if ((targetType == TypeExe) &&
+ !project->values("CONFIG").contains("no_icon", Qt::CaseInsensitive)) {
- QString locTarget = target;
+ QString locTarget = fixedTarget;
locTarget.append(".rss");
t << "SOURCEPATH\t\t\t. " << endl;
@@ -875,28 +840,26 @@ bool SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, QStringL
t << endl;
t << "START RESOURCE\t\t" << locTarget << endl;
t << "HEADER" << endl;
- t << "TARGETPATH\t\t\t" RESOURCE_DIRECTORY_MMP<< endl;
+ t << "TARGETPATH\t\t\t" RESOURCE_DIRECTORY_MMP << endl;
t << "END" << endl << endl;
- QString regTarget = target;
+ QString regTarget = fixedTarget;
regTarget.append("_reg.rss");
t << "SOURCEPATH\t\t\t." << endl;
t << "START RESOURCE\t\t" << regTarget << endl;
if (isForSymbianSbsv2())
- t << "DEPENDS " << target << ".rsg" << endl;
+ t << "DEPENDS " << fixedTarget << ".rsg" << endl;
t << "TARGETPATH\t\t" REGISTRATION_RESOURCE_DIRECTORY_HW << endl;
t << "END" << endl << endl;
- }
- return true;
+ }
}
-bool SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t)
{
-
QDir current = QDir::current();
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
QString handledPath = values.at(i);
@@ -905,30 +868,25 @@ bool SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t)
}
t << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileIncludePart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileIncludePart(QTextStream& t)
{
-
writeMmpFileSystemIncludePart(t);
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileLibraryPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileLibraryPart(QTextStream& t)
{
QStringList &libs = project->values("LIBS");
libs << project->values("QMAKE_LIBS");
removeDuplicatedStrings(libs);
- for(int i = 0; i < libs.size(); ++i) {
+ for (int i = 0; i < libs.size(); ++i) {
QString lib = libs.at(i);
// The -L flag is uninteresting, since all symbian libraries exist in the same directory.
- if(lib.startsWith("-l")) {
- lib.remove(0,2);
+ if (lib.startsWith("-l")) {
+ lib.remove(0, 2);
QString mmpStatement;
if (lib.endsWith(".dll")) {
lib.chop(4);
@@ -955,61 +913,56 @@ bool SymbianMakefileGenerator::writeMmpFileLibraryPart(QTextStream& t)
}
t << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileCapabilityPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileCapabilityPart(QTextStream& t)
{
- if(0 != project->first("TARGET.CAPABILITY").size()) {
+ if (0 != project->first("TARGET.CAPABILITY").size()) {
QStringList &capabilities = project->values("TARGET.CAPABILITY");
t << "CAPABILITY" << "\t\t";
- for(int i = 0; i < capabilities.size(); ++i) {
+ for (int i = 0; i < capabilities.size(); ++i) {
QString cap = capabilities.at(i);
t << cap << " ";
}
- }
- else {
+ } else {
t << "CAPABILITY" << "\t\t" << "None";
}
t << endl << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
{
QString cw, armcc;
- if(0 != project->values("QMAKE_CXXFLAGS.CW").size()) {
+ if (0 != project->values("QMAKE_CXXFLAGS.CW").size()) {
cw.append(project->values("QMAKE_CXXFLAGS.CW").join(" "));
cw.append(" ");
}
- if(0 != project->values("QMAKE_CXXFLAGS.ARMCC").size()) {
+ if (0 != project->values("QMAKE_CXXFLAGS.ARMCC").size()) {
armcc.append(project->values("QMAKE_CXXFLAGS.ARMCC").join(" "));
armcc.append(" ");
}
- if(0 != project->values("QMAKE_CFLAGS.CW").size()) {
+ if (0 != project->values("QMAKE_CFLAGS.CW").size()) {
cw.append(project->values("QMAKE_CFLAGS.CW").join(" "));
cw.append(" ");
}
- if(0 != project->values("QMAKE_CFLAGS.ARMCC").size()) {
+ if (0 != project->values("QMAKE_CFLAGS.ARMCC").size()) {
armcc.append(project->values("QMAKE_CFLAGS.ARMCC").join(" "));
armcc.append(" ");
}
- if(0 != project->values("QMAKE_CXXFLAGS").size()) {
+ if (0 != project->values("QMAKE_CXXFLAGS").size()) {
cw.append(project->values("QMAKE_CXXFLAGS").join(" "));
cw.append(" ");
armcc.append(project->values("QMAKE_CXXFLAGS").join(" "));
armcc.append(" ");
}
- if(0 != project->values("QMAKE_CFLAGS").size()) {
+ if (0 != project->values("QMAKE_CFLAGS").size()) {
cw.append(project->values("QMAKE_CFLAGS").join(" "));
cw.append(" ");
armcc.append(project->values("QMAKE_CFLAGS").join(" "));
@@ -1024,13 +977,12 @@ bool SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
if (!cw.isEmpty())
t << "OPTION" << '\t' << " CW " << cw << endl;
if (!armcc.isEmpty())
- t << "OPTION" << '\t' << " ARMCC "<< armcc << endl;
+ t << "OPTION" << '\t' << " ARMCC " << armcc << endl;
t << endl;
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileBinaryVersionPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileBinaryVersionPart(QTextStream& t)
{
QString applicationVersion = project->first("VERSION");
QStringList verNumList = applicationVersion.split('.');
@@ -1064,11 +1016,9 @@ bool SymbianMakefileGenerator::writeMmpFileBinaryVersionPart(QTextStream& t)
}
t << "VERSION " << mmpVersion << endl;
-
- return true;
}
-bool SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t)
{
foreach(QString item, project->values("MMP_RULES")) {
t << endl;
@@ -1082,16 +1032,15 @@ bool SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t)
}
}
}
- return true;
}
-bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension)
+void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension)
{
// Read user defined bld inf rules
QMap<QString, QStringList> userBldInfRules;
- for(QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
if (it.key().startsWith(BLD_INF_RULES_BASE)) {
- QString newKey = it.key().mid(sizeof(BLD_INF_RULES_BASE)-1);
+ QString newKey = it.key().mid(sizeof(BLD_INF_RULES_BASE) - 1);
if (newKey.isEmpty()) {
fprintf(stderr, "Warning: Empty BLD_INF_RULES key encountered\n");
continue;
@@ -1116,10 +1065,10 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add includes of subdirs bld.inf files
QString mmpfilename = escapeFilePath(fileFixify(project->projectFile()));
- mmpfilename = mmpfilename.replace(mmpfilename.lastIndexOf(".")+1, 3, "mmp");
+ mmpfilename = mmpfilename.replace(mmpfilename.lastIndexOf("."), 4, Option::mmp_ext);
QString currentPath = qmake_getpwd();
- if(!currentPath.endsWith(QString("/")))
+ if (!currentPath.endsWith(QString("/")))
currentPath.append("/");
QStringList mmpProjects = project->values("MMPFILES_DIRECT_DEPENDS");
@@ -1131,26 +1080,26 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Go in reverse order as that is the way how we build the list
QListIterator<QString> iT(mmpProjects);
iT.toBack();
- while(iT.hasPrevious()) {
+ while (iT.hasPrevious()) {
QString fullMmpName = iT.previous();
QString relativePath;
QString bldinfFilename;
QString fullProFilename = fullMmpName;
- fullProFilename.replace(QString(".mmp"), QString(".pro"));
+ fullProFilename.replace(Option::mmp_ext, Option::pro_ext);
QString uid = generate_uid(fullProFilename);
QString cleanMmpName = fullProFilename;
- cleanMmpName.replace(QString(".pro"), QString(""));
+ cleanMmpName.replace(Option::pro_ext, QString(""));
cleanMmpName.replace(0, cleanMmpName.lastIndexOf("/") + 1, QString(""));
- if(shadowProjects.contains(BLD_INF_FILENAME "." + cleanMmpName)) { // shadow project
+ if (shadowProjects.contains(BLD_INF_FILENAME "." + cleanMmpName)) { // shadow project
QDir directory(currentPath);
relativePath = directory.relativeFilePath(fullProFilename);
bldinfFilename = BLD_INF_FILENAME "." + cleanMmpName;
- if(relativePath.contains("/")) {
+ if (relativePath.contains("/")) {
// Shadow .pro not in same directory as parent .pro
- if(relativePath.startsWith("..")) {
+ if (relativePath.startsWith("..")) {
// Shadow .pro out of parent .pro
relativePath.replace(relativePath.lastIndexOf("/"), relativePath.length(), QString(""));
bldinfFilename.prepend("/").prepend(relativePath);
@@ -1181,7 +1130,7 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add supported project platforms
t << endl << BLD_INF_TAG_PLATFORMS << endl << endl;
- if(0 != project->values("SYMBIAN_PLATFORMS").size())
+ if (0 != project->values("SYMBIAN_PLATFORMS").size())
t << project->values("SYMBIAN_PLATFORMS").join(" ") << endl;
QStringList userItems = userBldInfRules.value(BLD_INF_TAG_PLATFORMS);
@@ -1200,16 +1149,14 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
t << endl << mmpTag << endl << endl;
writeBldInfMkFilePart(t, addDeploymentExtension);
- if (getTargetExtension() == "subdirs") {
+ if (targetType == TypeSubdirs) {
mmpProjects.removeOne(mmpfilename);
- }
-
- if(getTargetExtension() != "subdirs") {
+ } else {
QString shortProFilename = project->projectFile();
shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(QString(".pro"), QString(""));
+ shortProFilename.replace(Option::pro_ext, QString(""));
- QString mmpFilename = shortProFilename + QString("_") + uid3 + QString(".mmp");
+ QString mmpFilename = shortProFilename + QString("_") + uid3 + Option::mmp_ext;
t << mmpFilename << endl;
}
@@ -1231,22 +1178,20 @@ bool SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add rest of the user defined content
- for(QMap<QString, QStringList>::iterator it = userBldInfRules.begin(); it != userBldInfRules.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = userBldInfRules.begin(); it != userBldInfRules.end(); ++it) {
t << endl << endl << it.key() << endl << endl;
userItems = it.value();
foreach(QString item, userItems)
t << item << endl;
}
-
- return true;
}
-bool SymbianMakefileGenerator::writeRegRssFile(QString &appName, QStringList &userItems)
+void SymbianMakefileGenerator::writeRegRssFile(QString &appName, QStringList &userItems)
{
QString filename(appName);
filename.append("_reg.rss");
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
t << "// ============================================================================" << endl;
@@ -1272,17 +1217,16 @@ bool SymbianMakefileGenerator::writeRegRssFile(QString &appName, QStringList &us
t << "\t" << item << endl;
t << "\t}" << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename)
}
- return true;
}
-bool SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfIcons, QString &iconFile)
+void SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfIcons, QString &iconFile)
{
QString filename(appName);
filename.append(".rss");
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
t << "// ============================================================================" << endl;
@@ -1303,12 +1247,11 @@ bool SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfI
t << "\t\t{" << endl;
t << "\t\tcaption = STRING_r_caption;" << endl;
- if(numberOfIcons.isEmpty() || iconFile.isEmpty() ) {
+ if (numberOfIcons.isEmpty() || iconFile.isEmpty()) {
// There can be maximum one item in this tag, validated when parsed
t << "\t\tnumber_of_icons = 0;" << endl;
t << "\t\ticon_file = \"\";" << endl;
- }
- else {
+ } else {
// There can be maximum one item in this tag, validated when parsed
t << "\t\tnumber_of_icons = " << numberOfIcons << ";" << endl;
t << "\t\ticon_file = \"" << iconFile << "\";" << endl;
@@ -1317,17 +1260,16 @@ bool SymbianMakefileGenerator::writeRssFile(QString &appName, QString &numberOfI
t << "\t}" << endl;
t << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename);
}
- return true;
}
-bool SymbianMakefileGenerator::writeLocFile(QString &appName, QStringList &symbianLangCodes)
+void SymbianMakefileGenerator::writeLocFile(QString &appName, QStringList &symbianLangCodes)
{
QString filename(appName);
filename.append(".loc");
QFile ft(filename);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
t << "// ============================================================================" << endl;
@@ -1352,16 +1294,15 @@ bool SymbianMakefileGenerator::writeLocFile(QString &appName, QStringList &symbi
t << "#define STRING_r_caption \"" << appName << "\"" << endl;
t << "#endif" << endl;
} else {
- return false;
+ PRINT_FILE_CREATE_ERROR(filename);
}
- return true;
}
void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &iconFile, QStringList &userRssRules)
{
- for(QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = project->variables().begin(); it != project->variables().end(); ++it) {
if (it.key().startsWith(RSS_RULES_BASE)) {
- QString newKey = it.key().mid(sizeof(RSS_RULES_BASE)-1);
+ QString newKey = it.key().mid(sizeof(RSS_RULES_BASE) - 1);
if (newKey.isEmpty()) {
fprintf(stderr, "Warning: Empty RSS_RULES_BASE key encountered\n");
continue;
@@ -1385,7 +1326,7 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
numberOfIcons = newValues[0];
} else {
fprintf(stderr, "Warning: There must be exactly one value in '%s%s'\n",
- RSS_RULES_BASE, RSS_TAG_NBROFICONS);
+ RSS_RULES_BASE, RSS_TAG_NBROFICONS);
continue;
}
// Verify thet there is exactly one value in RSS_TAG_ICONFILE
@@ -1394,12 +1335,12 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
iconFile = newValues[0];
} else {
fprintf(stderr, "Warning: There must be exactly one value in '%s%s'\n",
- RSS_RULES_BASE, RSS_TAG_ICONFILE);
+ RSS_RULES_BASE, RSS_TAG_ICONFILE);
continue;
}
} else {
fprintf(stderr, "Warning: Unsupported key:'%s%s'\n",
- RSS_RULES_BASE, newKey.toLatin1().constData());
+ RSS_RULES_BASE, newKey.toLatin1().constData());
continue;
}
}
@@ -1417,16 +1358,16 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
// Validate that either both RSS_TAG_NBROFICONS and RSS_TAG_ICONFILE keys exist
// or neither of them exist
- if ( !((numberOfIcons.isEmpty() && iconFile.isEmpty()) ||
- (!numberOfIcons.isEmpty() && !iconFile.isEmpty())) ) {
+ if (!((numberOfIcons.isEmpty() && iconFile.isEmpty()) ||
+ (!numberOfIcons.isEmpty() && !iconFile.isEmpty()))) {
numberOfIcons.clear();
iconFile.clear();
fprintf(stderr, "Warning: Both or neither of '%s%s' and '%s%s' keys must exist.\n",
- RSS_RULES_BASE, RSS_TAG_NBROFICONS, RSS_RULES_BASE, RSS_TAG_ICONFILE );
+ RSS_RULES_BASE, RSS_TAG_NBROFICONS, RSS_RULES_BASE, RSS_TAG_ICONFILE);
}
// Validate that RSS_TAG_NBROFICONS contains only numbers
- if( !numberOfIcons.isEmpty() ) {
+ if (!numberOfIcons.isEmpty()) {
bool ok;
numberOfIcons = numberOfIcons.simplified();
int tmp = numberOfIcons.toInt(&ok);
@@ -1434,7 +1375,7 @@ void SymbianMakefileGenerator::readRssRules(QString &numberOfIcons, QString &ico
numberOfIcons.clear();
iconFile.clear();
fprintf(stderr, "Warning: '%s%s' must be integer in decimal format.\n",
- RSS_RULES_BASE, RSS_TAG_NBROFICONS );
+ RSS_RULES_BASE, RSS_TAG_NBROFICONS);
}
}
}
@@ -1451,10 +1392,10 @@ QStringList SymbianMakefileGenerator::symbianLangCodesFromTsFiles()
int extIndex = file.lastIndexOf(".");
int langIndex = file.lastIndexOf("_", (extIndex - file.length()));
langIndex += 1;
- QString qtlang = file.mid(langIndex, extIndex - langIndex );
+ QString qtlang = file.mid(langIndex, extIndex - langIndex);
QString s60lang = qt2S60LangMapTable.value(qtlang, QString("SC"));
- if( !symbianLangCodes.contains(s60lang) && s60lang != "SC" )
+ if (!symbianLangCodes.contains(s60lang) && s60lang != "SC")
symbianLangCodes += s60lang;
}
@@ -1466,8 +1407,8 @@ void SymbianMakefileGenerator::fillQt2S60LangMapTable()
qt2S60LangMapTable.reserve(170); // 165 items at time of writing.
qt2S60LangMapTable.insert("ab", "SC"); //Abkhazian //
qt2S60LangMapTable.insert("om", "SC"); //Afan //
- qt2S60LangMapTable.insert("aa", "SC"); //Afar //
- qt2S60LangMapTable.insert("af", "34"); //Afrikaans //Afrikaans
+ qt2S60LangMapTable.insert("aa", "SC"); //Afar //
+ qt2S60LangMapTable.insert("af", "34"); //Afrikaans //Afrikaans
qt2S60LangMapTable.insert("sq", "35"); //Albanian //Albanian
qt2S60LangMapTable.insert("am", "36"); //Amharic //Amharic
qt2S60LangMapTable.insert("ar", "37"); //Arabic //Arabic
@@ -1621,18 +1562,18 @@ void SymbianMakefileGenerator::fillQt2S60LangMapTable()
qt2S60LangMapTable.insert("cch", "SC"); //Atsam //
qt2S60LangMapTable.insert("tig", "SC"); //Tigre //
qt2S60LangMapTable.insert("kaj", "SC"); //Jju //
- qt2S60LangMapTable.insert("fur", "SC"); //Friulian //
- qt2S60LangMapTable.insert("ve", "SC"); //Venda //
- qt2S60LangMapTable.insert("ee", "SC"); //Ewe //
- qt2S60LangMapTable.insert("wa", "SC"); //Walamo //
- qt2S60LangMapTable.insert("haw", "SC"); //Hawaiian //
- qt2S60LangMapTable.insert("kcg", "SC"); //Tyap //
- qt2S60LangMapTable.insert("ny", "SC"); //Chewa //
+ qt2S60LangMapTable.insert("fur", "SC"); //Friulian //
+ qt2S60LangMapTable.insert("ve", "SC"); //Venda //
+ qt2S60LangMapTable.insert("ee", "SC"); //Ewe //
+ qt2S60LangMapTable.insert("wa", "SC"); //Walamo //
+ qt2S60LangMapTable.insert("haw", "SC"); //Hawaiian //
+ qt2S60LangMapTable.insert("kcg", "SC"); //Tyap //
+ qt2S60LangMapTable.insert("ny", "SC"); //Chewa //
}
void SymbianMakefileGenerator::appendIfnotExist(QStringList &list, QString value)
{
- if(!list.contains(value))
+ if (!list.contains(value))
list += value;
}
@@ -1645,8 +1586,8 @@ void SymbianMakefileGenerator::appendIfnotExist(QStringList &list, QStringList v
QString SymbianMakefileGenerator::removePathSeparators(QString &file)
{
QString ret = file;
- while(ret.indexOf(QDir::separator()) > 0) {
- ret.remove(0, ret.indexOf(QDir::separator())+1);
+ while (ret.indexOf(QDir::separator()) > 0) {
+ ret.remove(0, ret.indexOf(QDir::separator()) + 1);
}
return ret;
@@ -1656,19 +1597,19 @@ QString SymbianMakefileGenerator::removePathSeparators(QString &file)
QString SymbianMakefileGenerator::removeTrailingPathSeparators(QString &file)
{
QString ret = file;
- if(ret.endsWith(QDir::separator())) {
- ret.remove(ret.length()-1,1);
+ if (ret.endsWith(QDir::separator())) {
+ ret.remove(ret.length() - 1, 1);
}
return ret;
}
void SymbianMakefileGenerator::generateCleanCommands(QTextStream& t,
- const QStringList& toClean,
- const QString& cmd,
- const QString& cmdOptions,
- const QString& itemPrefix,
- const QString& itemSuffix)
+ const QStringList& toClean,
+ const QString& cmd,
+ const QString& cmdOptions,
+ const QString& itemPrefix,
+ const QString& itemSuffix)
{
for (int i = 0; i < toClean.size(); ++i) {
QString item = toClean.at(i);
@@ -1699,10 +1640,10 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t)
foreach(QString item, project->values("SUBDIRS")) {
bool fromFile = false;
QString fixedItem;
- if(!project->isEmpty(item + ".file")) {
+ if (!project->isEmpty(item + ".file")) {
fixedItem = project->first(item + ".file");
fromFile = true;
- } else if(!project->isEmpty(item + ".subdir")) {
+ } else if (!project->isEmpty(item + ".subdir")) {
fixedItem = project->first(item + ".subdir");
fromFile = false;
} else {
@@ -1716,7 +1657,7 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t)
QString itemName = fi.fileName();
int extIndex = itemName.lastIndexOf(Option::pro_ext);
if (extIndex)
- fixedItem = fi.absolutePath() + "/" + QString("Makefile.") + itemName.mid(0,extIndex);
+ fixedItem = fi.absolutePath() + "/" + QString("Makefile.") + itemName.mid(0, extIndex);
t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fixedItem) << "\" dodistclean" << endl;
}
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index 3bf9f1d..e4b23e2 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -54,12 +54,19 @@ QT_BEGIN_NAMESPACE
class SymbianMakefileGenerator : public MakefileGenerator
{
protected:
+ enum TargetType {
+ TypeExe,
+ TypeDll,
+ TypeLib,
+ TypePlugin,
+ TypeSubdirs
+ };
QString platform;
QString uid2;
QString uid3;
QString privateDirUid;
- QString targetType;
+ TargetType targetType;
QMap<QString, QStringList> sources;
QMap<QString, QStringList> systeminclude;
QMap<QString, QStringList> library;
@@ -70,46 +77,50 @@ protected:
QStringList generatedDirs;
QHash<QString, QString> qt2S60LangMapTable;
+ QString fixedTarget;
+
void removeSpecialCharacters(QString& str);
QString fixPathForMmp(const QString& origPath, const QDir& parentDir);
QString canonizePath(const QString& origPath);
virtual bool writeMakefile(QTextStream &t);
- bool generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile);
+ void generatePkgFile(const QString &compiler, const QString &config, const QString &iconFile);
bool containsStartWithItem(const QChar &c, const QStringList& src);
virtual void init();
QString getTargetExtension();
- bool isConfigSetToSymbian();
QString generateUID3();
- bool initMmpVariables();
+ void initMmpVariables();
void writeHeader(QTextStream &t);
- bool writeBldInfContent(QTextStream& t, bool addDeploymentExtension);
+ void writeBldInfContent(QTextStream& t, bool addDeploymentExtension);
static bool removeDuplicatedStrings(QStringList& stringList);
- bool writeMmpFileHeader(QTextStream &t);
- bool writeMmpFile(QString &filename, QStringList &symbianLangCodes);
- bool writeMmpFileMacrosPart(QTextStream& t);
- bool addMacro(QTextStream& t, const QString& value);
- bool writeMmpFileTargetPart(QTextStream& t);
- bool writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes);
- bool writeMmpFileSystemIncludePart(QTextStream& t);
- bool writeMmpFileIncludePart(QTextStream& t);
- bool writeMmpFileLibraryPart(QTextStream& t);
- bool writeMmpFileCapabilityPart(QTextStream& t);
- bool writeMmpFileCompilerOptionPart(QTextStream& t);
- bool writeMmpFileBinaryVersionPart(QTextStream& t);
- bool writeMmpFileRulesPart(QTextStream& t);
-
- bool writeRegRssFile(QString &appname, QStringList &useritems);
- bool writeRssFile(QString &appName, QString &numberOfIcons, QString &iconfile);
- bool writeLocFile(QString &appName, QStringList &symbianLangCodes);
+ void writeMmpFileHeader(QTextStream &t);
+ void writeMmpFile(QString &filename, QStringList &symbianLangCodes);
+ void writeMmpFileMacrosPart(QTextStream& t);
+ void addMacro(QTextStream& t, const QString& value);
+ void writeMmpFileTargetPart(QTextStream& t);
+ void writeMmpFileResourcePart(QTextStream& t, QStringList &symbianLangCodes);
+ void writeMmpFileSystemIncludePart(QTextStream& t);
+ void writeMmpFileIncludePart(QTextStream& t);
+ void writeMmpFileLibraryPart(QTextStream& t);
+ void writeMmpFileCapabilityPart(QTextStream& t);
+ void writeMmpFileCompilerOptionPart(QTextStream& t);
+ void writeMmpFileBinaryVersionPart(QTextStream& t);
+ void writeMmpFileRulesPart(QTextStream& t);
+
+ void writeCustomDefFile();
+
+ void writeRegRssFile(QString &appname, QStringList &useritems);
+ void writeRssFile(QString &appName, QString &numberOfIcons, QString &iconfile);
+ void writeLocFile(QString &appName, QStringList &symbianLangCodes);
void readRssRules(QString &numberOfIcons, QString &iconFile, QStringList &userRssRules);
+
QStringList symbianLangCodesFromTsFiles();
void fillQt2S60LangMapTable();
@@ -127,12 +138,10 @@ protected:
void generateDistcleanTargets(QTextStream& t);
- bool writeCustomDefFile();
-
// Subclass implements
- virtual bool writeBldInfExtensionRulesPart(QTextStream& t) = 0;
+ virtual void writeBldInfExtensionRulesPart(QTextStream& t) = 0;
virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension) = 0;
- virtual bool writeMkFile(const QString& wrapperFileName, bool deploymentOnly) = 0;
+ virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly) = 0;
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile) = 0;
public:
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index 17c365d..d88b34b 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -62,14 +62,14 @@
SymbianAbldMakefileGenerator::SymbianAbldMakefileGenerator() : SymbianMakefileGenerator() { }
SymbianAbldMakefileGenerator::~SymbianAbldMakefileGenerator() { }
-bool SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
+void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
{
QString gnuMakefileName = QLatin1String("Makefile_") + uid3;
removeSpecialCharacters(gnuMakefileName);
gnuMakefileName.append(".mk");
QFile ft(gnuMakefileName);
- if(ft.open(QIODevice::WriteOnly)) {
+ if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
QTextStream t(&ft);
@@ -103,7 +103,7 @@ bool SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b
if (deploymentOnly) {
buildDeps.append(DO_NOTHING_TARGET);
cleanDeps.append(DO_NOTHING_TARGET);
- cleanDepsWinscw.append( WINSCW_DEPLOYMENT_CLEAN_TARGET);
+ cleanDepsWinscw.append(WINSCW_DEPLOYMENT_CLEAN_TARGET);
finalDeps.append(DO_NOTHING_TARGET);
finalDepsWinscw.append(WINSCW_DEPLOYMENT_TARGET);
wrapperTargets << WINSCW_DEPLOYMENT_TARGET << WINSCW_DEPLOYMENT_CLEAN_TARGET;
@@ -148,8 +148,6 @@ bool SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b
t << endl;
} // if(ft.open(QIODevice::WriteOnly))
-
- return true;
}
void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile)
@@ -163,8 +161,6 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
QStringList releasePlatforms = allPlatforms;
releasePlatforms.removeAll("winscw"); // No release for emulator
- bool isSubdirs = getTargetExtension() == "subdirs";
-
QString testClause;
if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive))
testClause = QLatin1String(" test");
@@ -184,12 +180,13 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << "# ==============================================================================" << "\n" << endl;
t << endl;
QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
- if(ofile.lastIndexOf(Option::dir_sep) != -1)
- ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
+ if (ofile.lastIndexOf(Option::dir_sep) != -1)
+ ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) - 1);
t << "MAKEFILE = " << ofile << endl;
t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
+ t << "MOVE = " << var("QMAKE_MOVE") << endl;
t << "XCOPY = xcopy /d /f /h /r /y /i" << endl;
t << "ABLD = ABLD.BAT" << endl;
t << "DEBUG_PLATFORMS = " << debugPlatforms.join(" ") << endl;
@@ -209,7 +206,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << "INCPATH" << '\t' << " = ";
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
t << " -I\"" << values.at(i) << "\"";
@@ -285,7 +282,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// Unfortunately, Symbian build chain doesn't support linking generated objects to target,
// so supporting generating sources is the best we can do. This is enough for mocs.
- if (!isSubdirs) {
+ if (targetType != TypeSubdirs) {
writeExtraTargets(t);
writeExtraCompilerTargets(t);
@@ -293,7 +290,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// generate command lines like this ...
// -@ if NOT EXIST ".\somedir" mkdir ".\somedir"
QStringList dirsToClean;
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
if (values.at(i).endsWith("/" QT_EXTRA_INCLUDE_DIR)) {
@@ -325,7 +322,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << ALL_SOURCE_DEPS_TARGET ":";
QStringList allDeps;
- for(QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
QString currentSourcePath = it.key();
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
@@ -343,15 +340,14 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
// Post link operations
t << FINALIZE_TARGET ":" << endl;
- if(!project->isEmpty("QMAKE_POST_LINK")) {
+ if (!project->isEmpty("QMAKE_POST_LINK")) {
t << '\t' << var("QMAKE_POST_LINK");
t << endl;
}
t << endl;
- }
- else {
+ } else {
QList<MakefileGenerator::SubTarget*> subtargets = findSubDirsSubTargets();
- writeSubTargets(t, subtargets, SubTargetSkipDefaultVariables|SubTargetSkipDefaultTargets);
+ writeSubTargets(t, subtargets, SubTargetSkipDefaultVariables | SubTargetSkipDefaultTargets);
qDeleteAll(subtargets);
}
@@ -365,17 +361,16 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
t << endl;
// Create execution target
- if (debugPlatforms.contains("winscw") && getTargetExtension() == "exe") {
+ if (debugPlatforms.contains("winscw") && targetType == TypeExe) {
t << "run:" << endl;
t << "\t-call " << epocRoot() << "epoc32\\release\\winscw\\udeb\\" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".exe")) << endl << endl;
}
}
-bool SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
+void SymbianAbldMakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
{
// We don't use extensions for anything in abld
Q_UNUSED(t);
- return true;
}
bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t)
@@ -384,23 +379,23 @@ bool SymbianAbldMakefileGenerator::writeDeploymentTargets(QTextStream &t)
QString remoteTestPath = epocRoot() + QLatin1String("epoc32\\winscw\\c\\private\\") + privateDirUid; // default 4 OpenC; 4 all Symbian too
DeploymentList depList;
- initProjectDeploySymbian( project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles );
+ initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles);
if (depList.size())
t << "\t-echo Deploying changed files..." << endl;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
// Xcopy prompts for selecting file or directory if target doesn't exist,
// and doesn't provide switch to force file selection. It does provide dir forcing, though,
// so strip the last part of the destination.
- t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\")+1) << "\"" << endl;
+ t << "\t-$(XCOPY) \"" << depList.at(i).from << "\" \"" << depList.at(i).to.left(depList.at(i).to.lastIndexOf("\\") + 1) << "\"" << endl;
}
t << endl;
t << WINSCW_DEPLOYMENT_CLEAN_TARGET ":" << endl;
QStringList cleanList;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
cleanList.append(depList.at(i).to);
}
generateCleanCommands(t, cleanList, "$(DEL_FILE)", "", "", "");
@@ -417,7 +412,7 @@ void SymbianAbldMakefileGenerator::writeBldInfMkFilePart(QTextStream& t, bool ad
{
// Normally emulator deployment gets done via regular makefile, but since subdirs
// do not get that, special deployment only makefile is generated for them if needed.
- if(getTargetExtension() != "subdirs" || addDeploymentExtension) {
+ if (targetType != TypeSubdirs || addDeploymentExtension) {
QString gnuMakefileName = QLatin1String("Makefile_") + uid3;
removeSpecialCharacters(gnuMakefileName);
gnuMakefileName.append(".mk");
diff --git a/qmake/generators/symbian/symmake_abld.h b/qmake/generators/symbian/symmake_abld.h
index 7de6510..0b2989f 100644
--- a/qmake/generators/symbian/symmake_abld.h
+++ b/qmake/generators/symbian/symmake_abld.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -51,9 +51,9 @@ class SymbianAbldMakefileGenerator : public SymbianMakefileGenerator
protected:
// Inherited from parent
- virtual bool writeBldInfExtensionRulesPart(QTextStream& t);
+ virtual void writeBldInfExtensionRulesPart(QTextStream& t);
virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension);
- virtual bool writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
+ virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile);
bool writeDeploymentTargets(QTextStream &t);
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index 34585e8..f3b90c6 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -79,20 +79,19 @@ void SymbianSbsv2MakefileGenerator::exportFlm()
generatedFiles << destInfo.absoluteFilePath();
else
fprintf(stderr, "Error: Could not copy '%s' -> '%s'\n",
- qPrintable(item.absoluteFilePath()),
- qPrintable(destInfo.absoluteFilePath()));
+ qPrintable(item.absoluteFilePath()),
+ qPrintable(destInfo.absoluteFilePath()));
}
}
flmExportDone = true;
}
}
-bool SymbianSbsv2MakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
+void SymbianSbsv2MakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
{
// Can't use extension makefile with sbsv2
Q_UNUSED(wrapperFileName);
Q_UNUSED(deploymentOnly);
- return true;
}
void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile)
@@ -106,8 +105,6 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
QStringList releasePlatforms = allPlatforms;
releasePlatforms.removeAll("winscw"); // No release for emulator
- bool isSubdirs = getTargetExtension() == "subdirs";
-
QString testClause;
if (project->values("CONFIG").contains("symbian_test", Qt::CaseInsensitive))
testClause = QLatin1String(".test");
@@ -127,12 +124,13 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "# ==============================================================================" << "\n" << endl;
t << endl;
QString ofile = Option::fixPathToTargetOS(Option::output.fileName());
- if(ofile.lastIndexOf(Option::dir_sep) != -1)
- ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) -1);
+ if (ofile.lastIndexOf(Option::dir_sep) != -1)
+ ofile = ofile.right(ofile.length() - ofile.lastIndexOf(Option::dir_sep) - 1);
t << "MAKEFILE = " << ofile << endl;
t << "QMAKE = " << Option::fixPathToTargetOS(var("QMAKE_QMAKE")) << endl;
t << "DEL_FILE = " << var("QMAKE_DEL_FILE") << endl;
t << "DEL_DIR = " << var("QMAKE_DEL_DIR") << endl;
+ t << "MOVE = " << var("QMAKE_MOVE") << endl;
t << "DEBUG_PLATFORMS = " << debugPlatforms.join(" ") << endl;
t << "RELEASE_PLATFORMS = " << releasePlatforms.join(" ") << endl;
t << "MAKE = make" << endl;
@@ -145,7 +143,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << "INCPATH" << '\t' << " = ";
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
t << " -I\"" << values.at(i) << "\" ";
@@ -212,11 +210,10 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
// Add all extra targets including extra compiler targest also to wrapper makefile,
// even though many of them may have already been added to bld.inf as FLMs.
// This is to enable use of targets like 'mocables', which call targets generated by extra compilers.
- if (!isSubdirs) {
+ if (targetType != TypeSubdirs) {
t << extraTargetsCache;
t << extraCompilersCache;
- }
- else {
+ } else {
QList<MakefileGenerator::SubTarget*> subtargets = findSubDirsSubTargets();
writeSubTargets(t, subtargets, SubTargetSkipDefaultVariables|SubTargetSkipDefaultTargets);
qDeleteAll(subtargets);
@@ -229,13 +226,13 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
t << endl;
// create execution target
- if (debugPlatforms.contains("winscw") && getTargetExtension() == "exe") {
+ if (debugPlatforms.contains("winscw") && targetType == TypeExe) {
t << "run:" << endl;
t << "\t-call " << epocRoot() << "epoc32/release/winscw/udeb/" << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".exe")) << endl << endl;
}
}
-bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
+void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t)
{
// Makes sure we have needed FLMs in place.
exportFlm();
@@ -247,7 +244,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
defines << varGlue("PRL_EXPORT_DEFINES","-D"," -D"," ")
<< varGlue("QMAKE_COMPILER_DEFINES", "-D", "-D", " ")
<< varGlue("DEFINES","-D"," -D","");
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
incPath << QLatin1String(" -I\"") + values.at(i) + "\"";
@@ -267,8 +264,8 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
foreach(QString item, project->values("PRE_TARGETDEPS")) {
// Predeps get mangled in windows, so fix them to more sbsv2 friendly format
#if defined(Q_OS_WIN)
- if (item.mid(1,1) == ":")
- item = item.mid(0,1).toUpper().append(item.mid(1)); // Fix drive to uppercase
+ if (item.mid(1, 1) == ":")
+ item = item.mid(0, 1).toUpper().append(item.mid(1)); // Fix drive to uppercase
#endif
item.replace("\\", "/");
allPreDeps << escapeDependencyPath(item);
@@ -278,7 +275,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
allPreDeps.append(fileInfo(item).absoluteFilePath());
}
- for(QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = sources.begin(); it != sources.end(); ++it) {
QString currentSourcePath = it.key();
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
@@ -299,7 +296,6 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
QString absoluteTarget = fileInfo(targetItem).absoluteFilePath();
if (allPreDeps.contains(absoluteTarget)) {
QStringList deps = project->values(QLatin1String("QMAKE_ET_PARSED_DEPS.") + item + targetItem);
- //QString depsItem = project->values(QLatin1String("QMAKE_ET_PARSED_DEPS.") + item + targetItem).join(" ");
QString commandItem = project->values(QLatin1String("QMAKE_ET_PARSED_CMD.") + item + targetItem).join(" ");
@@ -315,7 +311,6 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << "START EXTENSION qt/qmake_extra_pre_targetdep" << endl;
t << "OPTION PREDEP_TARGET " << absoluteTarget << endl;
t << "OPTION DEPS " << absoluteDeps << endl;
- //t << "OPTION DEPS " << depsItem << endl;
if (commandItem.indexOf("$(INCPATH)") != -1)
commandItem.replace("$(INCPATH)", incPath.join(" "));
@@ -336,10 +331,10 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
// Write winscw deployment rules
QString remoteTestPath = epocRoot() + QLatin1String("epoc32/winscw/c/private/") + privateDirUid;
DeploymentList depList;
- initProjectDeploySymbian( project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles );
+ initProjectDeploySymbian(project, depList, remoteTestPath, false, QLatin1String("winscw"), QLatin1String("udeb"), generatedDirs, generatedFiles);
t << "#if defined(WINSCW)" << endl;
- for (int i=0; i<depList.size(); ++i) {
+ for (int i = 0; i < depList.size(); ++i) {
t << "START EXTENSION qt/qmake_emulator_deployment" << endl;
QString fromItem = depList.at(i).from;
QString toItem = depList.at(i).to;
@@ -357,7 +352,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << endl;
// Write post link rules
- if(!project->isEmpty("QMAKE_POST_LINK")) {
+ if (!project->isEmpty("QMAKE_POST_LINK")) {
t << "START EXTENSION qt/qmake_post_link" << endl;
t << "OPTION POST_LINK_CMD " << var("QMAKE_POST_LINK") << endl;
t << "OPTION LINK_TARGET " << removePathSeparators(escapeFilePath(fileFixify(project->first("TARGET"))).append(".").append(getTargetExtension())) << endl;
@@ -387,7 +382,7 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
// Generate temp dirs
QString tempDirs;
- for(QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
+ for (QMap<QString, QStringList>::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) {
QStringList values = it.value();
for (int i = 0; i < values.size(); ++i) {
QString value = values.at(i);
@@ -408,8 +403,6 @@ bool SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t
t << endl;
t << endl;
-
- return true;
}
void SymbianSbsv2MakefileGenerator::writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension)
diff --git a/qmake/generators/symbian/symmake_sbsv2.h b/qmake/generators/symbian/symmake_sbsv2.h
index caa491d..7806d53 100644
--- a/qmake/generators/symbian/symmake_sbsv2.h
+++ b/qmake/generators/symbian/symmake_sbsv2.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -51,9 +51,9 @@ class SymbianSbsv2MakefileGenerator : public SymbianMakefileGenerator
protected:
// Inherited from parent
- virtual bool writeBldInfExtensionRulesPart(QTextStream& t);
+ virtual void writeBldInfExtensionRulesPart(QTextStream& t);
virtual void writeBldInfMkFilePart(QTextStream& t, bool addDeploymentExtension);
- virtual bool writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
+ virtual void writeMkFile(const QString& wrapperFileName, bool deploymentOnly);
virtual void writeWrapperMakefile(QFile& wrapperFile, bool isPrimaryMakefile);
public:
diff --git a/qmake/generators/win32/msvc_dsp.cpp b/qmake/generators/win32/msvc_dsp.cpp
index 44caa68..3668fe2 100644
--- a/qmake/generators/win32/msvc_dsp.cpp
+++ b/qmake/generators/win32/msvc_dsp.cpp
@@ -682,7 +682,7 @@ void DspMakefileGenerator::writeSubDirs(QTextStream &t)
QString profile = tmp;
if(!profile.endsWith(Option::dir_sep))
profile += Option::dir_sep;
- profile += fi.baseName() + ".pro";
+ profile += fi.baseName() + Option::pro_ext;
subdirs.append(profile);
} else {
QMakeProject tmp_proj;
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 9d3fa67..372d902 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -49,9 +49,9 @@ QT_BEGIN_NAMESPACE
// XML Tags ---------------------------------------------------------
const char _Configuration[] = "Configuration";
const char _Configurations[] = "Configurations";
-const char _File[] = "File";
+const char q_File[] = "File";
const char _FileConfiguration[] = "FileConfiguration";
-const char _Files[] = "Files";
+const char q_Files[] = "Files";
const char _Filter[] = "Filter";
const char _Globals[] = "Globals";
const char _Platform[] = "Platform";
@@ -2402,11 +2402,11 @@ XmlOutput &operator<<(XmlOutput &xml, VCFilter &tool)
}
for (int i = 0; i < tool.Files.count(); ++i) {
const VCFilterFile &info = tool.Files.at(i);
- xml << tag(_File)
+ xml << tag(q_File)
<< attrS(_RelativePath, Option::fixPathToLocalOS(info.file))
<< data(); // In case no custom builds, to avoid "/>" endings
tool.outputFileConfig(xml, tool.Files.at(i).file);
- xml << closetag(_File);
+ xml << closetag(q_File);
}
if (!tool.Name.isEmpty())
xml << closetag(_Filter);
@@ -2442,7 +2442,7 @@ XmlOutput &operator<<(XmlOutput &xml, const VCProjectSingleConfig &tool)
<< tag(_Configurations)
<< tool.Configuration;
xml << closetag(_Configurations)
- << tag(_Files);
+ << tag(q_Files);
// Add this configuration into a multi-config project, since that's where we have the flat/tree
// XML output functionality
VCProject tempProj;
@@ -2458,7 +2458,7 @@ XmlOutput &operator<<(XmlOutput &xml, const VCProjectSingleConfig &tool)
tempProj.outputFilter(xml, tempProj.ExtraCompilers.at(x));
}
tempProj.outputFilter(xml, "RootFiles");
- xml << closetag(_Files)
+ xml << closetag(q_Files)
<< tag(_Globals)
<< data(); // No "/>" end tag
return xml;
@@ -2513,7 +2513,7 @@ void VCProject::outputFileConfigs(XmlOutput &xml,
const VCFilterFile &info,
const QString &filtername)
{
- xml << tag(_File)
+ xml << tag(q_File)
<< attrS(_RelativePath, Option::fixPathToLocalOS(info.file));
for (int i = 0; i < SingleProjects.count(); ++i) {
VCFilter filter;
@@ -2541,7 +2541,7 @@ void VCProject::outputFileConfigs(XmlOutput &xml,
if (filter.Config) // only if the filter is not empty
filter.outputFileConfig(xml, info.file);
}
- xml << closetag(_File);
+ xml << closetag(q_File);
}
// outputs a given filter for all existing configurations of a project
@@ -2636,7 +2636,7 @@ XmlOutput &operator<<(XmlOutput &xml, VCProject &tool)
for (int i = 0; i < tool.SingleProjects.count(); ++i)
xml << tool.SingleProjects.at(i).Configuration;
xml << closetag(_Configurations)
- << tag(_Files);
+ << tag(q_Files);
tool.outputFilter(xml, "Sources");
tool.outputFilter(xml, "Headers");
tool.outputFilter(xml, "GeneratedFiles");
@@ -2648,7 +2648,7 @@ XmlOutput &operator<<(XmlOutput &xml, VCProject &tool)
tool.outputFilter(xml, tool.ExtraCompilers.at(x));
}
tool.outputFilter(xml, "RootFiles");
- xml << closetag(_Files)
+ xml << closetag(q_Files)
<< tag(_Globals)
<< data(); // No "/>" end tag
return xml;
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 303e3e1..538b0e7 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -120,14 +120,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
QString rSubkeyPath = keyPath(rSubkey);
HKEY handle = 0;
- LONG res;
- QT_WA( {
- res = RegOpenKeyExW(parentHandle, (WCHAR*)rSubkeyPath.utf16(),
- 0, KEY_READ, &handle);
- } , {
- res = RegOpenKeyExA(parentHandle, rSubkeyPath.toLocal8Bit(),
- 0, KEY_READ, &handle);
- } );
+ LONG res = RegOpenKeyEx(parentHandle, (wchar_t*)rSubkeyPath.utf16(), 0, KEY_READ, &handle);
if (res != ERROR_SUCCESS)
return QString();
@@ -135,11 +128,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
// get the size and type of the value
DWORD dataType;
DWORD dataSize;
- QT_WA( {
- res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, &dataType, 0, &dataSize);
- } );
+ res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, &dataType, 0, &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return QString();
@@ -147,13 +136,8 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
// get the value
QByteArray data(dataSize, 0);
- QT_WA( {
- res = RegQueryValueExW(handle, (WCHAR*)rSubkeyName.utf16(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- }, {
- res = RegQueryValueExA(handle, rSubkeyName.toLocal8Bit(), 0, 0,
- reinterpret_cast<unsigned char*>(data.data()), &dataSize);
- } );
+ res = RegQueryValueEx(handle, (wchar_t*)rSubkeyName.utf16(), 0, 0,
+ reinterpret_cast<unsigned char*>(data.data()), &dataSize);
if (res != ERROR_SUCCESS) {
RegCloseKey(handle);
return QString();
@@ -163,11 +147,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
switch (dataType) {
case REG_EXPAND_SZ:
case REG_SZ: {
- QT_WA( {
- result = QString::fromUtf16(((const ushort*)data.constData()));
- }, {
- result = QString::fromLatin1(data.constData());
- } );
+ result = QString::fromWCharArray(((const wchar_t *)data.constData()));
break;
}
@@ -175,12 +155,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
QStringList l;
int i = 0;
for (;;) {
- QString s;
- QT_WA( {
- s = QString::fromUtf16((const ushort*)data.constData() + i);
- }, {
- s = QString::fromLatin1(data.constData() + i);
- } );
+ QString s = QString::fromWCharArray((const wchar_t *)data.constData() + i);
i += s.length() + 1;
if (s.isEmpty())
@@ -193,11 +168,7 @@ static QString readRegistryKey(HKEY parentHandle, const QString &rSubkey)
case REG_NONE:
case REG_BINARY: {
- QT_WA( {
- result = QString::fromUtf16((const ushort*)data.constData(), data.size()/2);
- }, {
- result = QString::fromLatin1(data.constData(), data.size());
- } );
+ result = QString::fromWCharArray((const wchar_t *)data.constData(), data.size() / 2);
break;
}
@@ -524,7 +495,7 @@ void VcprojGenerator::writeSubDirs(QTextStream &t)
QString profile = tmp;
if(!profile.endsWith(Option::dir_sep))
profile += Option::dir_sep;
- profile += fi.baseName() + ".pro";
+ profile += fi.baseName() + Option::pro_ext;
subdirs.append(profile);
} else {
QMakeProject tmp_proj;
@@ -1268,9 +1239,8 @@ void VcprojGenerator::initDeploymentTool()
foreach(QString item, project->values("DEPLOYMENT")) {
// get item.path
QString devicePath = project->first(item + ".path");
- // if the path does not exist, skip it
if (devicePath.isEmpty())
- continue;
+ devicePath = targetPath;
// check if item.path is relative (! either /,\ or %)
if (!(devicePath.at(0) == QLatin1Char('/')
|| devicePath.at(0) == QLatin1Char('\\')
diff --git a/qmake/option.cpp b/qmake/option.cpp
index 0e4a608..6ec61ec 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -68,6 +68,7 @@ QString Option::obj_ext;
QString Option::lex_ext;
QString Option::yacc_ext;
QString Option::pro_ext;
+QString Option::mmp_ext;
QString Option::dir_sep;
QString Option::dirlist_sep;
QString Option::h_moc_mod;
@@ -99,8 +100,6 @@ QStringList Option::shellPath;
Option::TARG_MODE Option::target_mode = Option::TARG_WIN_MODE;
#elif defined(Q_OS_MAC)
Option::TARG_MODE Option::target_mode = Option::TARG_MACX_MODE;
-#elif defined(Q_OS_QNX6)
-Option::TARG_MODE Option::target_mode = Option::TARG_QNX6_MODE;
#else
Option::TARG_MODE Option::target_mode = Option::TARG_UNIX_MODE;
#endif
@@ -381,6 +380,7 @@ Option::init(int argc, char **argv)
Option::lex_ext = ".l";
Option::yacc_ext = ".y";
Option::pro_ext = ".pro";
+ Option::mmp_ext = ".mmp";
#ifdef Q_OS_WIN
Option::dirlist_sep = ";";
Option::shellPath = detectShellPath();
@@ -716,16 +716,9 @@ QString qmake_libraryInfoFile()
{
QString ret;
#if defined( Q_OS_WIN )
- QFileInfo filePath;
- QT_WA({
- unsigned short module_name[256];
- GetModuleFileNameW(0, reinterpret_cast<wchar_t *>(module_name), sizeof(module_name));
- filePath = QString::fromUtf16(module_name);
- }, {
- char module_name[256];
- GetModuleFileNameA(0, module_name, sizeof(module_name));
- filePath = QString::fromLocal8Bit(module_name);
- });
+ wchar_t module_name[MAX_PATH];
+ GetModuleFileName(0, module_name, MAX_PATH);
+ QFileInfo filePath = QString::fromWCharArray(module_name);
ret = filePath.filePath();
#else
QString argv0 = QFile::decodeName(QByteArray(Option::application_argv0));
diff --git a/qmake/option.h b/qmake/option.h
index 4205b03..b548aa5 100644
--- a/qmake/option.h
+++ b/qmake/option.h
@@ -92,6 +92,7 @@ struct Option
static QString dirlist_sep;
static QString sysenv_mod;
static QString pro_ext;
+ static QString mmp_ext;
static QString res_ext;
static char field_sep;
static const char *application_argv0;
@@ -149,7 +150,7 @@ struct Option
static int warn_level;
static bool recursive;
static QStringList before_user_vars, after_user_vars, user_configs, after_user_configs;
- enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE, TARG_QNX6_MODE };
+ enum TARG_MODE { TARG_UNIX_MODE, TARG_WIN_MODE, TARG_MACX_MODE, TARG_MAC9_MODE };
static TARG_MODE target_mode;
static QString user_template, user_template_prefix;
static QStringList shellPath;
diff --git a/qmake/project.cpp b/qmake/project.cpp
index 7c7044c..6bb8b2c 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -597,8 +597,7 @@ static void qmake_error_msg(const QString &msg)
msg.toLatin1().constData());
}
-enum isForSymbian_enum
-{
+enum isForSymbian_enum {
isForSymbian_NOT_SET = -1,
isForSymbian_FALSE = 0,
isForSymbian_ABLD = 1,
@@ -705,10 +704,6 @@ QStringList qmake_feature_paths(QMakeProperty *prop=0)
concat << base_concat + QDir::separator() + "mac";
concat << base_concat + QDir::separator() + "mac9";
break;
- case Option::TARG_QNX6_MODE: //also a unix
- concat << base_concat + QDir::separator() + "qnx6";
- concat << base_concat + QDir::separator() + "unix";
- break;
}
concat << base_concat;
}
@@ -1606,8 +1601,8 @@ QMakeProject::read(uchar cmd)
if(cmd & ReadProFile) { // parse project file
debug_msg(1, "Project file: reading %s", pfile.toLatin1().constData());
- if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(".pro"))
- pfile += ".pro";
+ if(pfile != "-" && !QFile::exists(pfile) && !pfile.endsWith(Option::pro_ext))
+ pfile += Option::pro_ext;
if(!read(pfile, vars))
return false;
}
@@ -1707,13 +1702,11 @@ QMakeProject::isActiveConfig(const QString &x, bool regex, QMap<QString, QString
return true;
//mkspecs
- if((Option::target_mode == Option::TARG_MACX_MODE || Option::target_mode == Option::TARG_QNX6_MODE ||
+ if((Option::target_mode == Option::TARG_MACX_MODE ||
Option::target_mode == Option::TARG_UNIX_MODE) && x == "unix")
return !isForSymbian();
else if(Option::target_mode == Option::TARG_MACX_MODE && x == "macx")
return !isForSymbian();
- else if(Option::target_mode == Option::TARG_QNX6_MODE && x == "qnx6")
- return !isForSymbian();
else if(Option::target_mode == Option::TARG_MAC9_MODE && x == "mac9")
return !isForSymbian();
else if((Option::target_mode == Option::TARG_MAC9_MODE || Option::target_mode == Option::TARG_MACX_MODE) &&
@@ -3261,9 +3254,9 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
ret = "Windows";
} else if(type == "name") {
DWORD name_length = 1024;
- TCHAR name[1024];
- if(GetComputerName(name, &name_length))
- ret = QString::fromUtf16((ushort*)name, name_length);
+ wchar_t name[1024];
+ if (GetComputerName(name, &name_length))
+ ret = QString::fromWCharArray(name);
} else if(type == "version" || type == "version_string") {
QSysInfo::WinVersion ver = QSysInfo::WindowsVersion;
if(type == "version")
@@ -3339,10 +3332,10 @@ QStringList &QMakeProject::values(const QString &_var, QMap<QString, QStringList
// UIDs starting with 0xE are test UIDs in symbian
-QString generate_test_uid(const QString& target)
+QString generate_test_uid(const QString& target)
{
QString tmp = generate_uid(target);
- tmp.replace(0,1,"E");
+ tmp.replace(0, 1, "E");
tmp.prepend("0x");
return tmp;
@@ -3350,38 +3343,38 @@ QString generate_test_uid(const QString& target)
// UIDs starting with 0xE are test UIDs in symbian
-QString generate_uid(const QString& target)
+QString generate_uid(const QString& target)
{
static QMap<QString, QString> targetToUid;
QString tmp = targetToUid[target];
- if(!tmp.isEmpty()) {
+ if (!tmp.isEmpty()) {
return tmp;
}
unsigned long hash = 5381;
int c;
- for(int i = 0; i < target.size(); ++i) {
+ for (int i = 0; i < target.size(); ++i) {
c = target.at(i).toAscii();
- hash ^= c + ((c-i) << i%20) + ((c+i) << (i+5)%20) + ((c-2*i) << (i+10)%20) + ((c+2*i) << (i+15)%20);
+ hash ^= c + ((c - i) << i % 20) + ((c + i) << (i + 5) % 20) + ((c - 2 * i) << (i + 10) % 20) + ((c + 2 * i) << (i + 15) % 20);
}
tmp.setNum(hash, 16);
- for(int i = tmp.size(); i < 8; ++i)
+ for (int i = tmp.size(); i < 8; ++i)
tmp.prepend("0");
#if 0
static QMap<QString, QString> uidConflictCheckList;
QString testStr = tmp;
- testStr.replace(0,1,"E"); // Simulate actual UID generation
+ testStr.replace(0, 1, "E"); // Simulate actual UID generation
if (uidConflictCheckList.contains(testStr)) {
printf("\n\n!!!! generated duplicate uid for %s is %s <-> %s !!!!\n\n\n",
- qPrintable(target),
- qPrintable(testStr),
- qPrintable(uidConflictCheckList.value(testStr)));
- }
+ qPrintable(target),
+ qPrintable(testStr),
+ qPrintable(uidConflictCheckList.value(testStr)));
+ }
uidConflictCheckList.insert(testStr, target);
printf("generate_uid for %s is %s \n", qPrintable(target), qPrintable(tmp));
#endif
@@ -3393,7 +3386,7 @@ QString generate_uid(const QString& target)
static void fixEpocRootStr(QString& path)
{
- path.replace("\\","/");
+ path.replace("\\", "/");
if (path.size() > 1 && path[1] == QChar(':')) {
path = path.mid(2);
@@ -3410,8 +3403,7 @@ static QString epocRootStr;
QString epocRoot()
{
- if (!epocRootStr.isEmpty())
- {
+ if (!epocRootStr.isEmpty()) {
return epocRootStr;
}
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index f43d933..65bd7d4 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -68,6 +68,8 @@ bootstrap { #Qt code
qmap.cpp \
qmetatype.cpp \
qregexp.cpp \
+ qtextcodec.cpp \
+ qutfcodec.cpp \
qstring.cpp \
qstringlist.cpp \
qtemporaryfile.cpp \
@@ -107,6 +109,8 @@ bootstrap { #Qt code
qmap.h \
qmetatype.h \
qregexp.h \
+ qtextcodec.h \
+ qutfcodec.h \
qstring.h \
qstringlist.h \
qstringmatcher.h \
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 594e698..acf7718 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -15,6 +15,7 @@ MOC_DIR = .
VPATH += $$QT_SOURCE_TREE/src/corelib/global \
$$QT_SOURCE_TREE/src/corelib/tools \
$$QT_SOURCE_TREE/src/corelib/kernel \
+ $$QT_SOURCE_TREE/src/corelib/codecs \
$$QT_SOURCE_TREE/src/corelib/plugin \
$$QT_SOURCE_TREE/src/corelib/io \
$$QT_SOURCE_TREE/src/corelib/xml \
diff --git a/qmake/qpopen.cpp b/qmake/qpopen.cpp
index 7acff92..f2d530d 100644
--- a/qmake/qpopen.cpp
+++ b/qmake/qpopen.cpp
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
@@ -59,7 +59,7 @@ bool QPopen::init(const char *command, const char* /* mode */)
}
// Ensure that the read handle to the child process's pipe for STDOUT is not inherited.
- SetHandleInformation( childStdOutR, HANDLE_FLAG_INHERIT, 0);
+ SetHandleInformation(childStdOutR, HANDLE_FLAG_INHERIT, 0);
// Create a pipe for the child process's STDIN.
if (! CreatePipe(&childStdInR, &childStdInW, &attributes, 0)) {
@@ -67,18 +67,18 @@ bool QPopen::init(const char *command, const char* /* mode */)
}
// Ensure that the write handle to the child process's pipe for STDIN is not inherited.
- SetHandleInformation( childStdInW, HANDLE_FLAG_INHERIT, 0);
+ SetHandleInformation(childStdInW, HANDLE_FLAG_INHERIT, 0);
TCHAR *szCmdLine = new TCHAR[strlen(command)+1];
strcpy(szCmdLine, command);
// Set up members of the PROCESS_INFORMATION structure.
- ZeroMemory( &processInfo, sizeof(PROCESS_INFORMATION) );
+ ZeroMemory(&processInfo, sizeof(PROCESS_INFORMATION));
// Set up members of the STARTUPINFO structure.
- ZeroMemory( &siStartInfo, sizeof(STARTUPINFO) );
+ ZeroMemory(&siStartInfo, sizeof(STARTUPINFO));
siStartInfo.cb = sizeof(STARTUPINFO);
siStartInfo.hStdError = childStdOutW;
siStartInfo.hStdOutput = childStdOutW;
@@ -88,15 +88,15 @@ bool QPopen::init(const char *command, const char* /* mode */)
// Create the child process.
bool success = CreateProcess(NULL,
- szCmdLine, // command line
- NULL, // process security attributes
- NULL, // primary thread security attributes
- TRUE, // handles are inherited
- 0, // creation flags
- NULL, // use parent's environment
- NULL, // use parent's current directory
- &siStartInfo, // STARTUPINFO pointer
- &processInfo); // receives PROCESS_INFORMATION
+ szCmdLine, // command line
+ NULL, // process security attributes
+ NULL, // primary thread security attributes
+ TRUE, // handles are inherited
+ 0, // creation flags
+ NULL, // use parent's environment
+ NULL, // use parent's current directory
+ &siStartInfo, // STARTUPINFO pointer
+ &processInfo); // receives PROCESS_INFORMATION
delete szCmdLine;
@@ -118,7 +118,7 @@ int QPopen::fwrite(char* buffer, int maxBytes)
DWORD bytesWritten;
bool success = WriteFile(childStdInW, buffer, maxBytes, &bytesWritten, NULL);
- if(success) {
+ if (success) {
return bytesWritten;
}
@@ -129,11 +129,11 @@ int QPopen::fread(char* buffer, int maxBytes)
{
DWORD bytesRead;
- if( !CloseHandle(childStdOutW) )
+ if (!CloseHandle(childStdOutW))
return 0;
bool success = ReadFile(childStdOutR, buffer, maxBytes, &bytesRead, NULL);
- if(success)
+ if (success)
return bytesRead;
return 0;
diff --git a/qmake/qpopen.h b/qmake/qpopen.h
index e15830d..f979c97 100644
--- a/qmake/qpopen.h
+++ b/qmake/qpopen.h
@@ -1,9 +1,9 @@
/****************************************************************************
**
-** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the $MODULE$ of the Qt Toolkit.
+** This file is part of the qmake application of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -34,7 +34,7 @@
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
+** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/
diff --git a/src/3rdparty/freetype/builds/unix/ftsystem.c b/src/3rdparty/freetype/builds/unix/ftsystem.c
index 3a740fd..40fa8d0 100644
--- a/src/3rdparty/freetype/builds/unix/ftsystem.c
+++ b/src/3rdparty/freetype/builds/unix/ftsystem.c
@@ -69,6 +69,9 @@
#include <string.h>
#include <errno.h>
+#ifdef VXWORKS
+#include <ioLib.h>
+#endif
/*************************************************************************/
/* */
@@ -238,7 +241,7 @@
return FT_Err_Invalid_Stream_Handle;
/* open the file */
- file = open( filepathname, O_RDONLY );
+ file = open( filepathname, O_RDONLY, 0);
if ( file < 0 )
{
FT_ERROR(( "FT_Stream_Open:" ));
@@ -317,7 +320,11 @@
read_count = read( file,
+#ifndef VXWORKS
stream->base + total_read_count,
+#else
+ (char *) stream->base + total_read_count,
+#endif
stream->size - total_read_count );
if ( read_count <= 0 )
diff --git a/src/3rdparty/libjpeg/jmorecfg.h b/src/3rdparty/libjpeg/jmorecfg.h
index 54a7d1c..b0b5870 100644
--- a/src/3rdparty/libjpeg/jmorecfg.h
+++ b/src/3rdparty/libjpeg/jmorecfg.h
@@ -157,7 +157,7 @@ typedef short INT16;
/* INT32 must hold at least signed 32-bit values. */
-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
+#if !defined(XMD_H) && !defined(VXWORKS) /* X11/xmd.h correctly defines INT32 */
typedef long INT32;
#endif
@@ -183,6 +183,9 @@ typedef unsigned int JDIMENSION;
/* a function called through method pointers: */
#define METHODDEF(type) static type
/* a function used only in its module: */
+#if defined(VXWORKS) && defined(LOCAL)
+# undef LOCAL
+#endif
#define LOCAL(type) static type
/* a function referenced thru EXTERNs: */
#define GLOBAL(type) type
diff --git a/src/3rdparty/libpng/pngconf.h b/src/3rdparty/libpng/pngconf.h
index 9edb468..e680a05 100644
--- a/src/3rdparty/libpng/pngconf.h
+++ b/src/3rdparty/libpng/pngconf.h
@@ -344,7 +344,7 @@
# endif /* __linux__ */
#endif /* PNG_SETJMP_SUPPORTED */
-#ifdef BSD
+#if defined(BSD) && !defined(VXWORKS)
# include <strings.h>
#else
# include <string.h>
diff --git a/src/3rdparty/libtiff/libtiff/tif_config.h b/src/3rdparty/libtiff/libtiff/tif_config.h
index f6da51b..a6bb35d 100644
--- a/src/3rdparty/libtiff/libtiff/tif_config.h
+++ b/src/3rdparty/libtiff/libtiff/tif_config.h
@@ -104,7 +104,7 @@
/* #undef HAVE_PTHREAD */
/* Define to 1 if you have the <search.h> header file. */
-#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN)
+#if !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) && !defined(Q_OS_VXWORKS)
#define HAVE_SEARCH_H 1
#endif
diff --git a/src/3rdparty/patches/freetype-2.3.6-vxworks.patch b/src/3rdparty/patches/freetype-2.3.6-vxworks.patch
new file mode 100644
index 0000000..21e884c
--- /dev/null
+++ b/src/3rdparty/patches/freetype-2.3.6-vxworks.patch
@@ -0,0 +1,35 @@
+diff --git builds/unix/ftsystem.c builds/unix/ftsystem.c
+index 3a740fd..40fa8d0 100644
+--- builds/unix/ftsystem.c
++++ builds/unix/ftsystem.c
+@@ -69,6 +69,9 @@
+ #include <string.h>
+ #include <errno.h>
+
++#ifdef VXWORKS
++#include <ioLib.h>
++#endif
+
+ /*************************************************************************/
+ /* */
+@@ -238,7 +241,7 @@
+ return FT_Err_Invalid_Stream_Handle;
+
+ /* open the file */
+- file = open( filepathname, O_RDONLY );
++ file = open( filepathname, O_RDONLY, 0);
+ if ( file < 0 )
+ {
+ FT_ERROR(( "FT_Stream_Open:" ));
+@@ -317,7 +320,11 @@
+
+
+ read_count = read( file,
++#ifndef VXWORKS
+ stream->base + total_read_count,
++#else
++ (char *) stream->base + total_read_count,
++#endif
+ stream->size - total_read_count );
+
+ if ( read_count <= 0 )
diff --git a/src/3rdparty/patches/libjpeg-6b-vxworks.patch b/src/3rdparty/patches/libjpeg-6b-vxworks.patch
new file mode 100644
index 0000000..263c8d0
--- /dev/null
+++ b/src/3rdparty/patches/libjpeg-6b-vxworks.patch
@@ -0,0 +1,23 @@
+diff --git jmorecfg.h jmorecfg.h
+index 54a7d1c..b0b5870 100644
+--- jmorecfg.h
++++ jmorecfg.h
+@@ -157,7 +157,7 @@ typedef short INT16;
+
+ /* INT32 must hold at least signed 32-bit values. */
+
+-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
++#if !defined(XMD_H) && !defined(VXWORKS) /* X11/xmd.h correctly defines INT32 */
+ typedef long INT32;
+ #endif
+
+@@ -183,6 +183,9 @@ typedef unsigned int JDIMENSION;
+ /* a function called through method pointers: */
+ #define METHODDEF(type) static type
+ /* a function used only in its module: */
++#if defined(VXWORKS) && defined(LOCAL)
++# undef LOCAL
++#endif
+ #define LOCAL(type) static type
+ /* a function referenced thru EXTERNs: */
+ #define GLOBAL(type) type
diff --git a/src/3rdparty/patches/libpng-1.2.20-vxworks.patch b/src/3rdparty/patches/libpng-1.2.20-vxworks.patch
new file mode 100644
index 0000000..4c49b3f
--- /dev/null
+++ b/src/3rdparty/patches/libpng-1.2.20-vxworks.patch
@@ -0,0 +1,13 @@
+diff --git pngconf.h pngconf.h
+index 19e4732..8eb7d35 100644
+--- pngconf.h
++++ pngconf.h
+@@ -344,7 +344,7 @@
+ # endif /* __linux__ */
+ #endif /* PNG_SETJMP_SUPPORTED */
+
+-#ifdef BSD
++#if defined(BSD) && !defined(VXWORKS)
+ # include <strings.h>
+ #else
+ # include <string.h>
diff --git a/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch b/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch
new file mode 100644
index 0000000..b1b725e
--- /dev/null
+++ b/src/3rdparty/patches/libtiff-3.8.2-vxworks.patch
@@ -0,0 +1,11 @@
+--- libtiff/tif_config.h.orig
++++ libtiff/tif_config.h
+@@ -104,7 +104,7 @@
+ /* #undef HAVE_PTHREAD */
+
+ /* Define to 1 if you have the <search.h> header file. */
+-#if !defined(Q_OS_WINCE)
++#if !defined(Q_OS_WINCE) && !defined(Q_OS_VXWORKS)
+ #define HAVE_SEARCH_H 1
+ #endif
+
diff --git a/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch b/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch
new file mode 100644
index 0000000..6ae65fd
--- /dev/null
+++ b/src/3rdparty/patches/sqlite-3.5.6-vxworks.patch
@@ -0,0 +1,68 @@
+--- sqlite3.c.orig
++++ sqlite3.c
+@@ -383,7 +383,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
+ **
+ ** See also ticket #2741.
+ */
+-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE
++#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE && !defined(VXWORKS)
+ # define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
+ #endif
+
+@@ -440,6 +440,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
+ */
+ #ifndef _SQLITE3_H_
+ #define _SQLITE3_H_
++
++#ifdef VXWORKS
++# define SQLITE_HOMEGROWN_RECURSIVE_MUTEX
++# define NO_GETTOD
++# include <ioLib.h>
++#endif
++
+ #include <stdarg.h> /* Needed for the definition of va_list */
+
+ /*
+@@ -18792,7 +18799,11 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+-#include <sys/time.h>
++#ifdef VXWORKS
++# include <sys/times.h>
++#else
++# include <sys/time.h>
++#endif
+ #include <errno.h>
+ #ifdef SQLITE_ENABLE_LOCKING_STYLE
+ #include <sys/ioctl.h>
+@@ -19728,7 +19739,11 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
+ if( newOffset!=offset ){
+ return -1;
+ }
++# ifndef VXWORKS
+ got = write(id->h, pBuf, cnt);
++# else
++ got = write(id->h, (char *)pBuf, cnt);
++# endif
+ #endif
+ TIMER_END;
+ OSTRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, offset, TIMER_ELAPSED);
+@@ -21554,12 +21569,16 @@ static int unixRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){
+ #if !defined(SQLITE_TEST)
+ {
+ int pid, fd;
+- fd = open("/dev/urandom", O_RDONLY);
++ fd = open("/dev/urandom", O_RDONLY, 0);
+ if( fd<0 ){
+ time_t t;
+ time(&t);
+ memcpy(zBuf, &t, sizeof(t));
++#ifndef VXWORKS
+ pid = getpid();
++#else
++ pid = (int)taskIdCurrent();
++#endif
+ memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid));
+ }else{
+ read(fd, zBuf, nBuf);
diff --git a/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp b/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp
index e932e70..a9d0694 100644
--- a/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp
+++ b/src/3rdparty/phonon/ds9/abstractvideorenderer.cpp
@@ -99,8 +99,8 @@ namespace Phonon
m_dstX = m_dstY = 0;
if (ratio > 0) {
- if (realWidth / realHeight > ratio && scaleMode == Phonon::VideoWidget::FitInView
- || realWidth / realHeight < ratio && scaleMode == Phonon::VideoWidget::ScaleAndCrop) {
+ if ((realWidth / realHeight > ratio && scaleMode == Phonon::VideoWidget::FitInView)
+ || (realWidth / realHeight < ratio && scaleMode == Phonon::VideoWidget::ScaleAndCrop)) {
//the height is correct, let's change the width
m_dstWidth = qRound(realHeight * ratio);
m_dstX = qRound((realWidth - realHeight * ratio) / 2.);
diff --git a/src/3rdparty/phonon/ds9/backend.cpp b/src/3rdparty/phonon/ds9/backend.cpp
index 245749a..2c56af7 100644
--- a/src/3rdparty/phonon/ds9/backend.cpp
+++ b/src/3rdparty/phonon/ds9/backend.cpp
@@ -50,7 +50,7 @@ namespace Phonon
Backend::Backend(QObject *parent, const QVariantList &)
: QObject(parent)
{
- ::CoInitialize(0);
+ ::CoInitialize(0);
//registering meta types
qRegisterMetaType<HRESULT>("HRESULT");
@@ -61,7 +61,7 @@ namespace Phonon
{
m_audioOutputs.clear();
m_audioEffects.clear();
- ::CoUninitialize();
+ ::CoUninitialize();
}
QObject *Backend::createObject(BackendInterface::Class c, QObject *parent, const QList<QVariant> &args)
@@ -216,7 +216,7 @@ namespace Phonon
LPOLESTR str = 0;
HRESULT hr = mon->GetDisplayName(0,0, &str);
if (SUCCEEDED(hr)) {
- QString name = QString::fromUtf16((unsigned short*)str);
+ QString name = QString::fromUtf16((unsigned short*)str);
ComPointer<IMalloc> alloc;
::CoGetMalloc(1, alloc.pparam());
alloc->Free(str);
diff --git a/src/3rdparty/phonon/ds9/backendnode.cpp b/src/3rdparty/phonon/ds9/backendnode.cpp
index 7e0b3cd..855357a 100644
--- a/src/3rdparty/phonon/ds9/backendnode.cpp
+++ b/src/3rdparty/phonon/ds9/backendnode.cpp
@@ -57,6 +57,8 @@ namespace Phonon
BackendNode::~BackendNode()
{
+ //this will remove the filter from the graph
+ mediaObjectDestroyed();
}
void BackendNode::setMediaObject(MediaObject *mo)
diff --git a/src/3rdparty/phonon/ds9/fakesource.cpp b/src/3rdparty/phonon/ds9/fakesource.cpp
index 9a61a2e..4dce138 100644
--- a/src/3rdparty/phonon/ds9/fakesource.cpp
+++ b/src/3rdparty/phonon/ds9/fakesource.cpp
@@ -29,8 +29,10 @@ namespace Phonon
namespace DS9
{
static WAVEFORMATEX g_defaultWaveFormat = {WAVE_FORMAT_PCM, 2, 44100, 176400, 4, 16, 0};
- static BITMAPINFOHEADER g_defautBitmapHeader = { sizeof(BITMAPINFOHEADER), 1, 1, 1, 0, 0, 0, 0, 0, 0, 0};
- static VIDEOINFOHEADER2 g_defaultVideoInfo = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ static VIDEOINFOHEADER2 g_defaultVideoInfo = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0, 0, {0}, 0, {sizeof(BITMAPINFOHEADER), 1, 1, 1, 0, 0, 0, 0, 0, 0, 0} };
+
+ static const AM_MEDIA_TYPE g_fakeAudioType = {MEDIATYPE_Audio, MEDIASUBTYPE_PCM, 0, 0, 2, FORMAT_WaveFormatEx, 0, sizeof(WAVEFORMATEX), reinterpret_cast<BYTE*>(&g_defaultWaveFormat)};
+ static const AM_MEDIA_TYPE g_fakeVideoType = {MEDIATYPE_Video, MEDIASUBTYPE_RGB32, TRUE, FALSE, 0, FORMAT_VideoInfo2, 0, sizeof(VIDEOINFOHEADER2), reinterpret_cast<BYTE*>(&g_defaultVideoInfo)};
class FakePin : public QPin
{
@@ -128,36 +130,12 @@ namespace Phonon
void FakeSource::createFakeAudioPin()
{
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Audio;
- mt.subtype = MEDIASUBTYPE_PCM;
- mt.formattype = FORMAT_WaveFormatEx;
- mt.lSampleSize = 2;
-
- //fake the format (stereo 44.1 khz stereo 16 bits)
- mt.cbFormat = sizeof(WAVEFORMATEX);
- mt.pbFormat = reinterpret_cast<BYTE*>(&g_defaultWaveFormat);
-
- new FakePin(this, mt);
+ new FakePin(this, g_fakeAudioType);
}
void FakeSource::createFakeVideoPin()
{
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Video;
- mt.subtype = MEDIASUBTYPE_RGB32;
- mt.formattype = FORMAT_VideoInfo2;
- mt.bFixedSizeSamples = 1;
-
- g_defaultVideoInfo.bmiHeader = g_defautBitmapHeader;
-
- //fake the format
- mt.cbFormat = sizeof(VIDEOINFOHEADER2);
- mt.pbFormat = reinterpret_cast<BYTE*>(&g_defaultVideoInfo);
-
- new FakePin(this, mt);
+ new FakePin(this, g_fakeVideoType);
}
}
diff --git a/src/3rdparty/phonon/ds9/iodevicereader.cpp b/src/3rdparty/phonon/ds9/iodevicereader.cpp
index ec10278..a885a69 100644
--- a/src/3rdparty/phonon/ds9/iodevicereader.cpp
+++ b/src/3rdparty/phonon/ds9/iodevicereader.cpp
@@ -36,19 +36,10 @@ namespace Phonon
//these mediatypes define a stream, its type will be autodetected by DirectShow
static QVector<AM_MEDIA_TYPE> getMediaTypes()
{
- AM_MEDIA_TYPE mt;
- mt.majortype = MEDIATYPE_Stream;
- mt.bFixedSizeSamples = TRUE;
- mt.bTemporalCompression = FALSE;
- mt.lSampleSize = 1;
- mt.formattype = GUID_NULL;
- mt.pUnk = 0;
- mt.cbFormat = 0;
- mt.pbFormat = 0;
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Stream, MEDIASUBTYPE_NULL, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
QVector<AM_MEDIA_TYPE> ret;
//normal auto-detect stream
- mt.subtype = MEDIASUBTYPE_NULL;
ret << mt;
//AVI stream
mt.subtype = MEDIASUBTYPE_Avi;
@@ -176,7 +167,7 @@ namespace Phonon
oldSize = currentBufferSize();
}
- DWORD bytesRead = qMin(currentBufferSize(), int(length));
+ int bytesRead = qMin(currentBufferSize(), int(length));
{
QWriteLocker locker(&m_lock);
qMemCopy(buffer, m_buffer.data(), bytesRead);
diff --git a/src/3rdparty/phonon/ds9/mediagraph.cpp b/src/3rdparty/phonon/ds9/mediagraph.cpp
index 31a0622..7b10176 100644
--- a/src/3rdparty/phonon/ds9/mediagraph.cpp
+++ b/src/3rdparty/phonon/ds9/mediagraph.cpp
@@ -68,6 +68,8 @@ namespace Phonon
return ret;
}
+
+/*
static HRESULT saveToFile(Graph graph, const QString &filepath)
{
const WCHAR wszStreamName[] = L"ActiveMovieGraph";
@@ -103,7 +105,7 @@ namespace Phonon
return hr;
}
-
+*/
MediaGraph::MediaGraph(MediaObject *mo, short index) :
m_graph(CLSID_FilterGraph, IID_IGraphBuilder),
@@ -537,7 +539,7 @@ namespace Phonon
const QList<OutputPin> outputs = BackendNode::pins(filter, PINDIR_OUTPUT);
for(int i = 0; i < outputs.count(); ++i) {
const OutputPin &pin = outputs.at(i);
- if (VFW_E_NOT_CONNECTED == pin->ConnectedTo(inPin.pparam())) {
+ if (HRESULT(VFW_E_NOT_CONNECTED) == pin->ConnectedTo(inPin.pparam())) {
return SUCCEEDED(pin->Connect(newIn, 0));
}
}
@@ -809,7 +811,7 @@ namespace Phonon
for (int i = 0; i < outputs.count(); ++i) {
const OutputPin &out = outputs.at(i);
InputPin pin;
- if (out->ConnectedTo(pin.pparam()) == VFW_E_NOT_CONNECTED) {
+ if (out->ConnectedTo(pin.pparam()) == HRESULT(VFW_E_NOT_CONNECTED)) {
m_decoderPins += out; //unconnected outputs can be decoded outputs
}
}
diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp
index 1d0b69d..10782c2 100644
--- a/src/3rdparty/phonon/ds9/mediaobject.cpp
+++ b/src/3rdparty/phonon/ds9/mediaobject.cpp
@@ -36,7 +36,7 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <QtCore/QDebug>
-#define TIMER_INTERVAL 16 //... ms for the timer that polls the current state (we use the multimedia timer
+#define TIMER_INTERVAL 16 //... ms for the timer that polls the current state (we use the multimedia timer)
#define PRELOAD_TIME 2000 // 2 seconds to load a source
QT_BEGIN_NAMESPACE
@@ -89,7 +89,7 @@ namespace Phonon
DWORD result = ::WaitForMultipleObjects(count, handles, FALSE, INFINITE);
if (result == WAIT_OBJECT_0) {
if (m_finished) {
- //that's the end if the thread execution
+ //that's the end of the thread execution
return;
}
@@ -207,12 +207,14 @@ namespace Phonon
HRESULT hr = S_OK;
- m_currentRender = w.graph;
- m_currentRenderId = w.id;
- if (w.task == ReplaceGraph) {
+ {
QMutexLocker locker(&m_mutex);
- HANDLE h;
+ m_currentRender = w.graph;
+ m_currentRenderId = w.id;
+ }
+ if (w.task == ReplaceGraph) {
+ QMutexLocker locker(&m_mutex);
int index = -1;
for(int i = 0; i < FILTER_COUNT; ++i) {
if (m_graphHandle[i].graph == w.oldGraph) {
@@ -228,6 +230,7 @@ namespace Phonon
Q_ASSERT(index != -1);
//add the new graph
+ HANDLE h;
if (SUCCEEDED(ComPointer<IMediaEvent>(w.graph, IID_IMediaEvent)
->GetEventHandle(reinterpret_cast<OAEVENT*>(&h)))) {
m_graphHandle[index].graph = w.graph;
@@ -250,7 +253,7 @@ namespace Phonon
hr = w.graph->RenderFile(reinterpret_cast<const wchar_t *>(w.url.utf16()), 0);
}
if (hr != E_ABORT) {
- emit asyncRenderFinished(w.id, hr, w.graph);
+ emit asyncRenderFinished(w.id, hr, w.graph);
}
} else if (w.task == Seek) {
//that's a seekrequest
@@ -266,7 +269,7 @@ namespace Phonon
}
}
emit asyncSeekingFinished(w.id, currentTime);
- hr = E_ABORT; //to avoid emitting asyncRenderFinished
+ hr = E_ABORT; //to avoid emitting asyncRenderFinished
} else if (w.task == ChangeState) {
//remove useless decoders
@@ -324,16 +327,17 @@ namespace Phonon
}
}
- m_currentRender = Graph();
- m_currentRenderId = 0;
-
+ {
+ QMutexLocker locker(&m_mutex);
+ m_currentRender = Graph();
+ m_currentRenderId = 0;
+ }
}
- void WorkerThread::abortCurrentRender(qint16 renderId)
- {
+ void WorkerThread::abortCurrentRender(qint16 renderId)
+ {
QMutexLocker locker(&m_mutex);
bool found = false;
- //we try to see if there is already an attempt to seek and we remove it
for(int i = 0; !found && i < m_queue.size(); ++i) {
const Work &w = m_queue.at(i);
if (w.id == renderId) {
@@ -342,10 +346,10 @@ namespace Phonon
}
}
- if (m_currentRender && m_currentRenderId == renderId) {
- m_currentRender->Abort();
- }
- }
+ if (m_currentRender && m_currentRenderId == renderId) {
+ m_currentRender->Abort();
+ }
+ }
//tells the thread to stop processing
void WorkerThread::signalStop()
@@ -383,13 +387,13 @@ namespace Phonon
{
for(int i = 0; i < FILTER_COUNT; ++i) {
- m_graphs[i] = new MediaGraph(this, i);
+ m_graphs[i] = new MediaGraph(this, i);
}
- connect(&m_thread, SIGNAL(stateReady(Graph, Phonon::State)),
+ connect(&m_thread, SIGNAL(stateReady(Graph, Phonon::State)),
SLOT(slotStateReady(Graph, Phonon::State)));
- connect(&m_thread, SIGNAL(eventReady(Graph, long, long)),
+ connect(&m_thread, SIGNAL(eventReady(Graph, long, long)),
SLOT(handleEvents(Graph, long, long)));
connect(&m_thread, SIGNAL(asyncRenderFinished(quint16, HRESULT, Graph)),
@@ -484,7 +488,7 @@ namespace Phonon
}
if (!m_aboutToFinishSent && remaining < PRELOAD_TIME - m_transitionTime + TIMER_INTERVAL/2) {
- //let's take a 2 seconds time time to actually load the next file
+ //let's take a 2 seconds time to actually load the next file
#ifdef GRAPH_DEBUG
qDebug() << "DS9: emit aboutToFinish" << remaining << QTime::currentTime().toString();
#endif
@@ -573,7 +577,7 @@ namespace Phonon
{
#ifndef QT_NO_PHONON_MEDIACONTROLLER
//1st, check if there is more titles after
- const qint64 ret = (m_currentTitle < _iface_availableTitles() - 1) ?
+ const qint64 ret = (m_currentTitle < _iface_availableTitles() - 1) ?
titleAbsolutePosition(m_currentTitle+1) : currentGraph()->absoluteTotalTime();
//this is the duration of the current title
@@ -586,7 +590,7 @@ namespace Phonon
qint64 MediaObject::currentTime() const
{
//this handles inaccuracy when stopping on a title
- return currentGraph()->absoluteCurrentTime()
+ return currentGraph()->absoluteCurrentTime()
#ifndef QT_NO_PHONON_MEDIACONTROLLER
- titleAbsolutePosition(m_currentTitle)
#endif //QT_NO_PHONON_MEDIACONTROLLER
@@ -736,7 +740,7 @@ namespace Phonon
m_oldHasVideo = currentGraph()->hasVideo();
setState(Phonon::LoadingState);
//After loading we go into stopped state
- m_nextState = Phonon::StoppedState;
+ m_nextState = Phonon::StoppedState;
catchComError(currentGraph()->loadSource(source));
emit currentSourceChanged(source);
}
@@ -750,7 +754,7 @@ namespace Phonon
void MediaObject::loadingFinished(MediaGraph *mg)
{
- if (mg == currentGraph()) {
+ if (mg == currentGraph()) {
#ifndef QT_NO_PHONON_MEDIACONTROLLER
//Title interface
m_currentTitle = 0;
@@ -782,15 +786,16 @@ namespace Phonon
case Phonon::PausedState:
pause();
break;
- case Phonon::StoppedState:
- stop();
- break;
case Phonon::PlayingState:
play();
break;
case Phonon::ErrorState:
setState(Phonon::ErrorState);
break;
+ case Phonon::StoppedState:
+ default:
+ stop();
+ break;
}
}
}
@@ -807,7 +812,7 @@ namespace Phonon
void MediaObject::seekingFinished(MediaGraph *mg)
{
- if (mg == currentGraph()) {
+ if (mg == currentGraph()) {
updateTargetTick();
if (currentTime() < totalTime() - m_prefinishMark) {
@@ -882,7 +887,7 @@ namespace Phonon
#ifndef QT_NO_PHONON_VIDEO
if (VideoWidget *video = qobject_cast<VideoWidget*>(sink)) {
m_videoWidgets += video;
- } else
+ } else
#endif //QT_NO_PHONON_VIDEO
if (AudioOutput *audio = qobject_cast<AudioOutput*>(sink)) {
m_audioOutputs += audio;
@@ -901,7 +906,7 @@ namespace Phonon
#ifndef QT_NO_PHONON_VIDEO
if (VideoWidget *video = qobject_cast<VideoWidget*>(sink)) {
m_videoWidgets.removeOne(video);
- } else
+ } else
#endif //QT_NO_PHONON_VIDEO
if (AudioOutput *audio = qobject_cast<AudioOutput*>(sink)) {
m_audioOutputs.removeOne(audio);
@@ -983,7 +988,7 @@ namespace Phonon
emit stateChanged(state(), m_state);
}
break;
- case EC_LENGTH_CHANGED:
+ case EC_LENGTH_CHANGED:
if (graph == currentGraph()->graph()) {
emit totalTimeChanged( totalTime() );
}
diff --git a/src/3rdparty/phonon/ds9/qaudiocdreader.cpp b/src/3rdparty/phonon/ds9/qaudiocdreader.cpp
index b9f9fd6..6d0f335 100644
--- a/src/3rdparty/phonon/ds9/qaudiocdreader.cpp
+++ b/src/3rdparty/phonon/ds9/qaudiocdreader.cpp
@@ -103,8 +103,8 @@ namespace Phonon
private:
HANDLE m_cddrive;
- CDROM_TOC *m_toc;
- WaveStructure *m_waveHeader;
+ CDROM_TOC m_toc;
+ WaveStructure m_waveHeader;
qint64 m_trackAddress;
};
@@ -112,19 +112,8 @@ namespace Phonon
#define SECTOR_SIZE 2352
#define NB_SECTORS_READ 20
- static AM_MEDIA_TYPE getAudioCDMediaType()
- {
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Stream;
- mt.subtype = MEDIASUBTYPE_WAVE;
- mt.bFixedSizeSamples = TRUE;
- mt.bTemporalCompression = FALSE;
- mt.lSampleSize = 1;
- mt.formattype = GUID_NULL;
- return mt;
- }
-
+ static const AM_MEDIA_TYPE audioCDMediaType = { MEDIATYPE_Stream, MEDIASUBTYPE_WAVE, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
+
int addressToSectors(UCHAR address[4])
{
return ((address[0] * 60 + address[1]) * 60 + address[2]) * 75 + address[3] - 150;
@@ -141,11 +130,8 @@ namespace Phonon
}
- QAudioCDReader::QAudioCDReader(QBaseFilter *parent, QChar drive) : QAsyncReader(parent, QVector<AM_MEDIA_TYPE>() << getAudioCDMediaType())
+ QAudioCDReader::QAudioCDReader(QBaseFilter *parent, QChar drive) : QAsyncReader(parent, QVector<AM_MEDIA_TYPE>() << audioCDMediaType)
{
- m_toc = new CDROM_TOC;
- m_waveHeader = new WaveStructure;
-
//now open the cd-drive
QString path;
if (drive.isNull()) {
@@ -154,36 +140,30 @@ namespace Phonon
path = QString::fromLatin1("\\\\.\\%1:").arg(drive);
}
- m_cddrive = QT_WA_INLINE (
- ::CreateFile( (TCHAR*)path.utf16(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ),
- ::CreateFileA( path.toLocal8Bit().constData(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL )
- );
+ m_cddrive = ::CreateFile((const wchar_t *)path.utf16(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
- qMemSet(m_toc, 0, sizeof(CDROM_TOC));
+ qMemSet(&m_toc, 0, sizeof(CDROM_TOC));
//read the TOC
DWORD bytesRead = 0;
- bool tocRead = ::DeviceIoControl(m_cddrive, IOCTL_CDROM_READ_TOC, 0, 0, m_toc, sizeof(CDROM_TOC), &bytesRead, 0);
+ bool tocRead = ::DeviceIoControl(m_cddrive, IOCTL_CDROM_READ_TOC, 0, 0, &m_toc, sizeof(CDROM_TOC), &bytesRead, 0);
if (!tocRead) {
qWarning("unable to load the TOC from the CD");
return;
}
- m_trackAddress = addressToSectors(m_toc->TrackData[0].Address);
- const qint32 nbSectorsToRead = (addressToSectors(m_toc->TrackData[m_toc->LastTrack + 1 - m_toc->FirstTrack].Address)
+ m_trackAddress = addressToSectors(m_toc.TrackData[0].Address);
+ const qint32 nbSectorsToRead = (addressToSectors(m_toc.TrackData[m_toc.LastTrack + 1 - m_toc.FirstTrack].Address)
- m_trackAddress);
const qint32 dataLength = nbSectorsToRead * SECTOR_SIZE;
- m_waveHeader->chunksize = 4 + (8 + m_waveHeader->chunksize2) + (8 + dataLength);
- m_waveHeader->dataLength = dataLength;
+ m_waveHeader.chunksize = 4 + (8 + m_waveHeader.chunksize2) + (8 + dataLength);
+ m_waveHeader.dataLength = dataLength;
}
QAudioCDReader::~QAudioCDReader()
{
::CloseHandle(m_cddrive);
- delete m_toc;
- delete m_waveHeader;
-
}
STDMETHODIMP_(ULONG) QAudioCDReader::AddRef()
@@ -199,7 +179,7 @@ namespace Phonon
STDMETHODIMP QAudioCDReader::Length(LONGLONG *total,LONGLONG *available)
{
- const LONGLONG length = sizeof(WaveStructure) + m_waveHeader->dataLength;
+ const LONGLONG length = sizeof(WaveStructure) + m_waveHeader.dataLength;
if (total) {
*total = length;
}
@@ -238,11 +218,11 @@ namespace Phonon
if (pos < sizeof(WaveStructure)) {
//we first copy the content of the structure
nbRead = qMin(LONG(sizeof(WaveStructure) - pos), length);
- qMemCopy(buffer, reinterpret_cast<char*>(m_waveHeader) + pos, nbRead);
+ qMemCopy(buffer, reinterpret_cast<char*>(&m_waveHeader) + pos, nbRead);
}
const LONGLONG posInTrack = pos - sizeof(WaveStructure) + nbRead;
- const int bytesLeft = qMin(m_waveHeader->dataLength - posInTrack, LONGLONG(length - nbRead));
+ const int bytesLeft = qMin(m_waveHeader.dataLength - posInTrack, LONGLONG(length - nbRead));
if (bytesLeft > 0) {
@@ -297,8 +277,8 @@ namespace Phonon
{
QList<qint64> ret;
ret << 0;
- for(int i = m_toc->FirstTrack; i <= m_toc->LastTrack ; ++i) {
- const uchar *address = m_toc->TrackData[i].Address;
+ for(int i = m_toc.FirstTrack; i <= m_toc.LastTrack ; ++i) {
+ const uchar *address = m_toc.TrackData[i].Address;
ret << ((address[0] * 60 + address[1]) * 60 + address[2]) * 1000 + address[3]*1000/75 - 2000;
}
diff --git a/src/3rdparty/phonon/ds9/qbasefilter.cpp b/src/3rdparty/phonon/ds9/qbasefilter.cpp
index 95cab92..c950c41 100644
--- a/src/3rdparty/phonon/ds9/qbasefilter.cpp
+++ b/src/3rdparty/phonon/ds9/qbasefilter.cpp
@@ -92,8 +92,8 @@ namespace Phonon
return E_POINTER;
}
- int nbfetched = 0;
- while (nbfetched < int(count) && m_index < m_pins.count()) {
+ uint nbfetched = 0;
+ while (nbfetched < count && m_index < m_pins.count()) {
IPin *current = m_pins[m_index];
current->AddRef();
ret[nbfetched] = current;
@@ -211,7 +211,8 @@ namespace Phonon
}
else if (iid == IID_IMediaPosition || iid == IID_IMediaSeeking) {
if (inputPins().isEmpty()) {
- if (*out = getUpStreamInterface(iid)) {
+ *out = getUpStreamInterface(iid);
+ if (*out) {
return S_OK; //we return here to avoid adding a reference
} else {
hr = E_NOINTERFACE;
diff --git a/src/3rdparty/phonon/ds9/qmeminputpin.cpp b/src/3rdparty/phonon/ds9/qmeminputpin.cpp
index 0af1bfd..865b8af 100644
--- a/src/3rdparty/phonon/ds9/qmeminputpin.cpp
+++ b/src/3rdparty/phonon/ds9/qmeminputpin.cpp
@@ -28,7 +28,7 @@ namespace Phonon
namespace DS9
{
- QMemInputPin::QMemInputPin(QBaseFilter *parent, const QVector<AM_MEDIA_TYPE> &mt, bool transform) :
+ QMemInputPin::QMemInputPin(QBaseFilter *parent, const QVector<AM_MEDIA_TYPE> &mt, bool transform) :
QPin(parent, PINDIR_INPUT, mt), m_shouldDuplicateSamples(true), m_transform(transform)
{
}
@@ -137,7 +137,8 @@ namespace Phonon
return E_POINTER;
}
- if (*alloc = memoryAllocator(true)) {
+ *alloc = memoryAllocator(true);
+ if (*alloc) {
return S_OK;
}
@@ -203,7 +204,7 @@ namespace Phonon
for (int i = 0; i < m_outputs.count(); ++i) {
QPin *current = m_outputs.at(i);
- IMediaSample *outSample = m_shouldDuplicateSamples ?
+ IMediaSample *outSample = m_shouldDuplicateSamples ?
duplicateSampleForOutput(sample, current->memoryAllocator())
: sample;
@@ -261,7 +262,7 @@ namespace Phonon
}
//addition
- //this should be used by the filter to tell it's input pins to which output they should route the samples
+ //this should be used by the filter to tell its input pins to which output they should route the samples
void QMemInputPin::addOutput(QPin *output)
{
@@ -294,7 +295,7 @@ namespace Phonon
LONG length = sample->GetActualDataLength();
HRESULT hr = alloc->Commit();
- if (hr == VFW_E_SIZENOTSET) {
+ if (hr == HRESULT(VFW_E_SIZENOTSET)) {
ALLOCATOR_PROPERTIES prop = getDefaultAllocatorProperties();
prop.cbBuffer = qMax(prop.cbBuffer, length);
ALLOCATOR_PROPERTIES actual;
@@ -324,7 +325,7 @@ namespace Phonon
{
LONGLONG start, end;
hr = sample->GetMediaTime(&start, &end);
- if (hr != VFW_E_MEDIA_TIME_NOT_SET) {
+ if (hr != HRESULT(VFW_E_MEDIA_TIME_NOT_SET)) {
hr = out->SetMediaTime(&start, &end);
Q_ASSERT(SUCCEEDED(hr));
}
diff --git a/src/3rdparty/phonon/ds9/qpin.cpp b/src/3rdparty/phonon/ds9/qpin.cpp
index 37fe48d..d14876b 100644
--- a/src/3rdparty/phonon/ds9/qpin.cpp
+++ b/src/3rdparty/phonon/ds9/qpin.cpp
@@ -28,20 +28,7 @@ namespace Phonon
namespace DS9
{
- static const AM_MEDIA_TYPE defaultMediaType()
- {
- AM_MEDIA_TYPE ret;
- ret.majortype = MEDIATYPE_NULL;
- ret.subtype = MEDIASUBTYPE_NULL;
- ret.bFixedSizeSamples = TRUE;
- ret.bTemporalCompression = FALSE;
- ret.lSampleSize = 1;
- ret.formattype = GUID_NULL;
- ret.pUnk = 0;
- ret.cbFormat = 0;
- ret.pbFormat = 0;
- return ret;
- }
+ static const AM_MEDIA_TYPE defaultMediaType = { MEDIATYPE_NULL, MEDIASUBTYPE_NULL, TRUE, FALSE, 1, GUID_NULL, 0, 0, 0};
class QEnumMediaTypes : public IEnumMediaTypes
{
@@ -104,8 +91,8 @@ namespace Phonon
return E_INVALIDARG;
}
- int nbFetched = 0;
- while (nbFetched < int(count) && m_index < m_pin->mediaTypes().count()) {
+ uint nbFetched = 0;
+ while (nbFetched < count && m_index < m_pin->mediaTypes().count()) {
//the caller will deallocate the memory
*out = static_cast<AM_MEDIA_TYPE *>(::CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE)));
const AM_MEDIA_TYPE original = m_pin->mediaTypes().at(m_index);
@@ -158,9 +145,9 @@ namespace Phonon
QPin::QPin(QBaseFilter *parent, PIN_DIRECTION dir, const QVector<AM_MEDIA_TYPE> &mt) :
- m_memAlloc(0), m_parent(parent), m_refCount(1), m_connected(0),
- m_direction(dir), m_mediaTypes(mt), m_connectedType(defaultMediaType()),
- m_flushing(false)
+ m_parent(parent), m_flushing(false), m_refCount(1), m_connected(0),
+ m_direction(dir), m_mediaTypes(mt), m_connectedType(defaultMediaType),
+ m_memAlloc(0)
{
Q_ASSERT(m_parent);
m_parent->addPin(this);
@@ -273,7 +260,7 @@ namespace Phonon
if (FAILED(hr)) {
setConnected(0);
- setConnectedType(defaultMediaType());
+ setConnectedType(defaultMediaType);
} else {
ComPointer<IMemInputPin> input(pin, IID_IMemInputPin);
if (input) {
@@ -315,10 +302,8 @@ namespace Phonon
}
setConnected(0);
- setConnectedType(defaultMediaType());
- if (m_direction == PINDIR_INPUT) {
- setMemoryAllocator(0);
- }
+ setConnectedType(defaultMediaType);
+ setMemoryAllocator(0);
return S_OK;
}
@@ -456,8 +441,8 @@ namespace Phonon
HRESULT QPin::checkOutputMediaTypesConnection(IPin *pin)
{
- IEnumMediaTypes *emt = 0;
- HRESULT hr = pin->EnumMediaTypes(&emt);
+ ComPointer<IEnumMediaTypes> emt;
+ HRESULT hr = pin->EnumMediaTypes(emt.pparam());
if (hr != S_OK) {
return hr;
}
@@ -470,7 +455,7 @@ namespace Phonon
freeMediaType(type);
return S_OK;
} else {
- setConnectedType(defaultMediaType());
+ setConnectedType(defaultMediaType);
freeMediaType(type);
}
}
diff --git a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
index dd6e076..cf5ce96 100644
--- a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
+++ b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp
@@ -63,9 +63,9 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
static const char yv12ToRgb[] =
"!!ARBfp1.0"
"PARAM c[5] = { program.local[0..1],"
-" { 1.164, 0, 1.596, 0.5 },"
-" { 0.0625, 1.164, -0.391, -0.81300002 },"
-" { 1.164, 2.0179999, 0 } };"
+"{ 1.164, 0, 1.596, 0.5 },"
+"{ 0.0625, 1.164, -0.391, -0.81300002 },"
+"{ 1.164, 2.0179999, 0 } };"
"TEMP R0;"
"TEX R0.x, fragment.texcoord[0], texture[1], 2D;"
"ADD R0.y, R0.x, -c[2].w;"
@@ -89,11 +89,11 @@ static const char yv12ToRgb[] =
"END";
static const char yuy2ToRgb[] =
- "!!ARBfp1.0"
+"!!ARBfp1.0"
"PARAM c[5] = { program.local[0..1],"
-" { 0.5, 2, 1, 0.0625 },"
-" { 1.164, 0, 1.596, 2.0179999 },"
-" { 1.164, -0.391, -0.81300002 } };"
+"{ 0.5, 2, 1, 0.0625 },"
+"{ 1.164, 0, 1.596, 2.0179999 },"
+"{ 1.164, -0.391, -0.81300002 } };"
"TEMP R0;"
"TEMP R1;"
"TEMP R2;"
@@ -149,24 +149,16 @@ namespace Phonon
{
static const QVector<AM_MEDIA_TYPE> videoMediaTypes()
{
- AM_MEDIA_TYPE mt;
- qMemSet(&mt, 0, sizeof(AM_MEDIA_TYPE));
- mt.majortype = MEDIATYPE_Video;
-
- //we accept any video format
- mt.formattype = GUID_NULL;
- mt.cbFormat = 0;
- mt.pbFormat = 0;
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Video, MEDIASUBTYPE_YV12, 0, 0, 0, GUID_NULL, 0, 0, 0 };
QVector<AM_MEDIA_TYPE> ret;
- //we support YUV (YV12 and YUY2) and RGB32
- mt.subtype = MEDIASUBTYPE_YV12;
- ret << mt;
+ //we add all the subtypes we support
+ ret << mt; //YV12
mt.subtype = MEDIASUBTYPE_YUY2;
- ret << mt;
+ ret << mt; //YUY2
mt.subtype = MEDIASUBTYPE_RGB32;
- ret << mt;
+ ret << mt; //RGB32
return ret;
}
@@ -202,8 +194,8 @@ namespace Phonon
m_sampleBuffer = ComPointer<IMediaSample>();
#ifndef QT_NO_OPENGL
freeGLResources();
-#endif // QT_NO_OPENGL
m_textureUploaded = false;
+#endif // QT_NO_OPENGL
}
void endOfStream()
@@ -322,7 +314,6 @@ namespace Phonon
REFERENCE_TIME m_start;
HANDLE m_renderEvent, m_receiveCanWait; // Signals sample to render
QSize m_size;
- bool m_textureUploaded;
//mixer settings
qreal m_brightness,
@@ -364,6 +355,7 @@ namespace Phonon
bool m_checkedPrograms;
bool m_usingOpenGL;
+ bool m_textureUploaded;
GLuint m_program[2];
GLuint m_texture[3];
#endif
@@ -444,7 +436,7 @@ namespace Phonon
QBaseFilter(CLSID_NULL), m_inputPin(new VideoRendererSoftPin(this)),
m_renderer(renderer), m_start(0)
#ifndef QT_NO_OPENGL
- ,m_usingOpenGL(false), m_checkedPrograms(false), m_textureUploaded(false)
+ , m_checkedPrograms(false), m_usingOpenGL(false), m_textureUploaded(false)
#endif
{
m_renderEvent = ::CreateEvent(0, 0, 0, 0);
diff --git a/src/3rdparty/phonon/ds9/videowidget.cpp b/src/3rdparty/phonon/ds9/videowidget.cpp
index 0ef653f..34ff8cb 100644
--- a/src/3rdparty/phonon/ds9/videowidget.cpp
+++ b/src/3rdparty/phonon/ds9/videowidget.cpp
@@ -153,7 +153,7 @@ namespace Phonon
}
} else if (!isEmbedded()) {
m_currentRenderer = m_node->switchRendering(m_currentRenderer);
- setAttribute(Qt::WA_PaintOnScreen, true);
+ setAttribute(Qt::WA_PaintOnScreen, false);
}
}
diff --git a/src/3rdparty/phonon/ds9/volumeeffect.cpp b/src/3rdparty/phonon/ds9/volumeeffect.cpp
index 2fd1afc..b9a5fce 100644
--- a/src/3rdparty/phonon/ds9/volumeeffect.cpp
+++ b/src/3rdparty/phonon/ds9/volumeeffect.cpp
@@ -68,17 +68,7 @@ namespace Phonon
static const QVector<AM_MEDIA_TYPE> audioMediaType()
{
QVector<AM_MEDIA_TYPE> ret;
-
- AM_MEDIA_TYPE mt;
- mt.majortype = MEDIATYPE_Audio;
- mt.subtype = MEDIASUBTYPE_PCM;
- mt.bFixedSizeSamples = 1;
- mt.bTemporalCompression = 0;
- mt.pUnk = 0;
- mt.lSampleSize = 1;
- mt.cbFormat = 0;
- mt.pbFormat = 0;
- mt.formattype = GUID_NULL;
+ AM_MEDIA_TYPE mt = { MEDIATYPE_Audio, MEDIASUBTYPE_PCM, 1, 0, 1, GUID_NULL, 0, 0, 0};
ret << mt;
return ret;
}
diff --git a/src/3rdparty/phonon/phonon/abstractmediastream.h b/src/3rdparty/phonon/phonon/abstractmediastream.h
index be45861..c4cde85 100644
--- a/src/3rdparty/phonon/phonon/abstractmediastream.h
+++ b/src/3rdparty/phonon/phonon/abstractmediastream.h
@@ -103,7 +103,7 @@ class AbstractMediaStreamPrivate;
class PHONON_EXPORT AbstractMediaStream : public QObject
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(AbstractMediaStream)
+ Q_DECLARE_PRIVATE(AbstractMediaStream)
friend class MediaObject;
friend class MediaObjectPrivate;
friend class StreamInterface;
diff --git a/src/3rdparty/phonon/phonon/audiooutput.cpp b/src/3rdparty/phonon/phonon/audiooutput.cpp
index 752580a..00b2ebd 100644
--- a/src/3rdparty/phonon/phonon/audiooutput.cpp
+++ b/src/3rdparty/phonon/phonon/audiooutput.cpp
@@ -264,8 +264,8 @@ void AudioOutputPrivate::setupBackendObject()
if (deviceList.isEmpty()) {
return;
}
- foreach (int devIndex, deviceList) {
- const AudioOutputDevice &dev = AudioOutputDevice::fromIndex(devIndex);
+ for (int i = 0; i < deviceList.count(); ++i) {
+ const AudioOutputDevice &dev = AudioOutputDevice::fromIndex(deviceList.at(i));
if (callSetOutputDevice(this, dev)) {
handleAutomaticDeviceChange(dev, AudioOutputPrivate::FallbackChange);
return; // found one that works
@@ -305,8 +305,9 @@ void AudioOutputPrivate::_k_audioDeviceFailed()
pDebug() << Q_FUNC_INFO;
// outputDeviceIndex identifies a failing device
// fall back in the preference list of output devices
- QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings | GlobalConfig::HideUnavailableDevices);
- foreach (int devIndex, deviceList) {
+ const QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings | GlobalConfig::HideUnavailableDevices);
+ for (int i = 0; i < deviceList.count(); ++i) {
+ const int devIndex = deviceList.at(i);
// if it's the same device as the one that failed, ignore it
if (device.index() != devIndex) {
const AudioOutputDevice &info = AudioOutputDevice::fromIndex(devIndex);
@@ -326,9 +327,10 @@ void AudioOutputPrivate::_k_deviceListChanged()
{
pDebug() << Q_FUNC_INFO;
// let's see if there's a usable device higher in the preference list
- QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings);
+ const QList<int> deviceList = GlobalConfig().audioOutputDeviceListFor(category, GlobalConfig::AdvancedDevicesFromSettings);
DeviceChangeType changeType = HigherPreferenceChange;
- foreach (int devIndex, deviceList) {
+ for (int i = 0; i < deviceList.count(); ++i) {
+ const int devIndex = deviceList.at(i);
const AudioOutputDevice &info = AudioOutputDevice::fromIndex(devIndex);
if (!info.property("available").toBool()) {
if (device.index() == devIndex) {
diff --git a/src/3rdparty/phonon/phonon/backendcapabilities.cpp b/src/3rdparty/phonon/phonon/backendcapabilities.cpp
index 5dee6a0..62c9cc9 100644
--- a/src/3rdparty/phonon/phonon/backendcapabilities.cpp
+++ b/src/3rdparty/phonon/phonon/backendcapabilities.cpp
@@ -76,8 +76,8 @@ QList<AudioOutputDevice> BackendCapabilities::availableAudioOutputDevices()
{
QList<AudioOutputDevice> ret;
const QList<int> deviceIndexes = GlobalConfig().audioOutputDeviceListFor(Phonon::NoCategory);
- foreach (int i, deviceIndexes) {
- ret.append(AudioOutputDevice::fromIndex(i));
+ for (int i = 0; i < deviceIndexes.count(); ++i) {
+ ret.append(AudioOutputDevice::fromIndex(deviceIndexes.at(i)));
}
return ret;
}
@@ -88,8 +88,8 @@ QList<AudioCaptureDevice> BackendCapabilities::availableAudioCaptureDevices()
{
QList<AudioCaptureDevice> ret;
const QList<int> deviceIndexes = GlobalConfig().audioCaptureDeviceListFor(Phonon::NoCategory);
- foreach (int i, deviceIndexes) {
- ret.append(AudioCaptureDevice::fromIndex(i));
+ for (int i = 0; i < deviceIndexes.count(); ++i) {
+ ret.append(AudioCaptureDevice::fromIndex(deviceIndexes.at(i)));
}
return ret;
}
@@ -101,9 +101,9 @@ QList<EffectDescription> BackendCapabilities::availableAudioEffects()
BackendInterface *backendIface = qobject_cast<BackendInterface *>(Factory::backend());
QList<EffectDescription> ret;
if (backendIface) {
- QList<int> deviceIndexes = backendIface->objectDescriptionIndexes(Phonon::EffectType);
- foreach (int i, deviceIndexes) {
- ret.append(EffectDescription::fromIndex(i));
+ const QList<int> deviceIndexes = backendIface->objectDescriptionIndexes(Phonon::EffectType);
+ for (int i = 0; i < deviceIndexes.count(); ++i) {
+ ret.append(EffectDescription::fromIndex(deviceIndexes.at(i)));
}
}
return ret;
diff --git a/src/3rdparty/phonon/phonon/backendcapabilities.h b/src/3rdparty/phonon/phonon/backendcapabilities.h
index 65b2830..36454a3 100644
--- a/src/3rdparty/phonon/phonon/backendcapabilities.h
+++ b/src/3rdparty/phonon/phonon/backendcapabilities.h
@@ -6,7 +6,7 @@
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
- successor approved by the membership of KDE e.V.), Trolltech ASA
+ successor approved by the membership of KDE e.V.), Trolltech ASA
(or its successors, if any) and the KDE Free Qt Foundation, which shall
act as a proxy defined in Section 6 of version 3 of the license.
@@ -15,7 +15,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
+ You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -88,19 +88,18 @@ namespace BackendCapabilities
};
/**
- * Use this function to get a QObject pointer to connect to the capabilitiesChanged signal.
+ * Use this function to get a QObject pointer to connect to one of the Notifier signals.
*
* \return a pointer to a QObject.
*
- * The capabilitiesChanged signal is emitted if the capabilities have changed. This can
- * happen if the user has requested a backend change.
- *
- * To connect to this signal do the following:
+ * To connect to the signal do the following:
* \code
* QObject::connect(BackendCapabilities::notifier(), SIGNAL(capabilitiesChanged()), ...
* \endcode
*
* \see Notifier::capabilitiesChanged()
+ * \see Notifier::availableAudioOutputDevicesChanged()
+ * \see Notifier::availableAudioCaptureDevicesChanged()
*/
PHONON_EXPORT Notifier *notifier();
diff --git a/src/3rdparty/phonon/phonon/effect.cpp b/src/3rdparty/phonon/phonon/effect.cpp
index c125232..98662a5 100644
--- a/src/3rdparty/phonon/phonon/effect.cpp
+++ b/src/3rdparty/phonon/phonon/effect.cpp
@@ -107,7 +107,8 @@ bool EffectPrivate::aboutToDeleteBackendObject()
{
if (m_backendObject) {
const QList<EffectParameter> parameters = pINTERFACE_CALL(parameters());
- foreach (const EffectParameter &p, parameters) {
+ for (int i = 0; i < parameters.count(); ++i) {
+ const EffectParameter &p = parameters.at(i);
parameterValues[p] = pINTERFACE_CALL(parameterValue(p));
}
}
@@ -120,7 +121,8 @@ void EffectPrivate::setupBackendObject()
// set up attributes
const QList<EffectParameter> parameters = pINTERFACE_CALL(parameters());
- foreach (const EffectParameter &p, parameters) {
+ for (int i = 0; i < parameters.count(); ++i) {
+ const EffectParameter &p = parameters.at(i);
pINTERFACE_CALL(setParameterValue(p, parameterValues[p]));
}
}
diff --git a/src/3rdparty/phonon/phonon/effectwidget.cpp b/src/3rdparty/phonon/phonon/effectwidget.cpp
index d5c6c81..99478f7 100644
--- a/src/3rdparty/phonon/phonon/effectwidget.cpp
+++ b/src/3rdparty/phonon/phonon/effectwidget.cpp
@@ -97,7 +97,8 @@ void EffectWidgetPrivate::autogenerateUi()
Q_Q(EffectWidget);
QVBoxLayout *mainLayout = new QVBoxLayout(q);
mainLayout->setMargin(0);
- foreach (const EffectParameter &para, effect->parameters()) {
+ for (int i = 0; i < effect->parameters().count(); ++i) {
+ const EffectParameter &para = effect->parameters().at(i);
QVariant value = effect->parameterValue(para);
QHBoxLayout *pLayout = new QHBoxLayout;
mainLayout->addLayout(pLayout);
@@ -117,13 +118,14 @@ void EffectWidgetPrivate::autogenerateUi()
control = cb;
if (value.type() == QVariant::Int) {
//value just defines the item index
- foreach (const QVariant &item, para.possibleValues()) {
- cb->addItem(item.toString());
+ for (int i = 0; i < para.possibleValues().count(); ++i) {
+ cb->addItem(para.possibleValues().at(i).toString());
}
cb->setCurrentIndex(value.toInt());
QObject::connect(cb, SIGNAL(currentIndexChanged(int)), q, SLOT(_k_setIntParameter(int)));
} else {
- foreach (const QVariant &item, para.possibleValues()) {
+ for (int i = 0; i < para.possibleValues().count(); ++i) {
+ const QVariant &item = para.possibleValues().at(i);
cb->addItem(item.toString());
if (item == value) {
cb->setCurrentIndex(cb->count() - 1);
diff --git a/src/3rdparty/phonon/phonon/factory.cpp b/src/3rdparty/phonon/phonon/factory.cpp
index 43c45ee..fef88f0 100644
--- a/src/3rdparty/phonon/phonon/factory.cpp
+++ b/src/3rdparty/phonon/phonon/factory.cpp
@@ -124,15 +124,18 @@ bool FactoryPrivate::createBackend()
// could not load a backend through the platform plugin. Falling back to the default
// (finding the first loadable backend).
const QLatin1String suffix("/phonon_backend/");
- foreach (QString libPath, QCoreApplication::libraryPaths()) {
- libPath += suffix;
+ const QStringList paths = QCoreApplication::libraryPaths();
+ for (int i = 0; i < paths.count(); ++i) {
+ const QString libPath = paths.at(i) + suffix;
const QDir dir(libPath);
if (!dir.exists()) {
pDebug() << Q_FUNC_INFO << dir.absolutePath() << "does not exist";
continue;
}
- foreach (const QString &pluginName, dir.entryList(QDir::Files)) {
- QPluginLoader pluginLoader(libPath + pluginName);
+
+ const QStringList files = dir.entryList(QDir::Files);
+ for (int i = 0; i < files.count(); ++i) {
+ QPluginLoader pluginLoader(libPath + files.at(i));
if (!pluginLoader.load()) {
pDebug() << Q_FUNC_INFO << " load failed:"
<< pluginLoader.errorString();
@@ -183,14 +186,8 @@ FactoryPrivate::FactoryPrivate()
FactoryPrivate::~FactoryPrivate()
{
- foreach (QObject *o, objects) {
- MediaObject *m = qobject_cast<MediaObject *>(o);
- if (m) {
- m->stop();
- }
- }
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->deleteBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->deleteBackendObject();
}
if (objects.size() > 0) {
pError() << "The backend objects are not deleted as was requested.";
@@ -258,8 +255,8 @@ void Factory::deregisterFrontendObject(MediaNodePrivate *bp)
void FactoryPrivate::phononBackendChanged()
{
if (m_backendObject) {
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->deleteBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->deleteBackendObject();
}
if (objects.size() > 0) {
pDebug() << "WARNING: we were asked to change the backend but the application did\n"
@@ -268,8 +265,8 @@ void FactoryPrivate::phononBackendChanged()
"backendswitching possible.";
// in case there were objects deleted give 'em a chance to recreate
// them now
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->createBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->createBackendObject();
}
return;
}
@@ -277,8 +274,8 @@ void FactoryPrivate::phononBackendChanged()
m_backendObject = 0;
}
createBackend();
- foreach (MediaNodePrivate *bp, mediaNodePrivateList) {
- bp->createBackendObject();
+ for (int i = 0; i < mediaNodePrivateList.count(); ++i) {
+ mediaNodePrivateList.at(i)->createBackendObject();
}
emit backendChanged();
}
@@ -362,15 +359,17 @@ PlatformPlugin *FactoryPrivate::platformPlugin()
QStringList())
);
dir.setFilter(QDir::Files);
+ const QStringList libPaths = QCoreApplication::libraryPaths();
forever {
- foreach (QString libPath, QCoreApplication::libraryPaths()) {
- libPath += suffix;
+ for (int i = 0; i < libPaths.count(); ++i) {
+ const QString libPath = libPaths.at(i) + suffix;
dir.setPath(libPath);
if (!dir.exists()) {
continue;
}
- foreach (const QString &pluginName, dir.entryList()) {
- QPluginLoader pluginLoader(libPath + pluginName);
+ const QStringList files = dir.entryList(QDir::Files);
+ for (int i = 0; i < files.count(); ++i) {
+ QPluginLoader pluginLoader(libPath + files.at(i));
if (!pluginLoader.load()) {
pDebug() << Q_FUNC_INFO << " platform plugin load failed:"
<< pluginLoader.errorString();
diff --git a/src/3rdparty/phonon/phonon/iodevicestream_p.h b/src/3rdparty/phonon/phonon/iodevicestream_p.h
index 527ff17..5eb90bc 100644
--- a/src/3rdparty/phonon/phonon/iodevicestream_p.h
+++ b/src/3rdparty/phonon/phonon/iodevicestream_p.h
@@ -39,7 +39,7 @@ class IODeviceStreamPrivate;
class IODeviceStream : public AbstractMediaStream
{
Q_OBJECT
- Q_DECLARE_SCOPED_PRIVATE(IODeviceStream)
+ Q_DECLARE_PRIVATE(IODeviceStream)
public:
explicit IODeviceStream(QIODevice *ioDevice, QObject *parent = 0);
~IODeviceStream();
diff --git a/src/3rdparty/phonon/phonon/medianode.cpp b/src/3rdparty/phonon/phonon/medianode.cpp
index 4693cb8..63fa2e3 100644
--- a/src/3rdparty/phonon/phonon/medianode.cpp
+++ b/src/3rdparty/phonon/phonon/medianode.cpp
@@ -67,8 +67,8 @@ bool MediaNode::isValid() const
MediaNodePrivate::~MediaNodePrivate()
{
- foreach (MediaNodeDestructionHandler *handler, handlers) {
- handler->phononObjectDestroyed(this);
+ for (int i = 0 ; i < handlers.count(); ++i) {
+ handlers.at(i)->phononObjectDestroyed(this);
}
Factory::deregisterFrontendObject(this);
delete m_backendObject;
diff --git a/src/3rdparty/phonon/phonon/mediaobject.cpp b/src/3rdparty/phonon/phonon/mediaobject.cpp
index de5fbc8..10fefbd 100644
--- a/src/3rdparty/phonon/phonon/mediaobject.cpp
+++ b/src/3rdparty/phonon/phonon/mediaobject.cpp
@@ -300,15 +300,15 @@ void MediaObject::enqueue(const MediaSource &source)
void MediaObject::enqueue(const QList<MediaSource> &sources)
{
- foreach (const MediaSource &m, sources) {
- enqueue(m);
+ for (int i = 0; i < sources.count(); ++i) {
+ enqueue(sources.at(i));
}
}
void MediaObject::enqueue(const QList<QUrl> &urls)
{
- foreach (const QUrl &url, urls) {
- enqueue(url);
+ for (int i = 0; i < urls.count(); ++i) {
+ enqueue(urls.at(i));
}
}
@@ -502,8 +502,8 @@ void MediaObjectPrivate::setupBackendObject()
}
#ifndef QT_NO_PHONON_MEDIACONTROLLER
- foreach (FrontendInterfacePrivate *f, interfaceList) {
- f->_backendObjectChanged();
+ for (int i = 0 ; i < interfaceList.count(); ++i) {
+ interfaceList.at(i)->_backendObjectChanged();
}
#endif //QT_NO_PHONON_MEDIACONTROLLER
diff --git a/src/3rdparty/phonon/phonon/mediaobject.h b/src/3rdparty/phonon/phonon/mediaobject.h
index 5cbddbb..c56b6b5 100644
--- a/src/3rdparty/phonon/phonon/mediaobject.h
+++ b/src/3rdparty/phonon/phonon/mediaobject.h
@@ -6,7 +6,7 @@
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
- successor approved by the membership of KDE e.V.), Trolltech ASA
+ successor approved by the membership of KDE e.V.), Trolltech ASA
(or its successors, if any) and the KDE Free Qt Foundation, which shall
act as a proxy defined in Section 6 of version 3 of the license.
@@ -15,7 +15,7 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
+ You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
@@ -58,7 +58,7 @@ namespace Phonon
* media->play();
* \endcode
*
- * If you want to play more that one media file (one after another) you can
+ * If you want to play more than one media file (one after another) you can
* either tell MediaObject about all those files
* \code
* media->setCurrentSource(":/sounds/startsound.ogg");
@@ -198,18 +198,18 @@ namespace Phonon
* Check whether the current media may be seeked.
*
* \warning This information cannot be known immediately. It is best
- * to also listen to the hasVideoChanged signal.
+ * to also listen to the seekableChanged signal.
*
* \code
- * connect(media, SIGNAL(hasVideoChanged(bool)), hasVideoChanged(bool));
+ * connect(media, SIGNAL(seekableChanged(bool)), seekableChanged(bool));
* media->setCurrentSource("somevideo.avi");
- * media->hasVideo(); // returns false;
+ * media->isSeekable(); // returns false;
* }
*
- * void hasVideoChanged(bool b)
+ * void seekableChanged(bool b)
* {
* // b == true
- * media->hasVideo(); // returns true;
+ * media->isSeekable(); // returns true;
* }
* \endcode
*
@@ -301,7 +301,7 @@ namespace Phonon
void setCurrentSource(const MediaSource &source);
/**
- * Returns the queued media sources. This does list does not include
+ * Returns the queued media sources. This list does not include
* the current source (returned by currentSource).
*/
QList<MediaSource> queue() const;
@@ -456,8 +456,6 @@ namespace Phonon
Q_SIGNALS:
/**
* Emitted when the state of the MediaObject has changed.
- * In case you're not interested in the old state you can also
- * connect to a slot that only has one State argument.
*
* @param newstate The state the Player is in now.
* @param oldstate The state the Player was in before.
@@ -587,7 +585,7 @@ namespace Phonon
/**
* This signal is emitted as soon as the total time of the media file is
* known or has changed. For most non-local media data the total
- * time of the media can only be known after some time. At that time the
+ * time of the media can only be known after some time. Initially the
* totalTime function can not return useful information. You have
* to wait for this signal to know the real total time.
*
diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp b/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp
index e989d0c..b67344f 100644
--- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp
+++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.cpp
@@ -321,8 +321,8 @@ bool ObjectDescriptionModelData::dropMimeData(ObjectDescriptionType type, const
}
}
d->model->beginInsertRows(QModelIndex(), row, row + toInsert.size() - 1);
- foreach (const QExplicitlySharedDataPointer<ObjectDescriptionData> &obj, toInsert) {
- d->data.insert(row, obj);
+ for (int i = 0 ; i < toInsert.count(); ++i) {
+ d->data.insert(row, toInsert.at(i));
}
d->model->endInsertRows();
return true;
diff --git a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h
index 84dc0bb..ba3cb42 100644
--- a/src/3rdparty/phonon/phonon/objectdescriptionmodel.h
+++ b/src/3rdparty/phonon/phonon/objectdescriptionmodel.h
@@ -292,8 +292,8 @@ namespace Phonon
*/
inline void setModelData(const QList<ObjectDescription<type> > &data) { //krazy:exclude=inline
QList<QExplicitlySharedDataPointer<ObjectDescriptionData> > list;
- Q_FOREACH (const ObjectDescription<type> &desc, data) {
- list << desc.d;
+ for (int i = 0; i < data.count(); ++i) {
+ list += data.at(i).d;
}
d->setModelData(list);
}
@@ -307,8 +307,8 @@ namespace Phonon
inline QList<ObjectDescription<type> > modelData() const { //krazy:exclude=inline
QList<ObjectDescription<type> > ret;
QList<QExplicitlySharedDataPointer<ObjectDescriptionData> > list = d->modelData();
- Q_FOREACH (const QExplicitlySharedDataPointer<ObjectDescriptionData> &data, list) {
- ret << ObjectDescription<type>(data);
+ for (int i = 0; i < list.count(); ++i) {
+ ret << ObjectDescription<type>(list.at(i));
}
return ret;
}
diff --git a/src/3rdparty/phonon/phonon/path.cpp b/src/3rdparty/phonon/phonon/path.cpp
index b46d30a..aec8d05 100644
--- a/src/3rdparty/phonon/phonon/path.cpp
+++ b/src/3rdparty/phonon/phonon/path.cpp
@@ -58,8 +58,8 @@ class ConnectionTransaction
PathPrivate::~PathPrivate()
{
#ifndef QT_NO_PHONON_EFFECT
- foreach (Effect *e, effects) {
- e->k_ptr->removeDestructionHandler(this);
+ for (int i = 0; i < effects.count(); ++i) {
+ effects.at(i)->k_ptr->removeDestructionHandler(this);
}
delete effectsParent;
#endif
@@ -233,8 +233,8 @@ bool Path::disconnect()
if (d->sourceNode)
list << d->sourceNode->k_ptr->backendObject();
#ifndef QT_NO_PHONON_EFFECT
- foreach(Effect *e, d->effects) {
- list << e->k_ptr->backendObject();
+ for (int i = 0; i < d->effects.count(); ++i) {
+ list << d->effects.at(i)->k_ptr->backendObject();
}
#endif
if (d->sinkNode) {
@@ -260,8 +260,8 @@ bool Path::disconnect()
d->sourceNode = 0;
#ifndef QT_NO_PHONON_EFFECT
- foreach(Effect *e, d->effects) {
- e->k_ptr->removeDestructionHandler(d.data());
+ for (int i = 0; i < d->effects.count(); ++i) {
+ d->effects.at(i)->k_ptr->removeDestructionHandler(d.data());
}
d->effects.clear();
#endif
@@ -292,11 +292,13 @@ MediaNode *Path::sink() const
bool PathPrivate::executeTransaction( const QList<QObjectPair> &disconnections, const QList<QObjectPair> &connections)
{
QSet<QObject*> nodesForTransaction;
- foreach(const QObjectPair &pair, disconnections) {
+ for (int i = 0; i < disconnections.count(); ++i) {
+ const QObjectPair &pair = disconnections.at(i);
nodesForTransaction << pair.first;
nodesForTransaction << pair.second;
}
- foreach(const QObjectPair &pair, connections) {
+ for (int i = 0; i < connections.count(); ++i) {
+ const QObjectPair &pair = connections.at(i);
nodesForTransaction << pair.first;
nodesForTransaction << pair.second;
}
@@ -338,7 +340,8 @@ bool PathPrivate::executeTransaction( const QList<QObjectPair> &disconnections,
}
//and now let's reconnect the nodes that were disconnected: rollback
- foreach(const QObjectPair &pair, disconnections) {
+ for (int i = 0; i < disconnections.count(); ++i) {
+ const QObjectPair &pair = disconnections.at(i);
bool success = backend->connectNodes(pair.first, pair.second);
Q_ASSERT(success); //a failure here means it is impossible to reestablish the connection
Q_UNUSED(success);
@@ -417,7 +420,8 @@ void PathPrivate::phononObjectDestroyed(MediaNodePrivate *mediaNodePrivate)
sinkNode = 0;
} else {
#ifndef QT_NO_PHONON_EFFECT
- foreach (Effect *e, effects) {
+ for (int i = 0; i < effects.count(); ++i) {
+ Effect *e = effects.at(i);
if (e->k_ptr == mediaNodePrivate) {
removeEffect(e);
}
diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c
index 91ce30f..7e604cb 100644
--- a/src/3rdparty/sqlite/sqlite3.c
+++ b/src/3rdparty/sqlite/sqlite3.c
@@ -383,7 +383,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
**
** See also ticket #2741.
*/
-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE
+#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && SQLITE_THREADSAFE && !defined(VXWORKS)
# define _XOPEN_SOURCE 500 /* Needed to enable pthread recursive mutexes */
#endif
@@ -440,6 +440,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int);
*/
#ifndef _SQLITE3_H_
#define _SQLITE3_H_
+
+#ifdef VXWORKS
+# define SQLITE_HOMEGROWN_RECURSIVE_MUTEX
+# define NO_GETTOD
+# include <ioLib.h>
+#endif
+
#include <stdarg.h> /* Needed for the definition of va_list */
/*
@@ -18792,7 +18799,11 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3OsDefaultVfs(void){
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#include <sys/time.h>
+#ifdef VXWORKS
+# include <sys/times.h>
+#else
+# include <sys/time.h>
+#endif
#include <errno.h>
#ifdef SQLITE_ENABLE_LOCKING_STYLE
#include <sys/ioctl.h>
@@ -19728,7 +19739,11 @@ static int seekAndWrite(unixFile *id, i64 offset, const void *pBuf, int cnt){
if( newOffset!=offset ){
return -1;
}
+# ifndef VXWORKS
got = write(id->h, pBuf, cnt);
+# else
+ got = write(id->h, (char *)pBuf, cnt);
+# endif
#endif
TIMER_END;
OSTRACE5("WRITE %-3d %5d %7lld %d\n", id->h, got, offset, TIMER_ELAPSED);
@@ -21554,12 +21569,16 @@ static int unixRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){
#if !defined(SQLITE_TEST)
{
int pid, fd;
- fd = open("/dev/urandom", O_RDONLY);
+ fd = open("/dev/urandom", O_RDONLY, 0);
if( fd<0 ){
time_t t;
time(&t);
memcpy(zBuf, &t, sizeof(t));
+#ifndef VXWORKS
pid = getpid();
+#else
+ pid = (int)taskIdCurrent();
+#endif
memcpy(&zBuf[sizeof(t)], &pid, sizeof(pid));
}else{
read(fd, zBuf, nBuf);
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index f2cc9a2..a08a7b4 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,173 @@
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Use automake 1.11 SILENT_RULES when present, for cleaner build
+ output. You can disable it by passing --disable-silent-rules to
+ configure or V=1 to make.
+
+ * autotools/dolt.m4:
+ * configure.ac:
+
+2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Disable some compiler warnings for the win build
+ https://bugs.webkit.org/show_bug.cgi?id=27709
+
+ * WebKit.pri:
+
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ * configure.ac: bump version for 1.1.12 release.
+
+2009-07-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Remove unneeded commas from PKG_CHECK_MODULES.
+
+ * configure.ac:
+
+2009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ Bump pango version requirement to 1.12 which is the version that
+ came with Gtk 2.10.
+
+ * configure.ac:
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ * configure.ac: Added flag ENABLE_RUBY.
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] Add an option for QtLauncher to build without QtUiTools dependency
+ https://bugs.webkit.org/show_bug.cgi?id=27438
+
+ Based on Norbert Leser's work.
+
+ * WebKit.pri: Symbian does not have UiTools
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add --enable-web-sockets in configure.ac
+
+ * configure.ac:
+
+2009-07-16 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Enable GNU compiler extensions to the ARM compiler
+ for all Qt ports using RVCT
+ https://bugs.webkit.org/show_bug.cgi?id=27348
+
+ * WebKit.pri:
+
+2009-07-15 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Rubber-stamped by Simon Hausmann.
+
+ Fix the Qt/Mac build by disabling TestNetscapePlugin
+
+ We should fix and enable this once we run DRT for Qt/Mac
+
+ * WebKit.pro:
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed build fix. Require the correct libsoup version now that
+ it's released.
+
+ * configure.ac:
+
+2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Build fix for QtWebKit on Win
+ https://bugs.webkit.org/show_bug.cgi?id=27205
+
+ * WebKit.pri: Include the major version number in the QtWebKit
+ library file for Win.
+
+2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Add the test netscape plugin for the Qt DRT to the build.
+
+ * WebKit.pro:
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Added ENABLE(SHARED_WORKERS) flag.
+
+ * configure.ac:
+
+2009-07-12 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Bump version in preparation for 1.1.11 release.
+
+ * configure.ac:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Exclude DumpRenderTree.pro from symbian build
+
+ * WebKit.pro:
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26903
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ can now be implemented for Web Workers and is reasonably stable.
+
+ * configure.ac: enable CHANNEL_MESSAGING.
+
+2009-07-03 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez and Gustavo Noronha.
+
+ Set user-agent from application
+ https://bugs.webkit.org/show_bug.cgi?id=17375
+
+ Define UA version macros to be used by the UA string.
+ Add new WebSettings unit test for the User-Agent string API.
+
+ * GNUmakefile.am:
+ * configure.ac:
+
2009-06-20 Gustavo Noronha Silva <gns@gnome.org>
Reviewed by Jan Alonzo.
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp
index fc3d0fe..4a32d35 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSBase.cpp
@@ -96,7 +96,7 @@ void JSGarbageCollect(JSContextRef ctx)
ExecState* exec = toJS(ctx);
JSGlobalData& globalData = exec->globalData();
- JSLock lock(globalData.isSharedInstance);
+ JSLock lock(globalData.isSharedInstance ? LockForReal : SilenceAssertionsOnly);
if (!globalData.heap.isBusy())
globalData.heap.collect();
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h
index 4f67618..c742d96 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSClassRef.h
@@ -34,7 +34,7 @@
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
-struct StaticValueEntry {
+struct StaticValueEntry : FastAllocBase {
StaticValueEntry(JSObjectGetPropertyCallback _getProperty, JSObjectSetPropertyCallback _setProperty, JSPropertyAttributes _attributes)
: getProperty(_getProperty), setProperty(_setProperty), attributes(_attributes)
{
@@ -45,7 +45,7 @@ struct StaticValueEntry {
JSPropertyAttributes attributes;
};
-struct StaticFunctionEntry {
+struct StaticFunctionEntry : FastAllocBase {
StaticFunctionEntry(JSObjectCallAsFunctionCallback _callAsFunction, JSPropertyAttributes _attributes)
: callAsFunction(_callAsFunction), attributes(_attributes)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp
index a3bdc69..c358a84 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSContextRef.cpp
@@ -70,7 +70,7 @@ JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass)
#else
{
#endif
- JSLock lock(true);
+ JSLock lock(LockForReal);
return JSGlobalContextCreateInGroup(toRef(&JSGlobalData::sharedInstance()), globalObjectClass);
}
#endif // PLATFORM(DARWIN)
@@ -82,7 +82,7 @@ JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClass
{
initializeThreading();
- JSLock lock(true);
+ JSLock lock(LockForReal);
RefPtr<JSGlobalData> globalData = group ? PassRefPtr<JSGlobalData>(toJS(group)) : JSGlobalData::create();
diff --git a/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp b/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp
index 50ee635..87d36ec 100644
--- a/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/API/JSObjectRef.cpp
@@ -449,7 +449,7 @@ JSObjectRef JSObjectCallAsConstructor(JSContextRef ctx, JSObjectRef object, size
return result;
}
-struct OpaqueJSPropertyNameArray {
+struct OpaqueJSPropertyNameArray : FastAllocBase {
OpaqueJSPropertyNameArray(JSGlobalData* globalData)
: refCount(0)
, globalData(globalData)
@@ -491,7 +491,7 @@ JSPropertyNameArrayRef JSPropertyNameArrayRetain(JSPropertyNameArrayRef array)
void JSPropertyNameArrayRelease(JSPropertyNameArrayRef array)
{
if (--array->refCount == 0) {
- JSLock lock(array->globalData->isSharedInstance);
+ JSLock lock(array->globalData->isSharedInstance ? LockForReal : SilenceAssertionsOnly);
delete array;
}
}
@@ -511,7 +511,7 @@ void JSPropertyNameAccumulatorAddName(JSPropertyNameAccumulatorRef array, JSStri
PropertyNameArray* propertyNames = toJS(array);
propertyNames->globalData()->heap.registerThread();
- JSLock lock(propertyNames->globalData()->isSharedInstance);
+ JSLock lock(propertyNames->globalData()->isSharedInstance ? LockForReal : SilenceAssertionsOnly);
propertyNames->add(propertyName->identifier(propertyNames->globalData()));
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index c8bba0f..24fc7e7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,1751 @@
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Add new files, fixes distcheck.
+
+ * GNUmakefile.am:
+
+2009-07-28 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Determining whether to use JIT or interpreter
+ moved from JavaScriptCore.pri to Platform.h
+
+ * JavaScriptCore.pri:
+ * wtf/Platform.h:
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Fix of misuse of sort command.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Build fix for Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-27 Gavin Barraclough <barraclough@apple.com>
+
+ Rubber stamped by Oliver Hunt.
+
+ Fix tyop in JIT, renamed preverveReturnAddressAfterCall -> preserveReturnAddressAfterCall.
+
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::privateCompileCTIMachineTrampolines):
+ * jit/JIT.h:
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::preserveReturnAddressAfterCall):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Gtk build fix.
+
+ * runtime/JSLock.cpp: (JSC::JSLock::JSLock): Fix "no threading" case.
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Release build fix.
+
+ * runtime/JSLock.h: (JSC::JSLock::~JSLock):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27735
+ Give a helpful name to JSLock constructor argument
+
+ * API/JSBase.cpp:
+ (JSGarbageCollect):
+ * API/JSContextRef.cpp:
+ * API/JSObjectRef.cpp:
+ (JSPropertyNameArrayRelease):
+ (JSPropertyNameAccumulatorAddName):
+ * JavaScriptCore.exp:
+ * jsc.cpp:
+ (functionGC):
+ (cleanupGlobalData):
+ (jscmain):
+ * runtime/Collector.cpp:
+ (JSC::Heap::destroy):
+ * runtime/JSLock.cpp:
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::lock):
+ (JSC::JSLock::unlock):
+ (JSC::JSLock::DropAllLocks::DropAllLocks):
+ (JSC::JSLock::DropAllLocks::~DropAllLocks):
+ * runtime/JSLock.h:
+ (JSC::):
+ (JSC::JSLock::JSLock):
+ (JSC::JSLock::~JSLock):
+
+2009-07-25 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Eric Seidel.
+
+ Allow custom memory allocation control for OpaqueJSPropertyNameArray struct
+ https://bugs.webkit.org/show_bug.cgi?id=27342
+
+ Inherits OpaqueJSPropertyNameArray struct from FastAllocBase because it has been
+ instantiated by 'new' JavaScriptCore/API/JSObjectRef.cpp:473.
+
+ * API/JSObjectRef.cpp:
+
+2009-07-24 Ada Chan <adachan@apple.com>
+
+ In preparation for https://bugs.webkit.org/show_bug.cgi?id=27236:
+ Remove TCMALLOC_TRACK_DECOMMITED_SPANS. We'll always track decommitted spans.
+ We have tested this and show it has little impact on performance.
+
+ Reviewed by Mark Rowe.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::New):
+ (WTF::TCMalloc_PageHeap::AllocLarge):
+ (WTF::propagateDecommittedState):
+ (WTF::mergeDecommittedStates):
+ (WTF::TCMalloc_PageHeap::Delete):
+ (WTF::TCMalloc_PageHeap::IncrementalScavenge):
+
+2009-07-24 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler and Adam Barth.
+
+ Build fix for x86 platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=27602
+
+ * jit/JIT.cpp:
+
+2009-07-23 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix, adding missing header.
+
+ * jit/JIT.cpp:
+
+2009-07-22 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Add wince specific memory files into wtf/wince
+ https://bugs.webkit.org/show_bug.cgi?id=27550
+
+ * wtf/wince/FastMallocWince.h: Added.
+ * wtf/wince/MemoryManager.cpp: Added.
+ * wtf/wince/MemoryManager.h: Added.
+
+2009-07-23 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix for missing mmap features in Symbian
+ https://bugs.webkit.org/show_bug.cgi?id=24540
+
+ Fix, conditionally for PLATFORM(SYMBIAN), as an alternative
+ to missing support for the MAP_ANON property flag in mmap.
+ It utilizes Symbian specific memory allocation features.
+
+ * runtime/Collector.cpp
+
+2009-07-22 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ With ENABLE(ASSEMBLER_WX_EXCLUSIVE), only change permissions once per repatch event.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27564 )
+
+ Currently we change permissions forwards and backwards for each instruction modified,
+ instead we should only change permissions once per complete repatching event.
+
+ 2.5% progression running with ENABLE(ASSEMBLER_WX_EXCLUSIVE) enabled,
+ which recoups 1/3 of the penalty of running with this mode enabled.
+
+ * assembler/ARMAssembler.cpp:
+ (JSC::ARMAssembler::linkBranch):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::patchPointerInternal):
+ (JSC::ARMAssembler::repatchLoadPtrToLEA):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::relinkJump):
+ (JSC::ARMv7Assembler::relinkCall):
+ (JSC::ARMv7Assembler::repatchInt32):
+ (JSC::ARMv7Assembler::repatchPointer):
+ (JSC::ARMv7Assembler::repatchLoadPtrToLEA):
+ (JSC::ARMv7Assembler::setInt32):
+ - Replace usage of MakeWritable with cacheFlush.
+
+ * assembler/LinkBuffer.h:
+ (JSC::LinkBuffer::performFinalization):
+ - Make explicit call to cacheFlush.
+
+ * assembler/MacroAssemblerCodeRef.h:
+ (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
+ - Make size always available.
+
+ * assembler/RepatchBuffer.h:
+ (JSC::RepatchBuffer::RepatchBuffer):
+ (JSC::RepatchBuffer::~RepatchBuffer):
+ - Add calls to MakeWritable & makeExecutable.
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::relinkJump):
+ (JSC::X86Assembler::relinkCall):
+ (JSC::X86Assembler::repatchInt32):
+ (JSC::X86Assembler::repatchPointer):
+ (JSC::X86Assembler::repatchLoadPtrToLEA):
+ - Remove usage of MakeWritable.
+
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::getJITCode):
+ - Provide access to CodeBlock's JITCode.
+
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::makeExecutable):
+ (JSC::ExecutableAllocator::cacheFlush):
+ - Remove MakeWritable, make cacheFlush public.
+
+ * jit/JIT.cpp:
+ (JSC::ctiPatchNearCallByReturnAddress):
+ (JSC::ctiPatchCallByReturnAddress):
+ (JSC::JIT::privateCompile):
+ (JSC::JIT::unlinkCall):
+ (JSC::JIT::linkCall):
+ - Add CodeBlock argument to RepatchBuffer.
+
+ * jit/JIT.h:
+ - Pass CodeBlock argument for use by RepatchBuffer.
+
+ * jit/JITCode.h:
+ (JSC::JITCode::start):
+ (JSC::JITCode::size):
+ - Provide access to code start & size.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::patchGetByIdSelf):
+ (JSC::JIT::patchMethodCallProto):
+ (JSC::JIT::patchPutByIdReplace):
+ (JSC::JIT::privateCompilePatchGetArrayLength):
+ (JSC::JIT::privateCompileGetByIdProto):
+ (JSC::JIT::privateCompileGetByIdSelfList):
+ (JSC::JIT::privateCompileGetByIdProtoList):
+ (JSC::JIT::privateCompileGetByIdChainList):
+ (JSC::JIT::privateCompileGetByIdChain):
+ - Add CodeBlock argument to RepatchBuffer.
+
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::tryCachePutByID):
+ (JSC::JITThunks::tryCacheGetByID):
+ (JSC::JITStubs::DEFINE_STUB_FUNCTION):
+ - Pass CodeBlock argument for use by RepatchBuffer.
+
+2009-07-21 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Cache not only the structure of the method, but the
+ structure of its prototype as well.
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ * bytecode/CodeBlock.h:
+ (JSC::MethodCallLinkInfo::MethodCallLinkInfo):
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::patchMethodCallProto):
+
+2009-07-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move call linking / repatching down from AbstractMacroAssembler into MacroAssemblerARCH classes.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27527 )
+
+ This allows the implementation to be defined per architecture. Specifically this addresses the
+ fact that x86-64 MacroAssembler implements far calls as a load to register, followed by a call
+ to register. Patching the call actually requires the pointer load to be patched, rather than
+ the call to be patched. This is implementation detail specific to MacroAssemblerX86_64, and as
+ such is best handled there.
+
+ * assembler/AbstractMacroAssembler.h:
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::linkCall):
+ (JSC::MacroAssemblerARM::repatchCall):
+ * assembler/MacroAssemblerARMv7.h:
+ (JSC::MacroAssemblerARMv7::linkCall):
+ (JSC::MacroAssemblerARMv7::repatchCall):
+ * assembler/MacroAssemblerX86.h:
+ (JSC::MacroAssemblerX86::linkCall):
+ (JSC::MacroAssemblerX86::repatchCall):
+ * assembler/MacroAssemblerX86_64.h:
+ (JSC::MacroAssemblerX86_64::linkCall):
+ (JSC::MacroAssemblerX86_64::repatchCall):
+
+2009-07-21 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Every wtf file includes other wtf files with <> style includes
+ except this one. Fix the exception.
+
+ * wtf/ByteArray.h:
+
+2009-07-21 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Move LinkBuffer/RepatchBuffer out of AbstractMacroAssembler.
+ ( https://bugs.webkit.org/show_bug.cgi?id=27485 )
+
+ This change is the first step in a process to move code that should be in
+ the architecture-specific MacroAssembler classes up out of Assmbler and
+ AbstractMacroAssembler.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ - added new files
+
+ * assembler/ARMAssembler.h:
+ (JSC::ARMAssembler::linkPointer):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::linkCall):
+ (JSC::ARMv7Assembler::linkPointer):
+ (JSC::ARMv7Assembler::relinkCall):
+ (JSC::ARMv7Assembler::repatchInt32):
+ (JSC::ARMv7Assembler::repatchPointer):
+ (JSC::ARMv7Assembler::setInt32):
+ (JSC::ARMv7Assembler::setPointer):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::linkJump):
+ (JSC::AbstractMacroAssembler::linkCall):
+ (JSC::AbstractMacroAssembler::linkPointer):
+ (JSC::AbstractMacroAssembler::getLinkerAddress):
+ (JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
+ (JSC::AbstractMacroAssembler::repatchJump):
+ (JSC::AbstractMacroAssembler::repatchCall):
+ (JSC::AbstractMacroAssembler::repatchNearCall):
+ (JSC::AbstractMacroAssembler::repatchInt32):
+ (JSC::AbstractMacroAssembler::repatchPointer):
+ (JSC::AbstractMacroAssembler::repatchLoadPtrToLEA):
+ - remove the LinkBuffer/RepatchBuffer classes, but leave a set of (private, friended) methods to interface to the Assembler
+
+ * assembler/LinkBuffer.h: Added.
+ (JSC::LinkBuffer::LinkBuffer):
+ (JSC::LinkBuffer::~LinkBuffer):
+ (JSC::LinkBuffer::link):
+ (JSC::LinkBuffer::patch):
+ (JSC::LinkBuffer::locationOf):
+ (JSC::LinkBuffer::locationOfNearCall):
+ (JSC::LinkBuffer::returnAddressOffset):
+ (JSC::LinkBuffer::finalizeCode):
+ (JSC::LinkBuffer::finalizeCodeAddendum):
+ (JSC::LinkBuffer::code):
+ (JSC::LinkBuffer::performFinalization):
+ - new file containing the LinkBuffer class, previously a member of AbstractMacroAssembler
+
+ * assembler/RepatchBuffer.h: Added.
+ (JSC::RepatchBuffer::RepatchBuffer):
+ (JSC::RepatchBuffer::relink):
+ (JSC::RepatchBuffer::repatch):
+ (JSC::RepatchBuffer::repatchLoadPtrToLEA):
+ (JSC::RepatchBuffer::relinkCallerToTrampoline):
+ (JSC::RepatchBuffer::relinkCallerToFunction):
+ (JSC::RepatchBuffer::relinkNearCallerToTrampoline):
+ - new file containing the RepatchBuffer class, previously a member of AbstractMacroAssembler
+
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::linkJump):
+ (JSC::X86Assembler::linkCall):
+ (JSC::X86Assembler::linkPointerForCall):
+ (JSC::X86Assembler::linkPointer):
+ (JSC::X86Assembler::relinkJump):
+ (JSC::X86Assembler::relinkCall):
+ (JSC::X86Assembler::repatchInt32):
+ (JSC::X86Assembler::repatchPointer):
+ (JSC::X86Assembler::setPointer):
+ (JSC::X86Assembler::setInt32):
+ (JSC::X86Assembler::setRel32):
+ - rename patchPointer to bring it in line with the current link/repatch naming scheme
+
+ * jit/JIT.cpp:
+ (JSC::ctiPatchNearCallByReturnAddress):
+ (JSC::ctiPatchCallByReturnAddress):
+ - include new headers
+ - remove MacroAssembler:: specification from RepatchBuffer usage
+
+ * jit/JITPropertyAccess.cpp:
+ * yarr/RegexJIT.cpp:
+ - include new headers
+
+2009-07-21 Robert Agoston <Agoston.Robert@stud.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Fixed #undef typo.
+ https://bugs.webkit.org/show_bug.cgi?id=27506
+
+ * bytecode/Opcode.h:
+
+2009-07-21 Adam Roben <aroben@apple.com>
+
+ Roll out r46153, r46154, and r46155
+
+ These changes were causing build failures and assertion failures on
+ Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ * runtime/StringPrototype.cpp:
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+ * wtf/FastMalloc.cpp:
+ * wtf/FastMalloc.h:
+ * wtf/Platform.h:
+ * wtf/PossiblyNull.h: Removed.
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Build fix attempt #2
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ Build fix attempt #1
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make it harder to misuse try* allocation routines
+ https://bugs.webkit.org/show_bug.cgi?id=27469
+
+ Jump through a few hoops to make it much harder to accidentally
+ miss null-checking of values returned by the try-* allocation
+ routines.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::putSlowCase):
+ (JSC::JSArray::increaseVectorLength):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncFontsize):
+ (JSC::stringProtoFuncLink):
+ * runtime/UString.cpp:
+ (JSC::allocChars):
+ (JSC::reallocChars):
+ (JSC::expandCapacity):
+ (JSC::UString::Rep::reserveCapacity):
+ (JSC::UString::expandPreCapacity):
+ (JSC::createRep):
+ (JSC::concatenate):
+ (JSC::UString::spliceSubstringsWithSeparators):
+ (JSC::UString::replaceRange):
+ (JSC::UString::append):
+ (JSC::UString::operator=):
+ * runtime/UString.h:
+ (JSC::UString::Rep::createEmptyBuffer):
+ * wtf/FastMalloc.cpp:
+ (WTF::tryFastZeroedMalloc):
+ (WTF::tryFastMalloc):
+ (WTF::tryFastCalloc):
+ (WTF::tryFastRealloc):
+ (WTF::TCMallocStats::tryFastMalloc):
+ (WTF::TCMallocStats::tryFastCalloc):
+ (WTF::TCMallocStats::tryFastRealloc):
+ * wtf/FastMalloc.h:
+ (WTF::TryMallocReturnValue::TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::~TryMallocReturnValue):
+ (WTF::TryMallocReturnValue::operator Maybe<T>):
+ (WTF::TryMallocReturnValue::getValue):
+ * wtf/PossiblyNull.h:
+ (WTF::PossiblyNull::PossiblyNull):
+ (WTF::PossiblyNull::~PossiblyNull):
+ (WTF::PossiblyNull::getValue):
+ * wtf/Platform.h:
+
+2009-07-20 Gavin Barraclough <barraclough@apple.com>
+
+ RS Oliver Hunt.
+
+ Add ARM assembler files to xcodeproj, for convenience editing.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-07-20 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by David Levin.
+
+ Fix an incorrect assertion in Vector::remove.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27477
+
+ * wtf/Vector.h:
+ (WTF::::remove):
+ Assert that the position at which to start removing elements + the
+ length (the number of elements to remove) is less than or equal to the
+ size of the entire Vector.
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27468
+ Back out r46060, which caused problems for some Apple developers.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in NewThreadContext
+ https://bugs.webkit.org/show_bug.cgi?id=27338
+
+ Inherits NewThreadContext struct from FastAllocBase because it
+ has been instantiated by 'new' JavaScriptCore/wtf/Threading.cpp:76.
+
+ * wtf/Threading.cpp:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in JavaScriptCore's JSClassRef.h
+ https://bugs.webkit.org/show_bug.cgi?id=27340
+
+ Inherit StaticValueEntry and StaticFunctionEntry struct from FastAllocBase because these
+ have been instantiated by 'new' in JavaScriptCore/API/JSClassRef.cpp:153
+ and in JavaScriptCore/API/JSClassRef.cpp:166.
+
+ * API/JSClassRef.h:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control in JavaScriptCore's RegexPattern.h
+ https://bugs.webkit.org/show_bug.cgi?id=27343
+
+ Inherits RegexPattern.h's structs (which have been instantiated by operator new) from FastAllocBase:
+
+ CharacterClass (new call: JavaScriptCore/yarr/RegexCompiler.cpp:144)
+ PatternAlternative (new call: JavaScriptCore/yarr/RegexPattern.h:221)
+ PatternDisjunction (new call: JavaScriptCore/yarr/RegexCompiler.cpp:446)
+
+ * yarr/RegexPattern.h:
+
+2009-07-20 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's MatchFrame struct
+ https://bugs.webkit.org/show_bug.cgi?id=27344
+
+ Inherits MatchFrame struct from FastAllocBase because it has
+ been instantiated by 'new' JavaScriptCore/pcre/pcre_exec.cpp:359.
+
+ * pcre/pcre_exec.cpp:
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Remove some outdated S60 platform specific code
+ https://bugs.webkit.org/show_bug.cgi?id=27423
+
+ * wtf/Platform.h:
+
+2009-07-20 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ Qt build fix with MSVC and MinGW.
+
+ * jsc.pro: Make sure jsc is a console application, and turn off
+ exceptions and stl support to fix the build.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Do not use C++-style comments in preprocessor directives.
+
+ GCC does not like this in some configurations, using C-style
+ comments is safer.
+
+ * wtf/Platform.h:
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:
+ * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops:
+ * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Add YARR support for generic ARM platforms (disabled by default).
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ Add generic ARM port for MacroAssembler. It supports the whole
+ MacroAssembler functionality except floating point.
+
+ The class JmpSrc is extended with a flag which enables to patch
+ the jump destination offset during execution. This feature is
+ required for generic ARM port.
+
+ Signed off by Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+ Signed off by Gabor Loki <loki@inf.u-szeged.hu>
+
+ * JavaScriptCore.pri:
+ * assembler/ARMAssembler.cpp: Added.
+ (JSC::ARMAssembler::getLdrImmAddress):
+ (JSC::ARMAssembler::linkBranch):
+ (JSC::ARMAssembler::patchConstantPoolLoad):
+ (JSC::ARMAssembler::getOp2):
+ (JSC::ARMAssembler::genInt):
+ (JSC::ARMAssembler::getImm):
+ (JSC::ARMAssembler::moveImm):
+ (JSC::ARMAssembler::dataTransfer32):
+ (JSC::ARMAssembler::baseIndexTransfer32):
+ (JSC::ARMAssembler::executableCopy):
+ * assembler/ARMAssembler.h: Added.
+ (JSC::ARM::):
+ (JSC::ARMAssembler::ARMAssembler):
+ (JSC::ARMAssembler::):
+ (JSC::ARMAssembler::JmpSrc::JmpSrc):
+ (JSC::ARMAssembler::JmpSrc::enableLatePatch):
+ (JSC::ARMAssembler::JmpDst::JmpDst):
+ (JSC::ARMAssembler::JmpDst::isUsed):
+ (JSC::ARMAssembler::JmpDst::used):
+ (JSC::ARMAssembler::emitInst):
+ (JSC::ARMAssembler::and_r):
+ (JSC::ARMAssembler::ands_r):
+ (JSC::ARMAssembler::eor_r):
+ (JSC::ARMAssembler::eors_r):
+ (JSC::ARMAssembler::sub_r):
+ (JSC::ARMAssembler::subs_r):
+ (JSC::ARMAssembler::rsb_r):
+ (JSC::ARMAssembler::rsbs_r):
+ (JSC::ARMAssembler::add_r):
+ (JSC::ARMAssembler::adds_r):
+ (JSC::ARMAssembler::adc_r):
+ (JSC::ARMAssembler::adcs_r):
+ (JSC::ARMAssembler::sbc_r):
+ (JSC::ARMAssembler::sbcs_r):
+ (JSC::ARMAssembler::rsc_r):
+ (JSC::ARMAssembler::rscs_r):
+ (JSC::ARMAssembler::tst_r):
+ (JSC::ARMAssembler::teq_r):
+ (JSC::ARMAssembler::cmp_r):
+ (JSC::ARMAssembler::orr_r):
+ (JSC::ARMAssembler::orrs_r):
+ (JSC::ARMAssembler::mov_r):
+ (JSC::ARMAssembler::movs_r):
+ (JSC::ARMAssembler::bic_r):
+ (JSC::ARMAssembler::bics_r):
+ (JSC::ARMAssembler::mvn_r):
+ (JSC::ARMAssembler::mvns_r):
+ (JSC::ARMAssembler::mul_r):
+ (JSC::ARMAssembler::muls_r):
+ (JSC::ARMAssembler::mull_r):
+ (JSC::ARMAssembler::ldr_imm):
+ (JSC::ARMAssembler::ldr_un_imm):
+ (JSC::ARMAssembler::dtr_u):
+ (JSC::ARMAssembler::dtr_ur):
+ (JSC::ARMAssembler::dtr_d):
+ (JSC::ARMAssembler::dtr_dr):
+ (JSC::ARMAssembler::ldrh_r):
+ (JSC::ARMAssembler::ldrh_d):
+ (JSC::ARMAssembler::ldrh_u):
+ (JSC::ARMAssembler::strh_r):
+ (JSC::ARMAssembler::push_r):
+ (JSC::ARMAssembler::pop_r):
+ (JSC::ARMAssembler::poke_r):
+ (JSC::ARMAssembler::peek_r):
+ (JSC::ARMAssembler::clz_r):
+ (JSC::ARMAssembler::bkpt):
+ (JSC::ARMAssembler::lsl):
+ (JSC::ARMAssembler::lsr):
+ (JSC::ARMAssembler::asr):
+ (JSC::ARMAssembler::lsl_r):
+ (JSC::ARMAssembler::lsr_r):
+ (JSC::ARMAssembler::asr_r):
+ (JSC::ARMAssembler::size):
+ (JSC::ARMAssembler::ensureSpace):
+ (JSC::ARMAssembler::label):
+ (JSC::ARMAssembler::align):
+ (JSC::ARMAssembler::jmp):
+ (JSC::ARMAssembler::patchPointerInternal):
+ (JSC::ARMAssembler::patchConstantPoolLoad):
+ (JSC::ARMAssembler::patchPointer):
+ (JSC::ARMAssembler::repatchInt32):
+ (JSC::ARMAssembler::repatchPointer):
+ (JSC::ARMAssembler::repatchLoadPtrToLEA):
+ (JSC::ARMAssembler::linkJump):
+ (JSC::ARMAssembler::relinkJump):
+ (JSC::ARMAssembler::linkCall):
+ (JSC::ARMAssembler::relinkCall):
+ (JSC::ARMAssembler::getRelocatedAddress):
+ (JSC::ARMAssembler::getDifferenceBetweenLabels):
+ (JSC::ARMAssembler::getCallReturnOffset):
+ (JSC::ARMAssembler::getOp2Byte):
+ (JSC::ARMAssembler::placeConstantPoolBarrier):
+ (JSC::ARMAssembler::RM):
+ (JSC::ARMAssembler::RS):
+ (JSC::ARMAssembler::RD):
+ (JSC::ARMAssembler::RN):
+ (JSC::ARMAssembler::getConditionalField):
+ * assembler/ARMv7Assembler.h:
+ (JSC::ARMv7Assembler::JmpSrc::enableLatePatch):
+ * assembler/AbstractMacroAssembler.h:
+ (JSC::AbstractMacroAssembler::Call::enableLatePatch):
+ (JSC::AbstractMacroAssembler::Jump::enableLatePatch):
+ * assembler/MacroAssembler.h:
+ * assembler/MacroAssemblerARM.h: Added.
+ (JSC::MacroAssemblerARM::):
+ (JSC::MacroAssemblerARM::add32):
+ (JSC::MacroAssemblerARM::and32):
+ (JSC::MacroAssemblerARM::lshift32):
+ (JSC::MacroAssemblerARM::mul32):
+ (JSC::MacroAssemblerARM::not32):
+ (JSC::MacroAssemblerARM::or32):
+ (JSC::MacroAssemblerARM::rshift32):
+ (JSC::MacroAssemblerARM::sub32):
+ (JSC::MacroAssemblerARM::xor32):
+ (JSC::MacroAssemblerARM::load32):
+ (JSC::MacroAssemblerARM::load32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerARM::loadPtrWithPatchToLEA):
+ (JSC::MacroAssemblerARM::load16):
+ (JSC::MacroAssemblerARM::store32WithAddressOffsetPatch):
+ (JSC::MacroAssemblerARM::store32):
+ (JSC::MacroAssemblerARM::pop):
+ (JSC::MacroAssemblerARM::push):
+ (JSC::MacroAssemblerARM::move):
+ (JSC::MacroAssemblerARM::swap):
+ (JSC::MacroAssemblerARM::signExtend32ToPtr):
+ (JSC::MacroAssemblerARM::zeroExtend32ToPtr):
+ (JSC::MacroAssemblerARM::branch32):
+ (JSC::MacroAssemblerARM::branch16):
+ (JSC::MacroAssemblerARM::branchTest32):
+ (JSC::MacroAssemblerARM::jump):
+ (JSC::MacroAssemblerARM::branchAdd32):
+ (JSC::MacroAssemblerARM::mull32):
+ (JSC::MacroAssemblerARM::branchMul32):
+ (JSC::MacroAssemblerARM::branchSub32):
+ (JSC::MacroAssemblerARM::breakpoint):
+ (JSC::MacroAssemblerARM::nearCall):
+ (JSC::MacroAssemblerARM::call):
+ (JSC::MacroAssemblerARM::ret):
+ (JSC::MacroAssemblerARM::set32):
+ (JSC::MacroAssemblerARM::setTest32):
+ (JSC::MacroAssemblerARM::tailRecursiveCall):
+ (JSC::MacroAssemblerARM::makeTailRecursiveCall):
+ (JSC::MacroAssemblerARM::moveWithPatch):
+ (JSC::MacroAssemblerARM::branchPtrWithPatch):
+ (JSC::MacroAssemblerARM::storePtrWithPatch):
+ (JSC::MacroAssemblerARM::supportsFloatingPoint):
+ (JSC::MacroAssemblerARM::supportsFloatingPointTruncate):
+ (JSC::MacroAssemblerARM::loadDouble):
+ (JSC::MacroAssemblerARM::storeDouble):
+ (JSC::MacroAssemblerARM::addDouble):
+ (JSC::MacroAssemblerARM::subDouble):
+ (JSC::MacroAssemblerARM::mulDouble):
+ (JSC::MacroAssemblerARM::convertInt32ToDouble):
+ (JSC::MacroAssemblerARM::branchDouble):
+ (JSC::MacroAssemblerARM::branchTruncateDoubleToInt32):
+ (JSC::MacroAssemblerARM::ARMCondition):
+ (JSC::MacroAssemblerARM::prepareCall):
+ (JSC::MacroAssemblerARM::call32):
+ * assembler/X86Assembler.h:
+ (JSC::X86Assembler::JmpSrc::enableLatePatch):
+ * jit/ExecutableAllocator.h:
+ (JSC::ExecutableAllocator::cacheFlush):
+ * wtf/Platform.h:
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter):
+ (JSC::Yarr::RegexGenerator::generateReturn):
+
+2009-07-17 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Gavin Barraclough.
+
+ Extend AssemblerBuffer with constant pool handling mechanism.
+ https://bugs.webkit.org/show_bug.cgi?id=24986
+
+ Add a platform independed constant pool framework.
+ This pool can store 32 or 64 bits values which is enough to hold
+ any integer, pointer or double constant.
+
+ * assembler/AssemblerBuffer.h:
+ (JSC::AssemblerBuffer::putIntUnchecked):
+ (JSC::AssemblerBuffer::putInt64Unchecked):
+ (JSC::AssemblerBuffer::append):
+ (JSC::AssemblerBuffer::grow):
+ * assembler/AssemblerBufferWithConstantPool.h: Added.
+ (JSC::):
+
+2009-07-17 Eric Roman <eroman@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Build fix for non-Darwin.
+ Add a guard for inclusion of RetainPtr.h which includes CoreFoundation.h
+
+ https://bugs.webkit.org/show_bug.cgi?id=27382
+
+ * wtf/unicode/icu/CollatorICU.cpp:
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by John Sullivan.
+
+ Get user default collation order via a CFLocale API when available.
+
+ * wtf/unicode/icu/CollatorICU.cpp: (WTF::Collator::userDefault):
+
+2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the include path for the Symbian port
+ https://bugs.webkit.org/show_bug.cgi?id=27358
+
+ * JavaScriptCore.pri:
+
+2009-07-17 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by David Levin.
+
+ Build fix on platforms don't have MMAP.
+ https://bugs.webkit.org/show_bug.cgi?id=27365
+
+ * interpreter/RegisterFile.h: Including stdio.h irrespectively of HAVE(MMAP)
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add ENABLE_WEB_SOCKETS
+
+ * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for JavaScriptCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26620
+
+ * wtf/haiku/MainThreadHaiku.cpp: Added.
+ (WTF::initializeMainThreadPlatform):
+ (WTF::scheduleDispatchFunctionsOnMainThread):
+
+2009-07-16 Gavin Barraclough <barraclough@apple.com>
+
+ RS by Oliver Hunt.
+
+ Revert r45969, this fix does not appear to be valid.
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * jit/JIT.cpp:
+ * jit/JIT.h:
+
+2009-07-16 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Allow custom memory allocation control in ExceptionInfo and RareData struct
+ https://bugs.webkit.org/show_bug.cgi?id=27336
+
+ Inherits ExceptionInfo and RareData struct from FastAllocBase because these
+ have been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.cpp:1289 and
+ in JavaScriptCore/bytecode/CodeBlock.h:453.
+
+ Remove unnecessary WTF:: namespace from CodeBlock inheritance.
+
+ * bytecode/CodeBlock.h:
+
+2009-07-16 Mark Rowe <mrowe@apple.com>
+
+ Rubber-stamped by Geoff Garen.
+
+ Fix FeatureDefines.xcconfig to not be out of sync with the rest of the world.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-16 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27320
+ _countof is only included in CE6; for CE5 we need to define it ourself
+
+ * wtf/Platform.h:
+
+2009-07-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
+
+ Reviewed by Oliver Hunt.
+
+ Workers + garbage collector: weird crashes
+ https://bugs.webkit.org/show_bug.cgi?id=27077
+
+ We need to unlink cached method call sites when a function is destroyed.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::~CodeBlock):
+ (JSC::CodeBlock::unlinkCallers):
+ * jit/JIT.cpp:
+ (JSC::JIT::unlinkMethodCall):
+ * jit/JIT.h:
+
+2009-07-15 Steve Falkenburg <sfalken@apple.com>
+
+ Windows Build fix.
+
+ Visual Studio reset our intermediate directory on us.
+ This sets it back.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+
+2009-07-15 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26794
+ Make Yacc-generated parsers to use fastMalloc/fastFree.
+
+ Define YYMALLOC and YYFREE to fastMalloc and fastFree
+ respectively.
+
+ * parser/Grammar.y:
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Fix a build for a particular Apple configuration.
+
+ * wtf/FastAllocBase.h: Change include to use "" style for
+ including another wtf header. This is the style we use for
+ including other public headers in the same directory.
+
+2009-07-15 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27303
+ Implement createThreadInternal for WinCE.
+ Contains changes by George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/ThreadingWin.cpp:
+ (WTF::createThreadInternal):
+
+2009-07-15 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27298
+ Platform defines for WINCE.
+ Contains changes by Yong Li <yong.li@torchmobile.com>,
+ George Staikos <george.staikos@torchmobile.com> and Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Platform.h:
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27306
+ Use RegisterClass instead of RegisterClassEx on WinCE.
+
+ * wtf/win/MainThreadWin.cpp:
+ (WTF::initializeMainThreadPlatform):
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27301
+ Use OutputDebugStringW on WinCE since OutputDebugStringA is not supported
+ Originally written by Yong Li <yong.li@torchmobile.com> and refactored by
+ Joe Mason <joe.mason@torchmobile.com>
+
+ * wtf/Assertions.cpp: vprintf_stderr_common
+
+2009-07-15 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27020
+ msToGregorianDateTime should set utcOffset to 0 when outputIsUTC is false
+
+ * wtf/DateMath.cpp:
+ (WTF::gregorianDateTimeToMS):
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove obsolete code from the make system
+ https://bugs.webkit.org/show_bug.cgi?id=27299
+
+ * JavaScriptCore.pro:
+ * jsc.pro:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27056
+
+ Alternate bool operator for codewarrior compiler (WINSCW).
+ Compiler (latest b482) reports error for UnspecifiedBoolType construct:
+ "illegal explicit conversion from 'WTF::OwnArrayPtr<JSC::Register>' to 'bool'"
+
+ Same fix as in r38391.
+
+ * JavaScriptCore/wtf/OwnArrayPtr.h:
+
+2009-07-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Qualify include path with wtf to fix compilation
+ on Symbian.
+ https://bugs.webkit.org/show_bug.cgi?id=27055
+
+ * interpreter/Interpreter.h:
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Dave Kilzer.
+
+ Turn off non-portable date manipulations for SYMBIAN
+ https://bugs.webkit.org/show_bug.cgi?id=27064
+
+ Introduce HAVE(TM_GMTOFF), HAVE(TM_ZONE) and HAVE(TIMEGM) guards
+ and place the rules for controlling the guards in Platform.h.
+ Turn off these newly introduced guards for SYMBIAN.
+
+ * wtf/DateMath.cpp:
+ (WTF::calculateUTCOffset):
+ * wtf/DateMath.h:
+ (WTF::GregorianDateTime::GregorianDateTime):
+ (WTF::GregorianDateTime::operator tm):
+ * wtf/Platform.h:
+
+2009-07-15 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Undef ASSERT on Symbian, to avoid excessive warnings
+ https://bugs.webkit.org/show_bug.cgi?id=27052
+
+ * wtf/Assertions.h:
+
+2009-07-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION: fast/js/postfix-syntax.html fails with interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=27294
+
+ When postfix operators operating on locals assign to the same local
+ the order of operations has to be to store the incremented value, then
+ store the unmodified number. Rather than implementing this subtle
+ semantic in the interpreter I've just made the logic explicit in the
+ bytecode generator, so x=x++ effectively becomes x=ToNumber(x) (for a
+ local var x).
+
+ * parser/Nodes.cpp:
+ (JSC::emitPostIncOrDec):
+
+2009-07-15 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Hausmann.
+
+ REGRESSION(43559): fast/js/kde/arguments-scope.html fails with interpreter
+ https://bugs.webkit.org/show_bug.cgi?id=27259
+
+ The interpreter was incorrectly basing its need to create the arguments object
+ based on the presence of the callframe's argument reference rather than the local
+ arguments reference. Based on this it then overrode the local variable reference.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reorganize JavaScriptCore headers into:
+ API: include/JavaScriptCore/
+ Private: include/private/JavaScriptCore/
+
+ Reviewed by Darin Adler.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
+ * JavaScriptCore.vcproj/testapi/testapi.vcproj:
+ * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change JSCell's superclass to NoncopyableCustomAllocated
+ https://bugs.webkit.org/show_bug.cgi?id=27248
+
+ JSCell class customizes operator new, since Noncopyable will be
+ inherited from FastAllocBase, NoncopyableCustomAllocated has
+ to be used.
+
+ * runtime/JSCell.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change all Noncopyable inheriting visibility to public.
+ https://bugs.webkit.org/show_bug.cgi?id=27225
+
+ Change all Noncopyable inheriting visibility to public because
+ it is needed to the custom allocation framework (bug #20422).
+
+ * bytecode/SamplingTool.h:
+ * bytecompiler/RegisterID.h:
+ * interpreter/CachedCall.h:
+ * interpreter/RegisterFile.h:
+ * parser/Lexer.h:
+ * parser/Parser.h:
+ * runtime/ArgList.h:
+ * runtime/BatchedTransitionOptimizer.h:
+ * runtime/Collector.h:
+ * runtime/CommonIdentifiers.h:
+ * runtime/JSCell.h:
+ * runtime/JSGlobalObject.h:
+ * runtime/JSLock.h:
+ * runtime/JSONObject.cpp:
+ * runtime/SmallStrings.cpp:
+ * runtime/SmallStrings.h:
+ * wtf/CrossThreadRefCounted.h:
+ * wtf/GOwnPtr.h:
+ * wtf/Locker.h:
+ * wtf/MessageQueue.h:
+ * wtf/OwnArrayPtr.h:
+ * wtf/OwnFastMallocPtr.h:
+ * wtf/OwnPtr.h:
+ * wtf/RefCounted.h:
+ * wtf/ThreadSpecific.h:
+ * wtf/Threading.h:
+ * wtf/Vector.h:
+ * wtf/unicode/Collator.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change ParserArenaRefCounted's superclass to RefCountedCustomAllocated
+ https://bugs.webkit.org/show_bug.cgi?id=27249
+
+ ParserArenaDeletable customizes operator new, to avoid double inheritance
+ ParserArenaDeletable's superclass has been changed to RefCountedCustomAllocated.
+
+ * parser/Nodes.h:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Add RefCountedCustomAllocated to RefCounted.h
+ https://bugs.webkit.org/show_bug.cgi?id=27232
+
+ Some class which are inherited from RefCounted customize
+ operator new, but RefCounted is inherited from Noncopyable
+ which will be inherited from FastAllocBase. To avoid
+ conflicts Noncopyable inheriting was moved down to RefCounted
+ and to avoid double inheritance this class has been added.
+
+ * wtf/RefCounted.h:
+ (WTF::RefCountedCustomAllocated::deref):
+ (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated):
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Add NoncopyableCustomAllocated to Noncopyable.h.
+ https://bugs.webkit.org/show_bug.cgi?id=27228
+
+ Some classes which inherited from Noncopyable overrides operator new
+ since Noncopyable'll be inherited from FastAllocBase, Noncopyable.h
+ needs to be extended with this new class to support the overriding.
+
+ * wtf/Noncopyable.h:
+ (WTFNoncopyable::NoncopyableCustomAllocated::NoncopyableCustomAllocated):
+ (WTFNoncopyable::NoncopyableCustomAllocated::~NoncopyableCustomAllocated):
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's IdentifierTable class
+ https://bugs.webkit.org/show_bug.cgi?id=27260
+
+ Inherits IdentifierTable class from FastAllocBase because it has been
+ instantiated by 'new' in JavaScriptCore/runtime/Identifier.cpp:70.
+
+ * runtime/Identifier.cpp:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Allow custom memory allocation control for JavaScriptCore's Profiler class
+ https://bugs.webkit.org/show_bug.cgi?id=27253
+
+ Inherits Profiler class from FastAllocBase because it has been instantiated by
+ 'new' in JavaScriptCore/profiler/Profiler.cpp:56.
+
+ * profiler/Profiler.h:
+
+2009-07-06 George Staikos <george.staikos@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Authors: George Staikos <george.staikos@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>, Makoto Matsumoto <matumoto@math.keio.ac.jp>, Takuji Nishimura
+
+ https://bugs.webkit.org/show_bug.cgi?id=27030
+ Implement custom RNG for WinCE using Mersenne Twister
+
+ * wtf/RandomNumber.cpp:
+ (WTF::randomNumber):
+ * wtf/RandomNumberSeed.h:
+ (WTF::initializeRandomNumberGenerator):
+ * wtf/wince/mt19937ar.c: Added.
+ (init_genrand):
+ (init_by_array):
+ (genrand_int32):
+ (genrand_int31):
+ (genrand_real1):
+ (genrand_real2):
+ (genrand_real3):
+ (genrand_res53):
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make dist build fix.
+
+ * GNUmakefile.am:
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Added ENABLE(SHARED_WORKERS) flag (off by default).
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-07 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27058
+
+ Removed superfluous parenthesis around single expression.
+ Compilers on Symbian platform fail to properly parse and compile.
+
+ * JavaScriptCore/wtf/Platform.h:
+
+2009-07-13 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Maciej Stachoviak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27054
+
+ Renamed Translator to HashTranslator
+
+ Codewarrior compiler (WINSCW) latest b482 cannot resolve typename
+ mismatch between template declaration and definition
+ (HashTranslator / Translator)
+
+ * wtf/HashSet.h:
+
+2009-07-13 Norbert Leser <norbert.leser@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27053
+
+ Ambiguity in LabelScope initialization
+
+ Codewarrior compiler (WINSCW) latest b482 on Symbian cannot resolve
+ type of "0" unambiguously. Set expression explicitly to
+ PassRefPtr<Label>::PassRefPtr()
+
+ * bytecompiler/BytecodeGenerator.cpp
+
+2009-07-11 Simon Fraser <simon.fraser@apple.com>
+
+ Enable support for accelerated compositing and 3d transforms on Leopard.
+ <https://bugs.webkit.org/show_bug.cgi?id=20166>
+ <rdar://problem/6120614>
+
+ Reviewed by Oliver Hunt.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * wtf/Platform.h:
+
+2009-07-10 Mark Rowe <mrowe@apple.com>
+
+ Second part of the "make Windows happier" dance.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-10 Mark Rowe <mrowe@apple.com>
+
+ Try and make the Windows build happy.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore_debug.def:
+
+2009-07-10 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ * debugger/Debugger.h: Made this function virtual for use in WebCore's
+ WebInspector.
+
+2009-07-10 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ ParserArenaDeletable should override delete
+ https://bugs.webkit.org/show_bug.cgi?id=26790
+
+ ParserArenaDeletable overrides new, but it does not override delete.
+ ParserArenaDeletable must be freed by fastFree
+ because it is allocated by fastMalloc.
+
+ * parser/NodeConstructors.h:
+ (JSC::ParserArenaDeletable::operator delete):
+ * parser/Nodes.h:
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+
+2009-07-09 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed, build fix.
+
+ Windows build fix for the last change.
+
+ * wtf/dtoa.cpp: Forgot to include Vector.h
+
+2009-07-09 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: crash in edge cases of floating point parsing.
+ https://bugs.webkit.org/show_bug.cgi?id=27110
+ <rdar://problem/7044458>
+
+ Tests: fast/css/number-parsing-crash.html
+ fast/css/number-parsing-crash.html
+ fast/js/number-parsing-crash.html
+
+ * wtf/dtoa.cpp:
+ (WTF::BigInt::BigInt): Converted this to more a proper class, using a Vector
+ with inline capacity
+
+ (WTF::lshift): Rearranged logic somewhat nontrivially to deal with the new way of sizing BigInts.
+ Added an assertion to verify that invariants are maintained.
+
+ All other functions are adapted fairly mechanically to the above changes.
+ (WTF::BigInt::clear):
+ (WTF::BigInt::size):
+ (WTF::BigInt::resize):
+ (WTF::BigInt::words):
+ (WTF::BigInt::append):
+ (WTF::multadd):
+ (WTF::s2b):
+ (WTF::i2b):
+ (WTF::mult):
+ (WTF::cmp):
+ (WTF::diff):
+ (WTF::b2d):
+ (WTF::d2b):
+ (WTF::ratio):
+ (WTF::strtod):
+ (WTF::quorem):
+ (WTF::dtoa):
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ can now be implemented for Web Workers and is reasonably stable.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by NOBODY (Build fix).
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27016 - Interpreter crashes due to invalid array indexes
+ <https://bugs.webkit.org/show_bug.cgi?id=27016>
+
+ Unsigned vs signed conversions results in incorrect behaviour in
+ 64bit interpreter builds.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Upstream JavaScriptCore.gypi, the project file for Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=27135
+
+ * JavaScriptCore.gypi: Added.
+
+2009-07-09 Joe Mason <joe.mason@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Authors: Yong Li <yong.li@torchmobile.com>, Joe Mason <joe.mason@torchmobile.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=27031
+ Add an override for deleteOwnedPtr(HDC) on Windows
+
+ * wtf/OwnPtrCommon.h:
+ * wtf/OwnPtrWin.cpp:
+ (WTF::deleteOwnedPtr):
+
+2009-07-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Darin Adler.
+
+ Guard singal.h dependency with HAVE(SIGNAL_H) to enable building jsc
+ on SYMBIAN.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27026
+
+ Based on Norbert Leser's work.
+
+ * jsc.cpp:
+ (printUsageStatement):
+ (parseArguments):
+ * wtf/Platform.h:
+
+2009-07-07 Gavin Barraclough <barraclough@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Stop loading constants into the register file.
+
+ Instead, use high register values (highest bit bar the sign bit set) to indicate
+ constants in the instruction stream, and when we encounter such a value load it
+ directly from the CodeBlock.
+
+ Since constants are no longer copied into the register file, this patch renders
+ the 'unexpected constant' mechanism redundant, and removes it.
+
+ 2% improvement, thanks to Sam Weinig.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::CodeBlock):
+ (JSC::CodeBlock::mark):
+ (JSC::CodeBlock::shrinkToFit):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::isTemporaryRegisterIndex):
+ (JSC::CodeBlock::constantRegister):
+ (JSC::CodeBlock::isConstantRegisterIndex):
+ (JSC::CodeBlock::getConstant):
+ (JSC::ExecState::r):
+ * bytecode/Opcode.h:
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::preserveLastVar):
+ (JSC::BytecodeGenerator::BytecodeGenerator):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitEqualityOp):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::emitResolveBase):
+ (JSC::BytecodeGenerator::emitResolveWithBase):
+ (JSC::BytecodeGenerator::emitNewError):
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::emitNode):
+ * interpreter/CallFrame.h:
+ (JSC::ExecState::noCaller):
+ (JSC::ExecState::hasHostCallFrameFlag):
+ (JSC::ExecState::addHostCallFrameFlag):
+ (JSC::ExecState::removeHostCallFrameFlag):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::resolve):
+ (JSC::Interpreter::resolveSkip):
+ (JSC::Interpreter::resolveGlobal):
+ (JSC::Interpreter::resolveBase):
+ (JSC::Interpreter::resolveBaseAndProperty):
+ (JSC::Interpreter::resolveBaseAndFunc):
+ (JSC::Interpreter::dumpRegisters):
+ (JSC::Interpreter::throwException):
+ (JSC::Interpreter::createExceptionScope):
+ (JSC::Interpreter::privateExecute):
+ (JSC::Interpreter::retrieveArguments):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ * jit/JITInlineMethods.h:
+ (JSC::JIT::emitLoadDouble):
+ (JSC::JIT::emitLoadInt32ToDouble):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_new_error):
+ (JSC::JIT::emit_op_enter):
+ (JSC::JIT::emit_op_enter_with_activation):
+ * parser/Nodes.cpp:
+ (JSC::DeleteResolveNode::emitBytecode):
+ (JSC::DeleteValueNode::emitBytecode):
+ (JSC::PrefixResolveNode::emitBytecode):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * wtf/Platform.h:
+
+2009-07-07 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix <https://bugs.webkit.org/show_bug.cgi?id=27025> / <rdar://problem/7033448>.
+ Bug 27025: Crashes and regression test failures related to regexps in 64-bit
+
+ For x86_64 RegexGenerator uses rbx, a callee-save register, as a scratch register but
+ neglects to save and restore it. The change in handling of the output vector in r45545
+ altered code generation so that the RegExp::match was now storing important data in rbx,
+ which caused crashes and bogus results when it was clobbered.
+
+ * yarr/RegexJIT.cpp:
+ (JSC::Yarr::RegexGenerator::generateEnter): Save rbx.
+ (JSC::Yarr::RegexGenerator::generateReturn): Restore rbx.
+
+2009-07-06 Ada Chan <adachan@apple.com>
+
+ Reviewed by Darin Adler and Mark Rowe.
+
+ Decommitted spans are added to the list of normal spans rather than
+ the returned spans in TCMalloc_PageHeap::Delete().
+ https://bugs.webkit.org/show_bug.cgi?id=26998
+
+ In TCMalloc_PageHeap::Delete(), the deleted span can be decommitted in
+ the process of merging with neighboring spans that are also decommitted.
+ The merged span needs to be placed in the list of returned spans (spans
+ whose memory has been returned to the system). Right now it's always added
+ to the list of the normal spans which can theoretically cause thrashing.
+
+ * wtf/FastMalloc.cpp:
+ (WTF::TCMalloc_PageHeap::Delete):
+
+2009-07-05 Lars Knoll <lars.knoll@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26843
+
+ Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
+
+ The Metrowerks compiler on the Symbian platform moves the globally
+ defined Hashtables into read-only memory, despite one of the members
+ being mutable. This causes crashes at run-time due to write access to
+ read-only memory.
+
+ Avoid the use of const with this compiler by introducing the
+ JSC_CONST_HASHTABLE macro.
+
+ Based on idea by Norbert Leser.
+
+ * runtime/Lookup.h: Define JSC_CONST_HASHTABLE as const for !WINSCW.
+ * create_hash_table: Use JSC_CONST_HASHTABLE for hashtables.
+ * runtime/JSGlobalData.cpp: Import various global hashtables via the macro.
+
+2009-07-04 Dan Bernstein <mitz@apple.com>
+
+ - debug build fix
+
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::getLastParen):
+
+2009-07-03 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Maciej Stachowiak (and revised slightly)
+
+ RegExp::match to be optimized
+ https://bugs.webkit.org/show_bug.cgi?id=26957
+
+ Allow regexp matching to use Vectors with inline capacity instead of
+ allocating a new ovector buffer every time.
+
+ ~5% speedup on SunSpider string-unpack-code test, 0.3% on SunSpider overall.
+
+ * runtime/RegExp.cpp:
+ (JSC::RegExp::match):
+ * runtime/RegExp.h:
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructorPrivate::RegExpConstructorPrivate):
+ (JSC::RegExpConstructorPrivate::lastOvector):
+ (JSC::RegExpConstructorPrivate::tempOvector):
+ (JSC::RegExpConstructorPrivate::changeLastOvector):
+ (JSC::RegExpConstructor::performMatch):
+ (JSC::RegExpMatchesArray::RegExpMatchesArray):
+ (JSC::RegExpMatchesArray::fillArrayInstance):
+ (JSC::RegExpConstructor::getBackref):
+ (JSC::RegExpConstructor::getLastParen):
+ (JSC::RegExpConstructor::getLeftContext):
+ (JSC::RegExpConstructor::getRightContext):
+ * runtime/StringPrototype.cpp:
+ (JSC::stringProtoFuncSplit):
+
+2009-06-30 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ Override operator new/delete with const std::nothrow_t& as the second
+ argument.
+ https://bugs.webkit.org/show_bug.cgi?id=26792
+
+ On Windows CE, operator new/delete, new[]/delete[] with const
+ std::nothrow_t& must be overrided because some standard template
+ libraries use these operators.
+
+ The problem occurs when memory allocated by new(size_t s, const
+ std::nothrow_t&) is freed by delete(void* p). This causes the umatched
+ malloc/free problem.
+
+ The patch overrides all new, delete, new[] and delete[] to use
+ fastMaloc and fastFree consistently.
+
+ * wtf/FastMalloc.h:
+ (throw):
+
+2009-06-30 Gabor Loki <loki@inf.u-szeged.hu>
+
+ Reviewed by Sam Weinig.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=24986>
+
+ Remove unnecessary references to AssemblerBuffer.
+
+ * interpreter/Interpreter.cpp:
+ * interpreter/Interpreter.h:
+
+2009-06-29 David Levin <levin@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Still seeing occasional leaks from UString::sharedBuffer code
+ https://bugs.webkit.org/show_bug.cgi?id=26420
+
+ The problem is that the pointer to the memory allocation isn't visible
+ by "leaks" due to the lower bits being used as flags. The fix is to
+ make the pointer visible in memory (in debug only). The downside of
+ this fix that the memory allocated by sharedBuffer will still look like
+ a leak in non-debug builds when any flags are set.
+
+ * wtf/PtrAndFlags.h:
+ (WTF::PtrAndFlags::set):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove more unused scons support.
+
+ * SConstruct: Removed.
+
+2009-06-29 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ <rdar://problem/7016214> JSON.parse fails to parse valid JSON with most Unicode characters
+ <https://bugs.webkit.org/show_bug.cgi?id=26802>
+
+ In the original JSON.parse patch unicode was handled correctly, however in some last
+ minute "clean up" I oversimplified isSafeStringCharacter. This patch corrects this bug.
+
+ * runtime/LiteralParser.cpp:
+ (JSC::isSafeStringCharacter):
+ (JSC::LiteralParser::Lexer::lexString):
+
2009-06-26 Oliver Hunt <oliver@apple.com>
Reviewed by Dan Bernstein.
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
new file mode 100644
index 0000000..2d69c7d
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.gypi
@@ -0,0 +1,452 @@
+{
+ 'variables': {
+ 'javascriptcore_files': [
+ 'AllInOneFile.cpp',
+ 'API/APICast.h',
+ 'API/JavaScript.h',
+ 'API/JavaScriptCore.h',
+ 'API/JSBase.cpp',
+ 'API/JSBase.h',
+ 'API/JSBasePrivate.h',
+ 'API/JSCallbackConstructor.cpp',
+ 'API/JSCallbackConstructor.h',
+ 'API/JSCallbackFunction.cpp',
+ 'API/JSCallbackFunction.h',
+ 'API/JSCallbackObject.cpp',
+ 'API/JSCallbackObject.h',
+ 'API/JSCallbackObjectFunctions.h',
+ 'API/JSClassRef.cpp',
+ 'API/JSClassRef.h',
+ 'API/JSContextRef.cpp',
+ 'API/JSContextRef.h',
+ 'API/JSObjectRef.cpp',
+ 'API/JSObjectRef.h',
+ 'API/JSProfilerPrivate.cpp',
+ 'API/JSProfilerPrivate.h',
+ 'API/JSRetainPtr.h',
+ 'API/JSStringRef.cpp',
+ 'API/JSStringRef.h',
+ 'API/JSStringRefBSTR.cpp',
+ 'API/JSStringRefBSTR.h',
+ 'API/JSStringRefCF.cpp',
+ 'API/JSStringRefCF.h',
+ 'API/JSValueRef.cpp',
+ 'API/JSValueRef.h',
+ 'API/OpaqueJSString.cpp',
+ 'API/OpaqueJSString.h',
+ 'API/tests/JSNode.h',
+ 'API/tests/JSNodeList.h',
+ 'API/tests/Node.h',
+ 'API/tests/NodeList.h',
+ 'API/WebKitAvailability.h',
+ 'assembler/AbstractMacroAssembler.h',
+ 'assembler/ARMv7Assembler.h',
+ 'assembler/AssemblerBuffer.h',
+ 'assembler/CodeLocation.h',
+ 'assembler/MacroAssembler.h',
+ 'assembler/MacroAssemblerARMv7.h',
+ 'assembler/MacroAssemblerCodeRef.h',
+ 'assembler/MacroAssemblerX86.h',
+ 'assembler/MacroAssemblerX86_64.h',
+ 'assembler/MacroAssemblerX86Common.h',
+ 'assembler/X86Assembler.h',
+ 'bytecode/CodeBlock.cpp',
+ 'bytecode/CodeBlock.h',
+ 'bytecode/EvalCodeCache.h',
+ 'bytecode/Instruction.h',
+ 'bytecode/JumpTable.cpp',
+ 'bytecode/JumpTable.h',
+ 'bytecode/Opcode.cpp',
+ 'bytecode/Opcode.h',
+ 'bytecode/SamplingTool.cpp',
+ 'bytecode/SamplingTool.h',
+ 'bytecode/StructureStubInfo.cpp',
+ 'bytecode/StructureStubInfo.h',
+ 'bytecompiler/BytecodeGenerator.cpp',
+ 'bytecompiler/BytecodeGenerator.h',
+ 'bytecompiler/Label.h',
+ 'bytecompiler/LabelScope.h',
+ 'bytecompiler/RegisterID.h',
+ 'config.h',
+ 'debugger/Debugger.cpp',
+ 'debugger/Debugger.h',
+ 'debugger/DebuggerActivation.cpp',
+ 'debugger/DebuggerActivation.h',
+ 'debugger/DebuggerCallFrame.cpp',
+ 'debugger/DebuggerCallFrame.h',
+ 'icu/unicode/parseerr.h',
+ 'icu/unicode/platform.h',
+ 'icu/unicode/putil.h',
+ 'icu/unicode/uchar.h',
+ 'icu/unicode/ucnv.h',
+ 'icu/unicode/ucnv_err.h',
+ 'icu/unicode/ucol.h',
+ 'icu/unicode/uconfig.h',
+ 'icu/unicode/uenum.h',
+ 'icu/unicode/uiter.h',
+ 'icu/unicode/uloc.h',
+ 'icu/unicode/umachine.h',
+ 'icu/unicode/unorm.h',
+ 'icu/unicode/urename.h',
+ 'icu/unicode/uset.h',
+ 'icu/unicode/ustring.h',
+ 'icu/unicode/utf.h',
+ 'icu/unicode/utf16.h',
+ 'icu/unicode/utf8.h',
+ 'icu/unicode/utf_old.h',
+ 'icu/unicode/utypes.h',
+ 'icu/unicode/uversion.h',
+ 'interpreter/CachedCall.h',
+ 'interpreter/CallFrame.cpp',
+ 'interpreter/CallFrame.h',
+ 'interpreter/CallFrameClosure.h',
+ 'interpreter/Interpreter.cpp',
+ 'interpreter/Interpreter.h',
+ 'interpreter/Register.h',
+ 'interpreter/RegisterFile.cpp',
+ 'interpreter/RegisterFile.h',
+ 'JavaScriptCorePrefix.h',
+ 'jit/ExecutableAllocator.cpp',
+ 'jit/ExecutableAllocator.h',
+ 'jit/ExecutableAllocatorFixedVMPool.cpp',
+ 'jit/ExecutableAllocatorPosix.cpp',
+ 'jit/ExecutableAllocatorWin.cpp',
+ 'jit/JIT.cpp',
+ 'jit/JIT.h',
+ 'jit/JITArithmetic.cpp',
+ 'jit/JITCall.cpp',
+ 'jit/JITCode.h',
+ 'jit/JITInlineMethods.h',
+ 'jit/JITOpcodes.cpp',
+ 'jit/JITPropertyAccess.cpp',
+ 'jit/JITStubCall.h',
+ 'jit/JITStubs.cpp',
+ 'jit/JITStubs.h',
+ 'jsc.cpp',
+ 'os-win32/stdbool.h',
+ 'os-win32/stdint.h',
+ 'parser/Lexer.cpp',
+ 'parser/Lexer.h',
+ 'parser/NodeConstructors.h',
+ 'parser/NodeInfo.h',
+ 'parser/Nodes.cpp',
+ 'parser/Nodes.h',
+ 'parser/Parser.cpp',
+ 'parser/Parser.h',
+ 'parser/ParserArena.cpp',
+ 'parser/ParserArena.h',
+ 'parser/ResultType.h',
+ 'parser/SourceCode.h',
+ 'parser/SourceProvider.h',
+ 'pcre/pcre.h',
+ 'pcre/pcre_compile.cpp',
+ 'pcre/pcre_exec.cpp',
+ 'pcre/pcre_internal.h',
+ 'pcre/pcre_tables.cpp',
+ 'pcre/pcre_ucp_searchfuncs.cpp',
+ 'pcre/pcre_xclass.cpp',
+ 'pcre/ucpinternal.h',
+ 'pcre/ucptable.cpp',
+ 'profiler/CallIdentifier.h',
+ 'profiler/HeavyProfile.cpp',
+ 'profiler/HeavyProfile.h',
+ 'profiler/Profile.cpp',
+ 'profiler/Profile.h',
+ 'profiler/ProfileGenerator.cpp',
+ 'profiler/ProfileGenerator.h',
+ 'profiler/ProfileNode.cpp',
+ 'profiler/ProfileNode.h',
+ 'profiler/Profiler.cpp',
+ 'profiler/Profiler.h',
+ 'profiler/ProfilerServer.h',
+ 'profiler/TreeProfile.cpp',
+ 'profiler/TreeProfile.h',
+ 'runtime/ArgList.cpp',
+ 'runtime/ArgList.h',
+ 'runtime/Arguments.cpp',
+ 'runtime/Arguments.h',
+ 'runtime/ArrayConstructor.cpp',
+ 'runtime/ArrayConstructor.h',
+ 'runtime/ArrayPrototype.cpp',
+ 'runtime/ArrayPrototype.h',
+ 'runtime/BatchedTransitionOptimizer.h',
+ 'runtime/BooleanConstructor.cpp',
+ 'runtime/BooleanConstructor.h',
+ 'runtime/BooleanObject.cpp',
+ 'runtime/BooleanObject.h',
+ 'runtime/BooleanPrototype.cpp',
+ 'runtime/BooleanPrototype.h',
+ 'runtime/CallData.cpp',
+ 'runtime/CallData.h',
+ 'runtime/ClassInfo.h',
+ 'runtime/Collector.cpp',
+ 'runtime/Collector.h',
+ 'runtime/CollectorHeapIterator.h',
+ 'runtime/CommonIdentifiers.cpp',
+ 'runtime/CommonIdentifiers.h',
+ 'runtime/Completion.cpp',
+ 'runtime/Completion.h',
+ 'runtime/ConstructData.cpp',
+ 'runtime/ConstructData.h',
+ 'runtime/DateConstructor.cpp',
+ 'runtime/DateConstructor.h',
+ 'runtime/DateConversion.cpp',
+ 'runtime/DateConversion.h',
+ 'runtime/DateInstance.cpp',
+ 'runtime/DateInstance.h',
+ 'runtime/DatePrototype.cpp',
+ 'runtime/DatePrototype.h',
+ 'runtime/Error.cpp',
+ 'runtime/Error.h',
+ 'runtime/ErrorConstructor.cpp',
+ 'runtime/ErrorConstructor.h',
+ 'runtime/ErrorInstance.cpp',
+ 'runtime/ErrorInstance.h',
+ 'runtime/ErrorPrototype.cpp',
+ 'runtime/ErrorPrototype.h',
+ 'runtime/ExceptionHelpers.cpp',
+ 'runtime/ExceptionHelpers.h',
+ 'runtime/FunctionConstructor.cpp',
+ 'runtime/FunctionConstructor.h',
+ 'runtime/FunctionPrototype.cpp',
+ 'runtime/FunctionPrototype.h',
+ 'runtime/GetterSetter.cpp',
+ 'runtime/GetterSetter.h',
+ 'runtime/GlobalEvalFunction.cpp',
+ 'runtime/GlobalEvalFunction.h',
+ 'runtime/Identifier.cpp',
+ 'runtime/Identifier.h',
+ 'runtime/InitializeThreading.cpp',
+ 'runtime/InitializeThreading.h',
+ 'runtime/InternalFunction.cpp',
+ 'runtime/InternalFunction.h',
+ 'runtime/JSActivation.cpp',
+ 'runtime/JSActivation.h',
+ 'runtime/JSArray.cpp',
+ 'runtime/JSArray.h',
+ 'runtime/JSByteArray.cpp',
+ 'runtime/JSByteArray.h',
+ 'runtime/JSCell.cpp',
+ 'runtime/JSCell.h',
+ 'runtime/JSFunction.cpp',
+ 'runtime/JSFunction.h',
+ 'runtime/JSGlobalData.cpp',
+ 'runtime/JSGlobalData.h',
+ 'runtime/JSGlobalObject.cpp',
+ 'runtime/JSGlobalObject.h',
+ 'runtime/JSGlobalObjectFunctions.cpp',
+ 'runtime/JSGlobalObjectFunctions.h',
+ 'runtime/JSImmediate.cpp',
+ 'runtime/JSImmediate.h',
+ 'runtime/JSLock.cpp',
+ 'runtime/JSLock.h',
+ 'runtime/JSNotAnObject.cpp',
+ 'runtime/JSNotAnObject.h',
+ 'runtime/JSNumberCell.cpp',
+ 'runtime/JSNumberCell.h',
+ 'runtime/JSObject.cpp',
+ 'runtime/JSObject.h',
+ 'runtime/JSONObject.cpp',
+ 'runtime/JSONObject.h',
+ 'runtime/JSPropertyNameIterator.cpp',
+ 'runtime/JSPropertyNameIterator.h',
+ 'runtime/JSStaticScopeObject.cpp',
+ 'runtime/JSStaticScopeObject.h',
+ 'runtime/JSString.cpp',
+ 'runtime/JSString.h',
+ 'runtime/JSType.h',
+ 'runtime/JSValue.cpp',
+ 'runtime/JSValue.h',
+ 'runtime/JSVariableObject.cpp',
+ 'runtime/JSVariableObject.h',
+ 'runtime/JSWrapperObject.cpp',
+ 'runtime/JSWrapperObject.h',
+ 'runtime/LiteralParser.cpp',
+ 'runtime/LiteralParser.h',
+ 'runtime/Lookup.cpp',
+ 'runtime/Lookup.h',
+ 'runtime/MathObject.cpp',
+ 'runtime/MathObject.h',
+ 'runtime/NativeErrorConstructor.cpp',
+ 'runtime/NativeErrorConstructor.h',
+ 'runtime/NativeErrorPrototype.cpp',
+ 'runtime/NativeErrorPrototype.h',
+ 'runtime/NativeFunctionWrapper.h',
+ 'runtime/NumberConstructor.cpp',
+ 'runtime/NumberConstructor.h',
+ 'runtime/NumberObject.cpp',
+ 'runtime/NumberObject.h',
+ 'runtime/NumberPrototype.cpp',
+ 'runtime/NumberPrototype.h',
+ 'runtime/ObjectConstructor.cpp',
+ 'runtime/ObjectConstructor.h',
+ 'runtime/ObjectPrototype.cpp',
+ 'runtime/ObjectPrototype.h',
+ 'runtime/Operations.cpp',
+ 'runtime/Operations.h',
+ 'runtime/PropertyMapHashTable.h',
+ 'runtime/PropertyNameArray.cpp',
+ 'runtime/PropertyNameArray.h',
+ 'runtime/PropertySlot.cpp',
+ 'runtime/PropertySlot.h',
+ 'runtime/Protect.h',
+ 'runtime/PrototypeFunction.cpp',
+ 'runtime/PrototypeFunction.h',
+ 'runtime/PutPropertySlot.h',
+ 'runtime/RegExp.cpp',
+ 'runtime/RegExp.h',
+ 'runtime/RegExpConstructor.cpp',
+ 'runtime/RegExpConstructor.h',
+ 'runtime/RegExpMatchesArray.h',
+ 'runtime/RegExpObject.cpp',
+ 'runtime/RegExpObject.h',
+ 'runtime/RegExpPrototype.cpp',
+ 'runtime/RegExpPrototype.h',
+ 'runtime/ScopeChain.cpp',
+ 'runtime/ScopeChain.h',
+ 'runtime/ScopeChainMark.h',
+ 'runtime/SmallStrings.cpp',
+ 'runtime/SmallStrings.h',
+ 'runtime/StringConstructor.cpp',
+ 'runtime/StringConstructor.h',
+ 'runtime/StringObject.cpp',
+ 'runtime/StringObject.h',
+ 'runtime/StringObjectThatMasqueradesAsUndefined.h',
+ 'runtime/StringPrototype.cpp',
+ 'runtime/StringPrototype.h',
+ 'runtime/Structure.cpp',
+ 'runtime/Structure.h',
+ 'runtime/StructureChain.cpp',
+ 'runtime/StructureChain.h',
+ 'runtime/StructureTransitionTable.h',
+ 'runtime/SymbolTable.h',
+ 'runtime/TimeoutChecker.cpp',
+ 'runtime/TimeoutChecker.h',
+ 'runtime/Tracing.h',
+ 'runtime/TypeInfo.h',
+ 'runtime/UString.cpp',
+ 'runtime/UString.h',
+ 'wrec/CharacterClass.cpp',
+ 'wrec/CharacterClass.h',
+ 'wrec/CharacterClassConstructor.cpp',
+ 'wrec/CharacterClassConstructor.h',
+ 'wrec/Escapes.h',
+ 'wrec/Quantifier.h',
+ 'wrec/WREC.cpp',
+ 'wrec/WREC.h',
+ 'wrec/WRECFunctors.cpp',
+ 'wrec/WRECFunctors.h',
+ 'wrec/WRECGenerator.cpp',
+ 'wrec/WRECGenerator.h',
+ 'wrec/WRECParser.cpp',
+ 'wrec/WRECParser.h',
+ 'wtf/AlwaysInline.h',
+ 'wtf/ASCIICType.h',
+ 'wtf/Assertions.cpp',
+ 'wtf/Assertions.h',
+ 'wtf/AVLTree.h',
+ 'wtf/ByteArray.cpp',
+ 'wtf/ByteArray.h',
+ 'wtf/chromium/ChromiumThreading.h',
+ 'wtf/chromium/MainThreadChromium.cpp',
+ 'wtf/CrossThreadRefCounted.h',
+ 'wtf/CurrentTime.cpp',
+ 'wtf/CurrentTime.h',
+ 'wtf/DateMath.cpp',
+ 'wtf/DateMath.h',
+ 'wtf/Deque.h',
+ 'wtf/DisallowCType.h',
+ 'wtf/dtoa.cpp',
+ 'wtf/dtoa.h',
+ 'wtf/FastAllocBase.h',
+ 'wtf/FastMalloc.cpp',
+ 'wtf/FastMalloc.h',
+ 'wtf/Forward.h',
+ 'wtf/GetPtr.h',
+ 'wtf/GOwnPtr.cpp',
+ 'wtf/GOwnPtr.h',
+ 'wtf/gtk/MainThreadGtk.cpp',
+ 'wtf/gtk/ThreadingGtk.cpp',
+ 'wtf/HashCountedSet.h',
+ 'wtf/HashFunctions.h',
+ 'wtf/HashIterators.h',
+ 'wtf/HashMap.h',
+ 'wtf/HashSet.h',
+ 'wtf/HashTable.cpp',
+ 'wtf/HashTable.h',
+ 'wtf/HashTraits.h',
+ 'wtf/ListHashSet.h',
+ 'wtf/ListRefPtr.h',
+ 'wtf/Locker.h',
+ 'wtf/MainThread.cpp',
+ 'wtf/MainThread.h',
+ 'wtf/MallocZoneSupport.h',
+ 'wtf/MathExtras.h',
+ 'wtf/MessageQueue.h',
+ 'wtf/Noncopyable.h',
+ 'wtf/NotFound.h',
+ 'wtf/OwnArrayPtr.h',
+ 'wtf/OwnFastMallocPtr.h',
+ 'wtf/OwnPtr.h',
+ 'wtf/OwnPtrCommon.h',
+ 'wtf/OwnPtrWin.cpp',
+ 'wtf/PassOwnPtr.h',
+ 'wtf/PassRefPtr.h',
+ 'wtf/Platform.h',
+ 'wtf/PtrAndFlags.h',
+ 'wtf/qt/MainThreadQt.cpp',
+ 'wtf/qt/ThreadingQt.cpp',
+ 'wtf/RandomNumber.cpp',
+ 'wtf/RandomNumber.h',
+ 'wtf/RandomNumberSeed.h',
+ 'wtf/RefCounted.h',
+ 'wtf/RefCountedLeakCounter.cpp',
+ 'wtf/RefCountedLeakCounter.h',
+ 'wtf/RefPtr.h',
+ 'wtf/RefPtrHashMap.h',
+ 'wtf/RetainPtr.h',
+ 'wtf/SegmentedVector.h',
+ 'wtf/StdLibExtras.h',
+ 'wtf/StringExtras.h',
+ 'wtf/TCPackedCache.h',
+ 'wtf/TCPageMap.h',
+ 'wtf/TCSpinLock.h',
+ 'wtf/TCSystemAlloc.cpp',
+ 'wtf/TCSystemAlloc.h',
+ 'wtf/Threading.cpp',
+ 'wtf/Threading.h',
+ 'wtf/ThreadingNone.cpp',
+ 'wtf/ThreadingPthreads.cpp',
+ 'wtf/ThreadingWin.cpp',
+ 'wtf/ThreadSpecific.h',
+ 'wtf/ThreadSpecificWin.cpp',
+ 'wtf/TypeTraits.cpp',
+ 'wtf/TypeTraits.h',
+ 'wtf/unicode/Collator.h',
+ 'wtf/unicode/CollatorDefault.cpp',
+ 'wtf/unicode/glib/UnicodeGLib.cpp',
+ 'wtf/unicode/glib/UnicodeGLib.h',
+ 'wtf/unicode/glib/UnicodeMacrosFromICU.h',
+ 'wtf/unicode/icu/CollatorICU.cpp',
+ 'wtf/unicode/icu/UnicodeIcu.h',
+ 'wtf/unicode/qt4/UnicodeQt4.h',
+ 'wtf/unicode/Unicode.h',
+ 'wtf/unicode/UTF8.cpp',
+ 'wtf/unicode/UTF8.h',
+ 'wtf/UnusedParam.h',
+ 'wtf/Vector.h',
+ 'wtf/VectorTraits.h',
+ 'wtf/VMTags.h',
+ 'wtf/win/MainThreadWin.cpp',
+ 'wtf/wx/MainThreadWx.cpp',
+ 'yarr/RegexCompiler.cpp',
+ 'yarr/RegexCompiler.h',
+ 'yarr/RegexInterpreter.cpp',
+ 'yarr/RegexInterpreter.h',
+ 'yarr/RegexJIT.cpp',
+ 'yarr/RegexJIT.h',
+ 'yarr/RegexParser.h',
+ 'yarr/RegexPattern.h',
+ ]
+ }
+}
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
index dbc467d..b43602e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pri
@@ -9,24 +9,26 @@ CONFIG(debug, debug|release) {
OBJECTS_DIR = obj/release
}
-INCLUDEPATH += $$GENERATED_SOURCES_DIR \
- $$PWD \
- $$PWD/parser \
- $$PWD/bytecompiler \
- $$PWD/debugger \
- $$PWD/runtime \
- $$PWD/wtf \
- $$PWD/wtf/unicode \
- $$PWD/interpreter \
- $$PWD/jit \
- $$PWD/profiler \
- $$PWD/wrec \
- $$PWD/yarr \
- $$PWD/API \
- $$PWD/.. \
- $$PWD/ForwardingHeaders \
- $$PWD/bytecode \
- $$PWD/assembler \
+INCLUDEPATH = \
+ $$PWD \
+ $$PWD/.. \
+ $$PWD/assembler \
+ $$PWD/bytecode \
+ $$PWD/bytecompiler \
+ $$PWD/debugger \
+ $$PWD/interpreter \
+ $$PWD/jit \
+ $$PWD/parser \
+ $$PWD/profiler \
+ $$PWD/runtime \
+ $$PWD/wrec \
+ $$PWD/wtf \
+ $$PWD/wtf/unicode \
+ $$PWD/yarr \
+ $$PWD/API \
+ $$PWD/ForwardingHeaders \
+ $$GENERATED_SOURCES_DIR \
+ $$INCLUDEPATH
DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF
@@ -35,34 +37,17 @@ win32-* {
LIBS += -lwinmm
}
-# Default rules to turn JIT on/off
-!contains(DEFINES, ENABLE_JIT=.) {
- isEqual(QT_ARCH,i386)|isEqual(QT_ARCH,windows) {
- # Require gcc >= 4.1
- CONFIG(release):linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
- DEFINES += ENABLE_JIT=1
- }
- win32-msvc* {
- DEFINES += ENABLE_JIT=1
- }
- }
+# In debug mode JIT disabled until crash fixed
+win32-* {
+ CONFIG(debug):!contains(DEFINES, ENABLE_JIT=1): DEFINES+=ENABLE_JIT=0
}
-# Rules when JIT enabled
-contains(DEFINES, ENABLE_JIT=1) {
- !contains(DEFINES, ENABLE_YARR=.): DEFINES += ENABLE_YARR=1
- !contains(DEFINES, ENABLE_YARR_JIT=.): DEFINES += ENABLE_YARR_JIT=1
- !contains(DEFINES, ENABLE_JIT_OPTIMIZE_CALL=.): DEFINES += ENABLE_JIT_OPTIMIZE_CALL=1
- !contains(DEFINES, ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS=.): DEFINES += ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS=1
- !contains(DEFINES, ENABLE_JIT_OPTIMIZE_ARITHMETIC=.): DEFINES += ENABLE_JIT_OPTIMIZE_ARITHMETIC=1
- linux-g++* {
- !contains(DEFINES, WTF_USE_JIT_STUB_ARGUMENT_VA_LIST=.): DEFINES += WTF_USE_JIT_STUB_ARGUMENT_VA_LIST=1
+# Rules when JIT enabled (not disabled)
+!contains(DEFINES, ENABLE_JIT=0) {
+ linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
QMAKE_CXXFLAGS += -fno-stack-protector
QMAKE_CFLAGS += -fno-stack-protector
}
- win32-msvc* {
- !contains(DEFINES, WTF_USE_JIT_STUB_ARGUMENT_REGISTER=.): DEFINES += WTF_USE_JIT_STUB_ARGUMENT_REGISTER=1
- }
}
win32-msvc*: INCLUDEPATH += $$PWD/os-win32
@@ -124,6 +109,7 @@ SOURCES += \
bytecode/CodeBlock.cpp \
bytecode/StructureStubInfo.cpp \
bytecode/JumpTable.cpp \
+ assembler/ARMAssembler.cpp \
jit/JIT.cpp \
jit/JITCall.cpp \
jit/JITArithmetic.cpp \
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
index 28f0e6b..f881c05 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
@@ -33,8 +33,6 @@ INCLUDEPATH += $$GENERATED_SOURCES_DIR
}
}
-include($$OUTPUT_DIR/config.pri)
-
CONFIG -= warn_on
*-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing
#QMAKE_CXXFLAGS += -Wall -Wno-undef -Wno-unused-parameter
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp
new file mode 100644
index 0000000..dafc482
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.cpp
@@ -0,0 +1,353 @@
+/*
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#include "ARMAssembler.h"
+
+namespace JSC {
+
+// Patching helpers
+
+ARMWord* ARMAssembler::getLdrImmAddress(ARMWord* insn, uint32_t* constPool)
+{
+ // Must be an ldr ..., [pc +/- imm]
+ ASSERT((*insn & 0x0f7f0000) == 0x051f0000);
+
+ if (constPool && (*insn & 0x1))
+ return reinterpret_cast<ARMWord*>(constPool + ((*insn & SDT_OFFSET_MASK) >> 1));
+
+ ARMWord addr = reinterpret_cast<ARMWord>(insn) + 2 * sizeof(ARMWord);
+ if (*insn & DT_UP)
+ return reinterpret_cast<ARMWord*>(addr + (*insn & SDT_OFFSET_MASK));
+ else
+ return reinterpret_cast<ARMWord*>(addr - (*insn & SDT_OFFSET_MASK));
+}
+
+void ARMAssembler::linkBranch(void* code, JmpSrc from, void* to)
+{
+ ARMWord* insn = reinterpret_cast<ARMWord*>(code) + (from.m_offset / sizeof(ARMWord));
+
+ if (!from.m_latePatch) {
+ int diff = reinterpret_cast<ARMWord*>(to) - reinterpret_cast<ARMWord*>(insn + 2);
+
+ if ((diff <= BOFFSET_MAX && diff >= BOFFSET_MIN)) {
+ *insn = B | getConditionalField(*insn) | (diff & BRANCH_MASK);
+ ExecutableAllocator::cacheFlush(insn, sizeof(ARMWord));
+ return;
+ }
+ }
+ ARMWord* addr = getLdrImmAddress(insn);
+ *addr = reinterpret_cast<ARMWord>(to);
+ ExecutableAllocator::cacheFlush(addr, sizeof(ARMWord));
+}
+
+void ARMAssembler::patchConstantPoolLoad(void* loadAddr, void* constPoolAddr)
+{
+ ARMWord *ldr = reinterpret_cast<ARMWord*>(loadAddr);
+ ARMWord diff = reinterpret_cast<ARMWord*>(constPoolAddr) - ldr;
+ ARMWord index = (*ldr & 0xfff) >> 1;
+
+ ASSERT(diff >= 1);
+ if (diff >= 2 || index > 0) {
+ diff = (diff + index - 2) * sizeof(ARMWord);
+ ASSERT(diff <= 0xfff);
+ *ldr = (*ldr & ~0xfff) | diff;
+ } else
+ *ldr = (*ldr & ~(0xfff | ARMAssembler::DT_UP)) | sizeof(ARMWord);
+}
+
+// Handle immediates
+
+ARMWord ARMAssembler::getOp2(ARMWord imm)
+{
+ int rol;
+
+ if (imm <= 0xff)
+ return OP2_IMM | imm;
+
+ if ((imm & 0xff000000) == 0) {
+ imm <<= 8;
+ rol = 8;
+ }
+ else {
+ imm = (imm << 24) | (imm >> 8);
+ rol = 0;
+ }
+
+ if ((imm & 0xff000000) == 0) {
+ imm <<= 8;
+ rol += 4;
+ }
+
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ if ((imm & 0x00ffffff) == 0)
+ return OP2_IMM | (imm >> 24) | (rol << 8);
+
+ return 0;
+}
+
+int ARMAssembler::genInt(int reg, ARMWord imm, bool positive)
+{
+ // Step1: Search a non-immediate part
+ ARMWord mask;
+ ARMWord imm1;
+ ARMWord imm2;
+ int rol;
+
+ mask = 0xff000000;
+ rol = 8;
+ while(1) {
+ if ((imm & mask) == 0) {
+ imm = (imm << rol) | (imm >> (32 - rol));
+ rol = 4 + (rol >> 1);
+ break;
+ }
+ rol += 2;
+ mask >>= 2;
+ if (mask & 0x3) {
+ // rol 8
+ imm = (imm << 8) | (imm >> 24);
+ mask = 0xff00;
+ rol = 24;
+ while (1) {
+ if ((imm & mask) == 0) {
+ imm = (imm << rol) | (imm >> (32 - rol));
+ rol = (rol >> 1) - 8;
+ break;
+ }
+ rol += 2;
+ mask >>= 2;
+ if (mask & 0x3)
+ return 0;
+ }
+ break;
+ }
+ }
+
+ ASSERT((imm & 0xff) == 0);
+
+ if ((imm & 0xff000000) == 0) {
+ imm1 = OP2_IMM | ((imm >> 16) & 0xff) | (((rol + 4) & 0xf) << 8);
+ imm2 = OP2_IMM | ((imm >> 8) & 0xff) | (((rol + 8) & 0xf) << 8);
+ } else if (imm & 0xc0000000) {
+ imm1 = OP2_IMM | ((imm >> 24) & 0xff) | ((rol & 0xf) << 8);
+ imm <<= 8;
+ rol += 4;
+
+ if ((imm & 0xff000000) == 0) {
+ imm <<= 8;
+ rol += 4;
+ }
+
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ if ((imm & 0x00ffffff) == 0)
+ imm2 = OP2_IMM | (imm >> 24) | ((rol & 0xf) << 8);
+ else
+ return 0;
+ } else {
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ imm1 = OP2_IMM | ((imm >> 24) & 0xff) | ((rol & 0xf) << 8);
+ imm <<= 8;
+ rol += 4;
+
+ if ((imm & 0xf0000000) == 0) {
+ imm <<= 4;
+ rol += 2;
+ }
+
+ if ((imm & 0xc0000000) == 0) {
+ imm <<= 2;
+ rol += 1;
+ }
+
+ if ((imm & 0x00ffffff) == 0)
+ imm2 = OP2_IMM | (imm >> 24) | ((rol & 0xf) << 8);
+ else
+ return 0;
+ }
+
+ if (positive) {
+ mov_r(reg, imm1);
+ orr_r(reg, reg, imm2);
+ } else {
+ mvn_r(reg, imm1);
+ bic_r(reg, reg, imm2);
+ }
+
+ return 1;
+}
+
+ARMWord ARMAssembler::getImm(ARMWord imm, int tmpReg, bool invert)
+{
+ ARMWord tmp;
+
+ // Do it by 1 instruction
+ tmp = getOp2(imm);
+ if (tmp)
+ return tmp;
+
+ tmp = getOp2(~imm);
+ if (tmp) {
+ if (invert)
+ return tmp | OP2_INV_IMM;
+ mvn_r(tmpReg, tmp);
+ return tmpReg;
+ }
+
+ // Do it by 2 instruction
+ if (genInt(tmpReg, imm, true))
+ return tmpReg;
+ if (genInt(tmpReg, ~imm, false))
+ return tmpReg;
+
+ ldr_imm(tmpReg, imm);
+ return tmpReg;
+}
+
+void ARMAssembler::moveImm(ARMWord imm, int dest)
+{
+ ARMWord tmp;
+
+ // Do it by 1 instruction
+ tmp = getOp2(imm);
+ if (tmp) {
+ mov_r(dest, tmp);
+ return;
+ }
+
+ tmp = getOp2(~imm);
+ if (tmp) {
+ mvn_r(dest, tmp);
+ return;
+ }
+
+ // Do it by 2 instruction
+ if (genInt(dest, imm, true))
+ return;
+ if (genInt(dest, ~imm, false))
+ return;
+
+ ldr_imm(dest, imm);
+}
+
+// Memory load/store helpers
+
+void ARMAssembler::dataTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, int32_t offset)
+{
+ if (offset >= 0) {
+ if (offset <= 0xfff)
+ dtr_u(isLoad, srcDst, base, offset);
+ else if (offset <= 0xfffff) {
+ add_r(ARM::S0, base, OP2_IMM | (offset >> 12) | (10 << 8));
+ dtr_u(isLoad, srcDst, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = getImm(offset, ARM::S0);
+ dtr_ur(isLoad, srcDst, base, reg);
+ }
+ } else {
+ offset = -offset;
+ if (offset <= 0xfff)
+ dtr_d(isLoad, srcDst, base, offset);
+ else if (offset <= 0xfffff) {
+ sub_r(ARM::S0, base, OP2_IMM | (offset >> 12) | (10 << 8));
+ dtr_d(isLoad, srcDst, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = getImm(offset, ARM::S0);
+ dtr_dr(isLoad, srcDst, base, reg);
+ }
+ }
+}
+
+void ARMAssembler::baseIndexTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, RegisterID index, int scale, int32_t offset)
+{
+ ARMWord op2;
+
+ ASSERT(scale >= 0 && scale <= 3);
+ op2 = lsl(index, scale);
+
+ if (offset >= 0 && offset <= 0xfff) {
+ add_r(ARM::S0, base, op2);
+ dtr_u(isLoad, srcDst, ARM::S0, offset);
+ return;
+ }
+ if (offset <= 0 && offset >= -0xfff) {
+ add_r(ARM::S0, base, op2);
+ dtr_d(isLoad, srcDst, ARM::S0, -offset);
+ return;
+ }
+
+ moveImm(offset, ARM::S0);
+ add_r(ARM::S0, ARM::S0, op2);
+ dtr_ur(isLoad, srcDst, base, ARM::S0);
+}
+
+void* ARMAssembler::executableCopy(ExecutablePool* allocator)
+{
+ char* data = reinterpret_cast<char*>(m_buffer.executableCopy(allocator));
+
+ for (Jumps::Iterator iter = m_jumps.begin(); iter != m_jumps.end(); ++iter) {
+ ARMWord* ldrAddr = reinterpret_cast<ARMWord*>(data + *iter);
+ ARMWord* offset = getLdrImmAddress(ldrAddr);
+ if (*offset != 0xffffffff)
+ linkBranch(data, JmpSrc(*iter), data + *offset);
+ }
+
+ return data;
+}
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM)
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h
new file mode 100644
index 0000000..d6bb43e
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMAssembler.h
@@ -0,0 +1,706 @@
+/*
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ARMAssembler_h
+#define ARMAssembler_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#include "AssemblerBufferWithConstantPool.h"
+#include <wtf/Assertions.h>
+namespace JSC {
+
+typedef uint32_t ARMWord;
+
+namespace ARM {
+ typedef enum {
+ r0 = 0,
+ r1,
+ r2,
+ r3,
+ S0 = r3,
+ r4,
+ r5,
+ r6,
+ r7,
+ r8,
+ S1 = r8,
+ r9,
+ r10,
+ r11,
+ r12,
+ r13,
+ sp = r13,
+ r14,
+ lr = r14,
+ r15,
+ pc = r15
+ } RegisterID;
+
+ typedef enum {
+ fp0 //FIXME
+ } FPRegisterID;
+} // namespace ARM
+
+ class ARMAssembler {
+ public:
+ typedef ARM::RegisterID RegisterID;
+ typedef ARM::FPRegisterID FPRegisterID;
+ typedef AssemblerBufferWithConstantPool<2048, 4, 4, ARMAssembler> ARMBuffer;
+ typedef WTF::SegmentedVector<int, 64> Jumps;
+
+ ARMAssembler() { }
+
+ // ARM conditional constants
+ typedef enum {
+ EQ = 0x00000000, // Zero
+ NE = 0x10000000, // Non-zero
+ CS = 0x20000000,
+ CC = 0x30000000,
+ MI = 0x40000000,
+ PL = 0x50000000,
+ VS = 0x60000000,
+ VC = 0x70000000,
+ HI = 0x80000000,
+ LS = 0x90000000,
+ GE = 0xa0000000,
+ LT = 0xb0000000,
+ GT = 0xc0000000,
+ LE = 0xd0000000,
+ AL = 0xe0000000
+ } Condition;
+
+ // ARM instruction constants
+ enum {
+ AND = (0x0 << 21),
+ EOR = (0x1 << 21),
+ SUB = (0x2 << 21),
+ RSB = (0x3 << 21),
+ ADD = (0x4 << 21),
+ ADC = (0x5 << 21),
+ SBC = (0x6 << 21),
+ RSC = (0x7 << 21),
+ TST = (0x8 << 21),
+ TEQ = (0x9 << 21),
+ CMP = (0xa << 21),
+ CMN = (0xb << 21),
+ ORR = (0xc << 21),
+ MOV = (0xd << 21),
+ BIC = (0xe << 21),
+ MVN = (0xf << 21),
+ MUL = 0x00000090,
+ MULL = 0x00c00090,
+ DTR = 0x05000000,
+ LDRH = 0x00100090,
+ STRH = 0x00000090,
+ STMDB = 0x09200000,
+ LDMIA = 0x08b00000,
+ B = 0x0a000000,
+ BL = 0x0b000000,
+#if ARM_ARCH_VERSION >= 5
+ CLZ = 0x016f0f10,
+ BKPT = 0xe120070,
+#endif
+ };
+
+ enum {
+ OP2_IMM = (1 << 25),
+ OP2_IMMh = (1 << 22),
+ OP2_INV_IMM = (1 << 26),
+ SET_CC = (1 << 20),
+ OP2_OFSREG = (1 << 25),
+ DT_UP = (1 << 23),
+ DT_WB = (1 << 21),
+ // This flag is inlcuded in LDR and STR
+ DT_PRE = (1 << 24),
+ HDT_UH = (1 << 5),
+ DT_LOAD = (1 << 20),
+ };
+
+ // Masks of ARM instructions
+ enum {
+ BRANCH_MASK = 0x00ffffff,
+ NONARM = 0xf0000000,
+ SDT_MASK = 0x0c000000,
+ SDT_OFFSET_MASK = 0xfff,
+ };
+
+ enum {
+ BOFFSET_MIN = -0x00800000,
+ BOFFSET_MAX = 0x007fffff,
+ SDT = 0x04000000,
+ };
+
+ enum {
+ padForAlign8 = 0x00,
+ padForAlign16 = 0x0000,
+ padForAlign32 = 0xee120070,
+ };
+
+ class JmpSrc {
+ friend class ARMAssembler;
+ public:
+ JmpSrc()
+ : m_offset(-1)
+ , m_latePatch(false)
+ {
+ }
+
+ void enableLatePatch() { m_latePatch = true; }
+ private:
+ JmpSrc(int offset)
+ : m_offset(offset)
+ , m_latePatch(false)
+ {
+ }
+
+ int m_offset : 31;
+ int m_latePatch : 1;
+ };
+
+ class JmpDst {
+ friend class ARMAssembler;
+ public:
+ JmpDst()
+ : m_offset(-1)
+ , m_used(false)
+ {
+ }
+
+ bool isUsed() const { return m_used; }
+ void used() { m_used = true; }
+ private:
+ JmpDst(int offset)
+ : m_offset(offset)
+ , m_used(false)
+ {
+ ASSERT(m_offset == offset);
+ }
+
+ int m_offset : 31;
+ int m_used : 1;
+ };
+
+ // Instruction formating
+
+ void emitInst(ARMWord op, int rd, int rn, ARMWord op2)
+ {
+ ASSERT ( ((op2 & ~OP2_IMM) <= 0xfff) || (((op2 & ~OP2_IMMh) <= 0xfff)) );
+ m_buffer.putInt(op | RN(rn) | RD(rd) | op2);
+ }
+
+ void and_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | AND, rd, rn, op2);
+ }
+
+ void ands_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | AND | SET_CC, rd, rn, op2);
+ }
+
+ void eor_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | EOR, rd, rn, op2);
+ }
+
+ void eors_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | EOR | SET_CC, rd, rn, op2);
+ }
+
+ void sub_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SUB, rd, rn, op2);
+ }
+
+ void subs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SUB | SET_CC, rd, rn, op2);
+ }
+
+ void rsb_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSB, rd, rn, op2);
+ }
+
+ void rsbs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSB | SET_CC, rd, rn, op2);
+ }
+
+ void add_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADD, rd, rn, op2);
+ }
+
+ void adds_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADD | SET_CC, rd, rn, op2);
+ }
+
+ void adc_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADC, rd, rn, op2);
+ }
+
+ void adcs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ADC | SET_CC, rd, rn, op2);
+ }
+
+ void sbc_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SBC, rd, rn, op2);
+ }
+
+ void sbcs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | SBC | SET_CC, rd, rn, op2);
+ }
+
+ void rsc_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSC, rd, rn, op2);
+ }
+
+ void rscs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | RSC | SET_CC, rd, rn, op2);
+ }
+
+ void tst_r(int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | TST | SET_CC, 0, rn, op2);
+ }
+
+ void teq_r(int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | TEQ | SET_CC, 0, rn, op2);
+ }
+
+ void cmp_r(int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | CMP | SET_CC, 0, rn, op2);
+ }
+
+ void orr_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ORR, rd, rn, op2);
+ }
+
+ void orrs_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | ORR | SET_CC, rd, rn, op2);
+ }
+
+ void mov_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MOV, rd, ARM::r0, op2);
+ }
+
+ void movs_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MOV | SET_CC, rd, ARM::r0, op2);
+ }
+
+ void bic_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | BIC, rd, rn, op2);
+ }
+
+ void bics_r(int rd, int rn, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | BIC | SET_CC, rd, rn, op2);
+ }
+
+ void mvn_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MVN, rd, ARM::r0, op2);
+ }
+
+ void mvns_r(int rd, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | MVN | SET_CC, rd, ARM::r0, op2);
+ }
+
+ void mul_r(int rd, int rn, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | MUL | RN(rd) | RS(rn) | RM(rm));
+ }
+
+ void muls_r(int rd, int rn, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | MUL | SET_CC | RN(rd) | RS(rn) | RM(rm));
+ }
+
+ void mull_r(int rdhi, int rdlo, int rn, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | MULL | RN(rdhi) | RD(rdlo) | RS(rn) | RM(rm));
+ }
+
+ void ldr_imm(int rd, ARMWord imm, Condition cc = AL)
+ {
+ m_buffer.putIntWithConstantInt(static_cast<ARMWord>(cc) | DTR | DT_LOAD | DT_UP | RN(ARM::pc) | RD(rd), imm, true);
+ }
+
+ void ldr_un_imm(int rd, ARMWord imm, Condition cc = AL)
+ {
+ m_buffer.putIntWithConstantInt(static_cast<ARMWord>(cc) | DTR | DT_LOAD | DT_UP | RN(ARM::pc) | RD(rd), imm);
+ }
+
+ void dtr_u(bool isLoad, int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0) | DT_UP, rd, rb, op2);
+ }
+
+ void dtr_ur(bool isLoad, int rd, int rb, int rm, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0) | DT_UP | OP2_OFSREG, rd, rb, rm);
+ }
+
+ void dtr_d(bool isLoad, int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0), rd, rb, op2);
+ }
+
+ void dtr_dr(bool isLoad, int rd, int rb, int rm, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | DTR | (isLoad ? DT_LOAD : 0) | OP2_OFSREG, rd, rb, rm);
+ }
+
+ void ldrh_r(int rd, int rn, int rm, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | LDRH | HDT_UH | DT_UP | DT_PRE, rd, rn, rm);
+ }
+
+ void ldrh_d(int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | LDRH | HDT_UH | DT_PRE, rd, rb, op2);
+ }
+
+ void ldrh_u(int rd, int rb, ARMWord op2, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | LDRH | HDT_UH | DT_UP | DT_PRE, rd, rb, op2);
+ }
+
+ void strh_r(int rn, int rm, int rd, Condition cc = AL)
+ {
+ emitInst(static_cast<ARMWord>(cc) | STRH | HDT_UH | DT_UP | DT_PRE, rd, rn, rm);
+ }
+
+ void push_r(int reg, Condition cc = AL)
+ {
+ ASSERT(ARMWord(reg) <= 0xf);
+ m_buffer.putInt(cc | DTR | DT_WB | RN(ARM::sp) | RD(reg) | 0x4);
+ }
+
+ void pop_r(int reg, Condition cc = AL)
+ {
+ ASSERT(ARMWord(reg) <= 0xf);
+ m_buffer.putInt(cc | (DTR ^ DT_PRE) | DT_LOAD | DT_UP | RN(ARM::sp) | RD(reg) | 0x4);
+ }
+
+ inline void poke_r(int reg, Condition cc = AL)
+ {
+ dtr_d(false, ARM::sp, 0, reg, cc);
+ }
+
+ inline void peek_r(int reg, Condition cc = AL)
+ {
+ dtr_u(true, reg, ARM::sp, 0, cc);
+ }
+
+#if ARM_ARCH_VERSION >= 5
+ void clz_r(int rd, int rm, Condition cc = AL)
+ {
+ m_buffer.putInt(static_cast<ARMWord>(cc) | CLZ | RD(rd) | RM(rm));
+ }
+#endif
+
+ void bkpt(ARMWord value)
+ {
+#if ARM_ARCH_VERSION >= 5
+ m_buffer.putInt(BKPT | ((value & 0xff0) << 4) | (value & 0xf));
+#else
+ // Cannot access to Zero memory address
+ dtr_dr(true, ARM::S0, ARM::S0, ARM::S0);
+#endif
+ }
+
+ static ARMWord lsl(int reg, ARMWord value)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(value <= 0x1f);
+ return reg | (value << 7) | 0x00;
+ }
+
+ static ARMWord lsr(int reg, ARMWord value)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(value <= 0x1f);
+ return reg | (value << 7) | 0x20;
+ }
+
+ static ARMWord asr(int reg, ARMWord value)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(value <= 0x1f);
+ return reg | (value << 7) | 0x40;
+ }
+
+ static ARMWord lsl_r(int reg, int shiftReg)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(shiftReg <= ARM::pc);
+ return reg | (shiftReg << 8) | 0x10;
+ }
+
+ static ARMWord lsr_r(int reg, int shiftReg)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(shiftReg <= ARM::pc);
+ return reg | (shiftReg << 8) | 0x30;
+ }
+
+ static ARMWord asr_r(int reg, int shiftReg)
+ {
+ ASSERT(reg <= ARM::pc);
+ ASSERT(shiftReg <= ARM::pc);
+ return reg | (shiftReg << 8) | 0x50;
+ }
+
+ // General helpers
+
+ int size()
+ {
+ return m_buffer.size();
+ }
+
+ void ensureSpace(int insnSpace, int constSpace)
+ {
+ m_buffer.ensureSpace(insnSpace, constSpace);
+ }
+
+ JmpDst label()
+ {
+ return JmpDst(m_buffer.size());
+ }
+
+ JmpDst align(int alignment)
+ {
+ while (!m_buffer.isAligned(alignment))
+ mov_r(ARM::r0, ARM::r0);
+
+ return label();
+ }
+
+ JmpSrc jmp(Condition cc = AL)
+ {
+ int s = size();
+ ldr_un_imm(ARM::pc, 0xffffffff, cc);
+ m_jumps.append(s);
+ return JmpSrc(s);
+ }
+
+ void* executableCopy(ExecutablePool* allocator);
+
+ // Patching helpers
+
+ static ARMWord* getLdrImmAddress(ARMWord* insn, uint32_t* constPool = 0);
+ static void linkBranch(void* code, JmpSrc from, void* to);
+
+ static void patchPointerInternal(intptr_t from, void* to)
+ {
+ ARMWord* insn = reinterpret_cast<ARMWord*>(from);
+ ARMWord* addr = getLdrImmAddress(insn);
+ *addr = reinterpret_cast<ARMWord>(to);
+ ExecutableAllocator::cacheFlush(addr, sizeof(ARMWord));
+ }
+
+ static ARMWord patchConstantPoolLoad(ARMWord load, ARMWord value)
+ {
+ value = (value << 1) + 1;
+ ASSERT(!(value & ~0xfff));
+ return (load & ~0xfff) | value;
+ }
+
+ static void patchConstantPoolLoad(void* loadAddr, void* constPoolAddr);
+
+ // Patch pointers
+
+ static void linkPointer(void* code, JmpDst from, void* to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(code) + from.m_offset, to);
+ }
+
+ static void repatchInt32(void* from, int32_t to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(from), reinterpret_cast<void*>(to));
+ }
+
+ static void repatchPointer(void* from, void* to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(from), to);
+ }
+
+ static void repatchLoadPtrToLEA(void* from)
+ {
+ // On arm, this is a patch from LDR to ADD. It is restricted conversion,
+ // from special case to special case, altough enough for its purpose
+ ARMWord* insn = reinterpret_cast<ARMWord*>(from);
+ ASSERT((*insn & 0x0ff00f00) == 0x05900000);
+
+ *insn = (*insn & 0xf00ff0ff) | 0x02800000;
+ ExecutableAllocator::cacheFlush(insn, sizeof(ARMWord));
+ }
+
+ // Linkers
+
+ void linkJump(JmpSrc from, JmpDst to)
+ {
+ ARMWord* insn = reinterpret_cast<ARMWord*>(m_buffer.data()) + (from.m_offset / sizeof(ARMWord));
+ *getLdrImmAddress(insn, m_buffer.poolAddress()) = static_cast<ARMWord>(to.m_offset);
+ }
+
+ static void linkJump(void* code, JmpSrc from, void* to)
+ {
+ linkBranch(code, from, to);
+ }
+
+ static void relinkJump(void* from, void* to)
+ {
+ patchPointerInternal(reinterpret_cast<intptr_t>(from) - sizeof(ARMWord), to);
+ }
+
+ static void linkCall(void* code, JmpSrc from, void* to)
+ {
+ linkBranch(code, from, to);
+ }
+
+ static void relinkCall(void* from, void* to)
+ {
+ relinkJump(from, to);
+ }
+
+ // Address operations
+
+ static void* getRelocatedAddress(void* code, JmpSrc jump)
+ {
+ return reinterpret_cast<void*>(reinterpret_cast<ARMWord*>(code) + jump.m_offset / sizeof(ARMWord) + 1);
+ }
+
+ static void* getRelocatedAddress(void* code, JmpDst label)
+ {
+ return reinterpret_cast<void*>(reinterpret_cast<ARMWord*>(code) + label.m_offset / sizeof(ARMWord));
+ }
+
+ // Address differences
+
+ static int getDifferenceBetweenLabels(JmpDst from, JmpSrc to)
+ {
+ return (to.m_offset + sizeof(ARMWord)) - from.m_offset;
+ }
+
+ static int getDifferenceBetweenLabels(JmpDst from, JmpDst to)
+ {
+ return to.m_offset - from.m_offset;
+ }
+
+ static unsigned getCallReturnOffset(JmpSrc call)
+ {
+ return call.m_offset + sizeof(ARMWord);
+ }
+
+ // Handle immediates
+
+ static ARMWord getOp2Byte(ARMWord imm)
+ {
+ ASSERT(imm <= 0xff);
+ return OP2_IMMh | (imm & 0x0f) | ((imm & 0xf0) << 4) ;
+ }
+
+ static ARMWord getOp2(ARMWord imm);
+ ARMWord getImm(ARMWord imm, int tmpReg, bool invert = false);
+ void moveImm(ARMWord imm, int dest);
+
+ // Memory load/store helpers
+
+ void dataTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, int32_t offset);
+ void baseIndexTransfer32(bool isLoad, RegisterID srcDst, RegisterID base, RegisterID index, int scale, int32_t offset);
+
+ // Constant pool hnadlers
+
+ static ARMWord placeConstantPoolBarrier(int offset)
+ {
+ offset = (offset - sizeof(ARMWord)) >> 2;
+ ASSERT((offset <= BOFFSET_MAX && offset >= BOFFSET_MIN));
+ return AL | B | (offset & BRANCH_MASK);
+ }
+
+ private:
+ ARMWord RM(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg;
+ }
+
+ ARMWord RS(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg << 8;
+ }
+
+ ARMWord RD(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg << 12;
+ }
+
+ ARMWord RN(int reg)
+ {
+ ASSERT(reg <= ARM::pc);
+ return reg << 16;
+ }
+
+ static ARMWord getConditionalField(ARMWord i)
+ {
+ return i & 0xf0000000;
+ }
+
+ int genInt(int reg, ARMWord imm, bool positive);
+
+ ARMBuffer m_buffer;
+ Jumps m_jumps;
+ };
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#endif // ARMAssembler_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
index 9745d6d..f7e2fb4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/ARMv7Assembler.h
@@ -442,6 +442,7 @@ public:
{
}
+ void enableLatePatch() { }
private:
JmpSrc(int offset)
: m_offset(offset)
@@ -1528,51 +1529,51 @@ public:
ASSERT(from.m_offset != -1);
ASSERT(reinterpret_cast<intptr_t>(to) & 1);
- patchPointer(reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(code) + from.m_offset) - 1, to);
+ setPointer(reinterpret_cast<uint16_t*>(reinterpret_cast<intptr_t>(code) + from.m_offset) - 1, to);
}
- static void patchPointer(void* code, JmpDst where, void* value)
+ static void linkPointer(void* code, JmpDst where, void* value)
{
- patchPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
+ setPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
}
static void relinkJump(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(from) - 2, 2 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(from) & 1));
ASSERT(!(reinterpret_cast<intptr_t>(to) & 1));
intptr_t relative = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(from);
linkWithOffset(reinterpret_cast<uint16_t*>(from), relative);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(from) - 2, 2 * sizeof(uint16_t));
}
static void relinkCall(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(from) - 5, 4 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(from) & 1));
ASSERT(reinterpret_cast<intptr_t>(to) & 1);
- patchPointer(reinterpret_cast<uint16_t*>(from) - 1, to);
+ setPointer(reinterpret_cast<uint16_t*>(from) - 1, to);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(from) - 5, 4 * sizeof(uint16_t));
}
static void repatchInt32(void* where, int32_t value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(where) & 1));
- patchInt32(where, value);
+ setInt32(where, value);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
}
static void repatchPointer(void* where, void* value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
-
ASSERT(!(reinterpret_cast<intptr_t>(where) & 1));
- patchPointer(where, value);
+ setPointer(where, value);
+
+ ExecutableAllocator::cacheFlush(reinterpret_cast<uint16_t*>(where) - 4, 4 * sizeof(uint16_t));
}
static void repatchLoadPtrToLEA(void* where)
@@ -1582,8 +1583,8 @@ public:
uint16_t* loadOp = reinterpret_cast<uint16_t*>(where) + 4;
ASSERT((*loadOp & 0xfff0) == OP_LDR_reg_T2);
- ExecutableAllocator::MakeWritable unprotect(loadOp, sizeof(uint16_t));
*loadOp = OP_ADD_reg_T3 | (*loadOp & 0xf);
+ ExecutableAllocator::cacheFlush(loadOp, sizeof(uint16_t));
}
private:
@@ -1610,12 +1611,10 @@ private:
m_formatter.vfpOp(0x0b00ed00 | offset | (up << 7) | (isLoad << 4) | doubleRegisterMask(rd, 6, 28) | rn);
}
- static void patchInt32(void* code, uint32_t value)
+ static void setInt32(void* code, uint32_t value)
{
uint16_t* location = reinterpret_cast<uint16_t*>(code);
- ExecutableAllocator::MakeWritable unprotect(location - 4, 4 * sizeof(uint16_t));
-
uint16_t lo16 = value;
uint16_t hi16 = value >> 16;
@@ -1623,11 +1622,13 @@ private:
spliceLo11(location - 3, lo16);
spliceHi5(location - 2, hi16);
spliceLo11(location - 1, hi16);
+
+ ExecutableAllocator::cacheFlush(location - 4, 4 * sizeof(uint16_t));
}
- static void patchPointer(void* code, void* value)
+ static void setPointer(void* code, void* value)
{
- patchInt32(code, reinterpret_cast<uint32_t>(value));
+ setInt32(code, reinterpret_cast<uint32_t>(value));
}
// Linking & patching:
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h
index cf94677..95b5afc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AbstractMacroAssembler.h
@@ -35,22 +35,20 @@
#if ENABLE(ASSEMBLER)
-// FIXME: keep transitioning this out into MacroAssemblerX86_64.
-#if PLATFORM(X86_64)
-#define REPTACH_OFFSET_CALL_R11 3
-#endif
-
namespace JSC {
+class LinkBuffer;
+class RepatchBuffer;
+
template <class AssemblerType>
class AbstractMacroAssembler {
public:
+ typedef AssemblerType AssemblerType_T;
+
typedef MacroAssemblerCodePtr CodePtr;
typedef MacroAssemblerCodeRef CodeRef;
class Jump;
- class LinkBuffer;
- class RepatchBuffer;
typedef typename AssemblerType::RegisterID RegisterID;
typedef typename AssemblerType::FPRegisterID FPRegisterID;
@@ -292,7 +290,7 @@ public:
class Call {
template<class TemplateAssemblerType>
friend class AbstractMacroAssembler;
- friend class LinkBuffer;
+
public:
enum Flags {
None = 0x0,
@@ -322,8 +320,13 @@ public:
return Call(jump.m_jmp, Linkable);
}
- private:
+ void enableLatePatch()
+ {
+ m_jmp.enableLatePatch();
+ }
+
JmpSrc m_jmp;
+ private:
Flags m_flags;
};
@@ -358,6 +361,11 @@ public:
masm->m_assembler.linkJump(m_jmp, label.m_label);
}
+ void enableLatePatch()
+ {
+ m_jmp.enableLatePatch();
+ }
+
private:
JmpSrc m_jmp;
};
@@ -406,254 +414,13 @@ public:
};
- // Section 3: LinkBuffer - utility to finalize code generation.
+ // Section 3: Misc admin methods
static CodePtr trampolineAt(CodeRef ref, Label label)
{
return CodePtr(AssemblerType::getRelocatedAddress(ref.m_code.dataLocation(), label.m_label));
}
- // LinkBuffer:
- //
- // This class assists in linking code generated by the macro assembler, once code generation
- // has been completed, and the code has been copied to is final location in memory. At this
- // time pointers to labels within the code may be resolved, and relative offsets to external
- // addresses may be fixed.
- //
- // Specifically:
- // * Jump objects may be linked to external targets,
- // * The address of Jump objects may taken, such that it can later be relinked.
- // * The return address of a Jump object representing a call may be acquired.
- // * The address of a Label pointing into the code may be resolved.
- // * The value referenced by a DataLabel may be fixed.
- //
- // FIXME: distinguish between Calls & Jumps (make a specific call to obtain the return
- // address of calls, as opposed to a point that can be used to later relink a Jump -
- // possibly wrap the later up in an object that can do just that).
- class LinkBuffer : public Noncopyable {
- public:
- // Note: Initialization sequence is significant, since executablePool is a PassRefPtr.
- // First, executablePool is copied into m_executablePool, then the initialization of
- // m_code uses m_executablePool, *not* executablePool, since this is no longer valid.
- LinkBuffer(AbstractMacroAssembler<AssemblerType>* masm, PassRefPtr<ExecutablePool> executablePool)
- : m_executablePool(executablePool)
- , m_code(masm->m_assembler.executableCopy(m_executablePool.get()))
- , m_size(masm->m_assembler.size())
-#ifndef NDEBUG
- , m_completed(false)
-#endif
- {
- }
-
- ~LinkBuffer()
- {
- ASSERT(m_completed);
- }
-
- // These methods are used to link or set values at code generation time.
-
- void link(Call call, FunctionPtr function)
- {
- ASSERT(call.isFlagSet(Call::Linkable));
-#if PLATFORM(X86_64)
- if (!call.isFlagSet(Call::Near)) {
- char* callLocation = reinterpret_cast<char*>(AssemblerType::getRelocatedAddress(code(), call.m_jmp)) - REPTACH_OFFSET_CALL_R11;
- AssemblerType::patchPointerForCall(callLocation, function.value());
- } else
-#endif
- AssemblerType::linkCall(code(), call.m_jmp, function.value());
- }
-
- void link(Jump jump, CodeLocationLabel label)
- {
- AssemblerType::linkJump(code(), jump.m_jmp, label.dataLocation());
- }
-
- void link(JumpList list, CodeLocationLabel label)
- {
- for (unsigned i = 0; i < list.m_jumps.size(); ++i)
- AssemblerType::linkJump(code(), list.m_jumps[i].m_jmp, label.dataLocation());
- }
-
- void patch(DataLabelPtr label, void* value)
- {
- AssemblerType::patchPointer(code(), label.m_label, value);
- }
-
- void patch(DataLabelPtr label, CodeLocationLabel value)
- {
- AssemblerType::patchPointer(code(), label.m_label, value.executableAddress());
- }
-
- // These methods are used to obtain handles to allow the code to be relinked / repatched later.
-
- CodeLocationCall locationOf(Call call)
- {
- ASSERT(call.isFlagSet(Call::Linkable));
- ASSERT(!call.isFlagSet(Call::Near));
- return CodeLocationCall(AssemblerType::getRelocatedAddress(code(), call.m_jmp));
- }
-
- CodeLocationNearCall locationOfNearCall(Call call)
- {
- ASSERT(call.isFlagSet(Call::Linkable));
- ASSERT(call.isFlagSet(Call::Near));
- return CodeLocationNearCall(AssemblerType::getRelocatedAddress(code(), call.m_jmp));
- }
-
- CodeLocationLabel locationOf(Label label)
- {
- return CodeLocationLabel(AssemblerType::getRelocatedAddress(code(), label.m_label));
- }
-
- CodeLocationDataLabelPtr locationOf(DataLabelPtr label)
- {
- return CodeLocationDataLabelPtr(AssemblerType::getRelocatedAddress(code(), label.m_label));
- }
-
- CodeLocationDataLabel32 locationOf(DataLabel32 label)
- {
- return CodeLocationDataLabel32(AssemblerType::getRelocatedAddress(code(), label.m_label));
- }
-
- // This method obtains the return address of the call, given as an offset from
- // the start of the code.
- unsigned returnAddressOffset(Call call)
- {
- return AssemblerType::getCallReturnOffset(call.m_jmp);
- }
-
- // Upon completion of all patching either 'finalizeCode()' or 'finalizeCodeAddendum()' should be called
- // once to complete generation of the code. 'finalizeCode()' is suited to situations
- // where the executable pool must also be retained, the lighter-weight 'finalizeCodeAddendum()' is
- // suited to adding to an existing allocation.
- CodeRef finalizeCode()
- {
- performFinalization();
-
- return CodeRef(m_code, m_executablePool, m_size);
- }
- CodeLocationLabel finalizeCodeAddendum()
- {
- performFinalization();
-
- return CodeLocationLabel(code());
- }
-
- private:
- // Keep this private! - the underlying code should only be obtained externally via
- // finalizeCode() or finalizeCodeAddendum().
- void* code()
- {
- return m_code;
- }
-
- void performFinalization()
- {
-#ifndef NDEBUG
- ASSERT(!m_completed);
- m_completed = true;
-#endif
-
- ExecutableAllocator::makeExecutable(code(), m_size);
- }
-
- RefPtr<ExecutablePool> m_executablePool;
- void* m_code;
- size_t m_size;
-#ifndef NDEBUG
- bool m_completed;
-#endif
- };
-
- class RepatchBuffer {
- public:
- RepatchBuffer()
- {
- }
-
- void relink(CodeLocationJump jump, CodeLocationLabel destination)
- {
- AssemblerType::relinkJump(jump.dataLocation(), destination.dataLocation());
- }
-
- void relink(CodeLocationCall call, CodeLocationLabel destination)
- {
-#if PLATFORM(X86_64)
- repatch(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11), destination.executableAddress());
-#else
- AssemblerType::relinkCall(call.dataLocation(), destination.executableAddress());
-#endif
- }
-
- void relink(CodeLocationCall call, FunctionPtr destination)
- {
-#if PLATFORM(X86_64)
- repatch(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11), destination.executableAddress());
-#else
- AssemblerType::relinkCall(call.dataLocation(), destination.executableAddress());
-#endif
- }
-
- void relink(CodeLocationNearCall nearCall, CodePtr destination)
- {
- AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
- }
-
- void relink(CodeLocationNearCall nearCall, CodeLocationLabel destination)
- {
- AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
- }
-
- void relink(CodeLocationNearCall nearCall, FunctionPtr destination)
- {
- AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
- }
-
- void repatch(CodeLocationDataLabel32 dataLabel32, int32_t value)
- {
- AssemblerType::repatchInt32(dataLabel32.dataLocation(), value);
- }
-
- void repatch(CodeLocationDataLabelPtr dataLabelPtr, void* value)
- {
- AssemblerType::repatchPointer(dataLabelPtr.dataLocation(), value);
- }
-
- void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
- {
- relink(CodeLocationCall(CodePtr(returnAddress)), label);
- }
-
- void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
- {
- relinkCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
- }
-
- void relinkCallerToFunction(ReturnAddressPtr returnAddress, FunctionPtr function)
- {
- relink(CodeLocationCall(CodePtr(returnAddress)), function);
- }
-
- void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
- {
- relink(CodeLocationNearCall(CodePtr(returnAddress)), label);
- }
-
- void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
- {
- relinkNearCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
- }
-
- void repatchLoadPtrToLEA(CodeLocationInstruction instruction)
- {
- AssemblerType::repatchLoadPtrToLEA(instruction.dataLocation());
- }
- };
-
-
- // Section 4: Misc admin methods
-
size_t size()
{
return m_assembler.size();
@@ -712,6 +479,59 @@ public:
protected:
AssemblerType m_assembler;
+
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkJump(void* code, Jump jump, CodeLocationLabel target)
+ {
+ AssemblerType::linkJump(code, jump.m_jmp, target.dataLocation());
+ }
+
+ static void linkPointer(void* code, typename AssemblerType::JmpDst label, void* value)
+ {
+ AssemblerType::linkPointer(code, label, value);
+ }
+
+ static void* getLinkerAddress(void* code, typename AssemblerType::JmpSrc label)
+ {
+ return AssemblerType::getRelocatedAddress(code, label);
+ }
+
+ static void* getLinkerAddress(void* code, typename AssemblerType::JmpDst label)
+ {
+ return AssemblerType::getRelocatedAddress(code, label);
+ }
+
+ static unsigned getLinkerCallReturnOffset(Call call)
+ {
+ return AssemblerType::getCallReturnOffset(call.m_jmp);
+ }
+
+ static void repatchJump(CodeLocationJump jump, CodeLocationLabel destination)
+ {
+ AssemblerType::relinkJump(jump.dataLocation(), destination.dataLocation());
+ }
+
+ static void repatchNearCall(CodeLocationNearCall nearCall, CodeLocationLabel destination)
+ {
+ AssemblerType::relinkCall(nearCall.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchInt32(CodeLocationDataLabel32 dataLabel32, int32_t value)
+ {
+ AssemblerType::repatchInt32(dataLabel32.dataLocation(), value);
+ }
+
+ static void repatchPointer(CodeLocationDataLabelPtr dataLabelPtr, void* value)
+ {
+ AssemblerType::repatchPointer(dataLabelPtr.dataLocation(), value);
+ }
+
+ static void repatchLoadPtrToLEA(CodeLocationInstruction instruction)
+ {
+ AssemblerType::repatchLoadPtrToLEA(instruction.dataLocation());
+ }
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
index 7a5a8d3..073906a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBuffer.h
@@ -95,12 +95,14 @@ namespace JSC {
void putIntUnchecked(int value)
{
+ ASSERT(!(m_size > m_capacity - 4));
*reinterpret_cast<int*>(&m_buffer[m_size]) = value;
m_size += 4;
}
void putInt64Unchecked(int64_t value)
{
+ ASSERT(!(m_size > m_capacity - 8));
*reinterpret_cast<int64_t*>(&m_buffer[m_size]) = value;
m_size += 8;
}
@@ -137,10 +139,19 @@ namespace JSC {
return memcpy(result, m_buffer, m_size);
}
- private:
- void grow()
+ protected:
+ void append(const char* data, int size)
+ {
+ if (m_size > m_capacity - size)
+ grow(size);
+
+ memcpy(m_buffer + m_size, data, size);
+ m_size += size;
+ }
+
+ void grow(int extraCapacity = 0)
{
- m_capacity += m_capacity / 2;
+ m_capacity += m_capacity / 2 + extraCapacity;
if (m_buffer == m_inlineBuffer) {
char* newBuffer = static_cast<char*>(fastMalloc(m_capacity));
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
new file mode 100644
index 0000000..f15b7f3
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
@@ -0,0 +1,305 @@
+/*
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY UNIVERSITY OF SZEGED ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UNIVERSITY OF SZEGED OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef AssemblerBufferWithConstantPool_h
+#define AssemblerBufferWithConstantPool_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER)
+
+#include "AssemblerBuffer.h"
+#include <wtf/SegmentedVector.h>
+
+namespace JSC {
+
+/*
+ On a constant pool 4 or 8 bytes data can be stored. The values can be
+ constants or addresses. The addresses should be 32 or 64 bits. The constants
+ should be double-precisions float or integer numbers which are hard to be
+ encoded as few machine instructions.
+
+ TODO: The pool is desinged to handle both 32 and 64 bits values, but
+ currently only the 4 bytes constants are implemented and tested.
+
+ The AssemblerBuffer can contain multiple constant pools. Each pool is inserted
+ into the instruction stream - protected by a jump instruction from the
+ execution flow.
+
+ The flush mechanism is called when no space remain to insert the next instruction
+ into the pool. Three values are used to determine when the constant pool itself
+ have to be inserted into the instruction stream (Assembler Buffer):
+
+ - maxPoolSize: size of the constant pool in bytes, this value cannot be
+ larger than the maximum offset of a PC relative memory load
+
+ - barrierSize: size of jump instruction in bytes which protects the
+ constant pool from execution
+
+ - maxInstructionSize: maximum length of a machine instruction in bytes
+
+ There are some callbacks which solve the target architecture specific
+ address handling:
+
+ - TYPE patchConstantPoolLoad(TYPE load, int value):
+ patch the 'load' instruction with the index of the constant in the
+ constant pool and return the patched instruction.
+
+ - void patchConstantPoolLoad(void* loadAddr, void* constPoolAddr):
+ patch the a PC relative load instruction at 'loadAddr' address with the
+ final relative offset. The offset can be computed with help of
+ 'constPoolAddr' (the address of the constant pool) and index of the
+ constant (which is stored previously in the load instruction itself).
+
+ - TYPE placeConstantPoolBarrier(int size):
+ return with a constant pool barrier instruction which jumps over the
+ constant pool.
+
+ The 'put*WithConstant*' functions should be used to place a data into the
+ constant pool.
+*/
+
+template <int maxPoolSize, int barrierSize, int maxInstructionSize, class AssemblerType>
+class AssemblerBufferWithConstantPool: public AssemblerBuffer {
+ typedef WTF::SegmentedVector<uint32_t, 512> LoadOffsets;
+public:
+ enum {
+ UniqueConst,
+ ReusableConst,
+ UnusedEntry,
+ };
+
+ AssemblerBufferWithConstantPool()
+ : AssemblerBuffer()
+ , m_numConsts(0)
+ , m_maxDistance(maxPoolSize)
+ , m_lastConstDelta(0)
+ {
+ m_pool = static_cast<uint32_t*>(fastMalloc(maxPoolSize));
+ m_mask = static_cast<char*>(fastMalloc(maxPoolSize / sizeof(uint32_t)));
+ }
+
+ ~AssemblerBufferWithConstantPool()
+ {
+ fastFree(m_mask);
+ fastFree(m_pool);
+ }
+
+ void ensureSpace(int space)
+ {
+ flushIfNoSpaceFor(space);
+ AssemblerBuffer::ensureSpace(space);
+ }
+
+ void ensureSpace(int insnSpace, int constSpace)
+ {
+ flushIfNoSpaceFor(insnSpace, constSpace);
+ AssemblerBuffer::ensureSpace(insnSpace);
+ }
+
+ bool isAligned(int alignment)
+ {
+ flushIfNoSpaceFor(alignment);
+ return AssemblerBuffer::isAligned(alignment);
+ }
+
+ void putByteUnchecked(int value)
+ {
+ AssemblerBuffer::putByteUnchecked(value);
+ correctDeltas(1);
+ }
+
+ void putByte(int value)
+ {
+ flushIfNoSpaceFor(1);
+ AssemblerBuffer::putByte(value);
+ correctDeltas(1);
+ }
+
+ void putShortUnchecked(int value)
+ {
+ AssemblerBuffer::putShortUnchecked(value);
+ correctDeltas(2);
+ }
+
+ void putShort(int value)
+ {
+ flushIfNoSpaceFor(2);
+ AssemblerBuffer::putShort(value);
+ correctDeltas(2);
+ }
+
+ void putIntUnchecked(int value)
+ {
+ AssemblerBuffer::putIntUnchecked(value);
+ correctDeltas(4);
+ }
+
+ void putInt(int value)
+ {
+ flushIfNoSpaceFor(4);
+ AssemblerBuffer::putInt(value);
+ correctDeltas(4);
+ }
+
+ void putInt64Unchecked(int64_t value)
+ {
+ AssemblerBuffer::putInt64Unchecked(value);
+ correctDeltas(8);
+ }
+
+ int size()
+ {
+ flushIfNoSpaceFor(maxInstructionSize, sizeof(uint64_t));
+ return AssemblerBuffer::size();
+ }
+
+ void* executableCopy(ExecutablePool* allocator)
+ {
+ flushConstantPool(false);
+ return AssemblerBuffer::executableCopy(allocator);
+ }
+
+ void putIntWithConstantInt(uint32_t insn, uint32_t constant, bool isReusable = false)
+ {
+ flushIfNoSpaceFor(4, 4);
+
+ m_loadOffsets.append(AssemblerBuffer::size());
+ if (isReusable)
+ for (int i = 0; i < m_numConsts; ++i) {
+ if (m_mask[i] == ReusableConst && m_pool[i] == constant) {
+ AssemblerBuffer::putInt(AssemblerType::patchConstantPoolLoad(insn, i));
+ correctDeltas(4);
+ return;
+ }
+ }
+
+ m_pool[m_numConsts] = constant;
+ m_mask[m_numConsts] = static_cast<char>(isReusable ? ReusableConst : UniqueConst);
+
+ AssemblerBuffer::putInt(AssemblerType::patchConstantPoolLoad(insn, m_numConsts));
+ ++m_numConsts;
+
+ correctDeltas(4, 4);
+ }
+
+ // This flushing mechanism can be called after any unconditional jumps.
+ void flushWithoutBarrier()
+ {
+ // Flush if constant pool is more than 60% full to avoid overuse of this function.
+ if (5 * m_numConsts > 3 * maxPoolSize / sizeof(uint32_t))
+ flushConstantPool(false);
+ }
+
+ uint32_t* poolAddress()
+ {
+ return m_pool;
+ }
+
+private:
+ void correctDeltas(int insnSize)
+ {
+ m_maxDistance -= insnSize;
+ m_lastConstDelta -= insnSize;
+ if (m_lastConstDelta < 0)
+ m_lastConstDelta = 0;
+ }
+
+ void correctDeltas(int insnSize, int constSize)
+ {
+ correctDeltas(insnSize);
+
+ m_maxDistance -= m_lastConstDelta;
+ m_lastConstDelta = constSize;
+ }
+
+ void flushConstantPool(bool useBarrier = true)
+ {
+ if (m_numConsts == 0)
+ return;
+ int alignPool = (AssemblerBuffer::size() + (useBarrier ? barrierSize : 0)) & (sizeof(uint64_t) - 1);
+
+ if (alignPool)
+ alignPool = sizeof(uint64_t) - alignPool;
+
+ // Callback to protect the constant pool from execution
+ if (useBarrier)
+ AssemblerBuffer::putInt(AssemblerType::placeConstantPoolBarrier(m_numConsts * sizeof(uint32_t) + alignPool));
+
+ if (alignPool) {
+ if (alignPool & 1)
+ AssemblerBuffer::putByte(AssemblerType::padForAlign8);
+ if (alignPool & 2)
+ AssemblerBuffer::putShort(AssemblerType::padForAlign16);
+ if (alignPool & 4)
+ AssemblerBuffer::putInt(AssemblerType::padForAlign32);
+ }
+
+ int constPoolOffset = AssemblerBuffer::size();
+ append(reinterpret_cast<char*>(m_pool), m_numConsts * sizeof(uint32_t));
+
+ // Patch each PC relative load
+ for (LoadOffsets::Iterator iter = m_loadOffsets.begin(); iter != m_loadOffsets.end(); ++iter) {
+ void* loadAddr = reinterpret_cast<void*>(m_buffer + *iter);
+ AssemblerType::patchConstantPoolLoad(loadAddr, reinterpret_cast<void*>(m_buffer + constPoolOffset));
+ }
+
+ m_loadOffsets.clear();
+ m_numConsts = 0;
+ m_maxDistance = maxPoolSize;
+ }
+
+ void flushIfNoSpaceFor(int nextInsnSize)
+ {
+ if (m_numConsts == 0)
+ return;
+ if ((m_maxDistance < nextInsnSize + m_lastConstDelta + barrierSize + (int)sizeof(uint32_t)))
+ flushConstantPool();
+ }
+
+ void flushIfNoSpaceFor(int nextInsnSize, int nextConstSize)
+ {
+ if (m_numConsts == 0)
+ return;
+ if ((m_maxDistance < nextInsnSize + m_lastConstDelta + barrierSize + (int)sizeof(uint32_t)) ||
+ (m_numConsts + nextConstSize / sizeof(uint32_t) >= maxPoolSize))
+ flushConstantPool();
+ }
+
+ uint32_t* m_pool;
+ char* m_mask;
+ LoadOffsets m_loadOffsets;
+
+ int m_numConsts;
+ int m_maxDistance;
+ int m_lastConstDelta;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER)
+
+#endif // AssemblerBufferWithConstantPool_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h
new file mode 100644
index 0000000..6d08117
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/LinkBuffer.h
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef LinkBuffer_h
+#define LinkBuffer_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER)
+
+#include <MacroAssembler.h>
+#include <wtf/Noncopyable.h>
+
+namespace JSC {
+
+// LinkBuffer:
+//
+// This class assists in linking code generated by the macro assembler, once code generation
+// has been completed, and the code has been copied to is final location in memory. At this
+// time pointers to labels within the code may be resolved, and relative offsets to external
+// addresses may be fixed.
+//
+// Specifically:
+// * Jump objects may be linked to external targets,
+// * The address of Jump objects may taken, such that it can later be relinked.
+// * The return address of a Call may be acquired.
+// * The address of a Label pointing into the code may be resolved.
+// * The value referenced by a DataLabel may be set.
+//
+class LinkBuffer : public Noncopyable {
+ typedef MacroAssemblerCodeRef CodeRef;
+ typedef MacroAssembler::Label Label;
+ typedef MacroAssembler::Jump Jump;
+ typedef MacroAssembler::JumpList JumpList;
+ typedef MacroAssembler::Call Call;
+ typedef MacroAssembler::DataLabel32 DataLabel32;
+ typedef MacroAssembler::DataLabelPtr DataLabelPtr;
+
+public:
+ // Note: Initialization sequence is significant, since executablePool is a PassRefPtr.
+ // First, executablePool is copied into m_executablePool, then the initialization of
+ // m_code uses m_executablePool, *not* executablePool, since this is no longer valid.
+ LinkBuffer(MacroAssembler* masm, PassRefPtr<ExecutablePool> executablePool)
+ : m_executablePool(executablePool)
+ , m_code(masm->m_assembler.executableCopy(m_executablePool.get()))
+ , m_size(masm->m_assembler.size())
+#ifndef NDEBUG
+ , m_completed(false)
+#endif
+ {
+ }
+
+ ~LinkBuffer()
+ {
+ ASSERT(m_completed);
+ }
+
+ // These methods are used to link or set values at code generation time.
+
+ void link(Call call, FunctionPtr function)
+ {
+ ASSERT(call.isFlagSet(Call::Linkable));
+ MacroAssembler::linkCall(code(), call, function);
+ }
+
+ void link(Jump jump, CodeLocationLabel label)
+ {
+ MacroAssembler::linkJump(code(), jump, label);
+ }
+
+ void link(JumpList list, CodeLocationLabel label)
+ {
+ for (unsigned i = 0; i < list.m_jumps.size(); ++i)
+ MacroAssembler::linkJump(code(), list.m_jumps[i], label);
+ }
+
+ void patch(DataLabelPtr label, void* value)
+ {
+ MacroAssembler::linkPointer(code(), label.m_label, value);
+ }
+
+ void patch(DataLabelPtr label, CodeLocationLabel value)
+ {
+ MacroAssembler::linkPointer(code(), label.m_label, value.executableAddress());
+ }
+
+ // These methods are used to obtain handles to allow the code to be relinked / repatched later.
+
+ CodeLocationCall locationOf(Call call)
+ {
+ ASSERT(call.isFlagSet(Call::Linkable));
+ ASSERT(!call.isFlagSet(Call::Near));
+ return CodeLocationCall(MacroAssembler::getLinkerAddress(code(), call.m_jmp));
+ }
+
+ CodeLocationNearCall locationOfNearCall(Call call)
+ {
+ ASSERT(call.isFlagSet(Call::Linkable));
+ ASSERT(call.isFlagSet(Call::Near));
+ return CodeLocationNearCall(MacroAssembler::getLinkerAddress(code(), call.m_jmp));
+ }
+
+ CodeLocationLabel locationOf(Label label)
+ {
+ return CodeLocationLabel(MacroAssembler::getLinkerAddress(code(), label.m_label));
+ }
+
+ CodeLocationDataLabelPtr locationOf(DataLabelPtr label)
+ {
+ return CodeLocationDataLabelPtr(MacroAssembler::getLinkerAddress(code(), label.m_label));
+ }
+
+ CodeLocationDataLabel32 locationOf(DataLabel32 label)
+ {
+ return CodeLocationDataLabel32(MacroAssembler::getLinkerAddress(code(), label.m_label));
+ }
+
+ // This method obtains the return address of the call, given as an offset from
+ // the start of the code.
+ unsigned returnAddressOffset(Call call)
+ {
+ return MacroAssembler::getLinkerCallReturnOffset(call);
+ }
+
+ // Upon completion of all patching either 'finalizeCode()' or 'finalizeCodeAddendum()' should be called
+ // once to complete generation of the code. 'finalizeCode()' is suited to situations
+ // where the executable pool must also be retained, the lighter-weight 'finalizeCodeAddendum()' is
+ // suited to adding to an existing allocation.
+ CodeRef finalizeCode()
+ {
+ performFinalization();
+
+ return CodeRef(m_code, m_executablePool, m_size);
+ }
+ CodeLocationLabel finalizeCodeAddendum()
+ {
+ performFinalization();
+
+ return CodeLocationLabel(code());
+ }
+
+private:
+ // Keep this private! - the underlying code should only be obtained externally via
+ // finalizeCode() or finalizeCodeAddendum().
+ void* code()
+ {
+ return m_code;
+ }
+
+ void performFinalization()
+ {
+#ifndef NDEBUG
+ ASSERT(!m_completed);
+ m_completed = true;
+#endif
+
+ ExecutableAllocator::makeExecutable(code(), m_size);
+ ExecutableAllocator::cacheFlush(code(), m_size);
+ }
+
+ RefPtr<ExecutablePool> m_executablePool;
+ void* m_code;
+ size_t m_size;
+#ifndef NDEBUG
+ bool m_completed;
+#endif
+};
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER)
+
+#endif // LinkBuffer_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h
index 43d27e7..9e1c5d3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssembler.h
@@ -34,6 +34,10 @@
#include "MacroAssemblerARMv7.h"
namespace JSC { typedef MacroAssemblerARMv7 MacroAssemblerBase; };
+#elif PLATFORM(ARM)
+#include "MacroAssemblerARM.h"
+namespace JSC { typedef MacroAssemblerARM MacroAssemblerBase; };
+
#elif PLATFORM(X86)
#include "MacroAssemblerX86.h"
namespace JSC { typedef MacroAssemblerX86 MacroAssemblerBase; };
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
new file mode 100644
index 0000000..27879a9
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -0,0 +1,797 @@
+/*
+ * Copyright (C) 2008 Apple Inc.
+ * Copyright (C) 2009 University of Szeged
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef MacroAssemblerARM_h
+#define MacroAssemblerARM_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER) && PLATFORM(ARM)
+
+#include "ARMAssembler.h"
+#include "AbstractMacroAssembler.h"
+
+namespace JSC {
+
+class MacroAssemblerARM : public AbstractMacroAssembler<ARMAssembler> {
+public:
+ enum Condition {
+ Equal = ARMAssembler::EQ,
+ NotEqual = ARMAssembler::NE,
+ Above = ARMAssembler::HI,
+ AboveOrEqual = ARMAssembler::CS,
+ Below = ARMAssembler::CC,
+ BelowOrEqual = ARMAssembler::LS,
+ GreaterThan = ARMAssembler::GT,
+ GreaterThanOrEqual = ARMAssembler::GE,
+ LessThan = ARMAssembler::LT,
+ LessThanOrEqual = ARMAssembler::LE,
+ Overflow = ARMAssembler::VS,
+ Signed = ARMAssembler::MI,
+ Zero = ARMAssembler::EQ,
+ NonZero = ARMAssembler::NE
+ };
+
+ enum DoubleCondition {
+ DoubleEqual, //FIXME
+ DoubleNotEqual, //FIXME
+ DoubleGreaterThan, //FIXME
+ DoubleGreaterThanOrEqual, //FIXME
+ DoubleLessThan, //FIXME
+ DoubleLessThanOrEqual, //FIXME
+ };
+
+ static const RegisterID stackPointerRegister = ARM::sp;
+
+ static const Scale ScalePtr = TimesFour;
+
+ void add32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.adds_r(dest, dest, src);
+ }
+
+ void add32(Imm32 imm, Address address)
+ {
+ load32(address, ARM::S1);
+ add32(imm, ARM::S1);
+ store32(ARM::S1, address);
+ }
+
+ void add32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.adds_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void add32(Address src, RegisterID dest)
+ {
+ load32(src, ARM::S1);
+ add32(ARM::S1, dest);
+ }
+
+ void and32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.ands_r(dest, dest, src);
+ }
+
+ void and32(Imm32 imm, RegisterID dest)
+ {
+ ARMWord w = m_assembler.getImm(imm.m_value, ARM::S0, true);
+ if (w & ARMAssembler::OP2_INV_IMM)
+ m_assembler.bics_r(dest, dest, w & ~ARMAssembler::OP2_INV_IMM);
+ else
+ m_assembler.ands_r(dest, dest, w);
+ }
+
+ void lshift32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.lsl(dest, imm.m_value & 0x1f));
+ }
+
+ void lshift32(RegisterID shift_amount, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.lsl_r(dest, shift_amount));
+ }
+
+ void mul32(RegisterID src, RegisterID dest)
+ {
+ if (src == dest) {
+ move(src, ARM::S0);
+ src = ARM::S0;
+ }
+ m_assembler.muls_r(dest, dest, src);
+ }
+
+ void mul32(Imm32 imm, RegisterID src, RegisterID dest)
+ {
+ move(imm, ARM::S0);
+ m_assembler.muls_r(dest, src, ARM::S0);
+ }
+
+ void not32(RegisterID dest)
+ {
+ m_assembler.mvns_r(dest, dest);
+ }
+
+ void or32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.orrs_r(dest, dest, src);
+ }
+
+ void or32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.orrs_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void rshift32(RegisterID shift_amount, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.asr_r(dest, shift_amount));
+ }
+
+ void rshift32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.movs_r(dest, m_assembler.asr(dest, imm.m_value & 0x1f));
+ }
+
+ void sub32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.subs_r(dest, dest, src);
+ }
+
+ void sub32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.subs_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void sub32(Imm32 imm, Address address)
+ {
+ load32(address, ARM::S1);
+ sub32(imm, ARM::S1);
+ store32(ARM::S1, address);
+ }
+
+ void sub32(Address src, RegisterID dest)
+ {
+ load32(src, ARM::S1);
+ sub32(ARM::S1, dest);
+ }
+
+ void xor32(RegisterID src, RegisterID dest)
+ {
+ m_assembler.eors_r(dest, dest, src);
+ }
+
+ void xor32(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.eors_r(dest, dest, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void load32(ImplicitAddress address, RegisterID dest)
+ {
+ m_assembler.dataTransfer32(true, dest, address.base, address.offset);
+ }
+
+ void load32(BaseIndex address, RegisterID dest)
+ {
+ m_assembler.baseIndexTransfer32(true, dest, address.base, address.index, static_cast<int>(address.scale), address.offset);
+ }
+
+ DataLabel32 load32WithAddressOffsetPatch(Address address, RegisterID dest)
+ {
+ DataLabel32 dataLabel(this);
+ m_assembler.ldr_un_imm(ARM::S0, 0);
+ m_assembler.dtr_ur(true, dest, address.base, ARM::S0);
+ return dataLabel;
+ }
+
+ Label loadPtrWithPatchToLEA(Address address, RegisterID dest)
+ {
+ Label label(this);
+ load32(address, dest);
+ return label;
+ }
+
+ void load16(BaseIndex address, RegisterID dest)
+ {
+ m_assembler.add_r(ARM::S0, address.base, m_assembler.lsl(address.index, address.scale));
+ if (address.offset>=0)
+ m_assembler.ldrh_u(dest, ARM::S0, ARMAssembler::getOp2Byte(address.offset));
+ else
+ m_assembler.ldrh_d(dest, ARM::S0, ARMAssembler::getOp2Byte(-address.offset));
+ }
+
+ DataLabel32 store32WithAddressOffsetPatch(RegisterID src, Address address)
+ {
+ DataLabel32 dataLabel(this);
+ m_assembler.ldr_un_imm(ARM::S0, 0);
+ m_assembler.dtr_ur(false, src, address.base, ARM::S0);
+ return dataLabel;
+ }
+
+ void store32(RegisterID src, ImplicitAddress address)
+ {
+ m_assembler.dataTransfer32(false, src, address.base, address.offset);
+ }
+
+ void store32(RegisterID src, BaseIndex address)
+ {
+ m_assembler.baseIndexTransfer32(false, src, address.base, address.index, static_cast<int>(address.scale), address.offset);
+ }
+
+ void store32(Imm32 imm, ImplicitAddress address)
+ {
+ move(imm, ARM::S1);
+ store32(ARM::S1, address);
+ }
+
+ void store32(RegisterID src, void* address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address), ARM::S0);
+ m_assembler.dtr_u(false, src, ARM::S0, 0);
+ }
+
+ void store32(Imm32 imm, void* address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address), ARM::S0);
+ m_assembler.moveImm(imm.m_value, ARM::S1);
+ m_assembler.dtr_u(false, ARM::S1, ARM::S0, 0);
+ }
+
+ void pop(RegisterID dest)
+ {
+ m_assembler.pop_r(dest);
+ }
+
+ void push(RegisterID src)
+ {
+ m_assembler.push_r(src);
+ }
+
+ void push(Address address)
+ {
+ load32(address, ARM::S1);
+ push(ARM::S1);
+ }
+
+ void push(Imm32 imm)
+ {
+ move(imm, ARM::S0);
+ push(ARM::S0);
+ }
+
+ void move(Imm32 imm, RegisterID dest)
+ {
+ m_assembler.moveImm(imm.m_value, dest);
+ }
+
+ void move(RegisterID src, RegisterID dest)
+ {
+ m_assembler.mov_r(dest, src);
+ }
+
+ void move(ImmPtr imm, RegisterID dest)
+ {
+ m_assembler.mov_r(dest, m_assembler.getImm(reinterpret_cast<ARMWord>(imm.m_value), ARM::S0));
+ }
+
+ void swap(RegisterID reg1, RegisterID reg2)
+ {
+ m_assembler.mov_r(ARM::S0, reg1);
+ m_assembler.mov_r(reg1, reg2);
+ m_assembler.mov_r(reg2, ARM::S0);
+ }
+
+ void signExtend32ToPtr(RegisterID src, RegisterID dest)
+ {
+ if (src != dest)
+ move(src, dest);
+ }
+
+ void zeroExtend32ToPtr(RegisterID src, RegisterID dest)
+ {
+ if (src != dest)
+ move(src, dest);
+ }
+
+ Jump branch32(Condition cond, RegisterID left, RegisterID right)
+ {
+ m_assembler.cmp_r(left, right);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branch32(Condition cond, RegisterID left, Imm32 right)
+ {
+ m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARM::S0));
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branch32(Condition cond, RegisterID left, Address right)
+ {
+ load32(right, ARM::S1);
+ return branch32(cond, left, ARM::S1);
+ }
+
+ Jump branch32(Condition cond, Address left, RegisterID right)
+ {
+ load32(left, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch32(Condition cond, Address left, Imm32 right)
+ {
+ load32(left, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch32(Condition cond, BaseIndex left, Imm32 right)
+ {
+ load32(left, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch16(Condition cond, BaseIndex left, RegisterID right)
+ {
+ UNUSED_PARAM(cond);
+ UNUSED_PARAM(left);
+ UNUSED_PARAM(right);
+ ASSERT_NOT_REACHED();
+ return jump();
+ }
+
+ Jump branch16(Condition cond, BaseIndex left, Imm32 right)
+ {
+ load16(left, ARM::S0);
+ move(right, ARM::S1);
+ m_assembler.cmp_r(ARM::S0, ARM::S1);
+ return m_assembler.jmp(ARMCondition(cond));
+ }
+
+ Jump branchTest32(Condition cond, RegisterID reg, RegisterID mask)
+ {
+ ASSERT((cond == Zero) || (cond == NonZero));
+ m_assembler.tst_r(reg, mask);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchTest32(Condition cond, RegisterID reg, Imm32 mask = Imm32(-1))
+ {
+ ASSERT((cond == Zero) || (cond == NonZero));
+ ARMWord w = m_assembler.getImm(mask.m_value, ARM::S0, true);
+ if (w & ARMAssembler::OP2_INV_IMM)
+ m_assembler.bics_r(ARM::S0, reg, w & ~ARMAssembler::OP2_INV_IMM);
+ else
+ m_assembler.tst_r(reg, w);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchTest32(Condition cond, Address address, Imm32 mask = Imm32(-1))
+ {
+ load32(address, ARM::S1);
+ return branchTest32(cond, ARM::S1, mask);
+ }
+
+ Jump branchTest32(Condition cond, BaseIndex address, Imm32 mask = Imm32(-1))
+ {
+ load32(address, ARM::S1);
+ return branchTest32(cond, ARM::S1, mask);
+ }
+
+ Jump jump()
+ {
+ return Jump(m_assembler.jmp());
+ }
+
+ void jump(RegisterID target)
+ {
+ move(target, ARM::pc);
+ }
+
+ void jump(Address address)
+ {
+ load32(address, ARM::pc);
+ }
+
+ Jump branchAdd32(Condition cond, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ add32(src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchAdd32(Condition cond, Imm32 imm, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ add32(imm, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ void mull32(RegisterID src1, RegisterID src2, RegisterID dest)
+ {
+ if (src1 == dest) {
+ move(src1, ARM::S0);
+ src1 = ARM::S0;
+ }
+ m_assembler.mull_r(ARM::S1, dest, src2, src1);
+ m_assembler.cmp_r(ARM::S1, m_assembler.asr(dest, 31));
+ }
+
+ Jump branchMul32(Condition cond, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ if (cond == Overflow) {
+ mull32(src, dest, dest);
+ cond = NonZero;
+ }
+ else
+ mul32(src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchMul32(Condition cond, Imm32 imm, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ if (cond == Overflow) {
+ move(imm, ARM::S0);
+ mull32(ARM::S0, src, dest);
+ cond = NonZero;
+ }
+ else
+ mul32(imm, src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchSub32(Condition cond, RegisterID src, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ sub32(src, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ Jump branchSub32(Condition cond, Imm32 imm, RegisterID dest)
+ {
+ ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
+ sub32(imm, dest);
+ return Jump(m_assembler.jmp(ARMCondition(cond)));
+ }
+
+ void breakpoint()
+ {
+ m_assembler.bkpt(0);
+ }
+
+ Call nearCall()
+ {
+ prepareCall();
+ return Call(m_assembler.jmp(), Call::LinkableNear);
+ }
+
+ Call call(RegisterID target)
+ {
+ prepareCall();
+ move(ARM::pc, target);
+ JmpSrc jmpSrc;
+ return Call(jmpSrc, Call::None);
+ }
+
+ void call(Address address)
+ {
+ call32(address.base, address.offset);
+ }
+
+ void ret()
+ {
+ pop(ARM::pc);
+ }
+
+ void set32(Condition cond, RegisterID left, RegisterID right, RegisterID dest)
+ {
+ m_assembler.cmp_r(left, right);
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
+ }
+
+ void set32(Condition cond, RegisterID left, Imm32 right, RegisterID dest)
+ {
+ m_assembler.cmp_r(left, m_assembler.getImm(right.m_value, ARM::S0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
+ }
+
+ void setTest32(Condition cond, Address address, Imm32 mask, RegisterID dest)
+ {
+ load32(address, ARM::S1);
+ if (mask.m_value == -1)
+ m_assembler.cmp_r(0, ARM::S1);
+ else
+ m_assembler.tst_r(ARM::S1, m_assembler.getImm(mask.m_value, ARM::S0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
+ m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
+ }
+
+ void add32(Imm32 imm, RegisterID src, RegisterID dest)
+ {
+ m_assembler.add_r(dest, src, m_assembler.getImm(imm.m_value, ARM::S0));
+ }
+
+ void add32(Imm32 imm, AbsoluteAddress address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S1);
+ m_assembler.dtr_u(true, ARM::S1, ARM::S1, 0);
+ add32(imm, ARM::S1);
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S0);
+ m_assembler.dtr_u(false, ARM::S1, ARM::S0, 0);
+ }
+
+ void sub32(Imm32 imm, AbsoluteAddress address)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S1);
+ m_assembler.dtr_u(true, ARM::S1, ARM::S1, 0);
+ sub32(imm, ARM::S1);
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address.m_ptr), ARM::S0);
+ m_assembler.dtr_u(false, ARM::S1, ARM::S0, 0);
+ }
+
+ void load32(void* address, RegisterID dest)
+ {
+ m_assembler.moveImm(reinterpret_cast<ARMWord>(address), ARM::S0);
+ m_assembler.dtr_u(true, dest, ARM::S0, 0);
+ }
+
+ Jump branch32(Condition cond, AbsoluteAddress left, RegisterID right)
+ {
+ load32(left.m_ptr, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Jump branch32(Condition cond, AbsoluteAddress left, Imm32 right)
+ {
+ load32(left.m_ptr, ARM::S1);
+ return branch32(cond, ARM::S1, right);
+ }
+
+ Call call()
+ {
+ prepareCall();
+ return Call(m_assembler.jmp(), Call::Linkable);
+ }
+
+ Call tailRecursiveCall()
+ {
+ return Call::fromTailJump(jump());
+ }
+
+ Call makeTailRecursiveCall(Jump oldJump)
+ {
+ return Call::fromTailJump(oldJump);
+ }
+
+ DataLabelPtr moveWithPatch(ImmPtr initialValue, RegisterID dest)
+ {
+ DataLabelPtr dataLabel(this);
+ m_assembler.ldr_un_imm(dest, reinterpret_cast<ARMWord>(initialValue.m_value));
+ return dataLabel;
+ }
+
+ Jump branchPtrWithPatch(Condition cond, RegisterID left, DataLabelPtr& dataLabel, ImmPtr initialRightValue = ImmPtr(0))
+ {
+ dataLabel = moveWithPatch(initialRightValue, ARM::S1);
+ Jump jump = branch32(cond, left, ARM::S1);
+ jump.enableLatePatch();
+ return jump;
+ }
+
+ Jump branchPtrWithPatch(Condition cond, Address left, DataLabelPtr& dataLabel, ImmPtr initialRightValue = ImmPtr(0))
+ {
+ load32(left, ARM::S1);
+ dataLabel = moveWithPatch(initialRightValue, ARM::S0);
+ Jump jump = branch32(cond, ARM::S0, ARM::S1);
+ jump.enableLatePatch();
+ return jump;
+ }
+
+ DataLabelPtr storePtrWithPatch(ImmPtr initialValue, ImplicitAddress address)
+ {
+ DataLabelPtr dataLabel = moveWithPatch(initialValue, ARM::S1);
+ store32(ARM::S1, address);
+ return dataLabel;
+ }
+
+ DataLabelPtr storePtrWithPatch(ImplicitAddress address)
+ {
+ return storePtrWithPatch(ImmPtr(0), address);
+ }
+
+ // Floating point operators
+ bool supportsFloatingPoint() const
+ {
+ return false;
+ }
+
+ bool supportsFloatingPointTruncate() const
+ {
+ return false;
+ }
+
+ void loadDouble(ImplicitAddress address, FPRegisterID dest)
+ {
+ UNUSED_PARAM(address);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void storeDouble(FPRegisterID src, ImplicitAddress address)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(address);
+ ASSERT_NOT_REACHED();
+ }
+
+ void addDouble(FPRegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void addDouble(Address src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void subDouble(FPRegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void subDouble(Address src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void mulDouble(FPRegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void mulDouble(Address src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ void convertInt32ToDouble(RegisterID src, FPRegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ }
+
+ Jump branchDouble(DoubleCondition cond, FPRegisterID left, FPRegisterID right)
+ {
+ UNUSED_PARAM(cond);
+ UNUSED_PARAM(left);
+ UNUSED_PARAM(right);
+ ASSERT_NOT_REACHED();
+ return jump();
+ }
+
+ // Truncates 'src' to an integer, and places the resulting 'dest'.
+ // If the result is not representable as a 32 bit value, branch.
+ // May also branch for some values that are representable in 32 bits
+ // (specifically, in this case, INT_MIN).
+ Jump branchTruncateDoubleToInt32(FPRegisterID src, RegisterID dest)
+ {
+ UNUSED_PARAM(src);
+ UNUSED_PARAM(dest);
+ ASSERT_NOT_REACHED();
+ return jump();
+ }
+
+protected:
+ ARMAssembler::Condition ARMCondition(Condition cond)
+ {
+ return static_cast<ARMAssembler::Condition>(cond);
+ }
+
+ void prepareCall()
+ {
+ m_assembler.ensureSpace(3 * sizeof(ARMWord), sizeof(ARMWord));
+
+ // S0 might be used for parameter passing
+ m_assembler.add_r(ARM::S1, ARM::pc, ARMAssembler::OP2_IMM | 0x4);
+ m_assembler.push_r(ARM::S1);
+ }
+
+ void call32(RegisterID base, int32_t offset)
+ {
+ if (base == ARM::sp)
+ offset += 4;
+
+ if (offset >= 0) {
+ if (offset <= 0xfff) {
+ prepareCall();
+ m_assembler.dtr_u(true, ARM::pc, base, offset);
+ } else if (offset <= 0xfffff) {
+ m_assembler.add_r(ARM::S0, base, ARMAssembler::OP2_IMM | (offset >> 12) | (10 << 8));
+ prepareCall();
+ m_assembler.dtr_u(true, ARM::pc, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = m_assembler.getImm(offset, ARM::S0);
+ prepareCall();
+ m_assembler.dtr_ur(true, ARM::pc, base, reg);
+ }
+ } else {
+ offset = -offset;
+ if (offset <= 0xfff) {
+ prepareCall();
+ m_assembler.dtr_d(true, ARM::pc, base, offset);
+ } else if (offset <= 0xfffff) {
+ m_assembler.sub_r(ARM::S0, base, ARMAssembler::OP2_IMM | (offset >> 12) | (10 << 8));
+ prepareCall();
+ m_assembler.dtr_d(true, ARM::pc, ARM::S0, offset & 0xfff);
+ } else {
+ ARMWord reg = m_assembler.getImm(offset, ARM::S0);
+ prepareCall();
+ m_assembler.dtr_dr(true, ARM::pc, base, reg);
+ }
+ }
+ }
+
+private:
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ ARMAssembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ ARMAssembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ ARMAssembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+};
+
+}
+
+#endif
+
+#endif // MacroAssemblerARM_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
index bd83c60..f7a8402 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerARMv7.h
@@ -1054,6 +1054,25 @@ protected:
{
return static_cast<ARMv7Assembler::Condition>(cond);
}
+
+private:
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ ARMv7Assembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ ARMv7Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ ARMv7Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
index 50fca5b..341a7ff 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
@@ -165,28 +165,20 @@ private:
class MacroAssemblerCodeRef {
public:
MacroAssemblerCodeRef()
-#ifndef NDEBUG
: m_size(0)
-#endif
{
}
MacroAssemblerCodeRef(void* code, PassRefPtr<ExecutablePool> executablePool, size_t size)
: m_code(code)
, m_executablePool(executablePool)
+ , m_size(size)
{
-#ifndef NDEBUG
- m_size = size;
-#else
- UNUSED_PARAM(size);
-#endif
}
MacroAssemblerCodePtr m_code;
RefPtr<ExecutablePool> m_executablePool;
-#ifndef NDEBUG
size_t m_size;
-#endif
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h
index aaf98fd..0b9ff35 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86.h
@@ -164,6 +164,24 @@ public:
private:
const bool m_isSSE2Present;
+
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ X86Assembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ X86Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ X86Assembler::relinkCall(call.dataLocation(), destination.executableAddress());
+ }
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
index ffdca7c..df0090a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/MacroAssemblerX86_64.h
@@ -32,6 +32,8 @@
#include "MacroAssemblerX86Common.h"
+#define REPTACH_OFFSET_CALL_R11 3
+
namespace JSC {
class MacroAssemblerX86_64 : public MacroAssemblerX86Common {
@@ -446,6 +448,29 @@ public:
bool supportsFloatingPoint() const { return true; }
// See comment on MacroAssemblerARMv7::supportsFloatingPointTruncate()
bool supportsFloatingPointTruncate() const { return true; }
+
+private:
+ friend class LinkBuffer;
+ friend class RepatchBuffer;
+
+ static void linkCall(void* code, Call call, FunctionPtr function)
+ {
+ if (!call.isFlagSet(Call::Near))
+ X86Assembler::linkPointer(code, X86Assembler::labelFor(call.m_jmp, -REPTACH_OFFSET_CALL_R11), function.value());
+ else
+ X86Assembler::linkCall(code, call.m_jmp, function.value());
+ }
+
+ static void repatchCall(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ X86Assembler::repatchPointer(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11).dataLocation(), destination.executableAddress());
+ }
+
+ static void repatchCall(CodeLocationCall call, FunctionPtr destination)
+ {
+ X86Assembler::repatchPointer(call.dataLabelPtrAtOffset(-REPTACH_OFFSET_CALL_R11).dataLocation(), destination.executableAddress());
+ }
+
};
} // namespace JSC
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h b/src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h
new file mode 100644
index 0000000..89cbf06
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/RepatchBuffer.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RepatchBuffer_h
+#define RepatchBuffer_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(ASSEMBLER)
+
+#include <MacroAssembler.h>
+#include <wtf/Noncopyable.h>
+
+namespace JSC {
+
+// RepatchBuffer:
+//
+// This class is used to modify code after code generation has been completed,
+// and after the code has potentially already been executed. This mechanism is
+// used to apply optimizations to the code.
+//
+class RepatchBuffer {
+ typedef MacroAssemblerCodePtr CodePtr;
+
+public:
+ RepatchBuffer(CodeBlock* codeBlock)
+ {
+ JITCode& code = codeBlock->getJITCode();
+ m_start = code.start();
+ m_size = code.size();
+
+ ExecutableAllocator::makeWritable(m_start, m_size);
+ }
+
+ ~RepatchBuffer()
+ {
+ ExecutableAllocator::makeExecutable(m_start, m_size);
+ }
+
+ void relink(CodeLocationJump jump, CodeLocationLabel destination)
+ {
+ MacroAssembler::repatchJump(jump, destination);
+ }
+
+ void relink(CodeLocationCall call, CodeLocationLabel destination)
+ {
+ MacroAssembler::repatchCall(call, destination);
+ }
+
+ void relink(CodeLocationCall call, FunctionPtr destination)
+ {
+ MacroAssembler::repatchCall(call, destination);
+ }
+
+ void relink(CodeLocationNearCall nearCall, CodePtr destination)
+ {
+ MacroAssembler::repatchNearCall(nearCall, CodeLocationLabel(destination));
+ }
+
+ void relink(CodeLocationNearCall nearCall, CodeLocationLabel destination)
+ {
+ MacroAssembler::repatchNearCall(nearCall, destination);
+ }
+
+ void repatch(CodeLocationDataLabel32 dataLabel32, int32_t value)
+ {
+ MacroAssembler::repatchInt32(dataLabel32, value);
+ }
+
+ void repatch(CodeLocationDataLabelPtr dataLabelPtr, void* value)
+ {
+ MacroAssembler::repatchPointer(dataLabelPtr, value);
+ }
+
+ void repatchLoadPtrToLEA(CodeLocationInstruction instruction)
+ {
+ MacroAssembler::repatchLoadPtrToLEA(instruction);
+ }
+
+ void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
+ {
+ relink(CodeLocationCall(CodePtr(returnAddress)), label);
+ }
+
+ void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
+ {
+ relinkCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
+ }
+
+ void relinkCallerToFunction(ReturnAddressPtr returnAddress, FunctionPtr function)
+ {
+ relink(CodeLocationCall(CodePtr(returnAddress)), function);
+ }
+
+ void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label)
+ {
+ relink(CodeLocationNearCall(CodePtr(returnAddress)), label);
+ }
+
+ void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction)
+ {
+ relinkNearCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction));
+ }
+
+private:
+ void* m_start;
+ size_t m_size;
+};
+
+} // namespace JSC
+
+#endif // ENABLE(ASSEMBLER)
+
+#endif // RepatchBuffer_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h b/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h
index 7a8b58d..745bc60 100644
--- a/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/assembler/X86Assembler.h
@@ -226,6 +226,7 @@ public:
{
}
+ void enableLatePatch() { }
private:
JmpSrc(int offset)
: m_offset(offset)
@@ -1344,6 +1345,11 @@ public:
return JmpDst(m_formatter.size());
}
+ static JmpDst labelFor(JmpSrc jump, intptr_t offset = 0)
+ {
+ return JmpDst(jump.m_offset + offset);
+ }
+
JmpDst align(int alignment)
{
while (!m_formatter.isAligned(alignment))
@@ -1366,59 +1372,48 @@ public:
ASSERT(to.m_offset != -1);
char* code = reinterpret_cast<char*>(m_formatter.data());
- patchRel32(code + from.m_offset, code + to.m_offset);
+ setRel32(code + from.m_offset, code + to.m_offset);
}
static void linkJump(void* code, JmpSrc from, void* to)
{
ASSERT(from.m_offset != -1);
- patchRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
+ setRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
}
static void linkCall(void* code, JmpSrc from, void* to)
{
ASSERT(from.m_offset != -1);
- patchRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
+ setRel32(reinterpret_cast<char*>(code) + from.m_offset, to);
}
-#if PLATFORM(X86_64)
- static void patchPointerForCall(void* where, void* value)
- {
- reinterpret_cast<void**>(where)[-1] = value;
- }
-#endif
-
- static void patchPointer(void* code, JmpDst where, void* value)
+ static void linkPointer(void* code, JmpDst where, void* value)
{
ASSERT(where.m_offset != -1);
- patchPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
+ setPointer(reinterpret_cast<char*>(code) + where.m_offset, value);
}
static void relinkJump(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(from) - sizeof(int32_t), sizeof(int32_t));
- patchRel32(from, to);
+ setRel32(from, to);
}
static void relinkCall(void* from, void* to)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(from) - sizeof(int32_t), sizeof(int32_t));
- patchRel32(from, to);
+ setRel32(from, to);
}
static void repatchInt32(void* where, int32_t value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(where) - sizeof(int32_t), sizeof(int32_t));
- patchInt32(where, value);
+ setInt32(where, value);
}
static void repatchPointer(void* where, void* value)
{
- ExecutableAllocator::MakeWritable unprotect(reinterpret_cast<char*>(where) - sizeof(void*), sizeof(void*));
- patchPointer(where, value);
+ setPointer(where, value);
}
static void repatchLoadPtrToLEA(void* where)
@@ -1428,7 +1423,6 @@ public:
// Skip over the prefix byte.
where = reinterpret_cast<char*>(where) + 1;
#endif
- ExecutableAllocator::MakeWritable unprotect(where, 1);
*reinterpret_cast<unsigned char*>(where) = static_cast<unsigned char>(OP_LEA);
}
@@ -1476,22 +1470,22 @@ public:
private:
- static void patchPointer(void* where, void* value)
+ static void setPointer(void* where, void* value)
{
reinterpret_cast<void**>(where)[-1] = value;
}
- static void patchInt32(void* where, int32_t value)
+ static void setInt32(void* where, int32_t value)
{
reinterpret_cast<int32_t*>(where)[-1] = value;
}
- static void patchRel32(void* from, void* to)
+ static void setRel32(void* from, void* to)
{
intptr_t offset = reinterpret_cast<intptr_t>(to) - reinterpret_cast<intptr_t>(from);
ASSERT(offset == static_cast<int32_t>(offset));
- patchInt32(from, offset);
+ setInt32(from, offset);
}
class X86InstructionFormatter {
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
index d777f73..0cb3813 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -363,15 +363,6 @@ void CodeBlock::dump(ExecState* exec) const
} while (i < m_constantRegisters.size());
}
- if (m_rareData && !m_rareData->m_unexpectedConstants.isEmpty()) {
- printf("\nUnexpected Constants:\n");
- size_t i = 0;
- do {
- printf(" k%u = %s\n", static_cast<unsigned>(i), valueToSourceString(exec, m_rareData->m_unexpectedConstants[i]).ascii());
- ++i;
- } while (i < m_rareData->m_unexpectedConstants.size());
- }
-
if (m_rareData && !m_rareData->m_regexps.isEmpty()) {
printf("\nm_regexps:\n");
size_t i = 0;
@@ -506,12 +497,6 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
printf("[%4d] convert_this %s\n", location, registerName(r0).c_str());
break;
}
- case op_unexpected_load: {
- int r0 = (++it)->u.operand;
- int k0 = (++it)->u.operand;
- printf("[%4d] unexpected_load\t %s, %s\n", location, registerName(r0).c_str(), constantName(exec, k0, unexpectedConstant(k0)).c_str());
- break;
- }
case op_new_object: {
int r0 = (++it)->u.operand;
printf("[%4d] new_object\t %s\n", location, registerName(r0).c_str());
@@ -1084,7 +1069,7 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
int r0 = (++it)->u.operand;
int errorType = (++it)->u.operand;
int k0 = (++it)->u.operand;
- printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, unexpectedConstant(k0)).c_str());
+ printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, getConstant(k0)).c_str());
break;
}
case op_jsr: {
@@ -1142,7 +1127,6 @@ static HashSet<CodeBlock*> liveCodeBlockSet;
#define FOR_EACH_MEMBER_VECTOR_RARE_DATA(macro) \
macro(regexps) \
macro(functions) \
- macro(unexpectedConstants) \
macro(exceptionHandlers) \
macro(immediateSwitchJumpTables) \
macro(characterSwitchJumpTables) \
@@ -1267,7 +1251,6 @@ void CodeBlock::dumpStatistics()
CodeBlock::CodeBlock(ScopeNode* ownerNode)
: m_numCalleeRegisters(0)
- , m_numConstants(0)
, m_numVars(0)
, m_numParameters(0)
, m_ownerNode(ownerNode)
@@ -1290,7 +1273,6 @@ CodeBlock::CodeBlock(ScopeNode* ownerNode)
CodeBlock::CodeBlock(ScopeNode* ownerNode, CodeType codeType, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset)
: m_numCalleeRegisters(0)
- , m_numConstants(0)
, m_numVars(0)
, m_numParameters(0)
, m_ownerNode(ownerNode)
@@ -1337,8 +1319,12 @@ CodeBlock::~CodeBlock()
}
for (size_t size = m_methodCallLinkInfos.size(), i = 0; i < size; ++i) {
- if (Structure* structure = m_methodCallLinkInfos[i].cachedStructure)
+ if (Structure* structure = m_methodCallLinkInfos[i].cachedStructure) {
structure->deref();
+ // Both members must be filled at the same time
+ ASSERT(m_methodCallLinkInfos[i].cachedPrototypeStructure);
+ m_methodCallLinkInfos[i].cachedPrototypeStructure->deref();
+ }
}
unlinkCallers();
@@ -1455,10 +1441,6 @@ void CodeBlock::mark()
for (size_t i = 0; i < m_rareData->m_functions.size(); ++i)
m_rareData->m_functions[i]->body()->mark();
- for (size_t i = 0; i < m_rareData->m_unexpectedConstants.size(); ++i) {
- if (!m_rareData->m_unexpectedConstants[i].marked())
- m_rareData->m_unexpectedConstants[i].mark();
- }
m_rareData->m_evalCodeCache.mark();
}
}
@@ -1757,7 +1739,6 @@ void CodeBlock::shrinkToFit()
if (m_rareData) {
m_rareData->m_exceptionHandlers.shrinkToFit();
m_rareData->m_functions.shrinkToFit();
- m_rareData->m_unexpectedConstants.shrinkToFit();
m_rareData->m_regexps.shrinkToFit();
m_rareData->m_immediateSwitchJumpTables.shrinkToFit();
m_rareData->m_characterSwitchJumpTables.shrinkToFit();
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h
index afd32f0..e9f2697 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.h
@@ -46,6 +46,12 @@
#include "StructureStubInfo.h"
#endif
+// Register numbers used in bytecode operations have different meaning accoring to their ranges:
+// 0x80000000-0xFFFFFFFF Negative indicies from the CallFrame pointer are entries in the call frame, see RegisterFile.h.
+// 0x00000000-0x3FFFFFFF Forwards indices from the CallFrame pointer are local vars and temporaries with the function's callframe.
+// 0x40000000-0x7FFFFFFF Positive indices from 0x40000000 specify entries in the constant pool on the CodeBlock.
+static const int FirstConstantRegisterIndex = 0x40000000;
+
namespace JSC {
class ExecState;
@@ -99,6 +105,7 @@ namespace JSC {
CodeLocationNearCall callReturnLocation;
CodeLocationDataLabelPtr hotPathBegin;
CodeLocationNearCall hotPathOther;
+ CodeBlock* ownerCodeBlock;
CodeBlock* callee;
unsigned position;
@@ -109,12 +116,14 @@ namespace JSC {
struct MethodCallLinkInfo {
MethodCallLinkInfo()
: cachedStructure(0)
+ , cachedPrototypeStructure(0)
{
}
CodeLocationCall callReturnLocation;
CodeLocationDataLabelPtr structureLabel;
Structure* cachedStructure;
+ Structure* cachedPrototypeStructure;
};
struct FunctionRegisterInfo {
@@ -215,7 +224,7 @@ namespace JSC {
}
#endif
- class CodeBlock : public WTF::FastAllocBase {
+ class CodeBlock : public FastAllocBase {
friend class JIT;
public:
CodeBlock(ScopeNode* ownerNode);
@@ -248,19 +257,9 @@ namespace JSC {
return false;
}
- ALWAYS_INLINE bool isConstantRegisterIndex(int index)
- {
- return index >= m_numVars && index < m_numVars + m_numConstants;
- }
-
- ALWAYS_INLINE JSValue getConstant(int index)
- {
- return m_constantRegisters[index - m_numVars].jsValue();
- }
-
ALWAYS_INLINE bool isTemporaryRegisterIndex(int index)
{
- return index >= m_numVars + m_numConstants;
+ return index >= m_numVars;
}
HandlerInfo* handlerForBytecodeOffset(unsigned bytecodeOffset);
@@ -321,6 +320,7 @@ namespace JSC {
#endif
#if ENABLE(JIT)
+ JITCode& getJITCode() { return ownerNode()->generatedJITCode(); }
void setJITCode(JITCode);
ExecutablePool* executablePool() { return ownerNode()->getExecutablePool(); }
#endif
@@ -400,7 +400,9 @@ namespace JSC {
size_t numberOfConstantRegisters() const { return m_constantRegisters.size(); }
void addConstantRegister(const Register& r) { return m_constantRegisters.append(r); }
- Register& constantRegister(int index) { return m_constantRegisters[index]; }
+ Register& constantRegister(int index) { return m_constantRegisters[index - FirstConstantRegisterIndex]; }
+ ALWAYS_INLINE bool isConstantRegisterIndex(int index) { return index >= FirstConstantRegisterIndex; }
+ ALWAYS_INLINE JSValue getConstant(int index) const { return m_constantRegisters[index - FirstConstantRegisterIndex].jsValue(); }
unsigned addFunctionExpression(FuncExprNode* n) { unsigned size = m_functionExpressions.size(); m_functionExpressions.append(n); return size; }
FuncExprNode* functionExpression(int index) const { return m_functionExpressions[index].get(); }
@@ -410,9 +412,6 @@ namespace JSC {
bool hasFunctions() const { return m_functionExpressions.size() || (m_rareData && m_rareData->m_functions.size()); }
- unsigned addUnexpectedConstant(JSValue v) { createRareDataIfNecessary(); unsigned size = m_rareData->m_unexpectedConstants.size(); m_rareData->m_unexpectedConstants.append(v); return size; }
- JSValue unexpectedConstant(int index) const { ASSERT(m_rareData); return m_rareData->m_unexpectedConstants[index]; }
-
unsigned addRegExp(RegExp* r) { createRareDataIfNecessary(); unsigned size = m_rareData->m_regexps.size(); m_rareData->m_regexps.append(r); return size; }
RegExp* regexp(int index) const { ASSERT(m_rareData); return m_rareData->m_regexps[index].get(); }
@@ -441,11 +440,6 @@ namespace JSC {
// FIXME: Make these remaining members private.
int m_numCalleeRegisters;
- // NOTE: numConstants holds the number of constant registers allocated
- // by the code generator, not the number of constant registers used.
- // (Duplicate constants are uniqued during code generation, and spare
- // constant registers may be allocated.)
- int m_numConstants;
int m_numVars;
int m_numParameters;
@@ -503,7 +497,7 @@ namespace JSC {
SymbolTable m_symbolTable;
- struct ExceptionInfo {
+ struct ExceptionInfo : FastAllocBase {
Vector<ExpressionRangeInfo> m_expressionInfo;
Vector<LineInfo> m_lineInfo;
Vector<GetByIdExceptionInfo> m_getByIdExceptionInfo;
@@ -514,12 +508,11 @@ namespace JSC {
};
OwnPtr<ExceptionInfo> m_exceptionInfo;
- struct RareData {
+ struct RareData : FastAllocBase {
Vector<HandlerInfo> m_exceptionHandlers;
// Rare Constants
Vector<RefPtr<FuncDeclNode> > m_functions;
- Vector<JSValue> m_unexpectedConstants;
Vector<RefPtr<RegExp> > m_regexps;
// Jump Tables
@@ -574,6 +567,14 @@ namespace JSC {
int m_baseScopeDepth;
};
+ inline Register& ExecState::r(int index)
+ {
+ CodeBlock* codeBlock = this->codeBlock();
+ if (codeBlock->isConstantRegisterIndex(index))
+ return codeBlock->constantRegister(index);
+ return this[index];
+ }
+
} // namespace JSC
#endif // CodeBlock_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
index f4421df..2d1ca98 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/Opcode.h
@@ -44,7 +44,6 @@ namespace JSC {
macro(op_create_arguments, 1) \
macro(op_convert_this, 2) \
\
- macro(op_unexpected_load, 3) \
macro(op_new_object, 2) \
macro(op_new_array, 4) \
macro(op_new_regexp, 3) \
@@ -182,7 +181,7 @@ namespace JSC {
#define OPCODE_ID_LENGTHS(id, length) const int id##_length = length;
FOR_EACH_OPCODE_ID(OPCODE_ID_LENGTHS);
- #undef OPCODE_ID_SIZES
+ #undef OPCODE_ID_LENGTHS
#define OPCODE_LENGTH(opcode) opcode##_length
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h
index 7d7dc9c..fa95603 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/SamplingTool.h
@@ -140,7 +140,7 @@ namespace JSC {
friend class HostCallRecord;
#if ENABLE(OPCODE_SAMPLING)
- class CallRecord : Noncopyable {
+ class CallRecord : public Noncopyable {
public:
CallRecord(SamplingTool* samplingTool)
: m_samplingTool(samplingTool)
@@ -170,7 +170,7 @@ namespace JSC {
}
};
#else
- class CallRecord : Noncopyable {
+ class CallRecord : public Noncopyable {
public:
CallRecord(SamplingTool*)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index 7feb3c8..15261ee 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -196,17 +196,10 @@ bool BytecodeGenerator::addGlobalVar(const Identifier& ident, bool isConstant, R
return result.second;
}
-void BytecodeGenerator::allocateConstants(size_t count)
+void BytecodeGenerator::preserveLastVar()
{
- m_codeBlock->m_numConstants = count;
- if (!count)
- return;
-
- m_nextConstantIndex = m_calleeRegisters.size();
-
- for (size_t i = 0; i < count; ++i)
- newRegister();
- m_lastConstant = &m_calleeRegisters.last();
+ if ((m_firstConstantIndex = m_calleeRegisters.size()) != 0)
+ m_lastVar = &m_calleeRegisters.last();
}
BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* debugger, const ScopeChain& scopeChain, SymbolTable* symbolTable, ProgramCodeBlock* codeBlock)
@@ -222,6 +215,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d
, m_baseScopeDepth(0)
, m_codeType(GlobalCode)
, m_nextGlobalIndex(-1)
+ , m_nextConstantOffset(0)
, m_globalConstantIndex(0)
, m_globalData(&scopeChain.globalObject()->globalExec()->globalData())
, m_lastOpcodeID(op_end)
@@ -272,7 +266,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d
if (!globalObject->hasProperty(exec, varStack[i].first))
newVars.append(addGlobalVar(varStack[i].first, varStack[i].second & DeclarationStacks::IsConstant));
- allocateConstants(programNode->neededConstants());
+ preserveLastVar();
for (size_t i = 0; i < newVars.size(); ++i)
emitLoad(newVars[i], jsUndefined());
@@ -290,7 +284,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, const Debugger* d
globalObject->putWithAttributes(exec, varStack[i].first, jsUndefined(), attributes);
}
- allocateConstants(programNode->neededConstants());
+ preserveLastVar();
}
}
@@ -305,6 +299,7 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, const Debug
, m_dynamicScopeDepth(0)
, m_baseScopeDepth(0)
, m_codeType(FunctionCode)
+ , m_nextConstantOffset(0)
, m_globalConstantIndex(0)
, m_globalData(&scopeChain.globalObject()->globalExec()->globalData())
, m_lastOpcodeID(op_end)
@@ -372,7 +367,7 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, const Debug
for (size_t i = 0; i < parameterCount; ++i)
addParameter(parameters[i]);
- allocateConstants(functionBody->neededConstants());
+ preserveLastVar();
}
BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugger, const ScopeChain& scopeChain, SymbolTable* symbolTable, EvalCodeBlock* codeBlock)
@@ -387,6 +382,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugge
, m_dynamicScopeDepth(0)
, m_baseScopeDepth(codeBlock->baseScopeDepth())
, m_codeType(EvalCode)
+ , m_nextConstantOffset(0)
, m_globalConstantIndex(0)
, m_globalData(&scopeChain.globalObject()->globalExec()->globalData())
, m_lastOpcodeID(op_end)
@@ -401,7 +397,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, const Debugger* debugge
codeBlock->setGlobalData(m_globalData);
m_codeBlock->m_numParameters = 1; // Allocate space for "this"
- allocateConstants(evalNode->neededConstants());
+ preserveLastVar();
}
RegisterID* BytecodeGenerator::addParameter(const Identifier& ident)
@@ -525,7 +521,7 @@ PassRefPtr<LabelScope> BytecodeGenerator::newLabelScope(LabelScope::Type type, c
m_labelScopes.removeLast();
// Allocate new label scope.
- LabelScope scope(type, name, scopeDepth(), newLabel(), type == LabelScope::Loop ? newLabel() : 0); // Only loops have continue targets.
+ LabelScope scope(type, name, scopeDepth(), newLabel(), type == LabelScope::Loop ? newLabel() : PassRefPtr<Label>()); // Only loops have continue targets.
m_labelScopes.append(scope);
return &m_labelScopes.last();
}
@@ -791,34 +787,19 @@ unsigned BytecodeGenerator::addConstant(const Identifier& ident)
return result.first->second;
}
-RegisterID* BytecodeGenerator::addConstant(JSValue v)
+RegisterID* BytecodeGenerator::addConstantValue(JSValue v)
{
- pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(JSValue::encode(v), m_nextConstantIndex);
- if (result.second) {
- RegisterID& constant = m_calleeRegisters[m_nextConstantIndex];
-
- ++m_nextConstantIndex;
+ int index = m_nextConstantOffset;
+ pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(JSValue::encode(v), m_nextConstantOffset);
+ if (result.second) {
+ m_constantPoolRegisters.append(FirstConstantRegisterIndex + m_nextConstantOffset);
+ ++m_nextConstantOffset;
m_codeBlock->addConstantRegister(JSValue(v));
- return &constant;
- }
+ } else
+ index = result.first->second;
- return &registerFor(result.first->second);
-}
-
-unsigned BytecodeGenerator::addUnexpectedConstant(JSValue v)
-{
- return m_codeBlock->addUnexpectedConstant(v);
-}
-
-RegisterID* BytecodeGenerator::emitLoadGlobalObject(RegisterID* dst, JSObject* globalObject)
-{
- if (!m_globalConstantIndex)
- m_globalConstantIndex = m_codeBlock->addUnexpectedConstant(globalObject);
- emitOpcode(op_unexpected_load);
- instructions().append(dst->index());
- instructions().append(m_globalConstantIndex);
- return dst;
+ return &m_constantPoolRegisters[index];
}
unsigned BytecodeGenerator::addRegExp(RegExp* r)
@@ -898,8 +879,8 @@ RegisterID* BytecodeGenerator::emitEqualityOp(OpcodeID opcodeID, RegisterID* dst
if (src1->index() == dstIndex
&& src1->isTemporary()
&& m_codeBlock->isConstantRegisterIndex(src2->index())
- && m_codeBlock->constantRegister(src2->index() - m_codeBlock->m_numVars).jsValue().isString()) {
- const UString& value = asString(m_codeBlock->constantRegister(src2->index() - m_codeBlock->m_numVars).jsValue())->value();
+ && m_codeBlock->constantRegister(src2->index()).jsValue().isString()) {
+ const UString& value = asString(m_codeBlock->constantRegister(src2->index()).jsValue())->value();
if (value == "undefined") {
rewindUnaryOp();
emitOpcode(op_is_undefined);
@@ -979,28 +960,12 @@ RegisterID* BytecodeGenerator::emitLoad(RegisterID* dst, const Identifier& ident
RegisterID* BytecodeGenerator::emitLoad(RegisterID* dst, JSValue v)
{
- RegisterID* constantID = addConstant(v);
+ RegisterID* constantID = addConstantValue(v);
if (dst)
return emitMove(dst, constantID);
return constantID;
}
-RegisterID* BytecodeGenerator::emitUnexpectedLoad(RegisterID* dst, bool b)
-{
- emitOpcode(op_unexpected_load);
- instructions().append(dst->index());
- instructions().append(addUnexpectedConstant(jsBoolean(b)));
- return dst;
-}
-
-RegisterID* BytecodeGenerator::emitUnexpectedLoad(RegisterID* dst, double d)
-{
- emitOpcode(op_unexpected_load);
- instructions().append(dst->index());
- instructions().append(addUnexpectedConstant(jsNumber(globalData(), d)));
- return dst;
-}
-
bool BytecodeGenerator::findScopedProperty(const Identifier& property, int& index, size_t& stackDepth, bool forWriting, JSObject*& globalObject)
{
// Cases where we cannot statically optimize the lookup.
@@ -1169,7 +1134,7 @@ RegisterID* BytecodeGenerator::emitResolveBase(RegisterID* dst, const Identifier
}
// Global object is the base
- return emitLoadGlobalObject(dst, globalObject);
+ return emitLoad(dst, JSValue(globalObject));
}
RegisterID* BytecodeGenerator::emitResolveWithBase(RegisterID* baseDst, RegisterID* propDst, const Identifier& property)
@@ -1196,7 +1161,7 @@ RegisterID* BytecodeGenerator::emitResolveWithBase(RegisterID* baseDst, Register
}
// Global object is the base
- emitLoadGlobalObject(baseDst, globalObject);
+ emitLoad(baseDst, JSValue(globalObject));
if (index != missingSymbolMarker() && !forceGlobalResolve) {
// Directly index the property lookup across multiple scopes.
@@ -1831,7 +1796,7 @@ RegisterID* BytecodeGenerator::emitNewError(RegisterID* dst, ErrorType type, JSV
emitOpcode(op_new_error);
instructions().append(dst->index());
instructions().append(static_cast<int>(type));
- instructions().append(addUnexpectedConstant(message));
+ instructions().append(addConstantValue(message)->index());
return dst;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index d29a24d..54d0289 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -245,9 +245,6 @@ namespace JSC {
RegisterID* emitLoad(RegisterID* dst, double);
RegisterID* emitLoad(RegisterID* dst, const Identifier&);
RegisterID* emitLoad(RegisterID* dst, JSValue);
- RegisterID* emitUnexpectedLoad(RegisterID* dst, bool);
- RegisterID* emitUnexpectedLoad(RegisterID* dst, double);
- RegisterID* emitLoadGlobalObject(RegisterID* dst, JSObject* globalObject);
RegisterID* emitUnaryOp(OpcodeID, RegisterID* dst, RegisterID* src);
RegisterID* emitBinaryOp(OpcodeID, RegisterID* dst, RegisterID* src1, RegisterID* src2, OperandTypes);
@@ -399,7 +396,7 @@ namespace JSC {
RegisterID* addParameter(const Identifier&);
- void allocateConstants(size_t);
+ void preserveLastVar();
RegisterID& registerFor(int index)
{
@@ -420,8 +417,7 @@ namespace JSC {
unsigned addConstant(FuncDeclNode*);
unsigned addConstant(FuncExprNode*);
unsigned addConstant(const Identifier&);
- RegisterID* addConstant(JSValue);
- unsigned addUnexpectedConstant(JSValue);
+ RegisterID* addConstantValue(JSValue);
unsigned addRegExp(RegExp*);
Vector<Instruction>& instructions() { return m_codeBlock->instructions(); }
@@ -450,12 +446,13 @@ namespace JSC {
RegisterID m_thisRegister;
RegisterID m_argumentsRegister;
int m_activationRegisterIndex;
+ WTF::SegmentedVector<RegisterID, 32> m_constantPoolRegisters;
WTF::SegmentedVector<RegisterID, 32> m_calleeRegisters;
WTF::SegmentedVector<RegisterID, 32> m_parameters;
WTF::SegmentedVector<RegisterID, 32> m_globals;
WTF::SegmentedVector<Label, 32> m_labels;
WTF::SegmentedVector<LabelScope, 8> m_labelScopes;
- RefPtr<RegisterID> m_lastConstant;
+ RefPtr<RegisterID> m_lastVar;
int m_finallyDepth;
int m_dynamicScopeDepth;
int m_baseScopeDepth;
@@ -466,7 +463,8 @@ namespace JSC {
int m_nextGlobalIndex;
int m_nextParameterIndex;
- int m_nextConstantIndex;
+ int m_firstConstantIndex;
+ int m_nextConstantOffset;
unsigned m_globalConstantIndex;
int m_globalVarStorageOffset;
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h
index 0223c2a..3532ad8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/RegisterID.h
@@ -35,7 +35,7 @@
namespace JSC {
- class RegisterID : Noncopyable {
+ class RegisterID : public Noncopyable {
public:
RegisterID()
: m_refCount(0)
diff --git a/src/3rdparty/webkit/JavaScriptCore/create_hash_table b/src/3rdparty/webkit/JavaScriptCore/create_hash_table
index 25d0b02..4184500 100755
--- a/src/3rdparty/webkit/JavaScriptCore/create_hash_table
+++ b/src/3rdparty/webkit/JavaScriptCore/create_hash_table
@@ -268,7 +268,7 @@ sub output() {
}
print " { 0, 0, 0, 0 }\n";
print "};\n\n";
- print "extern const struct HashTable $name =\n";
+ print "extern JSC_CONST_HASHTABLE HashTable $name =\n";
print " \{ $compactSize, $compactHashSizeMask, $nameEntries, 0 \};\n";
print "} // namespace\n";
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h b/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h
index 868ea71..98d0935 100644
--- a/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h
+++ b/src/3rdparty/webkit/JavaScriptCore/debugger/Debugger.h
@@ -38,7 +38,7 @@ namespace JSC {
virtual ~Debugger();
void attach(JSGlobalObject*);
- void detach(JSGlobalObject*);
+ virtual void detach(JSGlobalObject*);
virtual void sourceParsed(ExecState*, const SourceCode&, int errorLine, const UString& errorMsg) = 0;
virtual void exception(const DebuggerCallFrame&, intptr_t sourceID, int lineno) = 0;
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
index 2a7c98f..5732add 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/ArrayPrototype.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue arrayTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable arrayTable =
+extern JSC_CONST_HASHTABLE HashTable arrayTable =
{ 65, 63, arrayTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
index 1f43d4d..8b1c735 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/DatePrototype.lut.h
@@ -54,6 +54,6 @@ static const struct HashTableValue dateTableValues[47] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable dateTable =
+extern JSC_CONST_HASHTABLE HashTable dateTable =
{ 134, 127, dateTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
index 8e80eca..94b9654 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
-#define yyparse jscyyparse
-#define yylex jscyylex
-#define yyerror jscyyerror
-#define yylval jscyylval
-#define yychar jscyychar
-#define yydebug jscyydebug
-#define yynerrs jscyynerrs
-#define yylloc jscyylloc
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- NULLTOKEN = 258,
- TRUETOKEN = 259,
- FALSETOKEN = 260,
- BREAK = 261,
- CASE = 262,
- DEFAULT = 263,
- FOR = 264,
- NEW = 265,
- VAR = 266,
- CONSTTOKEN = 267,
- CONTINUE = 268,
- FUNCTION = 269,
- RETURN = 270,
- VOIDTOKEN = 271,
- DELETETOKEN = 272,
- IF = 273,
- THISTOKEN = 274,
- DO = 275,
- WHILE = 276,
- INTOKEN = 277,
- INSTANCEOF = 278,
- TYPEOF = 279,
- SWITCH = 280,
- WITH = 281,
- RESERVED = 282,
- THROW = 283,
- TRY = 284,
- CATCH = 285,
- FINALLY = 286,
- DEBUGGER = 287,
- IF_WITHOUT_ELSE = 288,
- ELSE = 289,
- EQEQ = 290,
- NE = 291,
- STREQ = 292,
- STRNEQ = 293,
- LE = 294,
- GE = 295,
- OR = 296,
- AND = 297,
- PLUSPLUS = 298,
- MINUSMINUS = 299,
- LSHIFT = 300,
- RSHIFT = 301,
- URSHIFT = 302,
- PLUSEQUAL = 303,
- MINUSEQUAL = 304,
- MULTEQUAL = 305,
- DIVEQUAL = 306,
- LSHIFTEQUAL = 307,
- RSHIFTEQUAL = 308,
- URSHIFTEQUAL = 309,
- ANDEQUAL = 310,
- MODEQUAL = 311,
- XOREQUAL = 312,
- OREQUAL = 313,
- OPENBRACE = 314,
- CLOSEBRACE = 315,
- NUMBER = 316,
- IDENT = 317,
- STRING = 318,
- AUTOPLUSPLUS = 319,
- AUTOMINUSMINUS = 320
- };
-#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
-
-
+#define yyparse jscyyparse
+#define yylex jscyylex
+#define yyerror jscyyerror
+#define yylval jscyylval
+#define yychar jscyychar
+#define yydebug jscyydebug
+#define yynerrs jscyynerrs
+#define yylloc jscyylloc
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 3 "../parser/Grammar.y"
@@ -245,8 +113,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -297,12 +169,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
@@ -363,6 +229,9 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
+/* Line 189 of yacc.c */
+#line 234 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -381,10 +250,88 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NULLTOKEN = 258,
+ TRUETOKEN = 259,
+ FALSETOKEN = 260,
+ BREAK = 261,
+ CASE = 262,
+ DEFAULT = 263,
+ FOR = 264,
+ NEW = 265,
+ VAR = 266,
+ CONSTTOKEN = 267,
+ CONTINUE = 268,
+ FUNCTION = 269,
+ RETURN = 270,
+ VOIDTOKEN = 271,
+ DELETETOKEN = 272,
+ IF = 273,
+ THISTOKEN = 274,
+ DO = 275,
+ WHILE = 276,
+ INTOKEN = 277,
+ INSTANCEOF = 278,
+ TYPEOF = 279,
+ SWITCH = 280,
+ WITH = 281,
+ RESERVED = 282,
+ THROW = 283,
+ TRY = 284,
+ CATCH = 285,
+ FINALLY = 286,
+ DEBUGGER = 287,
+ IF_WITHOUT_ELSE = 288,
+ ELSE = 289,
+ EQEQ = 290,
+ NE = 291,
+ STREQ = 292,
+ STRNEQ = 293,
+ LE = 294,
+ GE = 295,
+ OR = 296,
+ AND = 297,
+ PLUSPLUS = 298,
+ MINUSMINUS = 299,
+ LSHIFT = 300,
+ RSHIFT = 301,
+ URSHIFT = 302,
+ PLUSEQUAL = 303,
+ MINUSEQUAL = 304,
+ MULTEQUAL = 305,
+ DIVEQUAL = 306,
+ LSHIFTEQUAL = 307,
+ RSHIFTEQUAL = 308,
+ URSHIFTEQUAL = 309,
+ ANDEQUAL = 310,
+ MODEQUAL = 311,
+ XOREQUAL = 312,
+ OREQUAL = 313,
+ OPENBRACE = 314,
+ CLOSEBRACE = 315,
+ NUMBER = 316,
+ IDENT = 317,
+ STRING = 318,
+ AUTOPLUSPLUS = 319,
+ AUTOMINUSMINUS = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../parser/Grammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 155 "../parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -414,13 +361,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 187 of yacc.c. */
-#line 420 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 369 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
@@ -440,8 +389,8 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 445 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+/* Line 264 of yacc.c */
+#line 394 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -516,14 +465,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -605,9 +554,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- YYLTYPE yyls;
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+ YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
@@ -642,12 +591,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -995,66 +944,66 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 290, 290, 291, 292, 293, 294, 295, 304, 316,
- 317, 318, 319, 320, 332, 336, 343, 344, 345, 347,
- 351, 352, 353, 354, 355, 359, 360, 361, 365, 369,
- 377, 378, 382, 383, 387, 388, 389, 393, 397, 404,
- 405, 409, 413, 420, 421, 428, 429, 436, 437, 438,
- 442, 448, 449, 450, 454, 461, 462, 466, 470, 477,
- 478, 482, 483, 487, 488, 489, 493, 494, 495, 499,
- 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
- 512, 513, 517, 518, 522, 523, 524, 525, 529, 530,
- 532, 534, 539, 540, 541, 545, 546, 548, 553, 554,
- 555, 556, 560, 561, 562, 563, 567, 568, 569, 570,
- 571, 572, 575, 581, 582, 583, 584, 585, 586, 593,
- 594, 595, 596, 597, 598, 602, 609, 610, 611, 612,
- 613, 617, 618, 620, 622, 624, 629, 630, 632, 633,
- 635, 640, 641, 645, 646, 651, 652, 656, 657, 661,
- 662, 667, 668, 673, 674, 678, 679, 684, 685, 690,
- 691, 695, 696, 701, 702, 707, 708, 712, 713, 718,
- 719, 723, 724, 729, 730, 735, 736, 741, 742, 749,
- 750, 757, 758, 765, 766, 767, 768, 769, 770, 771,
- 772, 773, 774, 775, 776, 780, 781, 785, 786, 790,
- 791, 795, 796, 797, 798, 799, 800, 801, 802, 803,
- 804, 805, 806, 807, 808, 809, 810, 811, 815, 817,
- 822, 824, 830, 837, 846, 854, 867, 874, 883, 891,
- 904, 906, 912, 920, 932, 933, 937, 941, 945, 949,
- 951, 956, 959, 969, 971, 973, 975, 981, 988, 997,
- 1003, 1014, 1015, 1019, 1020, 1024, 1028, 1032, 1036, 1043,
- 1046, 1049, 1052, 1058, 1061, 1064, 1067, 1073, 1079, 1085,
- 1086, 1095, 1096, 1100, 1106, 1116, 1117, 1121, 1122, 1126,
- 1132, 1136, 1143, 1149, 1155, 1165, 1167, 1172, 1173, 1184,
- 1185, 1192, 1193, 1203, 1206, 1212, 1213, 1217, 1218, 1223,
- 1230, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1251, 1252,
- 1253, 1254, 1255, 1259, 1260, 1264, 1265, 1266, 1268, 1272,
- 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1286, 1287, 1290,
- 1292, 1296, 1297, 1301, 1302, 1303, 1304, 1305, 1309, 1310,
- 1311, 1312, 1316, 1317, 1321, 1322, 1326, 1327, 1328, 1329,
- 1333, 1334, 1335, 1336, 1340, 1341, 1345, 1346, 1350, 1351,
- 1355, 1356, 1360, 1361, 1362, 1366, 1367, 1368, 1372, 1373,
- 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1385,
- 1386, 1390, 1391, 1395, 1396, 1397, 1398, 1402, 1403, 1404,
- 1405, 1409, 1410, 1411, 1415, 1416, 1417, 1421, 1422, 1423,
- 1424, 1428, 1429, 1430, 1431, 1435, 1436, 1437, 1438, 1439,
- 1440, 1441, 1445, 1446, 1447, 1448, 1449, 1450, 1454, 1455,
- 1456, 1457, 1458, 1459, 1460, 1464, 1465, 1466, 1467, 1468,
- 1472, 1473, 1474, 1475, 1476, 1480, 1481, 1482, 1483, 1484,
- 1488, 1489, 1493, 1494, 1498, 1499, 1503, 1504, 1508, 1509,
- 1513, 1514, 1518, 1519, 1523, 1524, 1528, 1529, 1533, 1534,
- 1538, 1539, 1543, 1544, 1548, 1549, 1553, 1554, 1558, 1559,
- 1563, 1564, 1568, 1569, 1573, 1574, 1578, 1579, 1583, 1584,
- 1588, 1589, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
- 1601, 1602, 1603, 1604, 1608, 1609, 1613, 1614, 1618, 1619,
- 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
- 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1643, 1644, 1648,
- 1649, 1653, 1654, 1655, 1656, 1660, 1661, 1662, 1663, 1667,
- 1668, 1672, 1673, 1677, 1678, 1682, 1686, 1690, 1694, 1695,
- 1699, 1700, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
- 1714, 1716, 1719, 1721, 1725, 1726, 1727, 1728, 1732, 1733,
- 1734, 1735, 1739, 1740, 1741, 1742, 1746, 1750, 1754, 1755,
- 1758, 1760, 1764, 1765, 1769, 1770, 1774, 1775, 1779, 1783,
- 1784, 1788, 1789, 1790, 1794, 1795, 1799, 1800, 1804, 1805,
- 1806, 1807, 1811, 1812, 1815, 1817, 1821, 1822
+ 0, 288, 288, 289, 290, 291, 292, 293, 302, 314,
+ 315, 316, 317, 318, 330, 334, 341, 342, 343, 345,
+ 349, 350, 351, 352, 353, 357, 358, 359, 363, 367,
+ 375, 376, 380, 381, 385, 386, 387, 391, 395, 402,
+ 403, 407, 411, 418, 419, 426, 427, 434, 435, 436,
+ 440, 446, 447, 448, 452, 459, 460, 464, 468, 475,
+ 476, 480, 481, 485, 486, 487, 491, 492, 493, 497,
+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
+ 510, 511, 515, 516, 520, 521, 522, 523, 527, 528,
+ 530, 532, 537, 538, 539, 543, 544, 546, 551, 552,
+ 553, 554, 558, 559, 560, 561, 565, 566, 567, 568,
+ 569, 570, 573, 579, 580, 581, 582, 583, 584, 591,
+ 592, 593, 594, 595, 596, 600, 607, 608, 609, 610,
+ 611, 615, 616, 618, 620, 622, 627, 628, 630, 631,
+ 633, 638, 639, 643, 644, 649, 650, 654, 655, 659,
+ 660, 665, 666, 671, 672, 676, 677, 682, 683, 688,
+ 689, 693, 694, 699, 700, 705, 706, 710, 711, 716,
+ 717, 721, 722, 727, 728, 733, 734, 739, 740, 747,
+ 748, 755, 756, 763, 764, 765, 766, 767, 768, 769,
+ 770, 771, 772, 773, 774, 778, 779, 783, 784, 788,
+ 789, 793, 794, 795, 796, 797, 798, 799, 800, 801,
+ 802, 803, 804, 805, 806, 807, 808, 809, 813, 815,
+ 820, 822, 828, 835, 844, 852, 865, 872, 881, 889,
+ 902, 904, 910, 918, 930, 931, 935, 939, 943, 947,
+ 949, 954, 957, 967, 969, 971, 973, 979, 986, 995,
+ 1001, 1012, 1013, 1017, 1018, 1022, 1026, 1030, 1034, 1041,
+ 1044, 1047, 1050, 1056, 1059, 1062, 1065, 1071, 1077, 1083,
+ 1084, 1093, 1094, 1098, 1104, 1114, 1115, 1119, 1120, 1124,
+ 1130, 1134, 1141, 1147, 1153, 1163, 1165, 1170, 1171, 1182,
+ 1183, 1190, 1191, 1201, 1204, 1210, 1211, 1215, 1216, 1221,
+ 1228, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1249, 1250,
+ 1251, 1252, 1253, 1257, 1258, 1262, 1263, 1264, 1266, 1270,
+ 1271, 1272, 1273, 1274, 1278, 1279, 1280, 1284, 1285, 1288,
+ 1290, 1294, 1295, 1299, 1300, 1301, 1302, 1303, 1307, 1308,
+ 1309, 1310, 1314, 1315, 1319, 1320, 1324, 1325, 1326, 1327,
+ 1331, 1332, 1333, 1334, 1338, 1339, 1343, 1344, 1348, 1349,
+ 1353, 1354, 1358, 1359, 1360, 1364, 1365, 1366, 1370, 1371,
+ 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1383,
+ 1384, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
+ 1403, 1407, 1408, 1409, 1413, 1414, 1415, 1419, 1420, 1421,
+ 1422, 1426, 1427, 1428, 1429, 1433, 1434, 1435, 1436, 1437,
+ 1438, 1439, 1443, 1444, 1445, 1446, 1447, 1448, 1452, 1453,
+ 1454, 1455, 1456, 1457, 1458, 1462, 1463, 1464, 1465, 1466,
+ 1470, 1471, 1472, 1473, 1474, 1478, 1479, 1480, 1481, 1482,
+ 1486, 1487, 1491, 1492, 1496, 1497, 1501, 1502, 1506, 1507,
+ 1511, 1512, 1516, 1517, 1521, 1522, 1526, 1527, 1531, 1532,
+ 1536, 1537, 1541, 1542, 1546, 1547, 1551, 1552, 1556, 1557,
+ 1561, 1562, 1566, 1567, 1571, 1572, 1576, 1577, 1581, 1582,
+ 1586, 1587, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,
+ 1599, 1600, 1601, 1602, 1606, 1607, 1611, 1612, 1616, 1617,
+ 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
+ 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1641, 1642, 1646,
+ 1647, 1651, 1652, 1653, 1654, 1658, 1659, 1660, 1661, 1665,
+ 1666, 1670, 1671, 1675, 1676, 1680, 1684, 1688, 1692, 1693,
+ 1697, 1698, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
+ 1712, 1714, 1717, 1719, 1723, 1724, 1725, 1726, 1730, 1731,
+ 1732, 1733, 1737, 1738, 1739, 1740, 1744, 1748, 1752, 1753,
+ 1756, 1758, 1762, 1763, 1767, 1768, 1772, 1773, 1777, 1781,
+ 1782, 1786, 1787, 1788, 1792, 1793, 1797, 1798, 1802, 1803,
+ 1804, 1805, 1809, 1810, 1813, 1815, 1819, 1820
};
#endif
@@ -2361,17 +2310,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2406,11 +2358,11 @@ yy_reduce_print (yyvsp, yylsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) );
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -2692,10 +2644,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2714,10 +2664,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2741,88 +2690,97 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-/* Location data for the look-ahead symbol. */
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[2];
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+ /* The location stack. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls;
+ YYLTYPE *yylsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[2];
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yyls = yylsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
+
#if YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_column = yylloc.last_column = 1;
#endif
goto yysetstate;
@@ -2861,6 +2819,7 @@ YYLTYPE yylloc;
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
+
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
@@ -2882,9 +2841,9 @@ YYLTYPE yylloc;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
- YYSTACK_RELOCATE (yyls);
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2905,6 +2864,9 @@ YYLTYPE yylloc;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2913,16 +2875,16 @@ YYLTYPE yylloc;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2954,20 +2916,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3008,32 +2966,44 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 290 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 288 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
-#line 291 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 289 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
-#line 292 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 290 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
-#line 293 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 291 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
-#line 294 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 292 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
-#line 295 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 293 "../parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3046,7 +3016,9 @@ yyreduce:
break;
case 8:
-#line 304 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 302 "../parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3059,27 +3031,37 @@ yyreduce:
break;
case 9:
-#line 316 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 314 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
-#line 317 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 315 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
-#line 318 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 316 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, Identifier(GLOBAL_DATA, UString::from((yyvsp[(1) - (3)].doubleValue))), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
-#line 319 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 317 "../parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
-#line 321 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 319 "../parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -3091,7 +3073,9 @@ yyreduce:
break;
case 14:
-#line 332 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 330 "../parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
(yyval.propertyList).m_features = (yyvsp[(1) - (1)].propertyNode).m_features;
@@ -3099,7 +3083,9 @@ yyreduce:
break;
case 15:
-#line 336 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 334 "../parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
(yyval.propertyList).m_features = (yyvsp[(1) - (3)].propertyList).m_features | (yyvsp[(3) - (3)].propertyNode).m_features;
@@ -3107,52 +3093,72 @@ yyreduce:
break;
case 17:
-#line 344 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 342 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
-#line 345 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 343 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
-#line 347 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 345 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
-#line 351 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 349 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
-#line 354 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 352 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
-#line 355 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 353 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
-#line 359 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 357 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
-#line 360 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 358 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
-#line 361 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 359 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
-#line 365 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 363 "../parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
(yyval.elementList).m_features = (yyvsp[(2) - (2)].expressionNode).m_features;
@@ -3160,7 +3166,9 @@ yyreduce:
break;
case 29:
-#line 370 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 368 "../parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
(yyval.elementList).m_features = (yyvsp[(1) - (4)].elementList).m_features | (yyvsp[(4) - (4)].expressionNode).m_features;
@@ -3168,27 +3176,37 @@ yyreduce:
break;
case 30:
-#line 377 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 375 "../parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
-#line 382 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 380 "../parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
-#line 383 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 381 "../parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
-#line 388 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 386 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
-#line 389 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 387 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3196,7 +3214,9 @@ yyreduce:
break;
case 37:
-#line 393 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 391 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3204,7 +3224,9 @@ yyreduce:
break;
case 38:
-#line 397 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 395 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3212,7 +3234,9 @@ yyreduce:
break;
case 40:
-#line 405 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 403 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3220,7 +3244,9 @@ yyreduce:
break;
case 41:
-#line 409 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 407 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3228,7 +3254,9 @@ yyreduce:
break;
case 42:
-#line 413 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 411 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3236,7 +3264,9 @@ yyreduce:
break;
case 44:
-#line 421 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 419 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3244,7 +3274,9 @@ yyreduce:
break;
case 46:
-#line 429 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 427 "../parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3252,17 +3284,23 @@ yyreduce:
break;
case 47:
-#line 436 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 434 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
-#line 437 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 435 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
-#line 438 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 436 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3270,24 +3308,32 @@ yyreduce:
break;
case 50:
-#line 442 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 440 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants); ;}
break;
case 51:
-#line 448 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 446 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
-#line 449 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 447 "../parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
-#line 450 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 448 "../parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3295,7 +3341,9 @@ yyreduce:
break;
case 54:
-#line 454 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 452 "../parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3303,17 +3351,23 @@ yyreduce:
break;
case 55:
-#line 461 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 459 "../parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
-#line 462 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 460 "../parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
-#line 466 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 464 "../parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
(yyval.argumentList).m_features = (yyvsp[(1) - (1)].expressionNode).m_features;
@@ -3321,7 +3375,9 @@ yyreduce:
break;
case 58:
-#line 470 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 468 "../parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
(yyval.argumentList).m_features = (yyvsp[(1) - (3)].argumentList).m_features | (yyvsp[(3) - (3)].expressionNode).m_features;
@@ -3329,528 +3385,730 @@ yyreduce:
break;
case 64:
-#line 488 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 486 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
-#line 489 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 487 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
-#line 494 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
-#line 495 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 493 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
-#line 499 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 497 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
-#line 500 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 498 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
-#line 501 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 499 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
-#line 502 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 500 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
-#line 503 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 501 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
-#line 504 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 502 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
-#line 505 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 503 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
-#line 506 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 504 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
-#line 507 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 505 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
-#line 508 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 506 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
-#line 509 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 507 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
-#line 523 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 521 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
-#line 524 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 522 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
-#line 525 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 523 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
-#line 531 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 529 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
-#line 533 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 531 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
-#line 535 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 533 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
-#line 540 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 538 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
-#line 541 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 539 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
-#line 547 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 545 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
-#line 549 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 547 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
-#line 554 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 552 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
-#line 555 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 553 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
-#line 556 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 554 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
-#line 561 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 559 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
-#line 562 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 560 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
-#line 563 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 561 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
-#line 568 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 566 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
-#line 569 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 567 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
-#line 570 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 568 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
-#line 571 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 569 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
-#line 572 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 570 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 112:
-#line 575 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 573 "../parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 114:
-#line 582 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 580 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
-#line 583 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 581 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
-#line 584 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 582 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
-#line 585 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 583 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
-#line 587 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 585 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 120:
-#line 594 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 592 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
-#line 595 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 593 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
-#line 596 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 594 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
-#line 597 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 595 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
-#line 599 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 597 "../parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 125:
-#line 603 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 601 "../parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 127:
-#line 610 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 608 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
-#line 611 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 609 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
-#line 612 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 610 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
-#line 613 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 611 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
-#line 619 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 617 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
-#line 621 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 619 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
-#line 623 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 621 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
-#line 625 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 623 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
-#line 631 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 629 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
-#line 632 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 630 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
-#line 634 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 632 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
-#line 636 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 634 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
-#line 641 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 639 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
-#line 647 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 645 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
-#line 652 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 650 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
-#line 657 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 655 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
-#line 663 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 661 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
-#line 669 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 667 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
-#line 674 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 672 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
-#line 680 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 678 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
-#line 686 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 684 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
-#line 691 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 689 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
-#line 697 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 695 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
-#line 703 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 701 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
-#line 708 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 706 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
-#line 714 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 712 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
-#line 719 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 717 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
-#line 725 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 723 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
-#line 731 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 729 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
-#line 737 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 735 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
-#line 743 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 741 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 180:
-#line 751 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 749 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 182:
-#line 759 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 757 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 183:
-#line 765 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 763 "../parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
-#line 766 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 764 "../parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
-#line 767 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 765 "../parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
-#line 768 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 766 "../parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
-#line 769 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 767 "../parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
-#line 770 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 768 "../parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
-#line 771 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 769 "../parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
-#line 772 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 770 "../parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
-#line 773 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 771 "../parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
-#line 774 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 772 "../parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
-#line 775 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 773 "../parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
-#line 776 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 774 "../parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
-#line 781 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 779 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
-#line 786 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 784 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
-#line 791 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 789 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
-#line 815 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 813 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 219:
-#line 817 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 815 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 220:
-#line 822 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 820 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 221:
-#line 824 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 822 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
AUTO_SEMICOLON; ;}
break;
case 222:
-#line 830 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 828 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3861,7 +4119,9 @@ yyreduce:
break;
case 223:
-#line 837 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 835 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3874,7 +4134,9 @@ yyreduce:
break;
case 224:
-#line 847 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 845 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3885,7 +4147,9 @@ yyreduce:
break;
case 225:
-#line 855 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 853 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3898,7 +4162,9 @@ yyreduce:
break;
case 226:
-#line 867 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 865 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3909,7 +4175,9 @@ yyreduce:
break;
case 227:
-#line 874 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 872 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3922,7 +4190,9 @@ yyreduce:
break;
case 228:
-#line 884 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 882 "../parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3933,7 +4203,9 @@ yyreduce:
break;
case 229:
-#line 892 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 890 "../parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3946,19 +4218,25 @@ yyreduce:
break;
case 230:
-#line 904 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 902 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 231:
-#line 907 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 905 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 232:
-#line 912 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 910 "../parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
(yyval.constDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3970,7 +4248,9 @@ yyreduce:
break;
case 233:
-#line 921 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 919 "../parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -3982,50 +4262,68 @@ yyreduce:
break;
case 234:
-#line 932 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 930 "../parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
-#line 933 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 931 "../parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
-#line 937 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 935 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
-#line 941 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 939 "../parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
-#line 945 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 943 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
-#line 949 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 947 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 240:
-#line 951 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 949 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 241:
-#line 957 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 955 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 242:
-#line 960 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 958 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4035,25 +4333,33 @@ yyreduce:
break;
case 243:
-#line 969 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 967 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 244:
-#line 971 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 969 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 245:
-#line 973 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 971 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 246:
-#line 976 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 974 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
(yyvsp[(3) - (9)].expressionNode).m_numConstants + (yyvsp[(5) - (9)].expressionNode).m_numConstants + (yyvsp[(7) - (9)].expressionNode).m_numConstants + (yyvsp[(9) - (9)].statementNode).m_numConstants);
@@ -4062,7 +4368,9 @@ yyreduce:
break;
case 247:
-#line 982 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 980 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_funcDeclarations, (yyvsp[(10) - (10)].statementNode).m_funcDeclarations),
@@ -4072,7 +4380,9 @@ yyreduce:
break;
case 248:
-#line 989 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 987 "../parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (7)]).first_column, (yylsp[(3) - (7)]).last_column, (yylsp[(5) - (7)]).last_column);
@@ -4084,7 +4394,9 @@ yyreduce:
break;
case 249:
-#line 998 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 996 "../parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(8) - (8)].statementNode).m_varDeclarations, *(yyvsp[(4) - (8)].ident), DeclarationStacks::HasInitializer);
@@ -4093,7 +4405,9 @@ yyreduce:
break;
case 250:
-#line 1004 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1002 "../parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(9) - (9)].statementNode).m_varDeclarations, *(yyvsp[(4) - (9)].ident), DeclarationStacks::HasInitializer);
@@ -4104,17 +4418,23 @@ yyreduce:
break;
case 251:
-#line 1014 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1012 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
-#line 1019 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1017 "../parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
-#line 1024 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1022 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4122,7 +4442,9 @@ yyreduce:
break;
case 256:
-#line 1028 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1026 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4130,7 +4452,9 @@ yyreduce:
break;
case 257:
-#line 1032 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1030 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4138,7 +4462,9 @@ yyreduce:
break;
case 258:
-#line 1036 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1034 "../parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4146,82 +4472,106 @@ yyreduce:
break;
case 259:
-#line 1043 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1041 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 260:
-#line 1046 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1044 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 261:
-#line 1049 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1047 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 262:
-#line 1052 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1050 "../parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident)), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 263:
-#line 1058 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1056 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 264:
-#line 1061 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1059 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 265:
-#line 1064 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1062 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 266:
-#line 1067 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1065 "../parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 267:
-#line 1073 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1071 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 268:
-#line 1079 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1077 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 269:
-#line 1085 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1083 "../parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
-#line 1087 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1085 "../parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_funcDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_funcDeclarations), (yyvsp[(4) - (5)].clauseList).m_funcDeclarations),
@@ -4230,12 +4580,16 @@ yyreduce:
break;
case 271:
-#line 1095 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1093 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
-#line 1100 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1098 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
(yyval.clauseList).m_varDeclarations = (yyvsp[(1) - (1)].caseClauseNode).m_varDeclarations;
@@ -4245,7 +4599,9 @@ yyreduce:
break;
case 274:
-#line 1106 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1104 "../parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
(yyval.clauseList).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].clauseList).m_varDeclarations, (yyvsp[(2) - (2)].caseClauseNode).m_varDeclarations);
@@ -4256,34 +4612,46 @@ yyreduce:
break;
case 275:
-#line 1116 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1114 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
-#line 1117 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1115 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
-#line 1121 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1119 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
-#line 1122 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1120 "../parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
-#line 1126 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1124 "../parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, (yyvsp[(3) - (3)].statementNode).m_varDeclarations, (yyvsp[(3) - (3)].statementNode).m_funcDeclarations, (yyvsp[(3) - (3)].statementNode).m_features, (yyvsp[(3) - (3)].statementNode).m_numConstants); ;}
break;
case 280:
-#line 1132 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1130 "../parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -4291,7 +4659,9 @@ yyreduce:
break;
case 281:
-#line 1136 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1134 "../parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON;
@@ -4299,7 +4669,9 @@ yyreduce:
break;
case 282:
-#line 1143 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1141 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_funcDeclarations, (yyvsp[(4) - (4)].statementNode).m_funcDeclarations),
@@ -4309,7 +4681,9 @@ yyreduce:
break;
case 283:
-#line 1149 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1147 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4319,7 +4693,9 @@ yyreduce:
break;
case 284:
-#line 1156 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1154 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_funcDeclarations, (yyvsp[(7) - (9)].statementNode).m_funcDeclarations), (yyvsp[(9) - (9)].statementNode).m_funcDeclarations),
@@ -4329,24 +4705,32 @@ yyreduce:
break;
case 285:
-#line 1165 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1163 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 286:
-#line 1167 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1165 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 287:
-#line 1172 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1170 "../parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)); ;}
break;
case 288:
-#line 1174 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1172 "../parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4357,12 +4741,16 @@ yyreduce:
break;
case 289:
-#line 1184 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1182 "../parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), LEXER->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
-#line 1186 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1184 "../parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(3) - (7)].parameterList).m_features & ArgumentsFeature)
@@ -4372,12 +4760,16 @@ yyreduce:
break;
case 291:
-#line 1192 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1190 "../parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
-#line 1194 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1192 "../parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4387,42 +4779,56 @@ yyreduce:
break;
case 293:
-#line 1203 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1201 "../parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
(yyval.parameterList).m_node.tail = (yyval.parameterList).m_node.head; ;}
break;
case 294:
-#line 1206 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1204 "../parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
(yyval.parameterList).m_node.tail = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].parameterList).m_node.tail, *(yyvsp[(3) - (3)].ident)); ;}
break;
case 295:
-#line 1212 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1210 "../parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
-#line 1213 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1211 "../parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
-#line 1217 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1215 "../parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
-#line 1218 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1216 "../parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
case 299:
-#line 1223 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1221 "../parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = (yyvsp[(1) - (1)].statementNode).m_varDeclarations;
@@ -4433,7 +4839,9 @@ yyreduce:
break;
case 300:
-#line 1230 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1228 "../parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
(yyval.sourceElements).m_funcDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (2)].statementNode).m_funcDeclarations);
@@ -4443,188 +4851,261 @@ yyreduce:
break;
case 304:
-#line 1244 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1242 "../parser/Grammar.y"
{ ;}
break;
case 305:
-#line 1245 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1243 "../parser/Grammar.y"
{ ;}
break;
case 306:
-#line 1246 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1244 "../parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 307:
-#line 1247 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1245 "../parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 308:
-#line 1251 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1249 "../parser/Grammar.y"
{ ;}
break;
case 309:
-#line 1252 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1250 "../parser/Grammar.y"
{ ;}
break;
case 310:
-#line 1253 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1251 "../parser/Grammar.y"
{ ;}
break;
case 311:
-#line 1254 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1252 "../parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
-#line 1255 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1253 "../parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
-#line 1265 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1263 "../parser/Grammar.y"
{ ;}
break;
case 317:
-#line 1266 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1264 "../parser/Grammar.y"
{ ;}
break;
case 318:
-#line 1268 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1266 "../parser/Grammar.y"
{ ;}
break;
case 322:
-#line 1275 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1273 "../parser/Grammar.y"
{ ;}
break;
case 517:
-#line 1643 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1641 "../parser/Grammar.y"
{ ;}
break;
case 518:
-#line 1644 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1642 "../parser/Grammar.y"
{ ;}
break;
case 520:
-#line 1649 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1647 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
-#line 1653 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1651 "../parser/Grammar.y"
{ ;}
break;
case 522:
-#line 1654 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1652 "../parser/Grammar.y"
{ ;}
break;
case 525:
-#line 1660 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1658 "../parser/Grammar.y"
{ ;}
break;
case 526:
-#line 1661 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1659 "../parser/Grammar.y"
{ ;}
break;
case 530:
-#line 1668 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1666 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
-#line 1677 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1675 "../parser/Grammar.y"
{ ;}
break;
case 534:
-#line 1678 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1676 "../parser/Grammar.y"
{ ;}
break;
case 539:
-#line 1695 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1693 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
-#line 1726 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1724 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
-#line 1728 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1726 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
-#line 1733 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1731 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
-#line 1735 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1733 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
-#line 1740 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1738 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
-#line 1742 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1740 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
-#line 1754 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1752 "../parser/Grammar.y"
{ ;}
break;
case 569:
-#line 1755 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1753 "../parser/Grammar.y"
{ ;}
break;
case 578:
-#line 1779 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1777 "../parser/Grammar.y"
{ ;}
break;
case 580:
-#line 1784 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1782 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
-#line 1795 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1793 "../parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
-#line 1811 "../parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1809 "../parser/Grammar.y"
{ ;}
break;
-/* Line 1267 of yacc.c. */
-#line 4628 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 5109 "JavaScriptCore/tmp/../generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4700,7 +5181,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4717,7 +5198,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4775,14 +5256,11 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
- the look-ahead. YYLOC is available though. */
+ the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
@@ -4807,7 +5285,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4818,7 +5296,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4844,7 +5322,9 @@ yyreturn:
}
-#line 1827 "../parser/Grammar.y"
+
+/* Line 1675 of yacc.c */
+#line 1825 "../parser/Grammar.y"
static ExpressionNode* makeAssignNode(void* globalPtr, ExpressionNode* loc, Operator op, ExpressionNode* expr, bool locHasAssignments, bool exprHasAssignments, int start, int divot, int end)
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
index ebd30c8..847624f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Grammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -104,78 +104,16 @@
AUTOMINUSMINUS = 320
};
#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../parser/Grammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 155 "../parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -205,13 +143,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 1489 of yacc.c. */
-#line 211 "JavaScriptCore/tmp/../generated/Grammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 151 "JavaScriptCore/tmp/../generated/Grammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -230,3 +170,4 @@ typedef struct YYLTYPE
#endif
+
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
index 2b7e836..a9b1631 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/JSONObject.lut.h
@@ -10,6 +10,6 @@ static const struct HashTableValue jsonTableValues[3] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable jsonTable =
+extern JSC_CONST_HASHTABLE HashTable jsonTable =
{ 4, 3, jsonTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
index fb1ae29..95c33b6 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/Lexer.lut.h
@@ -44,6 +44,6 @@ static const struct HashTableValue mainTableValues[37] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable mainTable =
+extern JSC_CONST_HASHTABLE HashTable mainTable =
{ 133, 127, mainTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
index 7d9b43e..9cb0ee2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/MathObject.lut.h
@@ -26,6 +26,6 @@ static const struct HashTableValue mathTableValues[19] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable mathTable =
+extern JSC_CONST_HASHTABLE HashTable mathTable =
{ 67, 63, mathTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
index e963e1a..6285d62 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/NumberConstructor.lut.h
@@ -13,6 +13,6 @@ static const struct HashTableValue numberTableValues[6] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable numberTable =
+extern JSC_CONST_HASHTABLE HashTable numberTable =
{ 16, 15, numberTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
index fd822c6..a3f15b3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpConstructor.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue regExpConstructorTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable regExpConstructorTable =
+extern JSC_CONST_HASHTABLE HashTable regExpConstructorTable =
{ 65, 63, regExpConstructorTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
index 81d5b60..8c87f16 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/RegExpObject.lut.h
@@ -13,6 +13,6 @@ static const struct HashTableValue regExpTableValues[6] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable regExpTable =
+extern JSC_CONST_HASHTABLE HashTable regExpTable =
{ 17, 15, regExpTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h b/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
index dfb9c20..f912298 100644
--- a/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
+++ b/src/3rdparty/webkit/JavaScriptCore/generated/StringPrototype.lut.h
@@ -40,6 +40,6 @@ static const struct HashTableValue stringTableValues[33] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable stringTable =
+extern JSC_CONST_HASHTABLE HashTable stringTable =
{ 71, 63, stringTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h
index f48f4f4..767c262 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CachedCall.h
@@ -32,7 +32,7 @@
#include "Interpreter.h"
namespace JSC {
- class CachedCall : Noncopyable {
+ class CachedCall : public Noncopyable {
public:
CachedCall(CallFrame* callFrame, JSFunction* function, int argCount, JSValue* exception)
: m_valid(false)
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
index 0b0e5fe..2d677ce 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/CallFrame.h
@@ -124,26 +124,23 @@ namespace JSC {
setCalleeArguments(0);
}
- private:
- friend class Arguments;
- friend class JSActivation;
- friend class JSGlobalObject;
- friend class Interpreter;
- friend struct CallFrameClosure;
+ // Read a register from the codeframe (or constant from the CodeBlock).
+ inline Register& r(int);
+ static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
int returnValueRegister() const { return this[RegisterFile::ReturnValueRegister].i(); }
+ bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
+ CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
+ CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
+
+ private:
void setArgumentCount(int count) { this[RegisterFile::ArgumentCount] = count; }
void setCallee(JSFunction* callee) { this[RegisterFile::Callee] = callee; }
void setCodeBlock(CodeBlock* codeBlock) { this[RegisterFile::CodeBlock] = codeBlock; }
static const intptr_t HostCallFrameFlag = 1;
- static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); }
- bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; }
- CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); }
- CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); }
-
ExecState();
~ExecState();
};
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
index 7b1e547..e4eebb2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
@@ -65,10 +65,6 @@
#include "JIT.h"
#endif
-#if ENABLE(ASSEMBLER)
-#include "AssemblerBuffer.h"
-#endif
-
using namespace std;
namespace JSC {
@@ -112,7 +108,7 @@ NEVER_INLINE bool Interpreter::resolve(CallFrame* callFrame, Instruction* vPC, J
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
} while (++iter != end);
@@ -145,7 +141,7 @@ NEVER_INLINE bool Interpreter::resolveSkip(CallFrame* callFrame, Instruction* vP
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
} while (++iter != end);
@@ -163,7 +159,7 @@ NEVER_INLINE bool Interpreter::resolveGlobal(CallFrame* callFrame, Instruction*
int offset = (vPC + 5)->u.operand;
if (structure == globalObject->structure()) {
- callFrame[dst] = JSValue(globalObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(globalObject->getDirectOffset(offset));
return true;
}
@@ -178,14 +174,14 @@ NEVER_INLINE bool Interpreter::resolveGlobal(CallFrame* callFrame, Instruction*
globalObject->structure()->ref();
vPC[4] = globalObject->structure();
vPC[5] = slot.cachedOffset();
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[dst] = JSValue(result);
+ callFrame->r(dst) = JSValue(result);
return true;
}
@@ -197,7 +193,7 @@ NEVER_INLINE void Interpreter::resolveBase(CallFrame* callFrame, Instruction* vP
{
int dst = (vPC + 1)->u.operand;
int property = (vPC + 2)->u.operand;
- callFrame[dst] = JSValue(JSC::resolveBase(callFrame, callFrame->codeBlock()->identifier(property), callFrame->scopeChain()));
+ callFrame->r(dst) = JSValue(JSC::resolveBase(callFrame, callFrame->codeBlock()->identifier(property), callFrame->scopeChain()));
}
NEVER_INLINE bool Interpreter::resolveBaseAndProperty(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
@@ -225,8 +221,8 @@ NEVER_INLINE bool Interpreter::resolveBaseAndProperty(CallFrame* callFrame, Inst
exceptionValue = callFrame->globalData().exception;
if (exceptionValue)
return false;
- callFrame[propDst] = JSValue(result);
- callFrame[baseDst] = JSValue(base);
+ callFrame->r(propDst) = JSValue(result);
+ callFrame->r(baseDst) = JSValue(base);
return true;
}
++iter;
@@ -270,8 +266,8 @@ NEVER_INLINE bool Interpreter::resolveBaseAndFunc(CallFrame* callFrame, Instruct
if (exceptionValue)
return false;
- callFrame[baseDst] = JSValue(thisObj);
- callFrame[funcDst] = JSValue(result);
+ callFrame->r(baseDst) = JSValue(thisObj);
+ callFrame->r(funcDst) = JSValue(result);
return true;
}
++iter;
@@ -436,17 +432,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame)
}
printf("----------------------------------------------------\n");
- end = it + codeBlock->m_numConstants;
- if (it != end) {
- do {
- printf("[r%2d] | %10p | %10p \n", registerCount, it, (*it).v());
- ++it;
- ++registerCount;
- } while (it != end);
- }
- printf("----------------------------------------------------\n");
-
- end = it + codeBlock->m_numCalleeRegisters - codeBlock->m_numConstants - codeBlock->m_numVars;
+ end = it + codeBlock->m_numCalleeRegisters - codeBlock->m_numVars;
if (it != end) {
do {
printf("[r%2d] | %10p | %10p \n", registerCount, it, (*it).v());
@@ -567,13 +553,13 @@ NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSV
if (Profiler* profiler = *Profiler::enabledProfilerReference()) {
#if !ENABLE(JIT)
if (isCallBytecode(codeBlock->instructions()[bytecodeOffset].u.opcode))
- profiler->didExecute(callFrame, callFrame[codeBlock->instructions()[bytecodeOffset + 2].u.operand].jsValue());
+ profiler->didExecute(callFrame, callFrame->r(codeBlock->instructions()[bytecodeOffset + 2].u.operand).jsValue());
else if (codeBlock->instructions()[bytecodeOffset + 8].u.opcode == getOpcode(op_construct))
- profiler->didExecute(callFrame, callFrame[codeBlock->instructions()[bytecodeOffset + 10].u.operand].jsValue());
+ profiler->didExecute(callFrame, callFrame->r(codeBlock->instructions()[bytecodeOffset + 10].u.operand).jsValue());
#else
int functionRegisterIndex;
if (codeBlock->functionRegisterForBytecodeOffset(bytecodeOffset, functionRegisterIndex))
- profiler->didExecute(callFrame, callFrame[functionRegisterIndex].jsValue());
+ profiler->didExecute(callFrame, callFrame->r(functionRegisterIndex).jsValue());
#endif
}
@@ -625,7 +611,7 @@ JSValue Interpreter::execute(ProgramNode* programNode, CallFrame* callFrame, Sco
globalObject->copyGlobalsTo(m_registerFile);
CallFrame* newCallFrame = CallFrame::create(oldEnd + codeBlock->m_numParameters + RegisterFile::CallFrameHeaderSize);
- newCallFrame[codeBlock->thisRegister()] = JSValue(thisObj);
+ newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj);
newCallFrame->init(codeBlock, 0, scopeChain, CallFrame::noCaller(), 0, 0, 0);
if (codeBlock->needsFullScopeChain())
@@ -682,10 +668,10 @@ JSValue Interpreter::execute(FunctionBodyNode* functionBodyNode, CallFrame* call
CallFrame* newCallFrame = CallFrame::create(oldEnd);
size_t dst = 0;
- newCallFrame[0] = JSValue(thisObj);
+ newCallFrame->r(0) = JSValue(thisObj);
ArgList::const_iterator end = args.end();
for (ArgList::const_iterator it = args.begin(); it != end; ++it)
- newCallFrame[++dst] = *it;
+ newCallFrame->r(++dst) = *it;
CodeBlock* codeBlock = &functionBodyNode->bytecode(scopeChain);
newCallFrame = slideRegisterWindowForCall(codeBlock, &m_registerFile, newCallFrame, argc + RegisterFile::CallFrameHeaderSize, argc);
@@ -743,7 +729,7 @@ CallFrameClosure Interpreter::prepareForRepeatCall(FunctionBodyNode* functionBod
CallFrame* newCallFrame = CallFrame::create(oldEnd);
size_t dst = 0;
for (int i = 0; i < argc; ++i)
- newCallFrame[++dst] = jsUndefined();
+ newCallFrame->r(++dst) = jsUndefined();
CodeBlock* codeBlock = &functionBodyNode->bytecode(scopeChain);
newCallFrame = slideRegisterWindowForCall(codeBlock, &m_registerFile, newCallFrame, argc + RegisterFile::CallFrameHeaderSize, argc);
@@ -854,7 +840,7 @@ JSValue Interpreter::execute(EvalNode* evalNode, CallFrame* callFrame, JSObject*
CallFrame* newCallFrame = CallFrame::create(m_registerFile.start() + globalRegisterOffset);
// a 0 codeBlock indicates a built-in caller
- newCallFrame[codeBlock->thisRegister()] = JSValue(thisObj);
+ newCallFrame->r(codeBlock->thisRegister()) = JSValue(thisObj);
newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), 0, 0, 0);
if (codeBlock->needsFullScopeChain())
@@ -918,9 +904,9 @@ NEVER_INLINE ScopeChainNode* Interpreter::createExceptionScope(CallFrame* callFr
int dst = (++vPC)->u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
Identifier& property = codeBlock->identifier((++vPC)->u.operand);
- JSValue value = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue value = callFrame->r((++vPC)->u.operand).jsValue();
JSObject* scope = new (callFrame) JSStaticScopeObject(callFrame, property, value, DontDelete);
- callFrame[dst] = JSValue(scope);
+ callFrame->r(dst) = JSValue(scope);
return callFrame->scopeChain()->push(scope);
}
@@ -1197,7 +1183,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
constructor, and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- callFrame[dst] = JSValue(constructEmptyObject(callFrame));
+ callFrame->r(dst) = JSValue(constructEmptyObject(callFrame));
++vPC;
NEXT_INSTRUCTION();
@@ -1214,7 +1200,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int firstArg = (++vPC)->u.operand;
int argCount = (++vPC)->u.operand;
ArgList args(callFrame->registers() + firstArg, argCount);
- callFrame[dst] = JSValue(constructArray(callFrame, args));
+ callFrame->r(dst) = JSValue(constructArray(callFrame, args));
++vPC;
NEXT_INSTRUCTION();
@@ -1228,7 +1214,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int regExp = (++vPC)->u.operand;
- callFrame[dst] = JSValue(new (globalData) RegExpObject(callFrame->scopeChain()->globalObject()->regExpStructure(), callFrame->codeBlock()->regexp(regExp)));
+ callFrame->r(dst) = JSValue(new (globalData) RegExpObject(callFrame->scopeChain()->globalObject()->regExpStructure(), callFrame->codeBlock()->regexp(regExp)));
++vPC;
NEXT_INSTRUCTION();
@@ -1240,7 +1226,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = callFrame[src];
+ callFrame->r(dst) = callFrame->r(src);
++vPC;
NEXT_INSTRUCTION();
@@ -1253,14 +1239,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSFastMath::equal(src1, src2);
+ callFrame->r(dst) = JSFastMath::equal(src1, src2);
else {
JSValue result = jsBoolean(JSValue::equalSlowCase(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1273,15 +1259,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
operator, and puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
if (src.isUndefinedOrNull()) {
- callFrame[dst] = jsBoolean(true);
+ callFrame->r(dst) = jsBoolean(true);
++vPC;
NEXT_INSTRUCTION();
}
- callFrame[dst] = jsBoolean(src.isCell() && src.asCell()->structure()->typeInfo().masqueradesAsUndefined());
+ callFrame->r(dst) = jsBoolean(src.isCell() && src.asCell()->structure()->typeInfo().masqueradesAsUndefined());
++vPC;
NEXT_INSTRUCTION();
}
@@ -1293,14 +1279,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSFastMath::notEqual(src1, src2);
+ callFrame->r(dst) = JSFastMath::notEqual(src1, src2);
else {
JSValue result = jsBoolean(!JSValue::equalSlowCase(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1313,15 +1299,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
operator, and puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
if (src.isUndefinedOrNull()) {
- callFrame[dst] = jsBoolean(false);
+ callFrame->r(dst) = jsBoolean(false);
++vPC;
NEXT_INSTRUCTION();
}
- callFrame[dst] = jsBoolean(!src.isCell() || !asCell(src)->structure()->typeInfo().masqueradesAsUndefined());
+ callFrame->r(dst) = jsBoolean(!src.isCell() || !asCell(src)->structure()->typeInfo().masqueradesAsUndefined());
++vPC;
NEXT_INSTRUCTION();
}
@@ -1333,9 +1319,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
- callFrame[dst] = jsBoolean(JSValue::strictEqual(src1, src2));
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
+ callFrame->r(dst) = jsBoolean(JSValue::strictEqual(src1, src2));
++vPC;
NEXT_INSTRUCTION();
@@ -1348,9 +1334,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
- callFrame[dst] = jsBoolean(!JSValue::strictEqual(src1, src2));
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
+ callFrame->r(dst) = jsBoolean(!JSValue::strictEqual(src1, src2));
++vPC;
NEXT_INSTRUCTION();
@@ -1363,11 +1349,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
JSValue result = jsBoolean(jsLess(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
@@ -1380,11 +1366,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
puts the result as a boolean in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
JSValue result = jsBoolean(jsLessEq(callFrame, src1, src2));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
@@ -1396,13 +1382,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
back in register srcDst.
*/
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v))
- callFrame[srcDst] = JSValue(JSFastMath::incImmediateNumber(v));
+ callFrame->r(srcDst) = JSValue(JSFastMath::incImmediateNumber(v));
else {
JSValue result = jsNumber(callFrame, v.toNumber(callFrame) + 1);
CHECK_FOR_EXCEPTION();
- callFrame[srcDst] = result;
+ callFrame->r(srcDst) = result;
}
++vPC;
@@ -1415,13 +1401,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
back in register srcDst.
*/
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v))
- callFrame[srcDst] = JSValue(JSFastMath::decImmediateNumber(v));
+ callFrame->r(srcDst) = JSValue(JSFastMath::decImmediateNumber(v));
else {
JSValue result = jsNumber(callFrame, v.toNumber(callFrame) - 1);
CHECK_FOR_EXCEPTION();
- callFrame[srcDst] = result;
+ callFrame->r(srcDst) = result;
}
++vPC;
@@ -1436,15 +1422,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v)) {
- callFrame[dst] = v;
- callFrame[srcDst] = JSValue(JSFastMath::incImmediateNumber(v));
+ callFrame->r(dst) = v;
+ callFrame->r(srcDst) = JSValue(JSFastMath::incImmediateNumber(v));
} else {
- JSValue number = callFrame[srcDst].jsValue().toJSNumber(callFrame);
+ JSValue number = callFrame->r(srcDst).jsValue().toJSNumber(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = number;
- callFrame[srcDst] = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() + 1));
+ callFrame->r(dst) = number;
+ callFrame->r(srcDst) = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() + 1));
}
++vPC;
@@ -1459,15 +1445,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int srcDst = (++vPC)->u.operand;
- JSValue v = callFrame[srcDst].jsValue();
+ JSValue v = callFrame->r(srcDst).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(v)) {
- callFrame[dst] = v;
- callFrame[srcDst] = JSValue(JSFastMath::decImmediateNumber(v));
+ callFrame->r(dst) = v;
+ callFrame->r(srcDst) = JSValue(JSFastMath::decImmediateNumber(v));
} else {
- JSValue number = callFrame[srcDst].jsValue().toJSNumber(callFrame);
+ JSValue number = callFrame->r(srcDst).jsValue().toJSNumber(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = number;
- callFrame[srcDst] = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() - 1));
+ callFrame->r(dst) = number;
+ callFrame->r(srcDst) = JSValue(jsNumber(callFrame, number.uncheckedGetNumber() - 1));
}
++vPC;
@@ -1482,14 +1468,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- JSValue srcVal = callFrame[src].jsValue();
+ JSValue srcVal = callFrame->r(src).jsValue();
if (LIKELY(srcVal.isNumber()))
- callFrame[dst] = callFrame[src];
+ callFrame->r(dst) = callFrame->r(src);
else {
JSValue result = srcVal.toJSNumber(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1502,15 +1488,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
++vPC;
double v;
if (src.getNumber(v))
- callFrame[dst] = JSValue(jsNumber(callFrame, -v));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, -v));
else {
JSValue result = jsNumber(callFrame, -src.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
NEXT_INSTRUCTION();
@@ -1523,14 +1509,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
numeric add, depending on the types of the operands.)
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastAdditiveOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::addImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::addImmediateNumbers(src1, src2));
else {
JSValue result = jsAdd(callFrame, src1, src2);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
NEXT_INSTRUCTION();
@@ -1542,23 +1528,23 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
numbers), and puts the product in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
double left;
double right;
if (JSValue::areBothInt32Fast(src1, src2)) {
int32_t left = src1.getInt32Fast();
int32_t right = src2.getInt32Fast();
if ((left | right) >> 15 == 0)
- callFrame[dst] = JSValue(jsNumber(callFrame, left * right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left * right));
else
- callFrame[dst] = JSValue(jsNumber(callFrame, static_cast<double>(left) * static_cast<double>(right)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, static_cast<double>(left) * static_cast<double>(right)));
} else if (src1.getNumber(left) && src2.getNumber(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left * right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left * right));
else {
JSValue result = jsNumber(callFrame, src1.toNumber(callFrame) * src2.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1572,16 +1558,16 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
quotient in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue dividend = callFrame[(++vPC)->u.operand].jsValue();
- JSValue divisor = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue dividend = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue divisor = callFrame->r((++vPC)->u.operand).jsValue();
double left;
double right;
if (dividend.getNumber(left) && divisor.getNumber(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left / right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left / right));
else {
JSValue result = jsNumber(callFrame, dividend.toNumber(callFrame) / divisor.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
NEXT_INSTRUCTION();
@@ -1597,15 +1583,15 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dividend = (++vPC)->u.operand;
int divisor = (++vPC)->u.operand;
- JSValue dividendValue = callFrame[dividend].jsValue();
- JSValue divisorValue = callFrame[divisor].jsValue();
+ JSValue dividendValue = callFrame->r(dividend).jsValue();
+ JSValue divisorValue = callFrame->r(divisor).jsValue();
if (JSValue::areBothInt32Fast(dividendValue, divisorValue) && divisorValue != jsNumber(callFrame, 0)) {
// We expect the result of the modulus of a number that was representable as an int32 to also be representable
// as an int32.
JSValue result = JSValue::makeInt32Fast(dividendValue.getInt32Fast() % divisorValue.getInt32Fast());
ASSERT(result);
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -1613,7 +1599,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
double d = dividendValue.toNumber(callFrame);
JSValue result = jsNumber(callFrame, fmod(d, divisorValue.toNumber(callFrame)));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -1625,18 +1611,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
double left;
double right;
if (JSFastMath::canDoFastAdditiveOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::subImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::subImmediateNumbers(src1, src2));
else if (src1.getNumber(left) && src2.getNumber(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left - right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left - right));
else {
JSValue result = jsNumber(callFrame, src1.toNumber(callFrame) - src2.toNumber(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
NEXT_INSTRUCTION();
@@ -1649,18 +1635,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue val = callFrame[(++vPC)->u.operand].jsValue();
- JSValue shift = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue val = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue shift = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
uint32_t right;
if (JSValue::areBothInt32Fast(val, shift))
- callFrame[dst] = JSValue(jsNumber(callFrame, val.getInt32Fast() << (shift.getInt32Fast() & 0x1f)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, val.getInt32Fast() << (shift.getInt32Fast() & 0x1f)));
else if (val.numberToInt32(left) && shift.numberToUInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left << (right & 0x1f)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left << (right & 0x1f)));
else {
JSValue result = jsNumber(callFrame, (val.toInt32(callFrame)) << (shift.toUInt32(callFrame) & 0x1f));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1674,18 +1660,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
uint32), and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue val = callFrame[(++vPC)->u.operand].jsValue();
- JSValue shift = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue val = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue shift = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
uint32_t right;
if (JSFastMath::canDoFastRshift(val, shift))
- callFrame[dst] = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
+ callFrame->r(dst) = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
else if (val.numberToInt32(left) && shift.numberToUInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left >> (right & 0x1f)));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left >> (right & 0x1f)));
else {
JSValue result = jsNumber(callFrame, (val.toInt32(callFrame)) >> (shift.toUInt32(callFrame) & 0x1f));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1699,14 +1685,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
uint32), and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue val = callFrame[(++vPC)->u.operand].jsValue();
- JSValue shift = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue val = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue shift = callFrame->r((++vPC)->u.operand).jsValue();
if (JSFastMath::canDoFastUrshift(val, shift))
- callFrame[dst] = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
+ callFrame->r(dst) = JSValue(JSFastMath::rightShiftImmediateNumbers(val, shift));
else {
JSValue result = jsNumber(callFrame, (val.toUInt32(callFrame)) >> (shift.toUInt32(callFrame) & 0x1f));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
@@ -1720,18 +1706,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
int32_t right;
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::andImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::andImmediateNumbers(src1, src2));
else if (src1.numberToInt32(left) && src2.numberToInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left & right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left & right));
else {
JSValue result = jsNumber(callFrame, src1.toInt32(callFrame) & src2.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1745,18 +1731,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
int32_t right;
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::xorImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::xorImmediateNumbers(src1, src2));
else if (src1.numberToInt32(left) && src2.numberToInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left ^ right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left ^ right));
else {
JSValue result = jsNumber(callFrame, src1.toInt32(callFrame) ^ src2.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1770,18 +1756,18 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int32_t left;
int32_t right;
if (JSFastMath::canDoFastBitwiseOperations(src1, src2))
- callFrame[dst] = JSValue(JSFastMath::orImmediateNumbers(src1, src2));
+ callFrame->r(dst) = JSValue(JSFastMath::orImmediateNumbers(src1, src2));
else if (src1.numberToInt32(left) && src2.numberToInt32(right))
- callFrame[dst] = JSValue(jsNumber(callFrame, left | right));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, left | right));
else {
JSValue result = jsNumber(callFrame, src1.toInt32(callFrame) | src2.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
vPC += 2;
@@ -1794,14 +1780,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
and puts the result in register dst.
*/
int dst = (++vPC)->u.operand;
- JSValue src = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src = callFrame->r((++vPC)->u.operand).jsValue();
int32_t value;
if (src.numberToInt32(value))
- callFrame[dst] = JSValue(jsNumber(callFrame, ~value));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, ~value));
else {
JSValue result = jsNumber(callFrame, ~src.toInt32(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
}
++vPC;
NEXT_INSTRUCTION();
@@ -1814,9 +1800,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- JSValue result = jsBoolean(!callFrame[src].jsValue().toBoolean(callFrame));
+ JSValue result = jsBoolean(!callFrame->r(src).jsValue().toBoolean(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
@@ -1839,14 +1825,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = vPC[3].u.operand;
int baseProto = vPC[4].u.operand;
- JSValue baseVal = callFrame[base].jsValue();
+ JSValue baseVal = callFrame->r(base).jsValue();
if (isInvalidParamForInstanceOf(callFrame, callFrame->codeBlock(), vPC, baseVal, exceptionValue))
goto vm_throw;
- bool result = asObject(baseVal)->hasInstance(callFrame, callFrame[value].jsValue(), callFrame[baseProto].jsValue());
+ bool result = asObject(baseVal)->hasInstance(callFrame, callFrame->r(value).jsValue(), callFrame->r(baseProto).jsValue());
CHECK_FOR_EXCEPTION();
- callFrame[dst] = jsBoolean(result);
+ callFrame->r(dst) = jsBoolean(result);
vPC += 5;
NEXT_INSTRUCTION();
@@ -1859,7 +1845,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = JSValue(jsTypeStringForValue(callFrame, callFrame[src].jsValue()));
+ callFrame->r(dst) = JSValue(jsTypeStringForValue(callFrame, callFrame->r(src).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -1873,8 +1859,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- JSValue v = callFrame[src].jsValue();
- callFrame[dst] = jsBoolean(v.isCell() ? v.asCell()->structure()->typeInfo().masqueradesAsUndefined() : v.isUndefined());
+ JSValue v = callFrame->r(src).jsValue();
+ callFrame->r(dst) = jsBoolean(v.isCell() ? v.asCell()->structure()->typeInfo().masqueradesAsUndefined() : v.isUndefined());
++vPC;
NEXT_INSTRUCTION();
@@ -1888,7 +1874,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(callFrame[src].jsValue().isBoolean());
+ callFrame->r(dst) = jsBoolean(callFrame->r(src).jsValue().isBoolean());
++vPC;
NEXT_INSTRUCTION();
@@ -1902,7 +1888,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(callFrame[src].jsValue().isNumber());
+ callFrame->r(dst) = jsBoolean(callFrame->r(src).jsValue().isNumber());
++vPC;
NEXT_INSTRUCTION();
@@ -1916,7 +1902,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(callFrame[src].jsValue().isString());
+ callFrame->r(dst) = jsBoolean(callFrame->r(src).jsValue().isString());
++vPC;
NEXT_INSTRUCTION();
@@ -1930,7 +1916,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(jsIsObjectType(callFrame[src].jsValue()));
+ callFrame->r(dst) = jsBoolean(jsIsObjectType(callFrame->r(src).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -1944,7 +1930,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = jsBoolean(jsIsFunctionType(callFrame[src].jsValue()));
+ callFrame->r(dst) = jsBoolean(jsIsFunctionType(callFrame->r(src).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -1962,21 +1948,21 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int base = (++vPC)->u.operand;
- JSValue baseVal = callFrame[base].jsValue();
+ JSValue baseVal = callFrame->r(base).jsValue();
if (isInvalidParamForIn(callFrame, callFrame->codeBlock(), vPC, baseVal, exceptionValue))
goto vm_throw;
JSObject* baseObj = asObject(baseVal);
- JSValue propName = callFrame[property].jsValue();
+ JSValue propName = callFrame->r(property).jsValue();
uint32_t i;
if (propName.getUInt32(i))
- callFrame[dst] = jsBoolean(baseObj->hasProperty(callFrame, i));
+ callFrame->r(dst) = jsBoolean(baseObj->hasProperty(callFrame, i));
else {
Identifier property(callFrame, propName.toString(callFrame));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = jsBoolean(baseObj->hasProperty(callFrame, property));
+ callFrame->r(dst) = jsBoolean(baseObj->hasProperty(callFrame, property));
}
++vPC;
@@ -2034,7 +2020,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT(scope->isGlobalObject());
int index = (++vPC)->u.operand;
- callFrame[dst] = scope->registerAt(index);
+ callFrame->r(dst) = scope->registerAt(index);
++vPC;
NEXT_INSTRUCTION();
}
@@ -2048,7 +2034,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int index = (++vPC)->u.operand;
int value = (++vPC)->u.operand;
- scope->registerAt(index) = JSValue(callFrame[value].jsValue());
+ scope->registerAt(index) = JSValue(callFrame->r(value).jsValue());
++vPC;
NEXT_INSTRUCTION();
}
@@ -2073,7 +2059,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT((*iter)->isVariableObject());
JSVariableObject* scope = static_cast<JSVariableObject*>(*iter);
- callFrame[dst] = scope->registerAt(index);
+ callFrame->r(dst) = scope->registerAt(index);
++vPC;
NEXT_INSTRUCTION();
}
@@ -2096,7 +2082,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT((*iter)->isVariableObject());
JSVariableObject* scope = static_cast<JSVariableObject*>(*iter);
- scope->registerAt(index) = JSValue(callFrame[value].jsValue());
+ scope->registerAt(index) = JSValue(callFrame->r(value).jsValue());
++vPC;
NEXT_INSTRUCTION();
}
@@ -2164,14 +2150,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* codeBlock = callFrame->codeBlock();
Identifier& ident = codeBlock->identifier(property);
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
CHECK_FOR_EXCEPTION();
tryCacheGetByID(callFrame, codeBlock, vPC, baseValue, ident, slot);
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2183,7 +2169,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
op_get_by_id.
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2196,7 +2182,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[5].u.operand;
ASSERT(baseObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == baseObject->getDirectOffset(offset));
- callFrame[dst] = JSValue(baseObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(baseObject->getDirectOffset(offset));
vPC += 8;
NEXT_INSTRUCTION();
@@ -2214,7 +2200,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
reverts to op_get_by_id.
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2230,7 +2216,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[6].u.operand;
ASSERT(protoObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == protoObject->getDirectOffset(offset));
- callFrame[dst] = JSValue(protoObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(protoObject->getDirectOffset(offset));
vPC += 8;
NEXT_INSTRUCTION();
@@ -2263,7 +2249,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
reverts to op_get_by_id.
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2285,7 +2271,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int offset = vPC[7].u.operand;
ASSERT(baseObject->get(callFrame, callFrame->codeBlock()->identifier(vPC[3].u.operand)) == baseObject->getDirectOffset(offset));
- callFrame[dst] = JSValue(baseObject->getDirectOffset(offset));
+ callFrame->r(dst) = JSValue(baseObject->getDirectOffset(offset));
vPC += 8;
NEXT_INSTRUCTION();
@@ -2311,12 +2297,12 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = vPC[3].u.operand;
Identifier& ident = callFrame->codeBlock()->identifier(property);
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2329,10 +2315,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(isJSArray(globalData, baseValue))) {
int dst = vPC[1].u.operand;
- callFrame[dst] = JSValue(jsNumber(callFrame, asArray(baseValue)->length()));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, asArray(baseValue)->length()));
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2349,10 +2335,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int base = vPC[2].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(isJSString(globalData, baseValue))) {
int dst = vPC[1].u.operand;
- callFrame[dst] = JSValue(jsNumber(callFrame, asString(baseValue)->value().size()));
+ callFrame->r(dst) = JSValue(jsNumber(callFrame, asString(baseValue)->value().size()));
vPC += 8;
NEXT_INSTRUCTION();
}
@@ -2375,10 +2361,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int value = vPC[3].u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
Identifier& ident = codeBlock->identifier(property);
PutPropertySlot slot;
- baseValue.put(callFrame, ident, callFrame[value].jsValue(), slot);
+ baseValue.put(callFrame, ident, callFrame->r(value).jsValue(), slot);
CHECK_FOR_EXCEPTION();
tryCachePutByID(callFrame, codeBlock, vPC, baseValue, slot);
@@ -2398,7 +2384,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
the register file.
*/
int base = vPC[1].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2426,7 +2412,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int value = vPC[3].u.operand;
unsigned offset = vPC[7].u.operand;
ASSERT(baseObject->offsetForLocation(baseObject->getDirectLocation(callFrame->codeBlock()->identifier(vPC[2].u.operand))) == offset);
- baseObject->putDirectOffset(offset, callFrame[value].jsValue());
+ baseObject->putDirectOffset(offset, callFrame->r(value).jsValue());
vPC += 8;
NEXT_INSTRUCTION();
@@ -2448,7 +2434,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
the register file.
*/
int base = vPC[1].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
if (LIKELY(baseValue.isCell())) {
JSCell* baseCell = asCell(baseValue);
@@ -2461,7 +2447,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
unsigned offset = vPC[5].u.operand;
ASSERT(baseObject->offsetForLocation(baseObject->getDirectLocation(callFrame->codeBlock()->identifier(vPC[2].u.operand))) == offset);
- baseObject->putDirectOffset(offset, callFrame[value].jsValue());
+ baseObject->putDirectOffset(offset, callFrame->r(value).jsValue());
vPC += 8;
NEXT_INSTRUCTION();
@@ -2484,10 +2470,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = vPC[2].u.operand;
int value = vPC[3].u.operand;
- JSValue baseValue = callFrame[base].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
Identifier& ident = callFrame->codeBlock()->identifier(property);
PutPropertySlot slot;
- baseValue.put(callFrame, ident, callFrame[value].jsValue(), slot);
+ baseValue.put(callFrame, ident, callFrame->r(value).jsValue(), slot);
CHECK_FOR_EXCEPTION();
vPC += 8;
@@ -2505,11 +2491,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = (++vPC)->u.operand;
int property = (++vPC)->u.operand;
- JSObject* baseObj = callFrame[base].jsValue().toObject(callFrame);
+ JSObject* baseObj = callFrame->r(base).jsValue().toObject(callFrame);
Identifier& ident = callFrame->codeBlock()->identifier(property);
JSValue result = jsBoolean(baseObj->deleteProperty(callFrame, ident));
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -2525,8 +2511,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = (++vPC)->u.operand;
int property = (++vPC)->u.operand;
- JSValue baseValue = callFrame[base].jsValue();
- JSValue subscript = callFrame[property].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
+ JSValue subscript = callFrame->r(property).jsValue();
JSValue result;
@@ -2550,7 +2536,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -2569,21 +2555,21 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int value = (++vPC)->u.operand;
- JSValue baseValue = callFrame[base].jsValue();
- JSValue subscript = callFrame[property].jsValue();
+ JSValue baseValue = callFrame->r(base).jsValue();
+ JSValue subscript = callFrame->r(property).jsValue();
if (LIKELY(subscript.isUInt32Fast())) {
uint32_t i = subscript.getUInt32Fast();
if (isJSArray(globalData, baseValue)) {
JSArray* jsArray = asArray(baseValue);
if (jsArray->canSetIndex(i))
- jsArray->setIndex(i, callFrame[value].jsValue());
+ jsArray->setIndex(i, callFrame->r(value).jsValue());
else
- jsArray->JSArray::put(callFrame, i, callFrame[value].jsValue());
+ jsArray->JSArray::put(callFrame, i, callFrame->r(value).jsValue());
} else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
JSByteArray* jsByteArray = asByteArray(baseValue);
double dValue = 0;
- JSValue jsValue = callFrame[value].jsValue();
+ JSValue jsValue = callFrame->r(value).jsValue();
if (jsValue.isInt32Fast())
jsByteArray->setIndex(i, jsValue.getInt32Fast());
else if (jsValue.getNumber(dValue))
@@ -2591,12 +2577,12 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
else
baseValue.put(callFrame, i, jsValue);
} else
- baseValue.put(callFrame, i, callFrame[value].jsValue());
+ baseValue.put(callFrame, i, callFrame->r(value).jsValue());
} else {
Identifier property(callFrame, subscript.toString(callFrame));
if (!globalData->exception) { // Don't put to an object if toString threw an exception.
PutPropertySlot slot;
- baseValue.put(callFrame, property, callFrame[value].jsValue(), slot);
+ baseValue.put(callFrame, property, callFrame->r(value).jsValue(), slot);
}
}
@@ -2616,9 +2602,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int base = (++vPC)->u.operand;
int property = (++vPC)->u.operand;
- JSObject* baseObj = callFrame[base].jsValue().toObject(callFrame); // may throw
+ JSObject* baseObj = callFrame->r(base).jsValue().toObject(callFrame); // may throw
- JSValue subscript = callFrame[property].jsValue();
+ JSValue subscript = callFrame->r(property).jsValue();
JSValue result;
uint32_t i;
if (subscript.getUInt32(i))
@@ -2631,7 +2617,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
++vPC;
NEXT_INSTRUCTION();
}
@@ -2651,7 +2637,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
unsigned property = (++vPC)->u.operand;
int value = (++vPC)->u.operand;
- callFrame[base].jsValue().put(callFrame, property, callFrame[value].jsValue());
+ callFrame->r(base).jsValue().put(callFrame, property, callFrame->r(value).jsValue());
++vPC;
NEXT_INSTRUCTION();
@@ -2698,7 +2684,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int cond = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- if (callFrame[cond].jsValue().toBoolean(callFrame)) {
+ if (callFrame->r(cond).jsValue().toBoolean(callFrame)) {
vPC += target;
CHECK_FOR_TIMEOUT();
NEXT_INSTRUCTION();
@@ -2715,7 +2701,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int cond = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- if (callFrame[cond].jsValue().toBoolean(callFrame)) {
+ if (callFrame->r(cond).jsValue().toBoolean(callFrame)) {
vPC += target;
NEXT_INSTRUCTION();
}
@@ -2731,7 +2717,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int cond = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- if (!callFrame[cond].jsValue().toBoolean(callFrame)) {
+ if (!callFrame->r(cond).jsValue().toBoolean(callFrame)) {
vPC += target;
NEXT_INSTRUCTION();
}
@@ -2747,7 +2733,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int src = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- JSValue srcValue = callFrame[src].jsValue();
+ JSValue srcValue = callFrame->r(src).jsValue();
if (srcValue.isUndefinedOrNull() || (srcValue.isCell() && srcValue.asCell()->structure()->typeInfo().masqueradesAsUndefined())) {
vPC += target;
@@ -2765,7 +2751,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int src = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- JSValue srcValue = callFrame[src].jsValue();
+ JSValue srcValue = callFrame->r(src).jsValue();
if (!srcValue.isUndefinedOrNull() || (srcValue.isCell() && !srcValue.asCell()->structure()->typeInfo().masqueradesAsUndefined())) {
vPC += target;
@@ -2784,7 +2770,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int src = (++vPC)->u.operand;
JSValue ptr = JSValue((++vPC)->u.jsCell);
int target = (++vPC)->u.operand;
- JSValue srcValue = callFrame[src].jsValue();
+ JSValue srcValue = callFrame->r(src).jsValue();
if (srcValue != ptr) {
vPC += target;
NEXT_INSTRUCTION();
@@ -2804,8 +2790,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
Additionally this loop instruction may terminate JS execution is
the JS timeout is reached.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLess(callFrame, src1, src2);
@@ -2831,8 +2817,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
Additionally this loop instruction may terminate JS execution is
the JS timeout is reached.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLessEq(callFrame, src1, src2);
@@ -2855,8 +2841,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
target from the current instruction, if and only if the
result of the comparison is false.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLess(callFrame, src1, src2);
@@ -2878,8 +2864,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
and then jumps to offset target from the current instruction,
if and only if theresult of the comparison is false.
*/
- JSValue src1 = callFrame[(++vPC)->u.operand].jsValue();
- JSValue src2 = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue src1 = callFrame->r((++vPC)->u.operand).jsValue();
+ JSValue src2 = callFrame->r((++vPC)->u.operand).jsValue();
int target = (++vPC)->u.operand;
bool result = jsLessEq(callFrame, src1, src2);
@@ -2904,7 +2890,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int tableIndex = (++vPC)->u.operand;
int defaultOffset = (++vPC)->u.operand;
- JSValue scrutinee = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue scrutinee = callFrame->r((++vPC)->u.operand).jsValue();
if (scrutinee.isInt32Fast())
vPC += callFrame->codeBlock()->immediateSwitchJumpTable(tableIndex).offsetForValue(scrutinee.getInt32Fast(), defaultOffset);
else {
@@ -2928,7 +2914,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int tableIndex = (++vPC)->u.operand;
int defaultOffset = (++vPC)->u.operand;
- JSValue scrutinee = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue scrutinee = callFrame->r((++vPC)->u.operand).jsValue();
if (!scrutinee.isString())
vPC += defaultOffset;
else {
@@ -2951,7 +2937,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int tableIndex = (++vPC)->u.operand;
int defaultOffset = (++vPC)->u.operand;
- JSValue scrutinee = callFrame[(++vPC)->u.operand].jsValue();
+ JSValue scrutinee = callFrame->r((++vPC)->u.operand).jsValue();
if (!scrutinee.isString())
vPC += defaultOffset;
else
@@ -2969,7 +2955,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int func = (++vPC)->u.operand;
- callFrame[dst] = callFrame->codeBlock()->function(func)->makeFunction(callFrame, callFrame->scopeChain());
+ callFrame->r(dst) = callFrame->codeBlock()->function(func)->makeFunction(callFrame, callFrame->scopeChain());
++vPC;
NEXT_INSTRUCTION();
@@ -2985,7 +2971,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int func = (++vPC)->u.operand;
- callFrame[dst] = callFrame->codeBlock()->functionExpression(func)->makeFunction(callFrame, callFrame->scopeChain());
+ callFrame->r(dst) = callFrame->codeBlock()->functionExpression(func)->makeFunction(callFrame, callFrame->scopeChain());
++vPC;
NEXT_INSTRUCTION();
@@ -3007,7 +2993,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCount = vPC[3].u.operand;
int registerOffset = vPC[4].u.operand;
- JSValue funcVal = callFrame[func].jsValue();
+ JSValue funcVal = callFrame->r(func).jsValue();
Register* newCallFrame = callFrame->registers() + registerOffset;
Register* argv = newCallFrame - RegisterFile::CallFrameHeaderSize - argCount;
@@ -3018,7 +3004,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
JSValue result = callEval(callFrame, registerFile, argv, argCount, registerOffset, exceptionValue);
if (exceptionValue)
goto vm_throw;
- callFrame[dst] = result;
+ callFrame->r(dst) = result;
vPC += 5;
NEXT_INSTRUCTION();
@@ -3044,7 +3030,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCount = vPC[3].u.operand;
int registerOffset = vPC[4].u.operand;
- JSValue v = callFrame[func].jsValue();
+ JSValue v = callFrame->r(func).jsValue();
CallData callData;
CallType callType = v.getCallData(callData);
@@ -3093,7 +3079,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
vPC += 5;
NEXT_INSTRUCTION();
@@ -3108,19 +3094,19 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCountDst = (++vPC)->u.operand;
int argsOffset = (++vPC)->u.operand;
- JSValue arguments = callFrame[argsOffset].jsValue();
- uint32_t argCount = 0;
+ JSValue arguments = callFrame->r(argsOffset).jsValue();
+ int32_t argCount = 0;
if (!arguments) {
- argCount = (uint32_t)(callFrame[RegisterFile::ArgumentCount].u.i) - 1;
+ argCount = (uint32_t)(callFrame->argumentCount()) - 1;
int32_t sizeDelta = argsOffset + argCount + RegisterFile::CallFrameHeaderSize;
Register* newEnd = callFrame->registers() + sizeDelta;
if (!registerFile->grow(newEnd) || ((newEnd - callFrame->registers()) != sizeDelta)) {
exceptionValue = createStackOverflowError(callFrame);
goto vm_throw;
}
- uint32_t expectedParams = asFunction(callFrame[RegisterFile::Callee].jsValue())->body()->parameterCount();
- uint32_t inplaceArgs = min(argCount, expectedParams);
- uint32_t i = 0;
+ int32_t expectedParams = callFrame->callee()->body()->parameterCount();
+ int32_t inplaceArgs = min(argCount, expectedParams);
+ int32_t i = 0;
Register* argStore = callFrame->registers() + argsOffset;
// First step is to copy the "expected" parameters from their normal location relative to the callframe
@@ -3164,7 +3150,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
goto vm_throw;
}
Register* argsBuffer = callFrame->registers() + argsOffset;
- for (unsigned i = 0; i < argCount; ++i) {
+ for (int32_t i = 0; i < argCount; ++i) {
argsBuffer[i] = asObject(arguments)->get(callFrame, i);
CHECK_FOR_EXCEPTION();
}
@@ -3176,7 +3162,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
}
CHECK_FOR_EXCEPTION();
- callFrame[argCountDst] = argCount + 1;
+ callFrame->r(argCountDst) = argCount + 1;
++vPC;
NEXT_INSTRUCTION();
}
@@ -3197,8 +3183,8 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int argCountReg = vPC[3].u.operand;
int registerOffset = vPC[4].u.operand;
- JSValue v = callFrame[func].jsValue();
- int argCount = callFrame[argCountReg].i();
+ JSValue v = callFrame->r(func).jsValue();
+ int argCount = callFrame->r(argCountReg).i();
registerOffset += argCount;
CallData callData;
CallType callType = v.getCallData(callData);
@@ -3247,7 +3233,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
vPC += 5;
NEXT_INSTRUCTION();
@@ -3274,7 +3260,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int src = (++vPC)->u.operand;
ASSERT(callFrame->codeBlock()->needsFullScopeChain());
- asActivation(callFrame[src].jsValue())->copyRegisters(callFrame->optionalCalleeArguments());
+ asActivation(callFrame->r(src).jsValue())->copyRegisters(callFrame->optionalCalleeArguments());
++vPC;
NEXT_INSTRUCTION();
@@ -3314,7 +3300,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
if (callFrame->codeBlock()->needsFullScopeChain())
callFrame->scopeChain()->deref();
- JSValue returnValue = callFrame[result].jsValue();
+ JSValue returnValue = callFrame->r(result).jsValue();
vPC = callFrame->returnPC();
int dst = callFrame->returnValueRegister();
@@ -3323,7 +3309,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
if (callFrame->hasHostCallFrameFlag())
return returnValue;
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
NEXT_INSTRUCTION();
}
@@ -3342,10 +3328,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* codeBlock = callFrame->codeBlock();
for (size_t count = codeBlock->m_numVars; i < count; ++i)
- callFrame[i] = jsUndefined();
-
- for (size_t count = codeBlock->numberOfConstantRegisters(), j = 0; j < count; ++i, ++j)
- callFrame[i] = codeBlock->constantRegister(j);
+ callFrame->r(i) = jsUndefined();
++vPC;
NEXT_INSTRUCTION();
@@ -3367,14 +3350,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* codeBlock = callFrame->codeBlock();
for (size_t count = codeBlock->m_numVars; i < count; ++i)
- callFrame[i] = jsUndefined();
-
- for (size_t count = codeBlock->numberOfConstantRegisters(), j = 0; j < count; ++i, ++j)
- callFrame[i] = codeBlock->constantRegister(j);
+ callFrame->r(i) = jsUndefined();
int dst = (++vPC)->u.operand;
JSActivation* activation = new (globalData) JSActivation(callFrame, static_cast<FunctionBodyNode*>(codeBlock->ownerNode()));
- callFrame[dst] = activation;
+ callFrame->r(dst) = activation;
callFrame->setScopeChain(callFrame->scopeChain()->copy()->push(activation));
++vPC;
@@ -3393,9 +3373,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int thisRegister = (++vPC)->u.operand;
- JSValue thisVal = callFrame[thisRegister].jsValue();
+ JSValue thisVal = callFrame->r(thisRegister).jsValue();
if (thisVal.needsThisConversion())
- callFrame[thisRegister] = JSValue(thisVal.toThisObject(callFrame));
+ callFrame->r(thisRegister) = JSValue(thisVal.toThisObject(callFrame));
++vPC;
NEXT_INSTRUCTION();
@@ -3410,7 +3390,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
This opcode should only be used at the beginning of a code
block.
*/
- callFrame[RegisterFile::ArgumentsRegister] = JSValue();
+ callFrame->r(RegisterFile::ArgumentsRegister) = JSValue();
++vPC;
NEXT_INSTRUCTION();
}
@@ -3422,10 +3402,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
register, if it has not already been initialised.
*/
- if (!callFrame->optionalCalleeArguments()) {
+ if (!callFrame->r(RegisterFile::ArgumentsRegister).jsValue()) {
Arguments* arguments = new (globalData) Arguments(callFrame);
callFrame->setCalleeArguments(arguments);
- callFrame[RegisterFile::ArgumentsRegister] = arguments;
+ callFrame->r(RegisterFile::ArgumentsRegister) = arguments;
}
++vPC;
NEXT_INSTRUCTION();
@@ -3452,7 +3432,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int proto = vPC[5].u.operand;
int thisRegister = vPC[6].u.operand;
- JSValue v = callFrame[func].jsValue();
+ JSValue v = callFrame->r(func).jsValue();
ConstructData constructData;
ConstructType constructType = v.getConstructData(constructData);
@@ -3463,14 +3443,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
CodeBlock* newCodeBlock = &functionBodyNode->bytecode(callDataScopeChain);
Structure* structure;
- JSValue prototype = callFrame[proto].jsValue();
+ JSValue prototype = callFrame->r(proto).jsValue();
if (prototype.isObject())
structure = asObject(prototype)->inheritorID();
else
structure = callDataScopeChain->globalObject()->emptyObjectStructure();
JSObject* newObject = new (globalData) JSObject(structure);
- callFrame[thisRegister] = JSValue(newObject); // "this" value
+ callFrame->r(thisRegister) = JSValue(newObject); // "this" value
CallFrame* previousCallFrame = callFrame;
@@ -3504,7 +3484,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
returnValue = constructData.native.function(newCallFrame, asObject(v), args);
}
CHECK_FOR_EXCEPTION();
- callFrame[dst] = JSValue(returnValue);
+ callFrame->r(dst) = JSValue(returnValue);
vPC += 7;
NEXT_INSTRUCTION();
@@ -3523,13 +3503,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int dst = vPC[1].u.operand;
- if (LIKELY(callFrame[dst].jsValue().isObject())) {
+ if (LIKELY(callFrame->r(dst).jsValue().isObject())) {
vPC += 3;
NEXT_INSTRUCTION();
}
int override = vPC[2].u.operand;
- callFrame[dst] = callFrame[override];
+ callFrame->r(dst) = callFrame->r(override);
vPC += 3;
NEXT_INSTRUCTION();
@@ -3539,7 +3519,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int src = (++vPC)->u.operand;
int count = (++vPC)->u.operand;
- callFrame[dst] = concatenateStrings(callFrame, &callFrame->registers()[src], count);
+ callFrame->r(dst) = concatenateStrings(callFrame, &callFrame->registers()[src], count);
++vPC;
NEXT_INSTRUCTION();
@@ -3548,7 +3528,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int src = (++vPC)->u.operand;
- callFrame[dst] = callFrame[src].jsValue().toPrimitive(callFrame);
+ callFrame->r(dst) = callFrame->r(src).jsValue().toPrimitive(callFrame);
++vPC;
NEXT_INSTRUCTION();
@@ -3561,11 +3541,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
are replaced by the result of toObject conversion of the scope.
*/
int scope = (++vPC)->u.operand;
- JSValue v = callFrame[scope].jsValue();
+ JSValue v = callFrame->r(scope).jsValue();
JSObject* o = v.toObject(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame[scope] = JSValue(o);
+ callFrame->r(scope) = JSValue(o);
callFrame->setScopeChain(callFrame->scopeChain()->push(o));
++vPC;
@@ -3592,7 +3572,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int dst = (++vPC)->u.operand;
int base = (++vPC)->u.operand;
- callFrame[dst] = JSPropertyNameIterator::create(callFrame, callFrame[base].jsValue());
+ callFrame->r(dst) = JSPropertyNameIterator::create(callFrame, callFrame->r(base).jsValue());
++vPC;
NEXT_INSTRUCTION();
}
@@ -3609,10 +3589,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int iter = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- JSPropertyNameIterator* it = callFrame[iter].propertyNameIterator();
+ JSPropertyNameIterator* it = callFrame->r(iter).propertyNameIterator();
if (JSValue temp = it->next(callFrame)) {
CHECK_FOR_TIMEOUT();
- callFrame[dst] = JSValue(temp);
+ callFrame->r(dst) = JSValue(temp);
vPC += target;
NEXT_INSTRUCTION();
}
@@ -3668,7 +3648,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT(exceptionValue);
ASSERT(!globalData->exception);
int ex = (++vPC)->u.operand;
- callFrame[ex] = exceptionValue;
+ callFrame->r(ex) = exceptionValue;
exceptionValue = JSValue();
++vPC;
@@ -3686,7 +3666,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int ex = (++vPC)->u.operand;
- exceptionValue = callFrame[ex].jsValue();
+ exceptionValue = callFrame->r(ex).jsValue();
handler = throwException(callFrame, exceptionValue, vPC - callFrame->codeBlock()->instructions().begin(), true);
if (!handler) {
@@ -3697,18 +3677,6 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
vPC = callFrame->codeBlock()->instructions().begin() + handler->target;
NEXT_INSTRUCTION();
}
- DEFINE_OPCODE(op_unexpected_load) {
- /* unexpected_load load dst(r) src(k)
-
- Copies constant src to register dst.
- */
- int dst = (++vPC)->u.operand;
- int src = (++vPC)->u.operand;
- callFrame[dst] = JSValue(callFrame->codeBlock()->unexpectedConstant(src));
-
- ++vPC;
- NEXT_INSTRUCTION();
- }
DEFINE_OPCODE(op_new_error) {
/* new_error dst(r) type(n) message(k)
@@ -3722,7 +3690,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int message = (++vPC)->u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
- callFrame[dst] = JSValue(Error::create(callFrame, (ErrorType)type, codeBlock->unexpectedConstant(message).toString(callFrame), codeBlock->lineNumberForBytecodeOffset(callFrame, vPC - codeBlock->instructions().begin()), codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()));
+ callFrame->r(dst) = JSValue(Error::create(callFrame, (ErrorType)type, callFrame->r(message).jsValue().toString(callFrame), codeBlock->lineNumberForBytecodeOffset(callFrame, vPC - codeBlock->instructions().begin()), codeBlock->ownerNode()->sourceID(), codeBlock->ownerNode()->sourceURL()));
++vPC;
NEXT_INSTRUCTION();
@@ -3740,7 +3708,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
scopeChain->deref();
}
int result = (++vPC)->u.operand;
- return callFrame[result].jsValue();
+ return callFrame->r(result).jsValue();
}
DEFINE_OPCODE(op_put_getter) {
/* put_getter base(r) property(id) function(r)
@@ -3757,11 +3725,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int function = (++vPC)->u.operand;
- ASSERT(callFrame[base].jsValue().isObject());
- JSObject* baseObj = asObject(callFrame[base].jsValue());
+ ASSERT(callFrame->r(base).jsValue().isObject());
+ JSObject* baseObj = asObject(callFrame->r(base).jsValue());
Identifier& ident = callFrame->codeBlock()->identifier(property);
- ASSERT(callFrame[function].jsValue().isObject());
- baseObj->defineGetter(callFrame, ident, asObject(callFrame[function].jsValue()));
+ ASSERT(callFrame->r(function).jsValue().isObject());
+ baseObj->defineGetter(callFrame, ident, asObject(callFrame->r(function).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -3781,11 +3749,11 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int property = (++vPC)->u.operand;
int function = (++vPC)->u.operand;
- ASSERT(callFrame[base].jsValue().isObject());
- JSObject* baseObj = asObject(callFrame[base].jsValue());
+ ASSERT(callFrame->r(base).jsValue().isObject());
+ JSObject* baseObj = asObject(callFrame->r(base).jsValue());
Identifier& ident = callFrame->codeBlock()->identifier(property);
- ASSERT(callFrame[function].jsValue().isObject());
- baseObj->defineSetter(callFrame, ident, asObject(callFrame[function].jsValue()));
+ ASSERT(callFrame->r(function).jsValue().isObject());
+ baseObj->defineSetter(callFrame, ident, asObject(callFrame->r(function).jsValue()));
++vPC;
NEXT_INSTRUCTION();
@@ -3802,7 +3770,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
*/
int retAddrDst = (++vPC)->u.operand;
int target = (++vPC)->u.operand;
- callFrame[retAddrDst] = vPC + 1;
+ callFrame->r(retAddrDst) = vPC + 1;
vPC += target;
NEXT_INSTRUCTION();
@@ -3815,7 +3783,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
register, not as an immediate.
*/
int retAddrSrc = (++vPC)->u.operand;
- vPC = callFrame[retAddrSrc].vPC();
+ vPC = callFrame->r(retAddrSrc).vPC();
NEXT_INSTRUCTION();
}
DEFINE_OPCODE(op_debug) {
@@ -3842,7 +3810,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int function = vPC[1].u.operand;
if (*enabledProfilerReference)
- (*enabledProfilerReference)->willExecute(callFrame, callFrame[function].jsValue());
+ (*enabledProfilerReference)->willExecute(callFrame, callFrame->r(function).jsValue());
vPC += 2;
NEXT_INSTRUCTION();
@@ -3856,7 +3824,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int function = vPC[1].u.operand;
if (*enabledProfilerReference)
- (*enabledProfilerReference)->didExecute(callFrame, callFrame[function].jsValue());
+ (*enabledProfilerReference)->didExecute(callFrame, callFrame->r(function).jsValue());
vPC += 2;
NEXT_INSTRUCTION();
@@ -3899,12 +3867,12 @@ JSValue Interpreter::retrieveArguments(CallFrame* callFrame, JSFunction* functio
ASSERT(codeBlock->codeType() == FunctionCode);
SymbolTable& symbolTable = codeBlock->symbolTable();
int argumentsIndex = symbolTable.get(functionCallFrame->propertyNames().arguments.ustring().rep()).getIndex();
- if (!functionCallFrame[argumentsIndex].arguments()) {
+ if (!functionCallFrame->r(argumentsIndex).arguments()) {
Arguments* arguments = new (callFrame) Arguments(functionCallFrame);
functionCallFrame->setCalleeArguments(arguments);
- functionCallFrame[RegisterFile::ArgumentsRegister] = arguments;
+ functionCallFrame->r(RegisterFile::ArgumentsRegister) = arguments;
}
- return functionCallFrame[argumentsIndex].jsValue();
+ return functionCallFrame->r(argumentsIndex).jsValue();
}
Arguments* arguments = functionCallFrame->optionalCalleeArguments();
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h
index 702c89c..5331d92 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.h
@@ -31,13 +31,14 @@
#include "ArgList.h"
#include "FastAllocBase.h"
-#include "HashMap.h"
#include "JSCell.h"
#include "JSValue.h"
#include "JSObject.h"
#include "Opcode.h"
#include "RegisterFile.h"
+#include <wtf/HashMap.h>
+
namespace JSC {
class CodeBlock;
@@ -45,7 +46,6 @@ namespace JSC {
class FunctionBodyNode;
class Instruction;
class InternalFunction;
- class AssemblerBuffer;
class JSFunction;
class JSGlobalObject;
class ProgramNode;
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
index 3a6e63b..d46bdc9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
@@ -32,12 +32,12 @@
#include "Collector.h"
#include "ExecutableAllocator.h"
#include "Register.h"
+#include <stdio.h>
#include <wtf/Noncopyable.h>
#include <wtf/VMTags.h>
#if HAVE(MMAP)
#include <errno.h>
-#include <stdio.h>
#include <sys/mman.h>
#endif
@@ -92,7 +92,7 @@ namespace JSC {
class JSGlobalObject;
- class RegisterFile : Noncopyable {
+ class RegisterFile : public Noncopyable {
friend class JIT;
public:
enum CallFrameHeaderEntry {
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h b/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
index 0de4f79..4ed47e3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/ExecutableAllocator.h
@@ -156,7 +156,7 @@ public:
return pool.release();
}
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE) || !(PLATFORM(X86) || PLATFORM(X86_64))
+#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
static void makeWritable(void* start, size_t size)
{
reprotectRegion(start, size, Writable);
@@ -165,58 +165,47 @@ public:
static void makeExecutable(void* start, size_t size)
{
reprotectRegion(start, size, Executable);
- cacheFlush(start, size);
}
-
- // If ASSEMBLER_WX_EXCLUSIVE protection is turned on, or on non-x86 platforms,
- // we need to track start & size so we can makeExecutable/cacheFlush at the end.
- class MakeWritable {
- public:
- MakeWritable(void* start, size_t size)
- : m_start(start)
- , m_size(size)
- {
- makeWritable(start, size);
- }
-
- ~MakeWritable()
- {
- makeExecutable(m_start, m_size);
- }
-
- private:
- void* m_start;
- size_t m_size;
- };
#else
static void makeWritable(void*, size_t) {}
static void makeExecutable(void*, size_t) {}
-
- // On x86, without ASSEMBLER_WX_EXCLUSIVE, there is nothing to do here.
- class MakeWritable { public: MakeWritable(void*, size_t) {} };
#endif
-private:
-
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE) || !(PLATFORM(X86) || PLATFORM(X86_64))
-#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
- static void reprotectRegion(void*, size_t, ProtectionSeting);
-#else
- static void reprotectRegion(void*, size_t, ProtectionSeting) {}
-#endif
- static void cacheFlush(void* code, size_t size)
- {
#if PLATFORM(X86) || PLATFORM(X86_64)
- UNUSED_PARAM(code);
- UNUSED_PARAM(size);
+ static void cacheFlush(void*, size_t)
+ {
+ }
#elif PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE)
+ static void cacheFlush(void* code, size_t size)
+ {
sys_dcache_flush(code, size);
sys_icache_invalidate(code, size);
-#else
-#error "ExecutableAllocator::cacheFlush not implemented on this platform."
-#endif
}
+#elif PLATFORM(ARM)
+ static void cacheFlush(void* code, size_t size)
+ {
+ #if COMPILER(GCC) && (GCC_VERSION >= 30406)
+ __clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(code) + size);
+ #else
+ const int syscall = 0xf0002;
+ __asm __volatile (
+ "mov r0, %0\n"
+ "mov r1, %1\n"
+ "mov r7, %2\n"
+ "mov r2, #0x0\n"
+ "swi 0x00000000\n"
+ :
+ : "r" (code), "r" (reinterpret_cast<char*>(code) + size), "r" (syscall)
+ : "r0", "r1", "r7");
+ #endif // COMPILER(GCC) && (GCC_VERSION >= 30406)
+ }
+#endif
+
+private:
+
+#if ENABLE(ASSEMBLER_WX_EXCLUSIVE)
+ static void reprotectRegion(void*, size_t, ProtectionSeting);
#endif
RefPtr<ExecutablePool> m_smallAllocationPool;
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
index 02cb09b..a0e462b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.cpp
@@ -26,6 +26,12 @@
#include "config.h"
#include "JIT.h"
+// This probably does not belong here; adding here for now as a quick Windows build fix.
+#if ENABLE(ASSEMBLER) && PLATFORM(X86) && !PLATFORM(MAC)
+#include "MacroAssembler.h"
+JSC::MacroAssemblerX86Common::SSE2CheckState JSC::MacroAssemblerX86Common::s_sse2CheckState = NotCheckedSSE2;
+#endif
+
#if ENABLE(JIT)
#include "CodeBlock.h"
@@ -34,6 +40,8 @@
#include "JITStubCall.h"
#include "JSArray.h"
#include "JSFunction.h"
+#include "LinkBuffer.h"
+#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
@@ -45,21 +53,21 @@ using namespace std;
namespace JSC {
-void ctiPatchNearCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
+void ctiPatchNearCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
{
- MacroAssembler::RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeblock);
repatchBuffer.relinkNearCallerToTrampoline(returnAddress, newCalleeFunction);
}
-void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
+void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction)
{
- MacroAssembler::RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeblock);
repatchBuffer.relinkCallerToTrampoline(returnAddress, newCalleeFunction);
}
-void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction)
+void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction)
{
- MacroAssembler::RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeblock);
repatchBuffer.relinkCallerToFunction(returnAddress, newCalleeFunction);
}
@@ -275,7 +283,6 @@ void JIT::privateCompileMainPass()
DEFINE_OP(op_throw)
DEFINE_OP(op_to_jsnumber)
DEFINE_OP(op_to_primitive)
- DEFINE_OP(op_unexpected_load)
case op_get_array_length:
case op_get_by_id_chain:
@@ -397,7 +404,7 @@ void JIT::privateCompile()
#endif
// Could use a pop_m, but would need to offset the following instruction if so.
- preverveReturnAddressAfterCall(regT2);
+ preserveReturnAddressAfterCall(regT2);
emitPutToCallFrameHeader(regT2, RegisterFile::ReturnPC);
Jump slowRegisterFileCheck;
@@ -489,6 +496,7 @@ void JIT::privateCompile()
#if ENABLE(JIT_OPTIMIZE_CALL)
for (unsigned i = 0; i < m_codeBlock->numberOfCallLinkInfos(); ++i) {
CallLinkInfo& info = m_codeBlock->callLinkInfo(i);
+ info.ownerCodeBlock = m_codeBlock;
info.callReturnLocation = patchBuffer.locationOfNearCall(m_callStructureStubCompilationInfo[i].callReturnLocation);
info.hotPathBegin = patchBuffer.locationOf(m_callStructureStubCompilationInfo[i].hotPathBegin);
info.hotPathOther = patchBuffer.locationOfNearCall(m_callStructureStubCompilationInfo[i].hotPathOther);
@@ -554,7 +562,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_body)), regT3);
loadPtr(Address(regT3, OBJECT_OFFSETOF(FunctionBodyNode, m_code)), regT0);
Jump hasCodeBlock1 = branchTestPtr(NonZero, regT0);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
Call callJSFunction1 = call();
emitGetJITStubArg(1, regT2);
@@ -566,7 +574,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Check argCount matches callee arity.
Jump arityCheckOkay1 = branch32(Equal, Address(regT0, OBJECT_OFFSETOF(CodeBlock, m_numParameters)), regT1);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
emitPutJITStubArg(regT0, 4);
restoreArgumentReference();
@@ -580,7 +588,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
compileOpCallInitializeCallFrame();
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
restoreArgumentReference();
Call callDontLazyLinkCall = call();
@@ -595,7 +603,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_body)), regT3);
loadPtr(Address(regT3, OBJECT_OFFSETOF(FunctionBodyNode, m_code)), regT0);
Jump hasCodeBlock2 = branchTestPtr(NonZero, regT0);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
Call callJSFunction2 = call();
emitGetJITStubArg(1, regT2);
@@ -607,7 +615,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Check argCount matches callee arity.
Jump arityCheckOkay2 = branch32(Equal, Address(regT0, OBJECT_OFFSETOF(CodeBlock, m_numParameters)), regT1);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
emitPutJITStubArg(regT0, 4);
restoreArgumentReference();
@@ -621,7 +629,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
compileOpCallInitializeCallFrame();
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
restoreArgumentReference();
Call callLazyLinkCall = call();
@@ -635,7 +643,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
loadPtr(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_body)), regT3);
loadPtr(Address(regT3, OBJECT_OFFSETOF(FunctionBodyNode, m_code)), regT0);
Jump hasCodeBlock3 = branchTestPtr(NonZero, regT0);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
restoreArgumentReference();
Call callJSFunction3 = call();
emitGetJITStubArg(1, regT2);
@@ -648,7 +656,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
// Check argCount matches callee arity.
Jump arityCheckOkay3 = branch32(Equal, Address(regT0, OBJECT_OFFSETOF(CodeBlock, m_numParameters)), regT1);
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
emitPutJITStubArg(regT3, 2);
emitPutJITStubArg(regT0, 4);
restoreArgumentReference();
@@ -669,7 +677,7 @@ void JIT::privateCompileCTIMachineTrampolines(RefPtr<ExecutablePool>* executable
Label nativeCallThunk = align();
- preverveReturnAddressAfterCall(regT0);
+ preserveReturnAddressAfterCall(regT0);
emitPutToCallFrameHeader(regT0, RegisterFile::ReturnPC); // Push return address
// Load caller frame's scope chain into this callframe so that whatever we call can
@@ -904,14 +912,14 @@ void JIT::unlinkCall(CallLinkInfo* callLinkInfo)
// When the JSFunction is deleted the pointer embedded in the instruction stream will no longer be valid
// (and, if a new JSFunction happened to be constructed at the same location, we could get a false positive
// match). Reset the check so it no longer matches.
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(callLinkInfo->ownerCodeBlock);
repatchBuffer.repatch(callLinkInfo->hotPathBegin, JSValue::encode(JSValue()));
}
-void JIT::linkCall(JSFunction* callee, CodeBlock* calleeCodeBlock, JITCode& code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
+void JIT::linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode& code, CallLinkInfo* callLinkInfo, int callerArgCount, JSGlobalData* globalData)
{
ASSERT(calleeCodeBlock);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(callerCodeBlock);
// Currently we only link calls with the exact number of arguments.
// If this is a native call calleeCodeBlock is null so the number of parameters is unimportant
@@ -932,12 +940,3 @@ void JIT::linkCall(JSFunction* callee, CodeBlock* calleeCodeBlock, JITCode& code
} // namespace JSC
#endif // ENABLE(JIT)
-
-// This probably does not belong here; adding here for now as a quick Windows build fix.
-#if ENABLE(ASSEMBLER)
-
-#if PLATFORM(X86) && !PLATFORM(MAC)
-JSC::MacroAssemblerX86Common::SSE2CheckState JSC::MacroAssemblerX86Common::s_sse2CheckState = NotCheckedSSE2;
-#endif
-
-#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
index db3f38a..ceffe59 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JIT.h
@@ -171,9 +171,9 @@ namespace JSC {
};
// Near calls can only be patched to other JIT code, regular calls can be patched to JIT code or relinked to stub functions.
- void ctiPatchNearCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
- void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
- void ctiPatchCallByReturnAddress(ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction);
+ void ctiPatchNearCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
+ void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, MacroAssemblerCodePtr newCalleeFunction);
+ void ctiPatchCallByReturnAddress(CodeBlock* codeblock, ReturnAddressPtr returnAddress, FunctionPtr newCalleeFunction);
class JIT : private MacroAssembler {
friend class JITStubCall;
@@ -379,9 +379,9 @@ namespace JSC {
jit.privateCompileCTIMachineTrampolines(executablePool, globalData, ctiArrayLengthTrampoline, ctiStringLengthTrampoline, ctiVirtualCallPreLink, ctiVirtualCallLink, ctiVirtualCall, ctiNativeCallThunk);
}
- static void patchGetByIdSelf(StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
- static void patchPutByIdReplace(StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
- static void patchMethodCallProto(MethodCallLinkInfo&, JSFunction*, Structure*, JSObject*);
+ static void patchGetByIdSelf(CodeBlock* codeblock, StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
+ static void patchPutByIdReplace(CodeBlock* codeblock, StructureStubInfo*, Structure*, size_t cachedOffset, ReturnAddressPtr returnAddress);
+ static void patchMethodCallProto(CodeBlock* codeblock, MethodCallLinkInfo&, JSFunction*, Structure*, JSObject*);
static void compilePatchGetArrayLength(JSGlobalData* globalData, CodeBlock* codeBlock, ReturnAddressPtr returnAddress)
{
@@ -389,7 +389,7 @@ namespace JSC {
return jit.privateCompilePatchGetArrayLength(returnAddress);
}
- static void linkCall(JSFunction* callee, CodeBlock* calleeCodeBlock, JITCode&, CallLinkInfo*, int callerArgCount, JSGlobalData*);
+ static void linkCall(JSFunction* callee, CodeBlock* callerCodeBlock, CodeBlock* calleeCodeBlock, JITCode&, CallLinkInfo*, int callerArgCount, JSGlobalData*);
static void unlinkCall(CallLinkInfo*);
private:
@@ -663,7 +663,7 @@ namespace JSC {
void restoreArgumentReferenceForTrampoline();
Call emitNakedCall(CodePtr function = CodePtr());
- void preverveReturnAddressAfterCall(RegisterID);
+ void preserveReturnAddressAfterCall(RegisterID);
void restoreReturnAddressBeforeReturn(RegisterID);
void restoreReturnAddressBeforeReturn(Address);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h
index 7ee644b..b502c8a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITCode.h
@@ -83,13 +83,16 @@ namespace JSC {
m_ref.m_code.executableAddress(), registerFile, callFrame, exception, Profiler::enabledProfilerReference(), globalData));
}
-#ifndef NDEBUG
+ void* start()
+ {
+ return m_ref.m_code.dataLocation();
+ }
+
size_t size()
{
ASSERT(m_ref.m_code.executableAddress());
return m_ref.m_size;
}
-#endif
ExecutablePool* getExecutablePool()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
index deca0d1..f03d635 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITInlineMethods.h
@@ -179,7 +179,7 @@ ALWAYS_INLINE JIT::Call JIT::emitNakedCall(CodePtr function)
#if PLATFORM(X86) || PLATFORM(X86_64)
-ALWAYS_INLINE void JIT::preverveReturnAddressAfterCall(RegisterID reg)
+ALWAYS_INLINE void JIT::preserveReturnAddressAfterCall(RegisterID reg)
{
pop(reg);
}
@@ -196,7 +196,7 @@ ALWAYS_INLINE void JIT::restoreReturnAddressBeforeReturn(Address address)
#elif PLATFORM_ARM_ARCH(7)
-ALWAYS_INLINE void JIT::preverveReturnAddressAfterCall(RegisterID reg)
+ALWAYS_INLINE void JIT::preserveReturnAddressAfterCall(RegisterID reg)
{
move(linkRegister, reg);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
index dbcb34d..b669dfa 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
@@ -505,13 +505,6 @@ void JIT::emit_op_jneq_ptr(Instruction* currentInstruction)
RECORD_JUMP_TARGET(target + 3);
}
-void JIT::emit_op_unexpected_load(Instruction* currentInstruction)
-{
- JSValue v = m_codeBlock->unexpectedConstant(currentInstruction[2].u.operand);
- move(ImmPtr(JSValue::encode(v)), regT0);
- emitPutVirtualRegister(currentInstruction[1].u.operand);
-}
-
void JIT::emit_op_jsr(Instruction* currentInstruction)
{
int retAddrDst = currentInstruction[1].u.operand;
@@ -759,7 +752,7 @@ void JIT::emit_op_new_error(Instruction* currentInstruction)
{
JITStubCall stubCall(this, JITStubs::cti_op_new_error);
stubCall.addArgument(Imm32(currentInstruction[2].u.operand));
- stubCall.addArgument(ImmPtr(JSValue::encode(m_codeBlock->unexpectedConstant(currentInstruction[3].u.operand))));
+ stubCall.addArgument(ImmPtr(JSValue::encode(m_codeBlock->getConstant(currentInstruction[3].u.operand))));
stubCall.addArgument(Imm32(m_bytecodeIndex));
stubCall.call(currentInstruction[1].u.operand);
}
@@ -828,7 +821,7 @@ void JIT::emit_op_enter(Instruction*)
// Even though CTI doesn't use them, we initialize our constant
// registers to zap stale pointers, to avoid unnecessarily prolonging
// object lifetime and increasing GC pressure.
- size_t count = m_codeBlock->m_numVars + m_codeBlock->numberOfConstantRegisters();
+ size_t count = m_codeBlock->m_numVars;
for (size_t j = 0; j < count; ++j)
emitInitRegister(j);
@@ -839,7 +832,7 @@ void JIT::emit_op_enter_with_activation(Instruction* currentInstruction)
// Even though CTI doesn't use them, we initialize our constant
// registers to zap stale pointers, to avoid unnecessarily prolonging
// object lifetime and increasing GC pressure.
- size_t count = m_codeBlock->m_numVars + m_codeBlock->numberOfConstantRegisters();
+ size_t count = m_codeBlock->m_numVars;
for (size_t j = 0; j < count; ++j)
emitInitRegister(j);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
index ed8f48f..c1e5c29 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITPropertyAccess.cpp
@@ -34,6 +34,8 @@
#include "JSArray.h"
#include "JSFunction.h"
#include "Interpreter.h"
+#include "LinkBuffer.h"
+#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
@@ -461,7 +463,7 @@ void JIT::privateCompilePutByIdTransition(StructureStubInfo* stubInfo, Structure
if (willNeedStorageRealloc) {
// This trampoline was called to like a JIT stub; before we can can call again we need to
// remove the return address from the stack, to prevent the stack from becoming misaligned.
- preverveReturnAddressAfterCall(regT3);
+ preserveReturnAddressAfterCall(regT3);
JITStubCall stubCall(this, JITStubs::cti_op_put_by_id_transition_realloc);
stubCall.addArgument(regT0);
@@ -501,13 +503,13 @@ void JIT::privateCompilePutByIdTransition(StructureStubInfo* stubInfo, Structure
CodeLocationLabel entryLabel = patchBuffer.finalizeCodeAddendum();
stubInfo->stubRoutine = entryLabel;
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relinkCallerToTrampoline(returnAddress, entryLabel);
}
-void JIT::patchGetByIdSelf(StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
+void JIT::patchGetByIdSelf(CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
{
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeBlock);
// We don't want to patch more than once - in future go to cti_op_get_by_id_generic.
// Should probably go to JITStubs::cti_op_get_by_id_fail, but that doesn't do anything interesting right now.
@@ -525,23 +527,28 @@ void JIT::patchGetByIdSelf(StructureStubInfo* stubInfo, Structure* structure, si
repatchBuffer.repatch(stubInfo->hotPathBegin.dataLabel32AtOffset(patchOffsetGetByIdPropertyMapOffset), offset);
}
-void JIT::patchMethodCallProto(MethodCallLinkInfo& methodCallLinkInfo, JSFunction* callee, Structure* structure, JSObject* proto)
+void JIT::patchMethodCallProto(CodeBlock* codeBlock, MethodCallLinkInfo& methodCallLinkInfo, JSFunction* callee, Structure* structure, JSObject* proto)
{
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeBlock);
ASSERT(!methodCallLinkInfo.cachedStructure);
methodCallLinkInfo.cachedStructure = structure;
structure->ref();
+ Structure* prototypeStructure = proto->structure();
+ ASSERT(!methodCallLinkInfo.cachedPrototypeStructure);
+ methodCallLinkInfo.cachedPrototypeStructure = prototypeStructure;
+ prototypeStructure->ref();
+
repatchBuffer.repatch(methodCallLinkInfo.structureLabel, structure);
repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckProtoObj), proto);
- repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckProtoStruct), proto->structure());
+ repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckProtoStruct), prototypeStructure);
repatchBuffer.repatch(methodCallLinkInfo.structureLabel.dataLabelPtrAtOffset(patchOffsetMethodCheckPutFunction), callee);
}
-void JIT::patchPutByIdReplace(StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
+void JIT::patchPutByIdReplace(CodeBlock* codeBlock, StructureStubInfo* stubInfo, Structure* structure, size_t cachedOffset, ReturnAddressPtr returnAddress)
{
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(codeBlock);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
// Should probably go to JITStubs::cti_op_put_by_id_fail, but that doesn't do anything interesting right now.
@@ -591,7 +598,7 @@ void JIT::privateCompilePatchGetArrayLength(ReturnAddressPtr returnAddress)
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
@@ -637,7 +644,7 @@ void JIT::privateCompileGetByIdProto(StructureStubInfo* stubInfo, Structure* str
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
@@ -669,7 +676,7 @@ void JIT::privateCompileGetByIdSelfList(StructureStubInfo* stubInfo, Polymorphic
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
}
@@ -714,7 +721,7 @@ void JIT::privateCompileGetByIdProtoList(StructureStubInfo* stubInfo, Polymorphi
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
}
@@ -768,7 +775,7 @@ void JIT::privateCompileGetByIdChainList(StructureStubInfo* stubInfo, Polymorphi
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
}
@@ -816,7 +823,7 @@ void JIT::privateCompileGetByIdChain(StructureStubInfo* stubInfo, Structure* str
// Finally patch the jump to slow case back in the hot path to jump here instead.
CodeLocationJump jumpLocation = stubInfo->hotPathBegin.jumpAtOffset(patchOffsetGetByIdBranchToSlowCase);
- RepatchBuffer repatchBuffer;
+ RepatchBuffer repatchBuffer(m_codeBlock);
repatchBuffer.relink(jumpLocation, entryLabel);
// We don't want to patch more than once - in future go to cti_op_put_by_id_generic.
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
index 02bf7c0..5049477 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
@@ -358,7 +358,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
// Uncacheable: give up.
if (!slot.isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
@@ -366,13 +366,13 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
Structure* structure = baseCell->structure();
if (structure->isDictionary()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
// If baseCell != base, then baseCell must be a proxy for another object.
if (baseCell != slot.base()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
@@ -384,7 +384,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
if (slot.type() == PutPropertySlot::NewProperty) {
StructureChain* prototypeChain = structure->prototypeChain(callFrame);
if (!prototypeChain->isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_put_by_id_generic));
return;
}
stubInfo->initPutByIdTransition(structure->previousID(), structure, prototypeChain);
@@ -394,7 +394,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
stubInfo->initPutByIdReplace(structure);
- JIT::patchPutByIdReplace(stubInfo, structure, slot.cachedOffset(), returnAddress);
+ JIT::patchPutByIdReplace(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
}
NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, ReturnAddressPtr returnAddress, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot)
@@ -404,7 +404,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
// FIXME: Cache property access for immediates.
if (!baseValue.isCell()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
@@ -418,13 +418,13 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
if (isJSString(globalData, baseValue) && propertyName == callFrame->propertyNames().length) {
// The tradeoff of compiling an patched inline string length access routine does not seem
// to pay off, so we currently only do this for arrays.
- ctiPatchCallByReturnAddress(returnAddress, globalData->jitStubs.ctiStringLengthTrampoline());
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, globalData->jitStubs.ctiStringLengthTrampoline());
return;
}
// Uncacheable: give up.
if (!slot.isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
@@ -432,7 +432,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
Structure* structure = baseCell->structure();
if (structure->isDictionary()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
@@ -447,7 +447,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
// set this up, so derefStructures can do it's job.
stubInfo->initGetByIdSelf(structure);
- JIT::patchGetByIdSelf(stubInfo, structure, slot.cachedOffset(), returnAddress);
+ JIT::patchGetByIdSelf(codeBlock, stubInfo, structure, slot.cachedOffset(), returnAddress);
return;
}
@@ -475,7 +475,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
StructureChain* prototypeChain = structure->prototypeChain(callFrame);
if (!prototypeChain->isCacheable()) {
- ctiPatchCallByReturnAddress(returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
+ ctiPatchCallByReturnAddress(codeBlock, returnAddress, FunctionPtr(JITStubs::cti_op_get_by_id_generic));
return;
}
stubInfo->initGetByIdChain(structure, prototypeChain);
@@ -777,7 +777,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_id)
PutPropertySlot slot;
stackFrame.args[0].jsValue().put(callFrame, ident, stackFrame.args[2].jsValue(), slot);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_id_second));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_id_second));
CHECK_FOR_EXCEPTION_AT_END();
}
@@ -831,7 +831,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id)
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_second));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_second));
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
@@ -848,7 +848,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check)
PropertySlot slot(baseValue);
JSValue result = baseValue.get(callFrame, ident, slot);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_method_check_second));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_method_check_second));
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
@@ -900,7 +900,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check_second)
// Check to see if the function is on the object's prototype. Patch up the code to optimize.
if (slot.slotBase() == structure->prototypeForLookup(callFrame))
- JIT::patchMethodCallProto(methodCallLinkInfo, callee, structure, slotBaseObject);
+ JIT::patchMethodCallProto(callFrame->codeBlock(), methodCallLinkInfo, callee, structure, slotBaseObject);
// Check to see if the function is on the object itself.
// Since we generate the method-check to check both the structure and a prototype-structure (since this
// is the common case) we have a problem - we need to patch the prototype structure check to do something
@@ -908,13 +908,13 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check_second)
// for now. For now it performs a check on a special object on the global object only used for this
// purpose. The object is in no way exposed, and as such the check will always pass.
else if (slot.slotBase() == baseValue)
- JIT::patchMethodCallProto(methodCallLinkInfo, callee, structure, callFrame->scopeChain()->globalObject()->methodCallDummy());
+ JIT::patchMethodCallProto(callFrame->codeBlock(), methodCallLinkInfo, callee, structure, callFrame->scopeChain()->globalObject()->methodCallDummy());
// For now let any other case be cached as a normal get_by_id.
}
// Revert the get_by_id op back to being a regular get_by_id - allow it to cache like normal, if it needs to.
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id));
return JSValue::encode(result);
}
@@ -975,10 +975,9 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_self_fail)
JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, asCell(baseValue)->structure(), slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
- } else {
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
- }
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
+ } else
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
return JSValue::encode(result);
}
@@ -1024,7 +1023,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
CHECK_FOR_EXCEPTION();
if (!baseValue.isCell() || !slot.isCacheable() || asCell(baseValue)->structure()->isDictionary()) {
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
return JSValue::encode(result);
}
@@ -1036,7 +1035,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
JSObject* slotBaseObject = asObject(slot.slotBase());
if (slot.slotBase() == baseValue)
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
else if (slot.slotBase() == asCell(baseValue)->structure()->prototypeForLookup(callFrame)) {
// Since we're accessing a prototype in a loop, it's a good bet that it
// should not be treated as a dictionary.
@@ -1049,11 +1048,11 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
JIT::compileGetByIdProtoList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
} else if (size_t count = countPrototypeChainEntriesAndCheckForProxies(callFrame, baseValue, slot)) {
StructureChain* protoChain = structure->prototypeChain(callFrame);
if (!protoChain->isCacheable()) {
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
return JSValue::encode(result);
}
@@ -1062,9 +1061,9 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
JIT::compileGetByIdChainList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
} else
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
+ ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_fail));
return JSValue::encode(result);
}
@@ -1271,7 +1270,7 @@ DEFINE_STUB_FUNCTION(void*, vm_dontLazyLinkCall)
JSGlobalData* globalData = stackFrame.globalData;
JSFunction* callee = asFunction(stackFrame.args[0].jsValue());
- ctiPatchNearCallByReturnAddress(stackFrame.args[1].returnAddress(), globalData->jitStubs.ctiVirtualCallLink());
+ ctiPatchNearCallByReturnAddress(stackFrame.callFrame->callerFrame()->codeBlock(), stackFrame.args[1].returnAddress(), globalData->jitStubs.ctiVirtualCallLink());
return callee->body()->generatedJITCode().addressForCall().executableAddress();
}
@@ -1290,7 +1289,7 @@ DEFINE_STUB_FUNCTION(void*, vm_lazyLinkCall)
codeBlock = &callee->body()->generatedBytecode();
CallLinkInfo* callLinkInfo = &stackFrame.callFrame->callerFrame()->codeBlock()->getCallLinkInfo(stackFrame.args[1].returnAddress());
- JIT::linkCall(callee, codeBlock, jitCode, callLinkInfo, stackFrame.args[2].int32(), stackFrame.globalData);
+ JIT::linkCall(callee, stackFrame.callFrame->callerFrame()->codeBlock(), codeBlock, jitCode, callLinkInfo, stackFrame.args[2].int32(), stackFrame.globalData);
return jitCode.addressForCall().executableAddress();
}
@@ -1530,11 +1529,11 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_val)
result = jsArray->JSArray::get(callFrame, i);
} else if (isJSString(globalData, baseValue) && asString(baseValue)->canGetIndex(i)) {
// All fast byte array accesses are safe from exceptions so return immediately to avoid exception checks.
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_string));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_string));
result = asString(baseValue)->getIndex(stackFrame.globalData, i);
} else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
// All fast byte array accesses are safe from exceptions so return immediately to avoid exception checks.
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_byte_array));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val_byte_array));
return JSValue::encode(asByteArray(baseValue)->getIndex(callFrame, i));
} else
result = baseValue.get(callFrame, i);
@@ -1566,7 +1565,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_val_string)
else {
result = baseValue.get(callFrame, i);
if (!isJSString(globalData, baseValue))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
}
} else {
Identifier property(callFrame, subscript.toString(callFrame));
@@ -1599,7 +1598,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_val_byte_array)
result = baseValue.get(callFrame, i);
if (!isJSByteArray(globalData, baseValue))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_val));
} else {
Identifier property(callFrame, subscript.toString(callFrame));
result = baseValue.get(callFrame, property);
@@ -1692,7 +1691,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_val)
jsArray->JSArray::put(callFrame, i, value);
} else if (isJSByteArray(globalData, baseValue) && asByteArray(baseValue)->canAccessIndex(i)) {
JSByteArray* jsByteArray = asByteArray(baseValue);
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val_byte_array));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val_byte_array));
// All fast byte array accesses are safe from exceptions so return immediately to avoid exception checks.
if (value.isInt32Fast()) {
jsByteArray->setIndex(i, value.getInt32Fast());
@@ -1776,7 +1775,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_val_byte_array)
}
if (!isJSByteArray(globalData, baseValue))
- ctiPatchCallByReturnAddress(STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val));
+ ctiPatchCallByReturnAddress(callFrame->codeBlock(), STUB_RETURN_ADDRESS, FunctionPtr(cti_op_put_by_val));
baseValue.put(callFrame, i, value);
} else {
Identifier property(callFrame, subscript.toString(callFrame));
diff --git a/src/3rdparty/webkit/JavaScriptCore/jsc.cpp b/src/3rdparty/webkit/JavaScriptCore/jsc.cpp
index 20d6694..190deff 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jsc.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jsc.cpp
@@ -48,7 +48,7 @@
#include <sys/time.h>
#endif
-#if PLATFORM(UNIX)
+#if HAVE(SIGNAL_H)
#include <signal.h>
#endif
@@ -221,7 +221,7 @@ JSValue JSC_HOST_CALL functionDebug(ExecState* exec, JSObject*, JSValue, const A
JSValue JSC_HOST_CALL functionGC(ExecState* exec, JSObject*, JSValue, const ArgList&)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
exec->heap()->collect();
return jsUndefined();
}
@@ -375,7 +375,7 @@ int main(int argc, char** argv)
static void cleanupGlobalData(JSGlobalData* globalData)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
globalData->heap.destroy();
globalData->deref();
}
@@ -489,7 +489,9 @@ static NO_RETURN void printUsageStatement(JSGlobalData* globalData, bool help =
fprintf(stderr, " -f Specifies a source file (deprecated)\n");
fprintf(stderr, " -h|--help Prints this help message\n");
fprintf(stderr, " -i Enables interactive mode (default if no files are specified)\n");
+#if HAVE(SIGNAL_H)
fprintf(stderr, " -s Installs signal handlers that exit on a crash (Unix platforms only)\n");
+#endif
cleanupGlobalData(globalData);
exit(help ? EXIT_SUCCESS : EXIT_FAILURE);
@@ -524,7 +526,7 @@ static void parseArguments(int argc, char** argv, Options& options, JSGlobalData
continue;
}
if (strcmp(arg, "-s") == 0) {
-#if PLATFORM(UNIX)
+#if HAVE(SIGNAL_H)
signal(SIGILL, _exit);
signal(SIGFPE, _exit);
signal(SIGBUS, _exit);
@@ -548,7 +550,7 @@ static void parseArguments(int argc, char** argv, Options& options, JSGlobalData
int jscmain(int argc, char** argv, JSGlobalData* globalData)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
Options options;
parseArguments(argc, argv, options, globalData);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jsc.pro b/src/3rdparty/webkit/JavaScriptCore/jsc.pro
new file mode 100644
index 0000000..ba880ff
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/jsc.pro
@@ -0,0 +1,31 @@
+TEMPLATE = app
+TARGET = jsc
+DESTDIR = .
+SOURCES = jsc.cpp
+QT -= gui
+CONFIG -= app_bundle
+CONFIG += building-libs
+win32-*: CONFIG += console
+win32-msvc*: CONFIG += exceptions_off stl_off
+
+include($$PWD/../WebKit.pri)
+
+CONFIG += link_pkgconfig
+
+QMAKE_RPATHDIR += $$OUTPUT_DIR/lib
+
+isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD/..
+CONFIG(debug, debug|release) {
+ OBJECTS_DIR = obj/debug
+} else { # Release
+ OBJECTS_DIR = obj/release
+}
+OBJECTS_DIR_WTR = $$OBJECTS_DIR$${QMAKE_DIR_SEP}
+include($$PWD/JavaScriptCore.pri)
+
+lessThan(QT_MINOR_VERSION, 4) {
+ DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE=""
+}
+
+*-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
+*-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y b/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
index c5ca425..354c786 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
@@ -36,8 +36,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -88,12 +92,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
index 0e1b618..2583162 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
@@ -33,7 +33,7 @@ namespace JSC {
class RegExp;
- class Lexer : Noncopyable {
+ class Lexer : public Noncopyable {
public:
// Character manipulation functions.
static bool isWhiteSpace(int character);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
index d17da69..780a624 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
@@ -39,6 +39,11 @@ namespace JSC {
return fastMalloc(size);
}
+ inline void ParserArenaDeletable::operator delete(void* p)
+ {
+ fastFree(p);
+ }
+
inline ParserArenaRefCounted::ParserArenaRefCounted(JSGlobalData* globalData)
{
globalData->parser->arena().derefWithArena(adoptRef(this));
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
index ba6e1e0..6c0d1af 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
@@ -495,6 +495,8 @@ static RegisterID* emitPreIncOrDec(BytecodeGenerator& generator, RegisterID* src
static RegisterID* emitPostIncOrDec(BytecodeGenerator& generator, RegisterID* dst, RegisterID* srcDst, Operator oper)
{
+ if (srcDst == dst)
+ return generator.emitToJSNumber(dst, srcDst);
return (oper == OpPlusPlus) ? generator.emitPostInc(dst, srcDst) : generator.emitPostDec(dst, srcDst);
}
@@ -601,7 +603,7 @@ RegisterID* PostfixErrorNode::emitBytecode(BytecodeGenerator& generator, Registe
RegisterID* DeleteResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
{
if (generator.registerFor(m_ident))
- return generator.emitUnexpectedLoad(generator.finalDestination(dst), false);
+ return generator.emitLoad(generator.finalDestination(dst), false);
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
RegisterID* base = generator.emitResolveBase(generator.tempDestination(dst), m_ident);
@@ -636,7 +638,7 @@ RegisterID* DeleteValueNode::emitBytecode(BytecodeGenerator& generator, Register
generator.emitNode(generator.ignoredResult(), m_expr);
// delete on a non-location expression ignores the value and returns true
- return generator.emitUnexpectedLoad(generator.finalDestination(dst), true);
+ return generator.emitLoad(generator.finalDestination(dst), true);
}
// ------------------------------ VoidNode -------------------------------------
@@ -688,7 +690,7 @@ RegisterID* PrefixResolveNode::emitBytecode(BytecodeGenerator& generator, Regist
if (generator.isLocalConstant(m_ident)) {
if (dst == generator.ignoredResult())
return 0;
- RefPtr<RegisterID> r0 = generator.emitUnexpectedLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0);
+ RefPtr<RegisterID> r0 = generator.emitLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0);
return generator.emitBinaryOp(op_add, r0.get(), local, r0.get(), OperandTypes());
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
index a9f88b7..84e8b95 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
@@ -109,9 +109,11 @@ namespace JSC {
// Objects created with this version of new are not deleted when the arena is deleted.
// Other arrangements must be made.
void* operator new(size_t);
+
+ void operator delete(void*);
};
- class ParserArenaRefCounted : public RefCounted<ParserArenaRefCounted> {
+ class ParserArenaRefCounted : public RefCountedCustomAllocated<ParserArenaRefCounted> {
protected:
ParserArenaRefCounted(JSGlobalData*);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h b/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
index 6f4c2b7..373dc00 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
@@ -39,7 +39,7 @@ namespace JSC {
template <typename T> struct ParserArenaData : ParserArenaDeletable { T data; };
- class Parser : Noncopyable {
+ class Parser : public Noncopyable {
public:
template <class ParsedNode> PassRefPtr<ParsedNode> parse(ExecState*, Debugger*, const SourceCode&, int* errLine = 0, UString* errMsg = 0);
template <class ParsedNode> PassRefPtr<ParsedNode> reparse(JSGlobalData*, ParsedNode*);
diff --git a/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp b/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp
index af770f3..16619d4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/pcre/pcre_exec.cpp
@@ -112,7 +112,7 @@ struct BracketChainNode {
const UChar* bracketStart;
};
-struct MatchFrame {
+struct MatchFrame : FastAllocBase {
ReturnLocation returnLocation;
struct MatchFrame* previousFrame;
diff --git a/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h b/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h
index b37f613..869f419 100644
--- a/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h
+++ b/src/3rdparty/webkit/JavaScriptCore/profiler/Profiler.h
@@ -44,7 +44,7 @@ namespace JSC {
class ProfileGenerator;
class UString;
- class Profiler {
+ class Profiler : public FastAllocBase {
public:
static Profiler** enabledProfilerReference()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h b/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h
index 4d571fc..0899e85 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/ArgList.h
@@ -31,7 +31,7 @@
namespace JSC {
- class MarkedArgumentBuffer : Noncopyable {
+ class MarkedArgumentBuffer : public Noncopyable {
private:
static const unsigned inlineCapacity = 8;
typedef Vector<Register, inlineCapacity> VectorType;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h b/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
index 13dd95c..b9f738f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/BatchedTransitionOptimizer.h
@@ -32,7 +32,7 @@
namespace JSC {
- class BatchedTransitionOptimizer : Noncopyable {
+ class BatchedTransitionOptimizer : public Noncopyable {
public:
BatchedTransitionOptimizer(JSObject* object)
: m_object(object)
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
index 0ff97b8..bc5582c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
@@ -48,6 +48,11 @@
#include <mach/thread_act.h>
#include <mach/vm_map.h>
+#elif PLATFORM(SYMBIAN)
+#include <e32std.h>
+#include <e32cmn.h>
+#include <unistd.h>
+
#elif PLATFORM(WIN_OS)
#include <windows.h>
@@ -84,6 +89,13 @@ extern int *__libc_stack_end;
#include <pthread_np.h>
#endif
+#if PLATFORM(QNX)
+#include <fcntl.h>
+#include <sys/procfs.h>
+#include <stdio.h>
+#include <errno.h>
+#endif
+
#endif
#define DEBUG_COLLECTOR 0
@@ -103,6 +115,11 @@ const size_t ALLOCATIONS_PER_COLLECTION = 4000;
// a PIC branch in Mach-O binaries, see <rdar://problem/5971391>.
#define MIN_ARRAY_SIZE (static_cast<size_t>(14))
+#if PLATFORM(SYMBIAN)
+const size_t MAX_NUM_BLOCKS = 256; // Max size of collector heap set to 16 MB
+static RHeap* userChunk = 0;
+#endif
+
static void freeHeap(CollectorHeap*);
#if ENABLE(JSC_MULTIPLE_THREADS)
@@ -144,6 +161,26 @@ Heap::Heap(JSGlobalData* globalData)
{
ASSERT(globalData);
+#if PLATFORM(SYMBIAN)
+ // Symbian OpenC supports mmap but currently not the MAP_ANON flag.
+ // Using fastMalloc() does not properly align blocks on 64k boundaries
+ // and previous implementation was flawed/incomplete.
+ // UserHeap::ChunkHeap allows allocation of continuous memory and specification
+ // of alignment value for (symbian) cells within that heap.
+ //
+ // Clarification and mapping of terminology:
+ // RHeap (created by UserHeap::ChunkHeap below) is continuos memory chunk,
+ // which can dynamically grow up to 8 MB,
+ // that holds all CollectorBlocks of this session (static).
+ // Each symbian cell within RHeap maps to a 64kb aligned CollectorBlock.
+ // JSCell objects are maintained as usual within CollectorBlocks.
+ if (!userChunk) {
+ userChunk = UserHeap::ChunkHeap(0, 0, MAX_NUM_BLOCKS * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE);
+ if (!userChunk)
+ CRASH();
+ }
+#endif // PLATFORM(SYMBIAN)
+
memset(&primaryHeap, 0, sizeof(CollectorHeap));
memset(&numberHeap, 0, sizeof(CollectorHeap));
}
@@ -156,7 +193,7 @@ Heap::~Heap()
void Heap::destroy()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (!m_globalData)
return;
@@ -201,8 +238,12 @@ static NEVER_INLINE CollectorBlock* allocateBlock()
// FIXME: tag the region as a JavaScriptCore heap when we get a registered VM tag: <rdar://problem/6054788>.
vm_map(current_task(), &address, BLOCK_SIZE, BLOCK_OFFSET_MASK, VM_FLAGS_ANYWHERE | VM_TAG_FOR_COLLECTOR_MEMORY, MEMORY_OBJECT_NULL, 0, FALSE, VM_PROT_DEFAULT, VM_PROT_DEFAULT, VM_INHERIT_DEFAULT);
#elif PLATFORM(SYMBIAN)
- // no memory map in symbian, need to hack with fastMalloc
- void* address = fastMalloc(BLOCK_SIZE);
+ // Allocate a 64 kb aligned CollectorBlock
+ unsigned char* mask = reinterpret_cast<unsigned char*>(userChunk->Alloc(BLOCK_SIZE));
+ if (!mask)
+ CRASH();
+ uintptr_t address = reinterpret_cast<uintptr_t>(mask);
+
memset(reinterpret_cast<void*>(address), 0, BLOCK_SIZE);
#elif PLATFORM(WIN_OS)
// windows virtual address granularity is naturally 64k
@@ -247,7 +288,7 @@ static void freeBlock(CollectorBlock* block)
#if PLATFORM(DARWIN)
vm_deallocate(current_task(), reinterpret_cast<vm_address_t>(block), BLOCK_SIZE);
#elif PLATFORM(SYMBIAN)
- fastFree(block);
+ userChunk->Free(reinterpret_cast<TAny*>(block));
#elif PLATFORM(WIN_OS)
VirtualFree(block, 0, MEM_RELEASE);
#elif HAVE(POSIX_MEMALIGN)
@@ -546,6 +587,24 @@ static inline void* currentThreadStackBase()
static pthread_t stackThread;
pthread_t thread = pthread_self();
if (stackBase == 0 || thread != stackThread) {
+#if PLATFORM(QNX)
+ int fd;
+ struct _debug_thread_info tinfo;
+ memset(&tinfo, 0, sizeof(tinfo));
+ tinfo.tid = pthread_self();
+ fd = open("/proc/self", O_RDONLY);
+ if (fd == -1) {
+#ifndef NDEBUG
+ perror("Unable to open /proc/self:");
+#endif
+ return 0;
+ }
+ devctl(fd, DCMD_PROC_TIDSTATUS, &tinfo, sizeof(tinfo), NULL);
+ close(fd);
+ stackBase = (void*)tinfo.stkbase;
+ stackSize = tinfo.stksize;
+ ASSERT(stackBase);
+#else
#if defined(QT_LINUXBASE)
// LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead
// see http://bugs.linuxbase.org/show_bug.cgi?id=2364
@@ -570,6 +629,7 @@ static inline void* currentThreadStackBase()
(void)rc; // FIXME: Deal with error code somehow? Seems fatal.
ASSERT(stackBase);
pthread_attr_destroy(&sattr);
+#endif
stackThread = thread;
}
return static_cast<char*>(stackBase) + stackSize;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
index 23f9f15..852ac59 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.h
@@ -63,7 +63,7 @@ namespace JSC {
OperationInProgress operationInProgress;
};
- class Heap : Noncopyable {
+ class Heap : public Noncopyable {
public:
class Thread;
typedef CollectorHeapIterator<PrimaryHeap> iterator;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h b/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h
index 408d819..7b275bd 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/CommonIdentifiers.h
@@ -70,7 +70,7 @@
namespace JSC {
- class CommonIdentifiers : Noncopyable {
+ class CommonIdentifiers : public Noncopyable {
private:
CommonIdentifiers(JSGlobalData*);
friend class JSGlobalData;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp
index 040c123..7db723b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Identifier.cpp
@@ -32,7 +32,7 @@ namespace JSC {
typedef HashMap<const char*, RefPtr<UString::Rep>, PtrHash<const char*> > LiteralIdentifierTable;
-class IdentifierTable {
+class IdentifierTable : public FastAllocBase {
public:
~IdentifierTable()
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp
index 8996629..3bef263 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSActivation.cpp
@@ -40,7 +40,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSActivation);
const ClassInfo JSActivation::info = { "JSActivation", 0, 0, 0 };
JSActivation::JSActivation(CallFrame* callFrame, PassRefPtr<FunctionBodyNode> functionBody)
- : Base(callFrame->globalData().activationStructure, new JSActivationData(functionBody, callFrame))
+ : Base(callFrame->globalData().activationStructure, new JSActivationData(functionBody, callFrame->registers()))
{
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
index e0a9b4d..32aa22b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSCell.h
@@ -31,7 +31,7 @@
namespace JSC {
- class JSCell : Noncopyable {
+ class JSCell : public NoncopyableCustomAllocated {
friend class GetterSetter;
friend class Heap;
friend class JIT;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp
index d5c4ee4..ff728e8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalData.cpp
@@ -59,14 +59,14 @@ using namespace WTF;
namespace JSC {
-extern const HashTable arrayTable;
-extern const HashTable jsonTable;
-extern const HashTable dateTable;
-extern const HashTable mathTable;
-extern const HashTable numberTable;
-extern const HashTable regExpTable;
-extern const HashTable regExpConstructorTable;
-extern const HashTable stringTable;
+extern JSC_CONST_HASHTABLE HashTable arrayTable;
+extern JSC_CONST_HASHTABLE HashTable jsonTable;
+extern JSC_CONST_HASHTABLE HashTable dateTable;
+extern JSC_CONST_HASHTABLE HashTable mathTable;
+extern JSC_CONST_HASHTABLE HashTable numberTable;
+extern JSC_CONST_HASHTABLE HashTable regExpTable;
+extern JSC_CONST_HASHTABLE HashTable regExpConstructorTable;
+extern JSC_CONST_HASHTABLE HashTable stringTable;
struct VPtrSet {
VPtrSet();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h
index 983274b..7ab759d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObject.h
@@ -391,7 +391,7 @@ namespace JSC {
return globalData().dynamicGlobalObject;
}
- class DynamicGlobalObjectScope : Noncopyable {
+ class DynamicGlobalObjectScope : public Noncopyable {
public:
DynamicGlobalObjectScope(CallFrame* callFrame, JSGlobalObject* dynamicGlobalObject)
: m_dynamicGlobalObjectSlot(callFrame->globalData().dynamicGlobalObject)
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp
index 7ece5da..8f056c8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.cpp
@@ -60,23 +60,23 @@ static void setLockCount(intptr_t count)
}
JSLock::JSLock(ExecState* exec)
- : m_lockingForReal(exec->globalData().isSharedInstance)
+ : m_lockBehavior(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly)
{
- lock(m_lockingForReal);
+ lock(m_lockBehavior);
}
-void JSLock::lock(bool lockForReal)
+void JSLock::lock(JSLockBehavior lockBehavior)
{
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!lockForReal)
+ if (lockBehavior == SilenceAssertionsOnly)
return;
#endif
pthread_once(&createJSLockCountOnce, createJSLockCount);
intptr_t currentLockCount = lockCount();
- if (!currentLockCount && lockForReal) {
+ if (!currentLockCount && lockBehavior == LockForReal) {
int result;
result = pthread_mutex_lock(&JSMutex);
ASSERT(!result);
@@ -84,19 +84,19 @@ void JSLock::lock(bool lockForReal)
setLockCount(currentLockCount + 1);
}
-void JSLock::unlock(bool lockForReal)
+void JSLock::unlock(JSLockBehavior lockBehavior)
{
ASSERT(lockCount());
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!lockForReal)
+ if (lockBehavior == SilenceAssertionsOnly)
return;
#endif
intptr_t newLockCount = lockCount() - 1;
setLockCount(newLockCount);
- if (!newLockCount && lockForReal) {
+ if (!newLockCount && lockBehavior == LockForReal) {
int result;
result = pthread_mutex_unlock(&JSMutex);
ASSERT(!result);
@@ -105,12 +105,12 @@ void JSLock::unlock(bool lockForReal)
void JSLock::lock(ExecState* exec)
{
- lock(exec->globalData().isSharedInstance);
+ lock(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly);
}
void JSLock::unlock(ExecState* exec)
{
- unlock(exec->globalData().isSharedInstance);
+ unlock(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly);
}
bool JSLock::currentThreadIsHoldingLock()
@@ -162,7 +162,7 @@ bool JSLock::currentThreadIsHoldingLock()
static unsigned lockDropDepth = 0;
JSLock::DropAllLocks::DropAllLocks(ExecState* exec)
- : m_lockingForReal(exec->globalData().isSharedInstance)
+ : m_lockBehavior(exec->globalData().isSharedInstance ? LockForReal : SilenceAssertionsOnly)
{
pthread_once(&createJSLockCountOnce, createJSLockCount);
@@ -173,11 +173,11 @@ JSLock::DropAllLocks::DropAllLocks(ExecState* exec)
m_lockCount = JSLock::lockCount();
for (intptr_t i = 0; i < m_lockCount; i++)
- JSLock::unlock(m_lockingForReal);
+ JSLock::unlock(m_lockBehavior);
}
-JSLock::DropAllLocks::DropAllLocks(bool lockingForReal)
- : m_lockingForReal(lockingForReal)
+JSLock::DropAllLocks::DropAllLocks(JSLockBehavior JSLockBehavior)
+ : m_lockBehavior(JSLockBehavior)
{
pthread_once(&createJSLockCountOnce, createJSLockCount);
@@ -191,13 +191,13 @@ JSLock::DropAllLocks::DropAllLocks(bool lockingForReal)
m_lockCount = JSLock::lockCount();
for (intptr_t i = 0; i < m_lockCount; i++)
- JSLock::unlock(m_lockingForReal);
+ JSLock::unlock(m_lockBehavior);
}
JSLock::DropAllLocks::~DropAllLocks()
{
for (intptr_t i = 0; i < m_lockCount; i++)
- JSLock::lock(m_lockingForReal);
+ JSLock::lock(m_lockBehavior);
--lockDropDepth;
}
@@ -205,7 +205,7 @@ JSLock::DropAllLocks::~DropAllLocks()
#else
JSLock::JSLock(ExecState*)
- : m_lockingForReal(false)
+ : m_lockBehavior(SilenceAssertionsOnly)
{
}
@@ -221,11 +221,11 @@ bool JSLock::currentThreadIsHoldingLock()
return true;
}
-void JSLock::lock(bool)
+void JSLock::lock(JSLockBehavior)
{
}
-void JSLock::unlock(bool)
+void JSLock::unlock(JSLockBehavior)
{
}
@@ -241,7 +241,7 @@ JSLock::DropAllLocks::DropAllLocks(ExecState*)
{
}
-JSLock::DropAllLocks::DropAllLocks(bool)
+JSLock::DropAllLocks::DropAllLocks(JSLockBehavior)
{
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h
index 3dde358..8b015c4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSLock.h
@@ -50,50 +50,52 @@ namespace JSC {
class ExecState;
- class JSLock : Noncopyable {
+ enum JSLockBehavior { SilenceAssertionsOnly, LockForReal };
+
+ class JSLock : public Noncopyable {
public:
JSLock(ExecState*);
- JSLock(bool lockingForReal)
- : m_lockingForReal(lockingForReal)
+ JSLock(JSLockBehavior lockBehavior)
+ : m_lockBehavior(lockBehavior)
{
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!lockingForReal)
+ if (lockBehavior == SilenceAssertionsOnly)
return;
#endif
- lock(lockingForReal);
+ lock(lockBehavior);
}
~JSLock()
{
#ifdef NDEBUG
// Locking "not for real" is a debug-only feature.
- if (!m_lockingForReal)
+ if (m_lockBehavior == SilenceAssertionsOnly)
return;
#endif
- unlock(m_lockingForReal);
+ unlock(m_lockBehavior);
}
- static void lock(bool);
- static void unlock(bool);
+ static void lock(JSLockBehavior);
+ static void unlock(JSLockBehavior);
static void lock(ExecState*);
static void unlock(ExecState*);
static intptr_t lockCount();
static bool currentThreadIsHoldingLock();
- bool m_lockingForReal;
+ JSLockBehavior m_lockBehavior;
- class DropAllLocks : Noncopyable {
+ class DropAllLocks : public Noncopyable {
public:
DropAllLocks(ExecState* exec);
- DropAllLocks(bool);
+ DropAllLocks(JSLockBehavior);
~DropAllLocks();
private:
intptr_t m_lockCount;
- bool m_lockingForReal;
+ JSLockBehavior m_lockBehavior;
};
};
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp
index 4a89c55..2f02b1d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSONObject.cpp
@@ -61,7 +61,7 @@ private:
mutable JSValue m_value;
};
-class Stringifier : Noncopyable {
+class Stringifier : public Noncopyable {
public:
Stringifier(ExecState*, JSValue replacer, JSValue space);
~Stringifier();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp
index 3f3fab9..798013a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/LiteralParser.cpp
@@ -124,9 +124,9 @@ LiteralParser::TokenType LiteralParser::Lexer::lex(LiteralParserToken& token)
return TokError;
}
-static inline bool isSafeStringCharacter(UChar c)
+template <LiteralParser::ParserMode mode> static inline bool isSafeStringCharacter(UChar c)
{
- return (c >= ' ' && c <= 0xff && c != '\\' && c != '"') || c == '\t';
+ return (c >= ' ' && (mode == LiteralParser::StrictJSON || c <= 0xff) && c != '\\' && c != '"') || c == '\t';
}
template <LiteralParser::ParserMode mode> LiteralParser::TokenType LiteralParser::Lexer::lexString(LiteralParserToken& token)
@@ -136,7 +136,7 @@ template <LiteralParser::ParserMode mode> LiteralParser::TokenType LiteralParser
token.stringToken = UString();
do {
runStart = m_ptr;
- while (m_ptr < m_end && isSafeStringCharacter(*m_ptr))
+ while (m_ptr < m_end && isSafeStringCharacter<mode>(*m_ptr))
++m_ptr;
if (runStart < m_ptr)
token.stringToken.append(runStart, m_ptr - runStart);
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h
index 3b7353d..167f2bc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Lookup.h
@@ -29,6 +29,13 @@
#include <stdio.h>
#include <wtf/Assertions.h>
+// Bug #26843: Work around Metrowerks compiler bug
+#if COMPILER(WINSCW)
+#define JSC_CONST_HASHTABLE
+#else
+#define JSC_CONST_HASHTABLE const
+#endif
+
namespace JSC {
// Hash table generated by the create_hash_table script.
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp
index 857a316..7dd4a8f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2001, 2004 Harri Porten (porten@kde.org)
* Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -110,7 +111,7 @@ void RegExp::compile(JSGlobalData* globalData)
#endif
}
-int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
+int RegExp::match(const UString& s, int startOffset, Vector<int, 32>* ovector)
{
if (startOffset < 0)
startOffset = 0;
@@ -126,16 +127,20 @@ int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
if (m_regExpBytecode) {
#endif
int offsetVectorSize = (m_numSubpatterns + 1) * 3; // FIXME: should be 2 - but adding temporary fallback to pcre.
- int* offsetVector = new int [offsetVectorSize];
+ int* offsetVector;
+ Vector<int, 32> nonReturnedOvector;
+ if (ovector) {
+ ovector->resize(offsetVectorSize);
+ offsetVector = ovector->data();
+ } else {
+ nonReturnedOvector.resize(offsetVectorSize);
+ offsetVector = nonReturnedOvector.data();
+ }
+
ASSERT(offsetVector);
for (int j = 0; j < offsetVectorSize; ++j)
offsetVector[j] = -1;
- OwnArrayPtr<int> nonReturnedOvector;
- if (!ovector)
- nonReturnedOvector.set(offsetVector);
- else
- ovector->set(offsetVector);
#if ENABLE(YARR_JIT)
int result = Yarr::executeRegex(m_regExpJITCode, s.data(), startOffset, s.size(), offsetVector, offsetVectorSize);
@@ -177,7 +182,7 @@ void RegExp::compile(JSGlobalData* globalData)
m_regExp = jsRegExpCompile(reinterpret_cast<const UChar*>(m_pattern.data()), m_pattern.size(), ignoreCaseOption, multilineOption, &m_numSubpatterns, &m_constructionError);
}
-int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
+int RegExp::match(const UString& s, int startOffset, Vector<int, 32>* ovector)
{
if (startOffset < 0)
startOffset = 0;
@@ -190,17 +195,19 @@ int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
#if ENABLE(WREC)
if (m_wrecFunction) {
int offsetVectorSize = (m_numSubpatterns + 1) * 2;
- int* offsetVector = new int [offsetVectorSize];
+ int* offsetVector;
+ Vector<int, 32> nonReturnedOvector;
+ if (ovector) {
+ ovector->resize(offsetVectorSize);
+ offsetVector = ovector->data();
+ } else {
+ nonReturnedOvector.resize(offsetVectorSize);
+ offsetVector = nonReturnedOvector.data();
+ }
ASSERT(offsetVector);
for (int j = 0; j < offsetVectorSize; ++j)
offsetVector[j] = -1;
- OwnArrayPtr<int> nonReturnedOvector;
- if (!ovector)
- nonReturnedOvector.set(offsetVector);
- else
- ovector->set(offsetVector);
-
int result = m_wrecFunction(s.data(), startOffset, s.size(), offsetVector);
if (result < 0) {
@@ -226,8 +233,8 @@ int RegExp::match(const UString& s, int startOffset, OwnArrayPtr<int>* ovector)
offsetVector = fixedSizeOffsetVector;
} else {
offsetVectorSize = (m_numSubpatterns + 1) * 3;
- offsetVector = new int [offsetVectorSize];
- ovector->set(offsetVector);
+ ovector->resize(offsetVectorSize);
+ offsetVector = ovector->data();
}
int numMatches = jsRegExpExecute(m_regExp, reinterpret_cast<const UChar*>(s.data()), s.size(), startOffset, offsetVector, offsetVectorSize);
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h
index f3be656..24d4199 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExp.h
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
* Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -53,7 +54,7 @@ namespace JSC {
bool isValid() const { return !m_constructionError; }
const char* errorMessage() const { return m_constructionError; }
- int match(const UString&, int startOffset, OwnArrayPtr<int>* ovector = 0);
+ int match(const UString&, int startOffset, Vector<int, 32>* ovector = 0);
unsigned numSubpatterns() const { return m_numSubpatterns; }
private:
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp
index bcd0d07..e468521 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/RegExpConstructor.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
* Copyright (C) 2003, 2007, 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -93,14 +94,21 @@ struct RegExpConstructorPrivate {
RegExpConstructorPrivate()
: lastNumSubPatterns(0)
, multiline(false)
+ , lastOvectorIndex(0)
{
}
+ const Vector<int, 32>& lastOvector() const { return ovector[lastOvectorIndex]; }
+ Vector<int, 32>& lastOvector() { return ovector[lastOvectorIndex]; }
+ Vector<int, 32>& tempOvector() { return ovector[lastOvectorIndex ? 0 : 1]; }
+ void changeLastOvector() { lastOvectorIndex = lastOvectorIndex ? 0 : 1; }
+
UString input;
UString lastInput;
- OwnArrayPtr<int> lastOvector;
- unsigned lastNumSubPatterns : 31;
+ Vector<int, 32> ovector[2];
+ unsigned lastNumSubPatterns : 30;
bool multiline : 1;
+ unsigned lastOvectorIndex : 1;
};
RegExpConstructor::RegExpConstructor(ExecState* exec, PassRefPtr<Structure> structure, RegExpPrototype* regExpPrototype)
@@ -121,20 +129,19 @@ RegExpConstructor::RegExpConstructor(ExecState* exec, PassRefPtr<Structure> stru
*/
void RegExpConstructor::performMatch(RegExp* r, const UString& s, int startOffset, int& position, int& length, int** ovector)
{
- OwnArrayPtr<int> tmpOvector;
- position = r->match(s, startOffset, &tmpOvector);
+ position = r->match(s, startOffset, &d->tempOvector());
if (ovector)
- *ovector = tmpOvector.get();
+ *ovector = d->tempOvector().data();
if (position != -1) {
- ASSERT(tmpOvector);
+ ASSERT(!d->tempOvector().isEmpty());
- length = tmpOvector[1] - tmpOvector[0];
+ length = d->tempOvector()[1] - d->tempOvector()[0];
d->input = s;
d->lastInput = s;
- d->lastOvector.set(tmpOvector.release());
+ d->changeLastOvector();
d->lastNumSubPatterns = r->numSubpatterns();
}
}
@@ -147,8 +154,8 @@ RegExpMatchesArray::RegExpMatchesArray(ExecState* exec, RegExpConstructorPrivate
d->lastInput = data->lastInput;
d->lastNumSubPatterns = data->lastNumSubPatterns;
unsigned offsetVectorSize = (data->lastNumSubPatterns + 1) * 2; // only copying the result part of the vector
- d->lastOvector.set(new int[offsetVectorSize]);
- memcpy(d->lastOvector.get(), data->lastOvector.get(), offsetVectorSize * sizeof(int));
+ d->lastOvector().resize(offsetVectorSize);
+ memcpy(d->lastOvector().data(), data->lastOvector().data(), offsetVectorSize * sizeof(int));
// d->multiline is not needed, and remains uninitialized
setLazyCreationData(d);
@@ -167,13 +174,13 @@ void RegExpMatchesArray::fillArrayInstance(ExecState* exec)
unsigned lastNumSubpatterns = d->lastNumSubPatterns;
for (unsigned i = 0; i <= lastNumSubpatterns; ++i) {
- int start = d->lastOvector[2 * i];
+ int start = d->lastOvector()[2 * i];
if (start >= 0)
- JSArray::put(exec, i, jsSubstring(exec, d->lastInput, start, d->lastOvector[2 * i + 1] - start));
+ JSArray::put(exec, i, jsSubstring(exec, d->lastInput, start, d->lastOvector()[2 * i + 1] - start));
}
PutPropertySlot slot;
- JSArray::put(exec, exec->propertyNames().index, jsNumber(exec, d->lastOvector[0]), slot);
+ JSArray::put(exec, exec->propertyNames().index, jsNumber(exec, d->lastOvector()[0]), slot);
JSArray::put(exec, exec->propertyNames().input, jsString(exec, d->input), slot);
delete d;
@@ -187,10 +194,10 @@ JSObject* RegExpConstructor::arrayOfMatches(ExecState* exec) const
JSValue RegExpConstructor::getBackref(ExecState* exec, unsigned i) const
{
- if (d->lastOvector && i <= d->lastNumSubPatterns) {
- int start = d->lastOvector[2 * i];
+ if (!d->lastOvector().isEmpty() && i <= d->lastNumSubPatterns) {
+ int start = d->lastOvector()[2 * i];
if (start >= 0)
- return jsSubstring(exec, d->lastInput, start, d->lastOvector[2 * i + 1] - start);
+ return jsSubstring(exec, d->lastInput, start, d->lastOvector()[2 * i + 1] - start);
}
return jsEmptyString(exec);
}
@@ -199,25 +206,25 @@ JSValue RegExpConstructor::getLastParen(ExecState* exec) const
{
unsigned i = d->lastNumSubPatterns;
if (i > 0) {
- ASSERT(d->lastOvector);
- int start = d->lastOvector[2 * i];
+ ASSERT(!d->lastOvector().isEmpty());
+ int start = d->lastOvector()[2 * i];
if (start >= 0)
- return jsSubstring(exec, d->lastInput, start, d->lastOvector[2 * i + 1] - start);
+ return jsSubstring(exec, d->lastInput, start, d->lastOvector()[2 * i + 1] - start);
}
return jsEmptyString(exec);
}
JSValue RegExpConstructor::getLeftContext(ExecState* exec) const
{
- if (d->lastOvector)
- return jsSubstring(exec, d->lastInput, 0, d->lastOvector[0]);
+ if (!d->lastOvector().isEmpty())
+ return jsSubstring(exec, d->lastInput, 0, d->lastOvector()[0]);
return jsEmptyString(exec);
}
JSValue RegExpConstructor::getRightContext(ExecState* exec) const
{
- if (d->lastOvector)
- return jsSubstring(exec, d->lastInput, d->lastOvector[1], d->lastInput.size() - d->lastOvector[1]);
+ if (!d->lastOvector().isEmpty())
+ return jsSubstring(exec, d->lastInput, d->lastOvector()[1], d->lastInput.size() - d->lastOvector()[1]);
return jsEmptyString(exec);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp
index 87b49f0..9d1f01a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.cpp
@@ -34,7 +34,7 @@
namespace JSC {
static const unsigned numCharactersToStore = 0x100;
-class SmallStringsStorage : Noncopyable {
+class SmallStringsStorage : public Noncopyable {
public:
SmallStringsStorage();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h
index e7f1170..f0dd8df 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/SmallStrings.h
@@ -36,7 +36,7 @@ namespace JSC {
class SmallStringsStorage;
- class SmallStrings : Noncopyable {
+ class SmallStrings : public Noncopyable {
public:
SmallStrings();
~SmallStrings();
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp
index d6939cb..ceb6b1e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/StringPrototype.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
* Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -575,7 +576,7 @@ JSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec, JSObject*, JSValue t
}
int pos = 0;
while (i != limit && pos < s.size()) {
- OwnArrayPtr<int> ovector;
+ Vector<int, 32> ovector;
int mpos = reg->match(s, pos, &ovector);
if (mpos < 0)
break;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp
index 098186e..819ed9a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -45,6 +46,10 @@
#include <crtdbg.h>
#endif
+#if PLATFORM(WINCE)
+#include <winbase.h>
+#endif
+
extern "C" {
WTF_ATTRIBUTE_PRINTF(1, 0)
@@ -66,7 +71,7 @@ static void vprintf_stderr_common(const char* format, va_list args)
CFRelease(str);
CFRelease(cfFormat);
} else
-#elif COMPILER(MSVC) && !PLATFORM(WINCE)
+#elif COMPILER(MSVC) && !defined(WINCEBASIC)
if (IsDebuggerPresent()) {
size_t size = 1024;
@@ -77,7 +82,20 @@ static void vprintf_stderr_common(const char* format, va_list args)
break;
if (_vsnprintf(buffer, size, format, args) != -1) {
+#if PLATFORM(WINCE)
+ // WinCE only supports wide chars
+ wchar_t* wideBuffer = (wchar_t*)malloc(size * sizeof(wchar_t));
+ if (wideBuffer == NULL)
+ break;
+ for (unsigned int i = 0; i < size; ++i) {
+ if (!(wideBuffer[i] = buffer[i]))
+ break;
+ }
+ OutputDebugStringW(wideBuffer);
+ free(wideBuffer);
+#else
OutputDebugStringA(buffer);
+#endif
free(buffer);
break;
}
@@ -101,7 +119,7 @@ static void printf_stderr_common(const char* format, ...)
static void printCallSite(const char* file, int line, const char* function)
{
-#if PLATFORM(WIN) && defined _DEBUG
+#if PLATFORM(WIN) && !PLATFORM(WINCE) && defined _DEBUG
_CrtDbgReport(_CRT_WARN, file, line, NULL, "%s\n", function);
#else
printf_stderr_common("(%s:%d %s)\n", file, line, function);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
index ad66d06..59efd84 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Assertions.h
@@ -136,8 +136,8 @@ void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChann
#undef ERROR
#endif
-#if PLATFORM(WIN_OS)
-/* FIXME: Change to use something other than ASSERT to avoid this conflict with win32. */
+#if PLATFORM(WIN_OS) || PLATFORM(SYMBIAN)
+/* FIXME: Change to use something other than ASSERT to avoid this conflict with the underlying platform */
#undef ASSERT
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h b/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h
index 33f0877..96e9cc2 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ByteArray.h
@@ -26,8 +26,8 @@
#ifndef ByteArray_h
#define ByteArray_h
-#include "wtf/PassRefPtr.h"
-#include "wtf/RefCounted.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
namespace WTF {
class ByteArray : public RefCountedBase {
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h b/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h
index 281dfa6..6a05211 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/CrossThreadRefCounted.h
@@ -51,7 +51,7 @@ namespace WTF {
// with respect to the original and any other copies. The underlying m_data is jointly
// owned by the original instance and all copies.
template<class T>
- class CrossThreadRefCounted : Noncopyable {
+ class CrossThreadRefCounted : public Noncopyable {
public:
static PassRefPtr<CrossThreadRefCounted<T> > create(T* data)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
index 47c9d44..0b76649 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.cpp
@@ -2,6 +2,7 @@
* Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
* Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
* Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
@@ -375,14 +376,19 @@ static int32_t calculateUTCOffset()
localt.tm_wday = 0;
localt.tm_yday = 0;
localt.tm_isdst = 0;
-#if PLATFORM(WIN_OS) || PLATFORM(SOLARIS) || COMPILER(RVCT)
+#if HAVE(TM_GMTOFF)
+ localt.tm_gmtoff = 0;
+#endif
+#if HAVE(TM_ZONE)
+ localt.tm_zone = 0;
+#endif
+
+#if HAVE(TIMEGM)
+ time_t utcOffset = timegm(&localt) - mktime(&localt);
+#else
// Using a canned date of 01/01/2009 on platforms with weaker date-handling foo.
localt.tm_year = 109;
time_t utcOffset = 1230768000 - mktime(&localt);
-#else
- localt.tm_zone = 0;
- localt.tm_gmtoff = 0;
- time_t utcOffset = timegm(&localt) - mktime(&localt);
#endif
return static_cast<int32_t>(utcOffset * 1000);
@@ -512,7 +518,7 @@ void msToGregorianDateTime(double ms, bool outputIsUTC, GregorianDateTime& tm)
tm.year = year - 1900;
tm.isDST = dstOff != 0.0;
- tm.utcOffset = static_cast<long>((dstOff + utcOff) / msPerSecond);
+ tm.utcOffset = outputIsUTC ? 0 : static_cast<long>((dstOff + utcOff) / msPerSecond);
tm.timeZone = NULL;
}
@@ -835,7 +841,7 @@ double parseDateFromNullTerminatedCharacters(const char* dateString)
return NaN;
int sgn = (o < 0) ? -1 : 1;
- o = abs(o);
+ o = labs(o);
if (*dateString != ':') {
offset = ((o / 100) * 60 + (o % 100)) * sgn;
} else { // GMT+05:00
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h
index 8690a49..6110f76 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/DateMath.h
@@ -109,14 +109,17 @@ struct GregorianDateTime : Noncopyable {
, year(inTm.tm_year)
, isDST(inTm.tm_isdst)
{
-#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !COMPILER(RVCT)
+#if HAVE(TM_GMTOFF)
utcOffset = static_cast<int>(inTm.tm_gmtoff);
+#else
+ utcOffset = static_cast<int>(getUTCOffset() / msPerSecond + (isDST ? secondsPerHour : 0));
+#endif
+#if HAVE(TM_ZONE)
int inZoneSize = strlen(inTm.tm_zone) + 1;
timeZone = new char[inZoneSize];
strncpy(timeZone, inTm.tm_zone, inZoneSize);
#else
- utcOffset = static_cast<int>(getUTCOffset() / msPerSecond + (isDST ? secondsPerHour : 0));
timeZone = 0;
#endif
}
@@ -136,8 +139,10 @@ struct GregorianDateTime : Noncopyable {
ret.tm_year = year;
ret.tm_isdst = isDST;
-#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !COMPILER(RVCT)
+#if HAVE(TM_GMTOFF)
ret.tm_gmtoff = static_cast<long>(utcOffset);
+#endif
+#if HAVE(TM_ZONE)
ret.tm_zone = timeZone;
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h b/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h
index 1c81856..9fcbbc1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastAllocBase.h
@@ -79,9 +79,9 @@
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include "Assertions.h"
#include "FastMalloc.h"
#include "TypeTraits.h"
-#include <wtf/Assertions.h>
namespace WTF {
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
index c65ba85..c855a41 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.cpp
@@ -95,8 +95,6 @@
#define FORCE_SYSTEM_MALLOC 1
#endif
-#define TCMALLOC_TRACK_DECOMMITED_SPANS (HAVE(VIRTUALALLOC) || HAVE(MADV_FREE_REUSE))
-
#ifndef NDEBUG
namespace WTF {
@@ -1043,11 +1041,7 @@ struct Span {
#endif
};
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
#define ASSERT_SPAN_COMMITTED(span) ASSERT(!span->decommitted)
-#else
-#define ASSERT_SPAN_COMMITTED(span)
-#endif
#ifdef SPAN_HISTORY
void Event(Span* span, char op, int v = 0) {
@@ -1369,12 +1363,10 @@ inline Span* TCMalloc_PageHeap::New(Length n) {
Span* result = ll->next;
Carve(result, n, released);
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
if (result->decommitted) {
TCMalloc_SystemCommit(reinterpret_cast<void*>(result->start << kPageShift), static_cast<size_t>(n << kPageShift));
result->decommitted = false;
}
-#endif
ASSERT(Check());
free_pages_ -= n;
return result;
@@ -1431,12 +1423,10 @@ Span* TCMalloc_PageHeap::AllocLarge(Length n) {
if (best != NULL) {
Carve(best, n, from_released);
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
if (best->decommitted) {
TCMalloc_SystemCommit(reinterpret_cast<void*>(best->start << kPageShift), static_cast<size_t>(n << kPageShift));
best->decommitted = false;
}
-#endif
ASSERT(Check());
free_pages_ -= n;
return best;
@@ -1461,14 +1451,10 @@ Span* TCMalloc_PageHeap::Split(Span* span, Length n) {
return leftover;
}
-#if !TCMALLOC_TRACK_DECOMMITED_SPANS
-static ALWAYS_INLINE void propagateDecommittedState(Span*, Span*) { }
-#else
static ALWAYS_INLINE void propagateDecommittedState(Span* destination, Span* source)
{
destination->decommitted = source->decommitted;
}
-#endif
inline void TCMalloc_PageHeap::Carve(Span* span, Length n, bool released) {
ASSERT(n > 0);
@@ -1495,9 +1481,6 @@ inline void TCMalloc_PageHeap::Carve(Span* span, Length n, bool released) {
}
}
-#if !TCMALLOC_TRACK_DECOMMITED_SPANS
-static ALWAYS_INLINE void mergeDecommittedStates(Span*, Span*) { }
-#else
static ALWAYS_INLINE void mergeDecommittedStates(Span* destination, Span* other)
{
if (destination->decommitted && !other->decommitted) {
@@ -1509,7 +1492,6 @@ static ALWAYS_INLINE void mergeDecommittedStates(Span* destination, Span* other)
destination->decommitted = true;
}
}
-#endif
inline void TCMalloc_PageHeap::Delete(Span* span) {
ASSERT(Check());
@@ -1526,10 +1508,6 @@ inline void TCMalloc_PageHeap::Delete(Span* span) {
// necessary. We do not bother resetting the stale pagemap
// entries for the pieces we are merging together because we only
// care about the pagemap entries for the boundaries.
- //
- // Note that the spans we merge into "span" may come out of
- // a "returned" list. For simplicity, we move these into the
- // "normal" list of the appropriate size class.
const PageID p = span->start;
const Length n = span->length;
Span* prev = GetDescriptor(p-1);
@@ -1560,10 +1538,16 @@ inline void TCMalloc_PageHeap::Delete(Span* span) {
Event(span, 'D', span->length);
span->free = 1;
- if (span->length < kMaxPages) {
- DLL_Prepend(&free_[span->length].normal, span);
+ if (span->decommitted) {
+ if (span->length < kMaxPages)
+ DLL_Prepend(&free_[span->length].returned, span);
+ else
+ DLL_Prepend(&large_.returned, span);
} else {
- DLL_Prepend(&large_.normal, span);
+ if (span->length < kMaxPages)
+ DLL_Prepend(&free_[span->length].normal, span);
+ else
+ DLL_Prepend(&large_.normal, span);
}
free_pages_ += n;
@@ -1591,9 +1575,7 @@ void TCMalloc_PageHeap::IncrementalScavenge(Length n) {
DLL_Remove(s);
TCMalloc_SystemRelease(reinterpret_cast<void*>(s->start << kPageShift),
static_cast<size_t>(s->length << kPageShift));
-#if TCMALLOC_TRACK_DECOMMITED_SPANS
s->decommitted = true;
-#endif
DLL_Prepend(&slist->returned, s);
scavenge_counter_ = std::max<size_t>(64UL, std::min<size_t>(kDefaultReleaseDelay, kDefaultReleaseDelay - (free_pages_ / kDefaultReleaseDelay)));
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
index 9e13cf9..61ebe32 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/FastMalloc.h
@@ -179,6 +179,13 @@ WTF_PRIVATE_INLINE void* operator new(size_t s) { return fastMalloc(s); }
WTF_PRIVATE_INLINE void operator delete(void* p) { fastFree(p); }
WTF_PRIVATE_INLINE void* operator new[](size_t s) { return fastMalloc(s); }
WTF_PRIVATE_INLINE void operator delete[](void* p) { fastFree(p); }
+
+#if PLATFORM(WINCE)
+WTF_PRIVATE_INLINE void* operator new(size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+WTF_PRIVATE_INLINE void operator delete(void* p, const std::nothrow_t&) throw() { fastFree(p); }
+WTF_PRIVATE_INLINE void* operator new[](size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+WTF_PRIVATE_INLINE void operator delete[](void* p, const std::nothrow_t&) throw() { fastFree(p); }
+#endif
#endif
#endif // _CRTDBG_MAP_ALLOC
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h
index 8d03ff2..4993348 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/GOwnPtr.h
@@ -37,7 +37,7 @@ namespace WTF {
template<> void freeOwnedGPtr<GDir>(GDir*);
template<> void freeOwnedGPtr<GHashTable>(GHashTable*);
- template <typename T> class GOwnPtr : Noncopyable {
+ template <typename T> class GOwnPtr : public Noncopyable {
public:
explicit GOwnPtr(T* ptr = 0) : m_ptr(ptr) { }
~GOwnPtr() { freeOwnedGPtr(m_ptr); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
index d664c67..990670d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
@@ -176,28 +176,28 @@ namespace WTF {
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
typename HashSet<Value, HashFunctions, Traits>::iterator
inline HashSet<Value, HashFunctions, Traits>::find(const T& value)
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template find<T, Adapter>(value);
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
typename HashSet<Value, HashFunctions, Traits>::const_iterator
inline HashSet<Value, HashFunctions, Traits>::find(const T& value) const
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template find<T, Adapter>(value);
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
inline bool HashSet<Value, HashFunctions, Traits>::contains(const T& value) const
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template contains<T, Adapter>(value);
}
@@ -208,11 +208,11 @@ namespace WTF {
}
template<typename Value, typename HashFunctions, typename Traits>
- template<typename T, typename Translator>
+ template<typename T, typename HashTranslator>
pair<typename HashSet<Value, HashFunctions, Traits>::iterator, bool>
HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
- typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, Translator> Adapter;
+ typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
return m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h
index 9feec1f..41813d3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Locker.h
@@ -32,7 +32,7 @@
namespace WTF {
-template <typename T> class Locker : Noncopyable {
+template <typename T> class Locker : public Noncopyable {
public:
Locker(T& lockable) : m_lockable(lockable) { m_lockable.lock(); }
~Locker() { m_lockable.unlock(); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
index 7721dba..12291cc 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
@@ -45,7 +45,7 @@ namespace WTF {
};
template<typename DataType>
- class MessageQueue : Noncopyable {
+ class MessageQueue : public Noncopyable {
public:
MessageQueue() : m_killed(false) { }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h
index f241c7c..c50c9d8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Noncopyable.h
@@ -24,6 +24,8 @@
// We don't want argument-dependent lookup to pull in everything from the WTF
// namespace when you use Noncopyable, so put it in its own namespace.
+#include "FastAllocBase.h"
+
namespace WTFNoncopyable {
class Noncopyable {
@@ -34,8 +36,17 @@ namespace WTFNoncopyable {
~Noncopyable() { }
};
+ class NoncopyableCustomAllocated {
+ NoncopyableCustomAllocated(const NoncopyableCustomAllocated&);
+ NoncopyableCustomAllocated& operator=(const NoncopyableCustomAllocated&);
+ protected:
+ NoncopyableCustomAllocated() { }
+ ~NoncopyableCustomAllocated() { }
+ };
+
} // namespace WTFNoncopyable
using WTFNoncopyable::Noncopyable;
+using WTFNoncopyable::NoncopyableCustomAllocated;
#endif // WTF_Noncopyable_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h
index 344f813..61375c7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnArrayPtr.h
@@ -27,7 +27,7 @@
namespace WTF {
- template <typename T> class OwnArrayPtr : Noncopyable {
+ template <typename T> class OwnArrayPtr : public Noncopyable {
public:
explicit OwnArrayPtr(T* ptr = 0) : m_ptr(ptr) { }
~OwnArrayPtr() { safeDelete(); }
@@ -46,8 +46,12 @@ namespace WTF {
bool operator!() const { return !m_ptr; }
// This conversion operator allows implicit conversion to bool but not to other integer types.
+#if COMPILER(WINSCW)
+ operator bool() const { return m_ptr; }
+#else
typedef T* OwnArrayPtr::*UnspecifiedBoolType;
operator UnspecifiedBoolType() const { return m_ptr ? &OwnArrayPtr::m_ptr : 0; }
+#endif
void swap(OwnArrayPtr& o) { std::swap(m_ptr, o.m_ptr); }
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h
index 5c0d064..c88235a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnFastMallocPtr.h
@@ -27,7 +27,7 @@
namespace WTF {
- template<class T> class OwnFastMallocPtr : Noncopyable {
+ template<class T> class OwnFastMallocPtr : public Noncopyable {
public:
explicit OwnFastMallocPtr(T* ptr) : m_ptr(ptr)
{
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h
index 9e4bd32..b7e62b1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtr.h
@@ -34,7 +34,7 @@ namespace WTF {
template <typename T> class PassOwnPtr;
- template <typename T> class OwnPtr : Noncopyable {
+ template <typename T> class OwnPtr : public Noncopyable {
public:
typedef typename RemovePointer<T>::Type ValueType;
typedef ValueType* PtrType;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h
index 6cd8bdd..6d91a54 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrCommon.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -29,6 +30,7 @@
#if PLATFORM(WIN)
typedef struct HBITMAP__* HBITMAP;
typedef struct HBRUSH__* HBRUSH;
+typedef struct HDC__* HDC;
typedef struct HFONT__* HFONT;
typedef struct HPALETTE__* HPALETTE;
typedef struct HPEN__* HPEN;
@@ -47,6 +49,7 @@ namespace WTF {
#if PLATFORM(WIN)
void deleteOwnedPtr(HBITMAP);
void deleteOwnedPtr(HBRUSH);
+ void deleteOwnedPtr(HDC);
void deleteOwnedPtr(HFONT);
void deleteOwnedPtr(HPALETTE);
void deleteOwnedPtr(HPEN);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp
index b08d7dc..67a32ff 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/OwnPtrWin.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008, 2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -42,6 +43,12 @@ void deleteOwnedPtr(HBRUSH ptr)
DeleteObject(ptr);
}
+void deleteOwnedPtr(HDC ptr)
+{
+ if (ptr)
+ DeleteDC(ptr);
+}
+
void deleteOwnedPtr(HFONT ptr)
{
if (ptr)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index c82d1f7..c7a5be9 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -27,11 +28,11 @@
#define WTF_Platform_h
/* PLATFORM handles OS, operating environment, graphics API, and CPU */
-#define PLATFORM(WTF_FEATURE) (defined( WTF_PLATFORM_##WTF_FEATURE ) && WTF_PLATFORM_##WTF_FEATURE)
-#define COMPILER(WTF_FEATURE) (defined( WTF_COMPILER_##WTF_FEATURE ) && WTF_COMPILER_##WTF_FEATURE)
-#define HAVE(WTF_FEATURE) (defined( HAVE_##WTF_FEATURE ) && HAVE_##WTF_FEATURE)
-#define USE(WTF_FEATURE) (defined( WTF_USE_##WTF_FEATURE ) && WTF_USE_##WTF_FEATURE)
-#define ENABLE(WTF_FEATURE) (defined( ENABLE_##WTF_FEATURE ) && ENABLE_##WTF_FEATURE)
+#define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE && WTF_PLATFORM_##WTF_FEATURE)
+#define COMPILER(WTF_FEATURE) (defined WTF_COMPILER_##WTF_FEATURE && WTF_COMPILER_##WTF_FEATURE)
+#define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)
+#define USE(WTF_FEATURE) (defined WTF_USE_##WTF_FEATURE && WTF_USE_##WTF_FEATURE)
+#define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATURE)
/* Operating systems - low-level dependencies */
@@ -93,12 +94,10 @@
#define WTF_PLATFORM_SOLARIS 1
#endif
-#if defined (__S60__) || defined (__SYMBIAN32__)
+#if defined (__SYMBIAN32__)
/* we are cross-compiling, it is not really windows */
#undef WTF_PLATFORM_WIN_OS
#undef WTF_PLATFORM_WIN
-#undef WTF_PLATFORM_CAIRO
-#define WTF_PLATFORM_S60 1
#define WTF_PLATFORM_SYMBIAN 1
#endif
@@ -110,17 +109,25 @@
#define WTF_PLATFORM_NETBSD 1
#endif
+/* PLATFORM(QNX) */
+/* Operating system level dependencies for QNX that should be used */
+/* regardless of operating environment */
+#if defined(__QNXNTO__)
+#define WTF_PLATFORM_QNX 1
+#endif
+
/* PLATFORM(UNIX) */
/* Operating system level dependencies for Unix-like systems that */
/* should be used regardless of operating environment */
#if PLATFORM(DARWIN) \
|| PLATFORM(FREEBSD) \
- || PLATFORM(S60) \
+ || PLATFORM(SYMBIAN) \
|| PLATFORM(NETBSD) \
|| defined(unix) \
|| defined(__unix) \
|| defined(__unix__) \
- || defined(_AIX)
+ || defined(_AIX) \
+ || defined(__QNXNTO__)
#define WTF_PLATFORM_UNIX 1
#endif
@@ -191,7 +198,7 @@
/* Makes PLATFORM(WIN) default to PLATFORM(CAIRO) */
/* FIXME: This should be changed from a blacklist to a whitelist */
-#if !PLATFORM(MAC) && !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM)
+#if !PLATFORM(MAC) && !PLATFORM(QT) && !PLATFORM(WX) && !PLATFORM(CHROMIUM) && !PLATFORM(WINCE)
#define WTF_PLATFORM_CAIRO 1
#endif
@@ -311,6 +318,7 @@
/* --gnu option of the RVCT compiler also defines __GNUC__ */
#if defined(__GNUC__) && !COMPILER(RVCT)
#define WTF_COMPILER_GCC 1
+#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
/* COMPILER(MINGW) */
@@ -339,11 +347,36 @@
#define ENABLE_JSC_MULTIPLE_THREADS 1
#endif
+#if PLATFORM(WINCE) && !PLATFORM(QT)
+#undef ENABLE_JSC_MULTIPLE_THREADS
+#define ENABLE_JSC_MULTIPLE_THREADS 0
+#define USE_SYSTEM_MALLOC 0
+#define ENABLE_ICONDATABASE 0
+#define ENABLE_JAVASCRIPT_DEBUGGER 0
+#define ENABLE_FTPDIR 0
+#define ENABLE_PAN_SCROLLING 0
+#define ENABLE_WML 1
+#define HAVE_ACCESSIBILITY 0
+
+#define NOMINMAX // Windows min and max conflict with standard macros
+#define NOSHLWAPI // shlwapi.h not available on WinCe
+
+// MSDN documentation says these functions are provided with uspce.lib. But we cannot find this file.
+#define __usp10__ // disable "usp10.h"
+
+#define _INC_ASSERT // disable "assert.h"
+#define assert(x)
+
+// _countof is only included in CE6; for CE5 we need to define it ourself
+#ifndef _countof
+#define _countof(x) (sizeof(x) / sizeof((x)[0]))
+#endif
+
+#endif /* PLATFORM(WINCE) && !PLATFORM(QT) */
+
/* for Unicode, KDE uses Qt */
#if PLATFORM(KDE) || PLATFORM(QT)
#define WTF_USE_QT4_UNICODE 1
-#elif PLATFORM(SYMBIAN)
-#define WTF_USE_SYMBIAN_UNICODE 1
#elif PLATFORM(GTK)
/* The GTK+ Unicode backend is configurable */
#else
@@ -402,6 +435,17 @@
#endif
#endif /* !defined(HAVE_ACCESSIBILITY) */
+#if PLATFORM(UNIX) && !PLATFORM(SYMBIAN)
+#define HAVE_SIGNAL_H 1
+#endif
+
+#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !PLATFORM(QNX) \
+ && !PLATFORM(SYMBIAN) && !COMPILER(RVCT)
+#define HAVE_TM_GMTOFF 1
+#define HAVE_TM_ZONE 1
+#define HAVE_TIMEGM 1
+#endif
+
#if PLATFORM(DARWIN)
#define HAVE_ERRNO_H 1
@@ -446,6 +490,15 @@
#define HAVE_SYS_PARAM_H 1
#endif
+#elif PLATFORM(QNX)
+
+#define HAVE_ERRNO_H 1
+#define HAVE_MMAP 1
+#define HAVE_SBRK 1
+#define HAVE_STRINGS_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_TIME_H 1
+
#else
/* FIXME: is this actually used or do other platforms generate their own config.h? */
@@ -532,6 +585,7 @@
#endif
#if !defined(ENABLE_JIT)
+
/* The JIT is tested & working on x86_64 Mac */
#if PLATFORM(X86_64) && PLATFORM(MAC)
#define ENABLE_JIT 1
@@ -547,8 +601,23 @@
#elif PLATFORM(X86) && PLATFORM(WIN)
#define ENABLE_JIT 1
#endif
+
+#if PLATFORM(X86) && PLATFORM(QT)
+#if PLATFORM(WIN_OS) && COMPILER(MINGW) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
+#elif PLATFORM(WIN_OS) && COMPILER(MSVC)
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_REGISTER 1
+#elif PLATFORM(LINUX) && GCC_VERSION >= 40100
+ #define ENABLE_JIT 1
+ #define WTF_USE_JIT_STUB_ARGUMENT_VA_LIST 1
#endif
+#endif /* PLATFORM(QT) && PLATFORM(X86) */
+
+#endif /* !defined(ENABLE_JIT) */
+#if ENABLE(JIT)
#ifndef ENABLE_JIT_OPTIMIZE_CALL
#define ENABLE_JIT_OPTIMIZE_CALL 1
#endif
@@ -564,6 +633,7 @@
#ifndef ENABLE_JIT_OPTIMIZE_METHOD_CALLS
#define ENABLE_JIT_OPTIMIZE_METHOD_CALLS 1
#endif
+#endif
#if PLATFORM(X86) && COMPILER(MSVC)
#define JSC_HOST_CALL __fastcall
@@ -584,15 +654,29 @@
#endif
/* Yet Another Regex Runtime. */
+#if !defined(ENABLE_YARR_JIT)
+
/* YARR supports x86 & x86-64, and has been tested on Mac and Windows. */
-#if (!defined(ENABLE_YARR_JIT) && PLATFORM(X86) && PLATFORM(MAC)) \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(X86_64) && PLATFORM(MAC)) \
+#if (PLATFORM(X86) && PLATFORM(MAC)) \
+ || (PLATFORM(X86_64) && PLATFORM(MAC)) \
/* Under development, temporarily disabled until 16Mb link range limit in assembler is fixed. */ \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE) && 0) \
- || (!defined(ENABLE_YARR_JIT) && PLATFORM(X86) && PLATFORM(WIN))
+ || (PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE) && 0) \
+ || (PLATFORM(X86) && PLATFORM(WIN))
#define ENABLE_YARR 1
#define ENABLE_YARR_JIT 1
#endif
+
+#if PLATFORM(X86) && PLATFORM(QT)
+#if (PLATFORM(WIN_OS) && COMPILER(MINGW) && GCC_VERSION >= 40100) \
+ || (PLATFORM(WIN_OS) && COMPILER(MSVC)) \
+ || (PLATFORM(LINUX) && GCC_VERSION >= 40100)
+#define ENABLE_YARR 1
+#define ENABLE_YARR_JIT 1
+#endif
+#endif
+
+#endif /* !defined(ENABLE_YARR_JIT) */
+
/* Sanity Check */
#if ENABLE(YARR_JIT) && !ENABLE(YARR)
#error "YARR_JIT requires YARR"
@@ -603,7 +687,7 @@
#endif
/* Setting this flag prevents the assembler from using RWX memory; this may improve
security but currectly comes at a significant performance cost. */
-#if PLATFORM_ARM_ARCH(7) && PLATFORM(IPHONE)
+#if PLATFORM(ARM)
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 1
#else
#define ENABLE_ASSEMBLER_WX_EXCLUSIVE 0
@@ -630,7 +714,7 @@
/* Accelerated compositing */
#if PLATFORM(MAC)
-#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+#if !defined(BUILDING_ON_TIGER)
#define WTF_USE_ACCELERATED_COMPOSITING 1
#endif
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h b/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h
index 477e893..f4527df 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/PtrAndFlags.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Google Inc. All rights reserved.
+ * Copyright (C) 2009 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -42,9 +42,20 @@ namespace WTF {
void setFlag(FlagEnum flagNumber) { ASSERT(flagNumber < 2); m_ptrAndFlags |= (1 << flagNumber);}
void clearFlag(FlagEnum flagNumber) { ASSERT(flagNumber < 2); m_ptrAndFlags &= ~(1 << flagNumber);}
T* get() const { return reinterpret_cast<T*>(m_ptrAndFlags & ~3); }
- void set(T* ptr) { ASSERT(!(reinterpret_cast<intptr_t>(ptr) & 3)); m_ptrAndFlags = reinterpret_cast<intptr_t>(ptr) | (m_ptrAndFlags & 3);}
+ void set(T* ptr)
+ {
+ ASSERT(!(reinterpret_cast<intptr_t>(ptr) & 3));
+ m_ptrAndFlags = reinterpret_cast<intptr_t>(ptr) | (m_ptrAndFlags & 3);
+#ifndef NDEBUG
+ m_leaksPtr = ptr;
+#endif
+ }
+
private:
intptr_t m_ptrAndFlags;
+#ifndef NDEBUG
+ void* m_leaksPtr; // Only used to allow tools like leaks on OSX to detect that the memory is referenced.
+#endif
};
} // namespace WTF
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp
index c94d5a4..0e6e208 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumber.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
- * (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
+ * (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,6 +34,12 @@
#include <stdint.h>
#include <stdlib.h>
+#if PLATFORM(WINCE)
+extern "C" {
+#include "wince/mt19937ar.c"
+}
+#endif
+
namespace WTF {
double weakRandomNumber()
@@ -74,6 +80,8 @@ double randomNumber()
// Mask off the low 53bits
fullRandom &= (1LL << 53) - 1;
return static_cast<double>(fullRandom)/static_cast<double>(1LL << 53);
+#elif PLATFORM(WINCE)
+ return genrand_res53();
#else
uint32_t part1 = rand() & (RAND_MAX - 1);
uint32_t part2 = rand() & (RAND_MAX - 1);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h
index 32291dd..1c2d364 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RandomNumberSeed.h
@@ -39,6 +39,9 @@
#endif
#if PLATFORM(WINCE)
+extern "C" {
+void init_by_array(unsigned long init_key[],int key_length);
+}
#include <ce_time.h>
#endif
@@ -49,8 +52,19 @@ inline void initializeRandomNumberGenerator()
{
#if PLATFORM(DARWIN)
// On Darwin we use arc4random which initialises itself.
+#elif PLATFORM(WINCE)
+ // initialize rand()
+ srand(static_cast<unsigned>(time(0)));
+
+ // use rand() to initialize the real RNG
+ unsigned long initializationBuffer[4];
+ initializationBuffer[0] = (rand() << 16) | rand();
+ initializationBuffer[1] = (rand() << 16) | rand();
+ initializationBuffer[2] = (rand() << 16) | rand();
+ initializationBuffer[3] = (rand() << 16) | rand();
+ init_by_array(initializationBuffer, 4);
#elif COMPILER(MSVC) && defined(_CRT_RAND_S)
- // On Windows we use rand_s which intialises itself
+ // On Windows we use rand_s which initialises itself
#elif PLATFORM(UNIX)
// srandomdev is not guaranteed to exist on linux so we use this poor seed, this should be improved
timeval time;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h
index c174145..761a856 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RefCounted.h
@@ -29,7 +29,7 @@ namespace WTF {
// This base class holds the non-template methods and attributes.
// The RefCounted class inherits from it reducing the template bloat
// generated by the compiler (technique called template hoisting).
-class RefCountedBase : Noncopyable {
+class RefCountedBase {
public:
void ref()
{
@@ -101,7 +101,7 @@ private:
};
-template<class T> class RefCounted : public RefCountedBase {
+template<class T> class RefCounted : public RefCountedBase, public Noncopyable {
public:
void deref()
{
@@ -115,8 +115,23 @@ protected:
}
};
+template<class T> class RefCountedCustomAllocated : public RefCountedBase, public NoncopyableCustomAllocated {
+public:
+ void deref()
+ {
+ if (derefBase())
+ delete static_cast<T*>(this);
+ }
+
+protected:
+ ~RefCountedCustomAllocated()
+ {
+ }
+};
+
} // namespace WTF
using WTF::RefCounted;
+using WTF::RefCountedCustomAllocated;
#endif // RefCounted_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h
index b07a9a2..4d5d2f7 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadSpecific.h
@@ -59,7 +59,7 @@ namespace WTF {
void ThreadSpecificThreadExit();
#endif
-template<typename T> class ThreadSpecific : Noncopyable {
+template<typename T> class ThreadSpecific : public Noncopyable {
public:
ThreadSpecific();
T* operator->();
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
index bd25ee7..56bf438 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.cpp
@@ -30,7 +30,7 @@
namespace WTF {
-struct NewThreadContext {
+struct NewThreadContext : FastAllocBase {
NewThreadContext(ThreadFunction entryPoint, void* data, const char* name)
: entryPoint(entryPoint)
, data(data)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
index b12f41f..6578151 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h
@@ -159,7 +159,7 @@ typedef void* PlatformReadWriteLock;
typedef void* PlatformCondition;
#endif
-class Mutex : Noncopyable {
+class Mutex : public Noncopyable {
public:
Mutex();
~Mutex();
@@ -176,7 +176,7 @@ private:
typedef Locker<Mutex> MutexLocker;
-class ReadWriteLock : Noncopyable {
+class ReadWriteLock : public Noncopyable {
public:
ReadWriteLock();
~ReadWriteLock();
@@ -193,7 +193,7 @@ private:
PlatformReadWriteLock m_readWriteLock;
};
-class ThreadCondition : Noncopyable {
+class ThreadCondition : public Noncopyable {
public:
ThreadCondition();
~ThreadCondition();
@@ -234,7 +234,7 @@ inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_
#endif
-class ThreadSafeSharedBase : Noncopyable {
+class ThreadSafeSharedBase : public Noncopyable {
public:
ThreadSafeSharedBase(int initialRefCount = 1)
: m_refCount(initialRefCount)
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp
index ea18656..cccbda1 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/ThreadingWin.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -89,7 +90,14 @@
#if !USE(PTHREADS) && PLATFORM(WIN_OS)
#include "ThreadSpecific.h"
#endif
+#if !PLATFORM(WINCE)
#include <process.h>
+#endif
+#if HAVE(ERRNO_H)
+#include <errno.h>
+#else
+#define NO_ERRNO
+#endif
#include <windows.h>
#include <wtf/CurrentTime.h>
#include <wtf/HashMap.h>
@@ -210,9 +218,21 @@ ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, con
unsigned threadIdentifier = 0;
ThreadIdentifier threadID = 0;
ThreadFunctionInvocation* invocation = new ThreadFunctionInvocation(entryPoint, data);
+#if PLATFORM(WINCE)
+ // This is safe on WINCE, since CRT is in the core and innately multithreaded.
+ // On desktop Windows, need to use _beginthreadex (not available on WinCE) if using any CRT functions
+ HANDLE threadHandle = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)wtfThreadEntryPoint, invocation, 0, (LPDWORD)&threadIdentifier);
+#else
HANDLE threadHandle = reinterpret_cast<HANDLE>(_beginthreadex(0, 0, wtfThreadEntryPoint, invocation, 0, &threadIdentifier));
+#endif
if (!threadHandle) {
+#if PLATFORM(WINCE)
+ LOG_ERROR("Failed to create thread at entry point %p with data %p: %ld", entryPoint, data, ::GetLastError());
+#elif defined(NO_ERRNO)
+ LOG_ERROR("Failed to create thread at entry point %p with data %p.", entryPoint, data);
+#else
LOG_ERROR("Failed to create thread at entry point %p with data %p: %ld", entryPoint, data, errno);
+#endif
return 0;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
index c378fd0..7cba4e4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
@@ -268,7 +268,7 @@ namespace WTF {
};
template<typename T>
- class VectorBufferBase : Noncopyable {
+ class VectorBufferBase : public Noncopyable {
public:
void allocateBuffer(size_t newCapacity)
{
@@ -934,7 +934,7 @@ namespace WTF {
inline void Vector<T, inlineCapacity>::remove(size_t position, size_t length)
{
ASSERT(position < size());
- ASSERT(position + length < size());
+ ASSERT(position + length <= size());
T* beginSpot = begin() + position;
T* endSpot = beginSpot + length;
TypeOperations::destruct(beginSpot, endSpot);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp
index 9509388..d75c17a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp
@@ -148,6 +148,7 @@
#include <wtf/AlwaysInline.h>
#include <wtf/Assertions.h>
#include <wtf/FastMalloc.h>
+#include <wtf/Vector.h>
#include <wtf/Threading.h>
#include <stdio.h>
@@ -255,6 +256,8 @@ typedef union { double d; uint32_t L[2]; } U;
#define Big0 (Frac_mask1 | Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
#define Big1 0xffffffff
+
+// FIXME: we should remove non-Pack_32 mode since it is unused and unmaintained
#ifndef Pack_32
#define Pack_32
#endif
@@ -278,25 +281,41 @@ typedef union { double d; uint32_t L[2]; } U;
#define Kmax 15
struct BigInt {
- BigInt() : sign(0), wds(0) { }
- BigInt(const BigInt& other) : sign(other.sign), wds(other.wds)
+ BigInt() : sign(0) { }
+ int sign;
+
+ void clear()
+ {
+ sign = 0;
+ m_words.clear();
+ }
+
+ size_t size() const
+ {
+ return m_words.size();
+ }
+
+ void resize(size_t s)
{
- for (int i = 0; i < 64; ++i)
- x[i] = other.x[i];
+ m_words.resize(s);
+ }
+
+ uint32_t* words()
+ {
+ return m_words.data();
}
- BigInt& operator=(const BigInt& other)
+ const uint32_t* words() const
{
- sign = other.sign;
- wds = other.wds;
- for (int i = 0; i < 64; ++i)
- x[i] = other.x[i];
- return *this;
+ return m_words.data();
}
- int sign;
- int wds;
- uint32_t x[64];
+ void append(uint32_t w)
+ {
+ m_words.append(w);
+ }
+
+ Vector<uint32_t, 16> m_words;
};
static void multadd(BigInt& b, int m, int a) /* multiply by m and add a */
@@ -307,8 +326,8 @@ static void multadd(BigInt& b, int m, int a) /* multiply by m and add a */
uint32_t carry;
#endif
- int wds = b.wds;
- uint32_t* x = b.x;
+ int wds = b.size();
+ uint32_t* x = b.words();
int i = 0;
carry = a;
do {
@@ -331,10 +350,8 @@ static void multadd(BigInt& b, int m, int a) /* multiply by m and add a */
#endif
} while (++i < wds);
- if (carry) {
- b.x[wds++] = (uint32_t)carry;
- b.wds = wds;
- }
+ if (carry)
+ b.append((uint32_t)carry);
}
static void s2b(BigInt& b, const char* s, int nd0, int nd, uint32_t y9)
@@ -346,12 +363,12 @@ static void s2b(BigInt& b, const char* s, int nd0, int nd, uint32_t y9)
for (k = 0, y = 1; x > y; y <<= 1, k++) { }
#ifdef Pack_32
b.sign = 0;
- b.x[0] = y9;
- b.wds = 1;
+ b.resize(1);
+ b.words()[0] = y9;
#else
b.sign = 0;
- b.x[0] = y9 & 0xffff;
- b.wds = (b->x[1] = y9 >> 16) ? 2 : 1;
+ b.resize((b->x[1] = y9 >> 16) ? 2 : 1);
+ b.words()[0] = y9 & 0xffff;
#endif
int i = 9;
@@ -440,8 +457,8 @@ static int lo0bits (uint32_t* y)
static void i2b(BigInt& b, int i)
{
b.sign = 0;
- b.x[0] = i;
- b.wds = 1;
+ b.resize(1);
+ b.words()[0] = i;
}
static void mult(BigInt& aRef, const BigInt& bRef)
@@ -459,23 +476,24 @@ static void mult(BigInt& aRef, const BigInt& bRef)
uint32_t carry, z;
#endif
- if (a->wds < b->wds) {
+ if (a->size() < b->size()) {
const BigInt* tmp = a;
a = b;
b = tmp;
}
- wa = a->wds;
- wb = b->wds;
+ wa = a->size();
+ wb = b->size();
wc = wa + wb;
+ c.resize(wc);
- for (xc = c.x, xa = xc + wc; xc < xa; xc++)
+ for (xc = c.words(), xa = xc + wc; xc < xa; xc++)
*xc = 0;
- xa = a->x;
+ xa = a->words();
xae = xa + wa;
- xb = b->x;
+ xb = b->words();
xbe = xb + wb;
- xc0 = c.x;
+ xc0 = c.words();
#ifdef USE_LONG_LONG
for (; xb < xbe; xc0++) {
if ((y = *xb++)) {
@@ -537,8 +555,8 @@ static void mult(BigInt& aRef, const BigInt& bRef)
}
#endif
#endif
- for (xc0 = c.x, xc = xc0 + wc; wc > 0 && !*--xc; --wc) { }
- c.wds = wc;
+ for (xc0 = c.words(), xc = xc0 + wc; wc > 0 && !*--xc; --wc) { }
+ c.resize(wc);
aRef = c;
}
@@ -617,14 +635,20 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
int n = k >> 4;
#endif
- int n1 = n + b.wds + 1;
+ int origSize = b.size();
+ int n1 = n + origSize + 1;
+
+ if (k &= 0x1f)
+ b.resize(b.size() + n + 1);
+ else
+ b.resize(b.size() + n);
- const uint32_t* srcStart = b.x;
- uint32_t* dstStart = b.x;
- const uint32_t* src = srcStart + b.wds - 1;
+ const uint32_t* srcStart = b.words();
+ uint32_t* dstStart = b.words();
+ const uint32_t* src = srcStart + origSize - 1;
uint32_t* dst = dstStart + n1 - 1;
#ifdef Pack_32
- if (k &= 0x1f) {
+ if (k) {
uint32_t hiSubword = 0;
int s = 32 - k;
for (; src >= srcStart; --src) {
@@ -633,7 +657,8 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
}
*dst = hiSubword;
ASSERT(dst == dstStart + n);
- b.wds = b.wds + n + (b.x[n1 - 1] != 0);
+
+ b.resize(origSize + n + (b.words()[n1 - 1] != 0));
}
#else
if (k &= 0xf) {
@@ -652,10 +677,11 @@ static ALWAYS_INLINE void lshift(BigInt& b, int k)
do {
*--dst = *src--;
} while (src >= srcStart);
- b.wds = b.wds + n;
}
for (dst = dstStart + n; dst != dstStart; )
*--dst = 0;
+
+ ASSERT(b.size() <= 1 || b.words()[b.size() - 1]);
}
static int cmp(const BigInt& a, const BigInt& b)
@@ -663,15 +689,15 @@ static int cmp(const BigInt& a, const BigInt& b)
const uint32_t *xa, *xa0, *xb, *xb0;
int i, j;
- i = a.wds;
- j = b.wds;
- ASSERT(i <= 1 || a.x[i - 1]);
- ASSERT(j <= 1 || b.x[j - 1]);
+ i = a.size();
+ j = b.size();
+ ASSERT(i <= 1 || a.words()[i - 1]);
+ ASSERT(j <= 1 || b.words()[j - 1]);
if (i -= j)
return i;
- xa0 = a.x;
+ xa0 = a.words();
xa = xa0 + j;
- xb0 = b.x;
+ xb0 = b.words();
xb = xb0 + j;
for (;;) {
if (*--xa != *--xb)
@@ -692,8 +718,8 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
i = cmp(*a, *b);
if (!i) {
c.sign = 0;
- c.wds = 1;
- c.x[0] = 0;
+ c.resize(1);
+ c.words()[0] = 0;
return;
}
if (i < 0) {
@@ -704,15 +730,16 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
} else
i = 0;
- c.wds = 0;
- c.sign = i;
- wa = a->wds;
- const uint32_t* xa = a->x;
+ wa = a->size();
+ const uint32_t* xa = a->words();
const uint32_t* xae = xa + wa;
- wb = b->wds;
- const uint32_t* xb = b->x;
+ wb = b->size();
+ const uint32_t* xb = b->words();
const uint32_t* xbe = xb + wb;
- xc = c.x;
+
+ c.resize(wa);
+ c.sign = i;
+ xc = c.words();
#ifdef USE_LONG_LONG
unsigned long long borrow = 0;
do {
@@ -757,7 +784,7 @@ static ALWAYS_INLINE void diff(BigInt& c, const BigInt& aRef, const BigInt& bRef
#endif
while (!*--xc)
wa--;
- c.wds = wa;
+ c.resize(wa);
}
static double ulp(U *x)
@@ -804,8 +831,8 @@ static double b2d(const BigInt& a, int* e)
#define d0 word0(&d)
#define d1 word1(&d)
- xa0 = a.x;
- xa = xa0 + a.wds;
+ xa0 = a.words();
+ xa = xa0 + a.size();
y = *--xa;
ASSERT(y);
k = hi0bits(y);
@@ -860,11 +887,11 @@ static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
b.sign = 0;
#ifdef Pack_32
- b.wds = 1;
+ b.resize(1);
#else
- b.wds = 2;
+ b.resize(2);
#endif
- x = b.x;
+ x = b.words();
z = d0 & Frac_mask;
d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
@@ -881,17 +908,21 @@ static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
z >>= k;
} else
x[0] = y;
+ if (z) {
+ b.resize(2);
+ x[1] = z;
+ }
+
#ifndef Sudden_Underflow
- i =
+ i = b.size();
#endif
- b.wds = (x[1] = z) ? 2 : 1;
} else {
k = lo0bits(&z);
x[0] = z;
#ifndef Sudden_Underflow
- i =
+ i = 1;
#endif
- b.wds = 1;
+ b.resize(1);
k += 32;
}
#else
@@ -929,7 +960,7 @@ static ALWAYS_INLINE void d2b(BigInt& b, U* d, int* e, int* bits)
k += 32;
} while (!x[i])
--i;
- b->wds = i + 1;
+ b->resize(i + 1);
#endif
#ifndef Sudden_Underflow
if (de) {
@@ -958,9 +989,9 @@ static double ratio(const BigInt& a, const BigInt& b)
dval(&da) = b2d(a, &ka);
dval(&db) = b2d(b, &kb);
#ifdef Pack_32
- k = ka - kb + 32 * (a.wds - b.wds);
+ k = ka - kb + 32 * (a.size() - b.size());
#else
- k = ka - kb + 16 * (a.wds - b.wds);
+ k = ka - kb + 16 * (a.size() - b.size());
#endif
if (k > 0)
word0(&da) += k * Exp_msk1;
@@ -1452,12 +1483,12 @@ undfl:
#endif
) {
#ifdef SET_INEXACT
- if (!delta->x[0] && delta->wds <= 1)
+ if (!delta->words()[0] && delta->size() <= 1)
inexact = 0;
#endif
break;
}
- if (!delta.x[0] && delta.wds <= 1) {
+ if (!delta.words()[0] && delta.size() <= 1) {
/* exact result */
#ifdef SET_INEXACT
inexact = 0;
@@ -1700,7 +1731,7 @@ ret:
static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
{
- int n;
+ size_t n;
uint32_t *bx, *bxe, q, *sx, *sxe;
#ifdef USE_LONG_LONG
unsigned long long borrow, carry, y, ys;
@@ -1710,14 +1741,16 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
uint32_t si, z, zs;
#endif
#endif
+ ASSERT(b.size() <= 1 || b.words()[b.size() - 1]);
+ ASSERT(S.size() <= 1 || S.words()[S.size() - 1]);
- n = S.wds;
- ASSERT_WITH_MESSAGE(b.wds <= n, "oversize b in quorem");
- if (b.wds < n)
+ n = S.size();
+ ASSERT_WITH_MESSAGE(b.size() <= n, "oversize b in quorem");
+ if (b.size() < n)
return 0;
- sx = S.x;
+ sx = S.words();
sxe = sx + --n;
- bx = b.x;
+ bx = b.words();
bxe = bx + n;
q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
ASSERT_WITH_MESSAGE(q <= 9, "oversized quotient in quorem");
@@ -1752,18 +1785,18 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
#endif
} while (sx <= sxe);
if (!*bxe) {
- bx = b.x;
+ bx = b.words();
while (--bxe > bx && !*bxe)
--n;
- b.wds = n;
+ b.resize(n);
}
}
if (cmp(b, S) >= 0) {
q++;
borrow = 0;
carry = 0;
- bx = b.x;
- sx = S.x;
+ bx = b.words();
+ sx = S.words();
do {
#ifdef USE_LONG_LONG
ys = *sx++ + carry;
@@ -1791,12 +1824,12 @@ static ALWAYS_INLINE int quorem(BigInt& b, BigInt& S)
#endif
#endif
} while (sx <= sxe);
- bx = b.x;
+ bx = b.words();
bxe = bx + n;
if (!*bxe) {
while (--bxe > bx && !*bxe)
--n;
- b.wds = n;
+ b.resize(n);
}
}
return q;
@@ -2027,7 +2060,8 @@ void dtoa(char* result, double dd, int ndigits, int* decpt, int* sign, char** rv
dval(&eps) = (ieps * dval(&u)) + 7.;
word0(&eps) -= (P - 1) * Exp_msk1;
if (ilim == 0) {
- S = mhi = BigInt();
+ S.clear();
+ mhi.clear();
dval(&u) -= 5.;
if (dval(&u) > dval(&eps))
goto one_digit;
@@ -2090,7 +2124,8 @@ fast_failed:
/* Yes. */
ds = tens[k];
if (ndigits < 0 && ilim <= 0) {
- S = mhi = BigInt();
+ S.clear();
+ mhi.clear();
if (ilim < 0 || dval(&u) <= 5 * ds)
goto no_digits;
goto one_digit;
@@ -2132,7 +2167,8 @@ bump_up:
m2 = b2;
m5 = b5;
- mhi = mlo = BigInt();
+ mhi.clear();
+ mlo.clear();
if (leftright) {
i =
#ifndef Sudden_Underflow
@@ -2186,10 +2222,10 @@ bump_up:
* can do shifts and ors to compute the numerator for q.
*/
#ifdef Pack_32
- if ((i = ((s5 ? 32 - hi0bits(S.x[S.wds - 1]) : 1) + s2) & 0x1f))
+ if ((i = ((s5 ? 32 - hi0bits(S.words()[S.size() - 1]) : 1) + s2) & 0x1f))
i = 32 - i;
#else
- if ((i = ((s5 ? 32 - hi0bits(S.x[S.wds - 1]) : 1) + s2) & 0xf))
+ if ((i = ((s5 ? 32 - hi0bits(S.words()[S.size() - 1]) : 1) + s2) & 0xf))
i = 16 - i;
#endif
if (i > 4) {
@@ -2252,7 +2288,7 @@ bump_up:
goto ret;
}
if (j < 0 || (j == 0 && !(word1(&u) & 1))) {
- if (!b.x[0] && b.wds <= 1) {
+ if (!b.words()[0] && b.size() <= 1) {
#ifdef SET_INEXACT
inexact = 0;
#endif
@@ -2287,7 +2323,7 @@ round_9_up:
} else
for (i = 1;; i++) {
*s++ = dig = quorem(b,S) + '0';
- if (!b.x[0] && b.wds <= 1) {
+ if (!b.words()[0] && b.size() <= 1) {
#ifdef SET_INEXACT
inexact = 0;
#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h
index f04779d..51e8a06 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/Collator.h
@@ -39,7 +39,7 @@ struct UCollator;
namespace WTF {
- class Collator : Noncopyable {
+ class Collator : public Noncopyable {
public:
enum Result { Equal = 0, Greater = 1, Less = -1 };
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp
index 79dec79..6376bb3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp
@@ -37,6 +37,7 @@
#include <string.h>
#if PLATFORM(DARWIN)
+#include "RetainPtr.h"
#include <CoreFoundation/CoreFoundation.h>
#endif
@@ -60,11 +61,16 @@ std::auto_ptr<Collator> Collator::userDefault()
{
#if PLATFORM(DARWIN) && PLATFORM(CF)
// Mac OS X doesn't set UNIX locale to match user-selected one, so ICU default doesn't work.
- CFStringRef collationOrder = (CFStringRef)CFPreferencesCopyValue(CFSTR("AppleCollationOrder"), kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
+#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !PLATFORM(IPHONE)
+ RetainPtr<CFLocaleRef> currentLocale(AdoptCF, CFLocaleCopyCurrent());
+ CFStringRef collationOrder = (CFStringRef)CFLocaleGetValue(currentLocale.get(), kCFLocaleCollatorIdentifier);
+#else
+ RetainPtr<CFStringRef> collationOrderRetainer(AdoptCF, (CFStringRef)CFPreferencesCopyValue(CFSTR("AppleCollationOrder"), kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
+ CFStringRef collationOrder = collationOrderRetainer.get();
+#endif
char buf[256];
if (collationOrder) {
CFStringGetCString(collationOrder, buf, sizeof(buf), kCFStringEncodingASCII);
- CFRelease(collationOrder);
return std::auto_ptr<Collator>(new Collator(buf));
} else
return std::auto_ptr<Collator>(new Collator(""));
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h
new file mode 100644
index 0000000..93d9f75
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/FastMallocWince.h
@@ -0,0 +1,177 @@
+/*
+ * This file is part of the KDE libraries
+ * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2009 Torch Mobile, Inc. All rights reserved
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef FastMallocWince_h
+#define FastMallocWince_h
+
+#include <new.h>
+
+#ifdef __cplusplus
+#include <new>
+#include "MemoryManager.h"
+extern "C" {
+#endif
+
+void* fastMalloc(size_t n);
+void* fastCalloc(size_t n_elements, size_t element_size);
+void fastFree(void* p);
+void* fastRealloc(void* p, size_t n);
+void* fastZeroedMalloc(size_t n);
+// These functions return 0 if an allocation fails.
+void* tryFastMalloc(size_t n);
+void* tryFastZeroedMalloc(size_t n);
+void* tryFastCalloc(size_t n_elements, size_t element_size);
+void* tryFastRealloc(void* p, size_t n);
+char* fastStrDup(const char*);
+
+#ifndef NDEBUG
+void fastMallocForbid();
+void fastMallocAllow();
+#endif
+
+#if !defined(USE_SYSTEM_MALLOC) || !USE_SYSTEM_MALLOC
+
+#define malloc(n) fastMalloc(n)
+#define calloc(n_elements, element_size) fastCalloc(n_elements, element_size)
+#define realloc(p, n) fastRealloc(p, n)
+#define free(p) fastFree(p)
+#define strdup(p) fastStrDup(p)
+
+#else
+
+#define strdup(p) _strdup(p)
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#ifdef __cplusplus
+#if !defined(USE_SYSTEM_MALLOC) || !USE_SYSTEM_MALLOC
+static inline void* __cdecl operator new(size_t s) { return fastMalloc(s); }
+static inline void __cdecl operator delete(void* p) { fastFree(p); }
+static inline void* __cdecl operator new[](size_t s) { return fastMalloc(s); }
+static inline void __cdecl operator delete[](void* p) { fastFree(p); }
+static inline void* operator new(size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+static inline void operator delete(void* p, const std::nothrow_t&) throw() { fastFree(p); }
+static inline void* operator new[](size_t s, const std::nothrow_t&) throw() { return fastMalloc(s); }
+static inline void operator delete[](void* p, const std::nothrow_t&) throw() { fastFree(p); }
+#endif
+
+namespace WTF {
+ // This defines a type which holds an unsigned integer and is the same
+ // size as the minimally aligned memory allocation.
+ typedef unsigned long long AllocAlignmentInteger;
+
+ namespace Internal {
+ enum AllocType { // Start with an unusual number instead of zero, because zero is common.
+ AllocTypeMalloc = 0x375d6750, // Encompasses fastMalloc, fastZeroedMalloc, fastCalloc, fastRealloc.
+ AllocTypeClassNew, // Encompasses class operator new from FastAllocBase.
+ AllocTypeClassNewArray, // Encompasses class operator new[] from FastAllocBase.
+ AllocTypeFastNew, // Encompasses fastNew.
+ AllocTypeFastNewArray, // Encompasses fastNewArray.
+ AllocTypeNew, // Encompasses global operator new.
+ AllocTypeNewArray // Encompasses global operator new[].
+ };
+ }
+
+
+#if ENABLE(FAST_MALLOC_MATCH_VALIDATION)
+
+ // Malloc validation is a scheme whereby a tag is attached to an
+ // allocation which identifies how it was originally allocated.
+ // This allows us to verify that the freeing operation matches the
+ // allocation operation. If memory is allocated with operator new[]
+ // but freed with free or delete, this system would detect that.
+ // In the implementation here, the tag is an integer prepended to
+ // the allocation memory which is assigned one of the AllocType
+ // enumeration values. An alternative implementation of this
+ // scheme could store the tag somewhere else or ignore it.
+ // Users of FastMalloc don't need to know or care how this tagging
+ // is implemented.
+
+ namespace Internal {
+
+ // Return the AllocType tag associated with the allocated block p.
+ inline AllocType fastMallocMatchValidationType(const void* p)
+ {
+ const AllocAlignmentInteger* type = static_cast<const AllocAlignmentInteger*>(p) - 1;
+ return static_cast<AllocType>(*type);
+ }
+
+ // Return the address of the AllocType tag associated with the allocated block p.
+ inline AllocAlignmentInteger* fastMallocMatchValidationValue(void* p)
+ {
+ return reinterpret_cast<AllocAlignmentInteger*>(static_cast<char*>(p) - sizeof(AllocAlignmentInteger));
+ }
+
+ // Set the AllocType tag to be associaged with the allocated block p.
+ inline void setFastMallocMatchValidationType(void* p, AllocType allocType)
+ {
+ AllocAlignmentInteger* type = static_cast<AllocAlignmentInteger*>(p) - 1;
+ *type = static_cast<AllocAlignmentInteger>(allocType);
+ }
+
+ // Handle a detected alloc/free mismatch. By default this calls CRASH().
+ void fastMallocMatchFailed(void* p);
+
+ } // namespace Internal
+
+ // This is a higher level function which is used by FastMalloc-using code.
+ inline void fastMallocMatchValidateMalloc(void* p, Internal::AllocType allocType)
+ {
+ if (!p)
+ return;
+
+ Internal::setFastMallocMatchValidationType(p, allocType);
+ }
+
+ // This is a higher level function which is used by FastMalloc-using code.
+ inline void fastMallocMatchValidateFree(void* p, Internal::AllocType allocType)
+ {
+ if (!p)
+ return;
+
+ if (Internal::fastMallocMatchValidationType(p) != allocType)
+ Internal::fastMallocMatchFailed(p);
+ Internal::setFastMallocMatchValidationType(p, Internal::AllocTypeMalloc); // Set it to this so that fastFree thinks it's OK.
+ }
+
+#else
+
+ inline void fastMallocMatchValidateMalloc(void*, Internal::AllocType)
+ {
+ }
+
+ inline void fastMallocMatchValidateFree(void*, Internal::AllocType)
+ {
+ }
+
+#endif
+
+} // namespace WTF
+
+#endif
+
+#endif // FastMallocWince_h
+
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp
new file mode 100644
index 0000000..b65b368
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.cpp
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2008-2009 Torch Mobile Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "MemoryManager.h"
+
+#undef malloc
+#undef calloc
+#undef realloc
+#undef free
+#undef strdup
+#undef _strdup
+#undef VirtualAlloc
+#undef VirtualFree
+
+#include <malloc.h>
+#include <windows.h>
+
+namespace WTF {
+
+MemoryManager* memoryManager()
+{
+ static MemoryManager mm;
+ return &mm;
+}
+
+MemoryManager::MemoryManager()
+: m_allocationCanFail(false)
+{
+}
+
+MemoryManager::~MemoryManager()
+{
+}
+
+HBITMAP MemoryManager::createCompatibleBitmap(HDC hdc, int width, int height)
+{
+ return ::CreateCompatibleBitmap(hdc, width, height);
+}
+
+HBITMAP MemoryManager::createDIBSection(const BITMAPINFO* pbmi, void** ppvBits)
+{
+ return ::CreateDIBSection(0, pbmi, DIB_RGB_COLORS, ppvBits, 0, 0);
+}
+
+void* MemoryManager::m_malloc(size_t size)
+{
+ return malloc(size);
+}
+
+void* MemoryManager::m_calloc(size_t num, size_t size)
+{
+ return calloc(num, size);
+}
+
+void* MemoryManager::m_realloc(void* p, size_t size)
+{
+ return realloc(p, size);
+}
+
+void MemoryManager::m_free(void* p)
+{
+ return free(p);
+}
+
+bool MemoryManager::resizeMemory(void*, size_t)
+{
+ return false;
+}
+
+void* MemoryManager::allocate64kBlock()
+{
+ return VirtualAlloc(0, 65536, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
+}
+
+void MemoryManager::free64kBlock(void* p)
+{
+ VirtualFree(p, 65536, MEM_RELEASE);
+}
+
+bool MemoryManager::onIdle(DWORD& timeLimitMs)
+{
+ return false;
+}
+
+LPVOID MemoryManager::virtualAlloc(LPVOID lpAddress, DWORD dwSize, DWORD flAllocationType, DWORD flProtect)
+{
+ return ::VirtualAlloc(lpAddress, dwSize, flAllocationType, flProtect);
+}
+
+BOOL MemoryManager::virtualFree(LPVOID lpAddress, DWORD dwSize, DWORD dwFreeType)
+{
+ return ::VirtualFree(lpAddress, dwSize, dwFreeType);
+}
+
+
+#if defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC
+
+void *fastMalloc(size_t n) { return malloc(n); }
+void *fastCalloc(size_t n_elements, size_t element_size) { return calloc(n_elements, element_size); }
+void fastFree(void* p) { return free(p); }
+void *fastRealloc(void* p, size_t n) { return realloc(p, n); }
+
+#else
+
+void *fastMalloc(size_t n) { return MemoryManager::m_malloc(n); }
+void *fastCalloc(size_t n_elements, size_t element_size) { return MemoryManager::m_calloc(n_elements, element_size); }
+void fastFree(void* p) { return MemoryManager::m_free(p); }
+void *fastRealloc(void* p, size_t n) { return MemoryManager::m_realloc(p, n); }
+
+#endif
+
+#ifndef NDEBUG
+void fastMallocForbid() {}
+void fastMallocAllow() {}
+#endif
+
+void* fastZeroedMalloc(size_t n)
+{
+ void* p = fastMalloc(n);
+ if (p)
+ memset(p, 0, n);
+ return p;
+}
+
+void* tryFastMalloc(size_t n)
+{
+ MemoryAllocationCanFail canFail;
+ return fastMalloc(n);
+}
+
+void* tryFastZeroedMalloc(size_t n)
+{
+ MemoryAllocationCanFail canFail;
+ return fastZeroedMalloc(n);
+}
+
+void* tryFastCalloc(size_t n_elements, size_t element_size)
+{
+ MemoryAllocationCanFail canFail;
+ return fastCalloc(n_elements, element_size);
+}
+
+void* tryFastRealloc(void* p, size_t n)
+{
+ MemoryAllocationCanFail canFail;
+ return fastRealloc(p, n);
+}
+
+char* fastStrDup(const char* str)
+{
+ return _strdup(str);
+}
+
+} \ No newline at end of file
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h
new file mode 100644
index 0000000..f405612
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/MemoryManager.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2008-2009 Torch Mobile Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#pragma once
+
+#include <winbase.h>
+
+typedef struct HBITMAP__* HBITMAP;
+typedef struct HDC__* HDC;
+typedef void *HANDLE;
+typedef struct tagBITMAPINFO BITMAPINFO;
+
+namespace WTF {
+
+ class MemoryManager {
+ public:
+ MemoryManager();
+ ~MemoryManager();
+
+ bool allocationCanFail() const { return m_allocationCanFail; }
+ void setAllocationCanFail(bool c) { m_allocationCanFail = c; }
+
+ static HBITMAP createCompatibleBitmap(HDC hdc, int width, int height);
+ static HBITMAP createDIBSection(const BITMAPINFO* pbmi, void** ppvBits);
+ static void* m_malloc(size_t size);
+ static void* m_calloc(size_t num, size_t size);
+ static void* m_realloc(void* p, size_t size);
+ static void m_free(void*);
+ static bool resizeMemory(void* p, size_t newSize);
+ static void* allocate64kBlock();
+ static void free64kBlock(void*);
+ static bool onIdle(DWORD& timeLimitMs);
+ static LPVOID virtualAlloc(LPVOID lpAddress, DWORD dwSize, DWORD flAllocationType, DWORD flProtect);
+ static BOOL virtualFree(LPVOID lpAddress, DWORD dwSize, DWORD dwFreeType);
+
+ private:
+ friend MemoryManager* memoryManager();
+
+ bool m_allocationCanFail;
+ };
+
+ MemoryManager* memoryManager();
+
+ class MemoryAllocationCanFail {
+ public:
+ MemoryAllocationCanFail() : m_old(memoryManager()->allocationCanFail()) { memoryManager()->setAllocationCanFail(true); }
+ ~MemoryAllocationCanFail() { memoryManager()->setAllocationCanFail(m_old); }
+ private:
+ bool m_old;
+ };
+
+ class MemoryAllocationCannotFail {
+ public:
+ MemoryAllocationCannotFail() : m_old(memoryManager()->allocationCanFail()) { memoryManager()->setAllocationCanFail(false); }
+ ~MemoryAllocationCannotFail() { memoryManager()->setAllocationCanFail(m_old); }
+ private:
+ bool m_old;
+ };
+}
+
+using WTF::MemoryManager;
+using WTF::memoryManager;
+using WTF::MemoryAllocationCanFail;
+using WTF::MemoryAllocationCannotFail;
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c
new file mode 100644
index 0000000..4715958
--- /dev/null
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/wince/mt19937ar.c
@@ -0,0 +1,170 @@
+/*
+ A C-program for MT19937, with initialization improved 2002/1/26.
+ Coded by Takuji Nishimura and Makoto Matsumoto.
+
+ Before using, initialize the state by using init_genrand(seed)
+ or init_by_array(init_key, key_length).
+
+ Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. The names of its contributors may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+ Any feedback is very welcome.
+ http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
+ email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
+*/
+
+#include <stdio.h>
+
+/* Period parameters */
+#define N 624
+#define M 397
+#define MATRIX_A 0x9908b0dfUL /* constant vector a */
+#define UPPER_MASK 0x80000000UL /* most significant w-r bits */
+#define LOWER_MASK 0x7fffffffUL /* least significant r bits */
+
+static unsigned long mt[N]; /* the array for the state vector */
+static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */
+
+/* initializes mt[N] with a seed */
+void init_genrand(unsigned long s)
+{
+ mt[0]= s & 0xffffffffUL;
+ for (mti=1; mti<N; mti++) {
+ mt[mti] = (1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti);
+ /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
+ /* In the previous versions, MSBs of the seed affect */
+ /* only MSBs of the array mt[]. */
+ /* 2002/01/09 modified by Makoto Matsumoto */
+ mt[mti] &= 0xffffffffUL;
+ /* for >32 bit machines */
+ }
+}
+
+/* initialize by an array with array-length */
+/* init_key is the array for initializing keys */
+/* key_length is its length */
+/* slight change for C++, 2004/2/26 */
+void init_by_array(unsigned long init_key[],int key_length)
+{
+ int i, j, k;
+ init_genrand(19650218UL);
+ i=1; j=0;
+ k = (N>key_length ? N : key_length);
+ for (; k; k--) {
+ mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL))
+ + init_key[j] + j; /* non linear */
+ mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
+ i++; j++;
+ if (i>=N) { mt[0] = mt[N-1]; i=1; }
+ if (j>=key_length) j=0;
+ }
+ for (k=N-1; k; k--) {
+ mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL))
+ - i; /* non linear */
+ mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
+ i++;
+ if (i>=N) { mt[0] = mt[N-1]; i=1; }
+ }
+
+ mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */
+}
+
+/* generates a random number on [0,0xffffffff]-interval */
+unsigned long genrand_int32(void)
+{
+ unsigned long y;
+ static unsigned long mag01[2]={0x0UL, MATRIX_A};
+ /* mag01[x] = x * MATRIX_A for x=0,1 */
+
+ if (mti >= N) { /* generate N words at one time */
+ int kk;
+
+ if (mti == N+1) /* if init_genrand() has not been called, */
+ init_genrand(5489UL); /* a default initial seed is used */
+
+ for (kk=0;kk<N-M;kk++) {
+ y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
+ mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];
+ }
+ for (;kk<N-1;kk++) {
+ y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
+ mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL];
+ }
+ y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);
+ mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL];
+
+ mti = 0;
+ }
+
+ y = mt[mti++];
+
+ /* Tempering */
+ y ^= (y >> 11);
+ y ^= (y << 7) & 0x9d2c5680UL;
+ y ^= (y << 15) & 0xefc60000UL;
+ y ^= (y >> 18);
+
+ return y;
+}
+
+/* generates a random number on [0,0x7fffffff]-interval */
+long genrand_int31(void)
+{
+ return (long)(genrand_int32()>>1);
+}
+
+/* generates a random number on [0,1]-real-interval */
+double genrand_real1(void)
+{
+ return genrand_int32()*(1.0/4294967295.0);
+ /* divided by 2^32-1 */
+}
+
+/* generates a random number on [0,1)-real-interval */
+double genrand_real2(void)
+{
+ return genrand_int32()*(1.0/4294967296.0);
+ /* divided by 2^32 */
+}
+
+/* generates a random number on (0,1)-real-interval */
+double genrand_real3(void)
+{
+ return (((double)genrand_int32()) + 0.5)*(1.0/4294967296.0);
+ /* divided by 2^32 */
+}
+
+/* generates a random number on [0,1) with 53-bit resolution*/
+double genrand_res53(void)
+{
+ unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6;
+ return(a*67108864.0+b)*(1.0/9007199254740992.0);
+}
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
index 29a9d18..663a524 100644
--- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexJIT.cpp
@@ -28,6 +28,7 @@
#include "ASCIICType.h"
#include "JSGlobalData.h"
+#include "LinkBuffer.h"
#include "MacroAssembler.h"
#include "RegexCompiler.h"
@@ -43,18 +44,17 @@ namespace JSC { namespace Yarr {
class RegexGenerator : private MacroAssembler {
friend void jitCompileRegex(JSGlobalData* globalData, RegexCodeBlock& jitObject, const UString& pattern, unsigned& numSubpatterns, const char*& error, bool ignoreCase, bool multiline);
-#if PLATFORM_ARM_ARCH(7)
+#if PLATFORM(ARM)
static const RegisterID input = ARM::r0;
static const RegisterID index = ARM::r1;
static const RegisterID length = ARM::r2;
-
static const RegisterID output = ARM::r4;
+
static const RegisterID regT0 = ARM::r5;
static const RegisterID regT1 = ARM::r6;
static const RegisterID returnRegister = ARM::r0;
-#endif
-#if PLATFORM(X86)
+#elif PLATFORM(X86)
static const RegisterID input = X86::eax;
static const RegisterID index = X86::edx;
static const RegisterID length = X86::ecx;
@@ -64,8 +64,7 @@ class RegexGenerator : private MacroAssembler {
static const RegisterID regT1 = X86::esi;
static const RegisterID returnRegister = X86::eax;
-#endif
-#if PLATFORM(X86_64)
+#elif PLATFORM(X86_64)
static const RegisterID input = X86::edi;
static const RegisterID index = X86::esi;
static const RegisterID length = X86::edx;
@@ -1292,6 +1291,7 @@ class RegexGenerator : private MacroAssembler {
#if PLATFORM(X86_64)
push(X86::ebp);
move(stackPointerRegister, X86::ebp);
+ push(X86::ebx);
#elif PLATFORM(X86)
push(X86::ebp);
move(stackPointerRegister, X86::ebp);
@@ -1308,7 +1308,10 @@ class RegexGenerator : private MacroAssembler {
#else
loadPtr(Address(X86::ebp, 2 * sizeof(void*)), output);
#endif
-#elif PLATFORM_ARM_ARCH(7)
+#elif PLATFORM(ARM)
+#if !PLATFORM_ARM_ARCH(7)
+ push(ARM::lr);
+#endif
push(ARM::r4);
push(ARM::r5);
push(ARM::r6);
@@ -1319,13 +1322,14 @@ class RegexGenerator : private MacroAssembler {
void generateReturn()
{
#if PLATFORM(X86_64)
+ pop(X86::ebx);
pop(X86::ebp);
#elif PLATFORM(X86)
pop(X86::esi);
pop(X86::edi);
pop(X86::ebx);
pop(X86::ebp);
-#elif PLATFORM_ARM_ARCH(7)
+#elif PLATFORM(ARM)
pop(ARM::r6);
pop(ARM::r5);
pop(ARM::r4);
diff --git a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h
index fb1b0ab..a451131 100644
--- a/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h
+++ b/src/3rdparty/webkit/JavaScriptCore/yarr/RegexPattern.h
@@ -57,7 +57,7 @@ struct CharacterRange {
}
};
-struct CharacterClass {
+struct CharacterClass : FastAllocBase {
Vector<UChar> m_matches;
Vector<CharacterRange> m_ranges;
Vector<UChar> m_matchesUnicode;
@@ -181,7 +181,7 @@ struct PatternTerm {
}
};
-struct PatternAlternative {
+struct PatternAlternative : FastAllocBase {
PatternAlternative(PatternDisjunction* disjunction)
: m_parent(disjunction)
{
@@ -205,7 +205,7 @@ struct PatternAlternative {
bool m_hasFixedSize;
};
-struct PatternDisjunction {
+struct PatternDisjunction : FastAllocBase {
PatternDisjunction(PatternAlternative* parent = 0)
: m_parent(parent)
{
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 730c023..6834134 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -1,11 +1,11 @@
This is a snapshot of the Qt port of WebKit from
- git://code.staikos.net/webkit
+ git://gitorious.org/qtwebkit/qtwebkit.git
The commit imported was from the
- qtwebkit-4.6-snapshot-29062009 branch/tag
+ qtwebkit-4.6-snapshot-29072009 branch/tag
and has the sha1 checksum
- 22aadba1b4356ad7d8e9446b95baccb6b2c037b0
+ 07fbaeddfade72be1d0d7e7f2b947e5d3c183f4a
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index 8991528..7fc69b4 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,12815 @@
+2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Steve Falkenburg.
+
+ Add output directory for VS pre-build steps to enable out-of-tree builds
+
+ https://bugs.webkit.org/show_bug.cgi?id=27700
+
+ The tmp.obj file is now placed in the intermediate build directory.
+
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+
+2009-07-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Add inspected node using public console API.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27758
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.addInspectedNode):
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
+ (WebInspector.ElementsPanel):
+
+2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] <do> elements with a <noop> task shouldn't be exposed to the user
+ https://bugs.webkit.org/show_bug.cgi?id=27724
+
+ Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
+ Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
+
+ * manual-tests/wml/task-noop-in-do.wml: Removed.
+ * wml/WMLNoopElement.cpp:
+ (WebCore::WMLNoopElement::insertedIntoDocument):
+
+2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Disable some compiler warnings for the win build
+ https://bugs.webkit.org/show_bug.cgi?id=27709
+
+ * WebCore.pro: Move the msvc options to WebKit.pri
+
+2009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Tor Arne Vestbø
+
+ Make equality checks for logging channel names ignore casing.
+
+ * platform/Logging.cpp:
+ (WebCore::getChannelFromName):
+
+2009-07-28 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Refactor ResourceHandleSoup - make start* functions static
+ https://bugs.webkit.org/show_bug.cgi?id=27687
+
+ * platform/network/ResourceHandle.h:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::startData):
+ (WebCore::startHttp):
+ (WebCore::):
+
+2009-07-28 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Do not cache the pango layout in the object, since the layout of
+ the page can change between calls.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+
+2009-07-23 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Simplify management of Nodes in weak handles callbacks.
+ https://bugs.webkit.org/show_bug.cgi?id=27628
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::weakNodeCallback):
+
+2009-07-28 Brian Weinstein <bweinstein@apple.com>
+
+ Rubber-stamped by David Levin.
+
+ Fix error handling of GetIconInfo (returns a bool).
+
+ * platform/win/DragImageWin.cpp:
+ (WebCore::createDragImageIconForCachedImage):
+
+2009-07-27 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
+
+ Implemented the createDragImageIconForCachedImage function by using the Windows
+ SHFILEINFO structure.
+
+ * platform/win/DragImageWin.cpp:
+ (WebCore::createDragImageIconForCachedImage):
+
+2009-07-25 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Split up V8DOMMap.cpp by class
+ https://bugs.webkit.org/show_bug.cgi?id=27685
+
+ No behavior change. Just copy-and-paste.
+
+ * WebCore.gypi:
+ * bindings/v8/ChildThreadDOMData.cpp: Added.
+ (WebCore::ChildThreadDOMData::ChildThreadDOMData):
+ (WebCore::ChildThreadDOMData::getStore):
+ * bindings/v8/ChildThreadDOMData.h: Added.
+ * bindings/v8/DOMData.cpp: Added.
+ (WebCore::DOMData::DOMData):
+ (WebCore::DOMData::getCurrent):
+ (WebCore::DOMData::getCurrentMainThread):
+ (WebCore::DOMData::handleWeakObject):
+ (WebCore::DOMData::ensureDeref):
+ (WebCore::DOMData::derefObject):
+ (WebCore::DOMData::derefDelayedObjects):
+ (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
+ (WebCore::DOMData::removeObjectsFromWrapperMap):
+ * bindings/v8/DOMData.h: Added.
+ (WebCore::):
+ * bindings/v8/DOMDataStore.cpp: Added.
+ (WebCore::DOMDataStore::DOMDataStore):
+ (WebCore::DOMDataStore::~DOMDataStore):
+ (WebCore::DOMDataStore::allStores):
+ (WebCore::DOMDataStore::allStoresMutex):
+ (WebCore::DOMDataStore::getDOMWrapperMap):
+ (WebCore::forget):
+ (WebCore::DOMDataStore::weakDOMObjectCallback):
+ (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
+ (WebCore::DOMDataStore::weakNodeCallback):
+ (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
+ (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
+ * bindings/v8/DOMDataStore.h: Added.
+ (WebCore::DOMDataStore::):
+ (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
+ (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
+ (WebCore::DOMDataStore::domData):
+ (WebCore::DOMDataStore::domNodeMap):
+ (WebCore::DOMDataStore::domObjectMap):
+ (WebCore::DOMDataStore::activeDomObjectMap):
+ (WebCore::DOMDataStore::domSvgElementInstanceMap):
+ (WebCore::DOMDataStore::domSvgObjectWithContextMap):
+ * bindings/v8/MainThreadDOMData.cpp: Added.
+ (WebCore::MainThreadDOMData::MainThreadDOMData):
+ (WebCore::MainThreadDOMData::getStore):
+ * bindings/v8/MainThreadDOMData.h: Added.
+ * bindings/v8/ScopedDOMDataStore.cpp: Added.
+ (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
+ (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
+ * bindings/v8/ScopedDOMDataStore.h: Added.
+ * bindings/v8/StaticDOMDataStore.cpp: Added.
+ (WebCore::StaticDOMDataStore::StaticDOMDataStore):
+ * bindings/v8/StaticDOMDataStore.h: Added.
+ * bindings/v8/V8DOMMap.cpp:
+
+2009-07-27 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
+
+ Add a method for detecting if we're being used within Microsoft Messenger.
+
+ * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
+ * platform/mac/RuntimeApplicationChecks.h:
+ * platform/mac/RuntimeApplicationChecks.mm:
+ (WebCore::applicationIsMicrosoftMessenger):
+
+2009-07-27 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Implement EventListener::reportError for V8 event listeners in worker context.
+ https://bugs.webkit.org/show_bug.cgi?id=27731
+
+ * bindings/v8/V8WorkerContextEventListener.cpp:
+ (WebCore::V8WorkerContextEventListener::reportError):
+ * bindings/v8/V8WorkerContextEventListener.h:
+
+2009-07-27 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Eric Seidel and David Levin.
+
+ Re-apply chromium/skia border fix (originally landed in r46157,
+ reverted in r46363), since it was not the cause of the reliability
+ failures in Chromium.
+
+ http://bugs.webkit.org/show_bug.cgi?id=27388
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2009-07-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Justin Garcia.
+
+ createMarkup does not handle CSS properly
+ https://bugs.webkit.org/show_bug.cgi?id=27660
+
+ This patch isolates code that creates markup for styles in addStyleMarkup
+ It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
+ so that we can assume no text decoration style is passed to addStyleMarkup.
+
+ * editing/markup.cpp:
+ (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
+ (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
+ (WebCore::addStyleMarkup): Adds markup for style span and div
+ (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
+
+2009-07-27 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ fix more obvious global object lookups
+ https://bugs.webkit.org/show_bug.cgi?id=27745
+
+ No new tests for these changes. I believe in many cases
+ testing to be impossible. Lack of testing justification next to
+ each change below. The remaining pieces of bug 27634 will all
+ need tests.
+
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::updateDocument): not testable.
+ * bindings/js/JSDataGridColumnListCustom.cpp:
+ (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
+ * bindings/js/JSHTMLElementCustom.cpp:
+ (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
+ * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+ (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener): unclear how to test.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
+ * bindings/js/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject): unclear how to test.
+ * bindings/objc/DOMInternal.mm:
+ (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] 'title' attribute handling not correct for <a> / <anchor> elements
+ https://bugs.webkit.org/show_bug.cgi?id=27720
+
+ Unify title() implementation in WMLElement instead of several copies of the same logic.
+ We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
+ WML manual-test suite.
+
+ * wml/WMLCardElement.cpp:
+ * wml/WMLCardElement.h:
+ * wml/WMLElement.cpp:
+ (WebCore::WMLElement::title):
+ * wml/WMLElement.h:
+ * wml/WMLOptGroupElement.cpp:
+ * wml/WMLOptGroupElement.h:
+ * wml/WMLSelectElement.cpp:
+ * wml/WMLSelectElement.h:
+
+2009-07-27 Adam Treat <adam.treat@torchmobile.com>
+
+ Speculative build fix for Windows and WinCE.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load):
+
+2009-07-27 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27474
+ Fixes crashes due to renderer getting destroyed in updateLayout.
+ We need to call updateLayout before we call into the renderer.
+ Removed the updateLayout call from RenderTextControl and moved it
+ into the calling sites.
+
+ Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
+ this works with pending stylesheets. Unfortunately, this seems to be
+ untestable. Loading an external stylesheet and then having an inline
+ script hit this code did not result in an pending stylesheets.
+
+ The are other cases of this bug in the rendering code. I'll file a
+ followup bug to audit the calls to updateLayout.
+
+ Test: fast/dom/text-control-crash-on-select.html
+
+ * dom/Document.h:
+ (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
+ and setSelectionRange could deal with cases of reentrancy into updateLayout
+ calls. This happens in a couple layout tests.
+ * dom/InputElement.cpp:
+ (WebCore::InputElement::updateSelectionRange):
+ * html/HTMLInputElement.cpp:
+ (WebCore::isTextFieldWithRendererAfterUpdateLayout):
+ (WebCore::HTMLInputElement::setSelectionStart):
+ (WebCore::HTMLInputElement::setSelectionEnd):
+ (WebCore::HTMLInputElement::select):
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::rendererAfterUpdateLayout):
+ (WebCore::HTMLTextAreaElement::setSelectionStart):
+ (WebCore::HTMLTextAreaElement::setSelectionEnd):
+ (WebCore::HTMLTextAreaElement::select):
+ (WebCore::HTMLTextAreaElement::setSelectionRange):
+ (WebCore::HTMLTextAreaElement::updateFocusAppearance):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::setSelectionRange):
+
+2009-07-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Dave Levin.
+
+ [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
+ https://bugs.webkit.org/show_bug.cgi?id=27737
+
+ Refactoring, no new behavior, covered by existing tests.
+
+ * bindings/v8/ScriptCallStack.cpp:
+ (WebCore::ScriptCallStack::ScriptCallStack):
+ * bindings/v8/V8NPUtils.cpp:
+ (convertV8ObjectToNPVariant): Ditto.
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::retrieve): Ditto.
+ (WebCore::V8Proxy::canAccessPrivate): Ditto.
+ * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Ditto.
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] 'onpick' intrinsic event handling missing
+ https://bugs.webkit.org/show_bug.cgi?id=27723
+
+ Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
+ All was in place, just forgot to enable the relevant code.
+
+ Fixes manual-tests/wml/select-onpick-event.wml
+ Test: wml/option-element-onpick.html
+
+ * wml/WMLOptionElement.cpp:
+ (WebCore::WMLOptionElement::setSelectedState):
+
+2009-07-27 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27735
+ Give a helpful name to JSLock constructor argument
+
+ * bindings/js/GCController.cpp:
+ (WebCore::collect):
+ (WebCore::GCController::gcTimerFired):
+ (WebCore::GCController::garbageCollectNow):
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSCustomVoidCallback.cpp:
+ (WebCore::JSCustomVoidCallback::handleEvent):
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::handleEvent):
+ * bindings/js/JSInspectorBackendCustom.cpp:
+ (WebCore::JSInspectorBackend::currentCallFrame):
+ (WebCore::JSInspectorBackend::profiles):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::executeFunctionInContext):
+ * bindings/js/ScriptArray.cpp:
+ (WebCore::ScriptArray::set):
+ (WebCore::ScriptArray::createNew):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ (WebCore::ScriptCachedFrameData::clear):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::initScript):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::bindingRootObject):
+ (WebCore::ScriptController::windowScriptNPObject):
+ (WebCore::ScriptController::jsObjectForPluginElement):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptControllerMac.mm:
+ (WebCore::ScriptController::windowScriptObject):
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::createAttributeEventListener):
+ * bindings/js/ScriptFunctionCall.cpp:
+ (WebCore::ScriptFunctionCall::appendArgument):
+ (WebCore::ScriptFunctionCall::call):
+ (WebCore::ScriptFunctionCall::construct):
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptObject::set):
+ (WebCore::ScriptObject::createNew):
+ (WebCore::ScriptGlobalObject::set):
+ (WebCore::ScriptGlobalObject::get):
+ (WebCore::ScriptGlobalObject::remove):
+ * bindings/js/ScriptObjectQuarantine.cpp:
+ (WebCore::quarantineValue):
+ (WebCore::getQuarantinedScriptObject):
+ * bindings/js/ScriptValue.cpp:
+ (WebCore::ScriptValue::getString):
+ * bindings/js/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::initScript):
+ (WebCore::WorkerScriptController::evaluate):
+ * bindings/objc/WebScriptObject.mm:
+ (-[WebScriptObject callWebScriptMethod:withArguments:]):
+ (-[WebScriptObject evaluateWebScript:]):
+ (-[WebScriptObject setValue:forKey:]):
+ (-[WebScriptObject valueForKey:]):
+ (-[WebScriptObject removeWebScriptKey:]):
+ (-[WebScriptObject stringRepresentation]):
+ (-[WebScriptObject webScriptValueAtIndex:]):
+ (-[WebScriptObject setWebScriptValueAtIndex:value:]):
+ (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
+ * bridge/NP_jsobject.cpp:
+ (_NPN_InvokeDefault):
+ (_NPN_Invoke):
+ (_NPN_Evaluate):
+ (_NPN_GetProperty):
+ (_NPN_SetProperty):
+ (_NPN_RemoveProperty):
+ (_NPN_HasProperty):
+ (_NPN_HasMethod):
+ (_NPN_Enumerate):
+ (_NPN_Construct):
+ * bridge/c/c_class.cpp:
+ (JSC::Bindings::CClass::~CClass):
+ (JSC::Bindings::CClass::methodsNamed):
+ (JSC::Bindings::CClass::fieldNamed):
+ * bridge/c/c_instance.cpp:
+ (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
+ (JSC::Bindings::CInstance::invokeMethod):
+ (JSC::Bindings::CInstance::invokeDefaultMethod):
+ (JSC::Bindings::CInstance::invokeConstruct):
+ (JSC::Bindings::CInstance::getPropertyNames):
+ * bridge/c/c_runtime.cpp:
+ (JSC::Bindings::CField::valueFromInstance):
+ (JSC::Bindings::CField::setValueToInstance):
+ * bridge/c/c_utility.cpp:
+ (JSC::Bindings::convertValueToNPVariant):
+ (JSC::Bindings::convertNPVariantToValue):
+ * bridge/jni/jni_class.cpp:
+ (JavaClass::JavaClass):
+ (JavaClass::~JavaClass):
+ * bridge/jni/jni_instance.cpp:
+ (JavaInstance::stringValue):
+ * bridge/jni/jni_jsobject.mm:
+ (JavaJSObject::call):
+ (JavaJSObject::eval):
+ (JavaJSObject::getMember):
+ (JavaJSObject::setMember):
+ (JavaJSObject::removeMember):
+ (JavaJSObject::getSlot):
+ (JavaJSObject::setSlot):
+ (JavaJSObject::toString):
+ (JavaJSObject::convertValueToJObject):
+ (JavaJSObject::convertJObjectToValue):
+ * bridge/jni/jni_objc.mm:
+ (JSC::Bindings::dispatchJNICall):
+ * bridge/jni/jni_runtime.cpp:
+ (JavaMethod::signature):
+ * bridge/jni/jni_runtime.h:
+ (JSC::Bindings::JavaString::JavaString):
+ (JSC::Bindings::JavaString::_commonInit):
+ (JSC::Bindings::JavaString::~JavaString):
+ (JSC::Bindings::JavaString::UTF8String):
+ * bridge/jni/jni_utility.cpp:
+ (JSC::Bindings::convertValueToJValue):
+ * bridge/objc/objc_instance.mm:
+ (ObjcInstance::moveGlobalExceptionToExecState):
+ (ObjcInstance::invokeMethod):
+ (ObjcInstance::invokeDefaultMethod):
+ (ObjcInstance::setValueOfUndefinedField):
+ (ObjcInstance::getValueOfUndefinedField):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcField::valueFromInstance):
+ (JSC::Bindings::ObjcField::setValueToInstance):
+ * bridge/objc/objc_utility.mm:
+ (JSC::Bindings::convertValueToObjcValue):
+ (JSC::Bindings::convertNSStringToString):
+ (JSC::Bindings::convertObjcValueToValue):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
+ (JSC::Bindings::QtInstance::~QtInstance):
+ (JSC::Bindings::QtInstance::getQtInstance):
+ (JSC::Bindings::QtInstance::createRuntimeObject):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue):
+ (JSC::Bindings::QtRuntimeMetaMethod::call):
+ (JSC::Bindings::QtRuntimeConnectionMethod::call):
+ (JSC::Bindings::QtConnectionObject::execute):
+ * bridge/runtime.cpp:
+ (JSC::Bindings::Instance::createRuntimeObject):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addScriptProfile):
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::evaluate):
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
+ * inspector/JavaScriptProfileNode.cpp:
+ (WebCore::getTotalTime):
+ (WebCore::getSelfTime):
+ (WebCore::getTotalPercent):
+ (WebCore::getSelfPercent):
+ (WebCore::getNumberOfCalls):
+ (WebCore::getChildren):
+ (WebCore::getParent):
+ (WebCore::getHead):
+ (WebCore::getVisible):
+ (WebCore::getCallUID):
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::start):
+ (WebCore::getString):
+ (WebCore::PluginView::performRequest):
+ (WebCore::PluginView::bindingInstance):
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/mac/PluginViewMac.cpp:
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::dispatchNPEvent):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::setNPWindowIfNeeded):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::dispatchNPEvent):
+ (WebCore::PluginView::handleKeyboardEvent):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+
+2009-07-27 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ WINCE PORT: Make plugin work for WINCE
+ https://bugs.webkit.org/show_bug.cgi?id=27713
+
+ * plugins/win/PluginDatabaseWin.cpp:
+ (SHGetValue):
+ (PathRemoveFileSpec):
+ (WebCore::addWindowsMediaPlayerPluginDirectory):
+ (WebCore::addMacromediaPluginDirectories):
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load):
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::registerPluginView):
+ (WebCore::PluginView::wndProc):
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::paintWindowedPluginIntoContext):
+ (WebCore::PluginView::paint):
+ (WebCore::PluginView::handleMouseEvent):
+ (WebCore::PluginView::setParent):
+ (WebCore::PluginView::setNPWindowRect):
+ (WebCore::PluginView::stop):
+ (WebCore::PluginView::init):
+
+2009-07-27 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Inspector: Tab Through Element Attributes and CSS Properties When Editing
+
+ https://bugs.webkit.org/show_bug.cgi?id=27673
+
+ Reviewed by Timothy Hatcher.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
+ (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
+ (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylePropertiesSection.prototype.onpopulate):
+ (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
+ (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
+ (WebInspector.StylePropertyTreeElement.prototype.):
+ (WebInspector.StylePropertyTreeElement.prototype):
+ * inspector/front-end/inspector.js:
+ (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
+ (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
+ (WebInspector.startEditing):
+
+2009-07-27 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Add mapping FontWeight to QFont::Weight values as requested via FIXME.
+ https://bugs.webkit.org/show_bug.cgi?id=27663
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::toQFontWeight):
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+
+2009-07-27 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Adam Treat.
+
+ When clearing the plugin database, clear also the timestamp map.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27651
+
+ Currently, if we clear the database, it will still think that it is up
+ to date with the plugin directories so refreshing the database again
+ after changing the search paths may not work.
+
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::clear):
+
+2009-07-27 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add in trivial implementation of FontPlatformData::description() for
+ linux to fix build bustage in chromium.
+
+ Fix chromium linux build by adding missing function implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=27732
+
+ Tested with a build of chromium on linux.
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::description):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+
+2009-07-27 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correct, no review.
+
+ Final correction for WinCairo builds.
+ CoreServices only exists in Apple builds, but
+ some of its internal includes (e.g., <windows.h>) are needed
+ for other Windows targets.
+
+ * WebCorePrefix.h: When building for WinCairo, make sure
+ to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
+
+2009-07-27 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25552
+ Added new "pattern" attribute to HTMLInputElement and validation code
+ (validity.patternMismatch) as per HTML5 specs.
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
+
+ Tests: fast/forms/ValidityState-002.html
+ fast/forms/ValidityState-patternMismatch-001.html
+ fast/forms/ValidityState-patternMismatch-002.html
+ fast/forms/ValidityState-patternMismatch-003.html
+ fast/forms/ValidityState-patternMismatch-004.html
+ fast/forms/ValidityState-patternMismatch-005.html
+ fast/forms/ValidityState-patternMismatch-006.html
+ fast/forms/ValidityState-patternMismatch-007.html
+ fast/forms/pattern-attribute-001.html
+ fast/forms/pattern-attribute-002.html
+ fast/forms/pattern-attribute-003.html
+
+ * html/HTMLAttributeNames.in: pattern attribute
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::patternMismatch): method definition
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::patternMismatch): validation method
+ * html/HTMLInputElement.h:
+ * html/HTMLInputElement.idl:
+ * html/ValidityState.h:
+ (WebCore::ValidityState::patternMismatch): validation flag
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] Manual WML tests aren't properly working
+ https://bugs.webkit.org/show_bug.cgi?id=27718
+
+ Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
+ Add missing resources directory and test image. Reformat all testcases to a common style.
+ Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
+
+ Filing bugs soon for all tests exposing bugs (7 in total).
+
+ * manual-tests/wml/StartTests.wml: Added.
+ * manual-tests/wml/a-br-element.wml:
+ * manual-tests/wml/a-element.wml:
+ * manual-tests/wml/a-img-element.wml:
+ * manual-tests/wml/access-target.wml:
+ * manual-tests/wml/anchor-br-element.wml:
+ * manual-tests/wml/anchor-element.wml:
+ * manual-tests/wml/anchor-img-element.wml:
+ * manual-tests/wml/card-newcontext-attr.wml:
+ * manual-tests/wml/card-onenterbackward.wml:
+ * manual-tests/wml/card-onenterforward.wml:
+ * manual-tests/wml/card-ontimer.wml:
+ * manual-tests/wml/card-title-attr.wml: Removed.
+ * manual-tests/wml/deck-access-control.wml:
+ * manual-tests/wml/go-element.wml: Removed.
+ * manual-tests/wml/input-emptyok.wml: Removed.
+ * manual-tests/wml/input-format.wml:
+ * manual-tests/wml/onevent-go.wml:
+ * manual-tests/wml/onevent-noop.wml:
+ * manual-tests/wml/onevent-prev.wml:
+ * manual-tests/wml/onevent-refresh.wml:
+ * manual-tests/wml/onevent-shadow.wml:
+ * manual-tests/wml/postfield-get.wml: Removed.
+ * manual-tests/wml/postfield-post.wml: Removed.
+ * manual-tests/wml/resources: Added.
+ * manual-tests/wml/resources/smiley.png: Added.
+ * manual-tests/wml/select-element.wml:
+ * manual-tests/wml/select-onpick-event.wml:
+ * manual-tests/wml/setvar-element.wml:
+ * manual-tests/wml/targetdeck.wml:
+ * manual-tests/wml/task-go-in-anchor.wml:
+ * manual-tests/wml/task-noop-in-do.wml:
+ * manual-tests/wml/task-noop-in-onevent.wml: Removed.
+ * manual-tests/wml/task-prev-in-anchor.wml:
+ * manual-tests/wml/task-refresh-in-anchor.wml:
+ * manual-tests/wml/template-go.wml:
+ * manual-tests/wml/template-onevent.wml: Removed.
+ * manual-tests/wml/template-ontimer.wml:
+ * manual-tests/wml/timer.wml:
+ * manual-tests/wml/variable-substitution.wml:
+
+2009-07-27 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a regression introduced in r42671, which caused the js event
+ object to be hidden (some websites depend on being able to access it).
+
+ https://bugs.webkit.org/show_bug.cgi?id=27719
+
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
+
+2009-07-27 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Removing a no-op block of code in DatabaseTracker.cpp that
+ should've been removed in the patch for bug 26054.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27666
+
+ All tests in WebCore/storage pass.
+
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
+ block of code that was moved to SQLiteFileSystem.cpp and should
+ have been removed from DatabaseTracker.cpp
+
+2009-07-27 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix error handling in dedicated worker and worker context.
+ https://bugs.webkit.org/show_bug.cgi?id=27525
+
+ The following problems have been fixed:
+ 1) The uncaught runtime script error is not reported using the
+ WorkerGlobalScope object's onerror attribute.
+ 2) If the error is still not handled afterwards (onerror attribute
+ is not defined as a function or it returns true), the error should
+ be reported back to the associated Worker object by firing an
+ ErrorEvent.
+ 3) If the error is still not handled by the associated Worker
+ object, the error should be reported to the user.
+
+ Test: fast/workers/worker-script-error.html
+
+ * bindings/js/JSEventListener.cpp:
+ (WebCore::JSEventListener::reportError):
+ * bindings/js/JSEventListener.h:
+ * dom/EventListener.h:
+ (WebCore::EventListener::reportError): adds a function to call
+ EventListener as a function with 3 arguments to report an error.
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::dispatchScriptErrorEvent):
+ * workers/AbstractWorker.h:
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::reportException):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::reportException):
+ * workers/WorkerContext.h:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::WorkerExceptionTask::performTask):
+ * workers/WorkerMessagingProxy.h:
+
+2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] History handling / page cache / loading is buggy and depends on several hacks
+ https://bugs.webkit.org/show_bug.cgi?id=27707
+
+ Redesign WML history/loading handling. In detail:
+
+ - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
+ by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
+ WML content itself.
+
+ WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
+ an XHTML document which embeds a WML document (that's the way the WML layout tests work).
+ Force WML loading behaviour even for XHTML document which embed WML documents. This only
+ applies to our layout tests, not for any real world site. Though it gives us a perfect
+ way to test the WML loading code even when we're not operating on a standalone WML document.
+
+ Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
+ in a standalone WML document or wheter the main frame document is different. If it differs
+ the main frame documents' "containsWMLContent" property is set to true.
+
+ -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
+ checks if the associated frame document is a WML document or wheter it contains WML content.
+
+ - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
+ detection. WML documents (or those containing WML content) always want new loads even for in-page
+ navigation. No "scroll to anchor" mechanism should apply.
+
+ - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
+ WML pages should never be cached, potential security problem due the use of variables (per spec).
+
+ Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
+ and history navigation (<prev/> task).
+
+ Tests: wml/enter-card-with-events.html
+ wml/enter-first-card-with-events.html
+
+ * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
+ (WebCore::Document::Document):
+ * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
+ (WebCore::Document::setContainsWMLContent):
+ (WebCore::Document::containsWMLContent):
+ * history/BackForwardList.cpp:
+ (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
+ * history/BackForwardList.h:
+ * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
+ (WebCore::FrameLoader::FrameLoader):
+ (WebCore::frameContainsWMLContent):
+ (WebCore::FrameLoader::canCachePageContainingThisFrame):
+ (WebCore::FrameLoader::shouldReload):
+ (WebCore::FrameLoader::loadItem):
+ * loader/FrameLoader.h:
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
+ (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
+ * wml/WMLGoElement.cpp:
+ (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
+ * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
+ (WebCore::WMLPageState::WMLPageState):
+ (WebCore::WMLPageState::dump):
+ (WebCore::WMLPageState::reset):
+ * wml/WMLPageState.h:
+
+2009-07-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ Fix Chromium build breakage introduced in 46388.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27705
+
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
+ (WebCore::FontPlatformData::description):
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
+
+2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add some more debug logging to PluginViewMac.
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Jan Michael Alonzo.
+
+ Remove dead code from the GTK NPAPI implementation.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+
+2009-07-27 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Buildfix on Windows.
+ https://bugs.webkit.org/show_bug.cgi?id=27702
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::hookedEndPaint):
+ Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline
+ assembly, because with "g" constraint, wrong assembly code generated.
+
+2009-07-27 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebCore bindings: Implement ScriptArray bindings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27691
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptArray.cpp: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::handleException):
+ (WebCore::ScriptArray::set):
+ (WebCore::length):
+ (WebCore::ScriptArray::createNew):
+ * bindings/js/ScriptArray.h: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::ScriptArray::jsArray):
+ * bindings/v8/ScriptArray.cpp: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::ScriptArray::set):
+ (WebCore::ScriptArray::length):
+ (WebCore::ScriptArray::createNew):
+ * bindings/v8/ScriptArray.h: Added.
+ (WebCore::ScriptArray::ScriptArray):
+ (WebCore::ScriptArray::~ScriptArray):
+
+2009-07-27 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correct, no review.
+
+ Change in r46407 broke Apple Windows build.
+ Switch to WinCairo-only test, to avoid any
+ other platform break.
+
+ * WebCorePrefix.h:
+
+2009-07-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correct, no review.
+
+ Change in r46407 broke Apple Windows build.
+
+ * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
+ CoreServices.h should be included.
+
+2009-07-26 Brent Fulgham <bfulgham@webkit.org>
+
+ Build correction, no review.
+
+ Change in r46195 broke WinCairo build.
+
+ * WebCorePrefix.h: CoreServices should be ignored
+ for non-Apple build.
+
+2009-07-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Implement the breakpoints sidebar pane.
+ This change adds simple UI support into the existing
+ BreakpointSidebarPane.
+
+ https://bugs.webkit.org/show_bug.cgi?id=11175
+
+ * inspector/front-end/Breakpoint.js:
+ (WebInspector.Breakpoint.prototype.set enabled):
+ (WebInspector.Breakpoint.prototype.get label):
+ (WebInspector.Breakpoint.prototype.get id):
+ * inspector/front-end/BreakpointsSidebarPane.js:
+ (WebInspector.BreakpointsSidebarPane):
+ (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
+ (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
+ (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
+ (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
+ * inspector/front-end/inspector.css:
+
+2009-07-16 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ Canvas: rotation of 'no-repeat' pattern still has small error
+ https://bugs.webkit.org/show_bug.cgi?id=26749
+
+ Use 1<<22 as steps of no-repeat pattern to make the error less
+ than 0.5. The previous value may cause 1 pixel errors.
+
+ Add another test to show this bug clearly.
+ Also add png expected image which was missing in the previous patch.
+
+ Test: fast/canvas/image-pattern-rotate.html
+
+ * platform/graphics/cg/PatternCG.cpp:
+ (WebCore::Pattern::createPlatformPattern):
+
+2009-07-25 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Darin Adler.
+
+ Windows build break due to warning C4819
+ https://bugs.webkit.org/show_bug.cgi?id=27416
+
+ Disable C4819 warning to fix build.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-07-25 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Kevin McCullough.
+
+ Inspector: Keyboard Shortcuts to Switch Panels
+ https://bugs.webkit.org/show_bug.cgi?id=27286
+
+ * inspector/front-end/inspector.js:
+ (WebInspector.loaded): save a list of the order of the panels
+ (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
+
+2009-07-25 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by George Staikos.
+
+ [Qt] Fix build break after r46369
+ https://bugs.webkit.org/show_bug.cgi?id=27680
+
+ * WebCore.pro:
+
+2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] Variable substitution is buggy
+ https://bugs.webkit.org/show_bug.cgi?id=27677
+
+ Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
+ won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
+
+ * dom/Text.cpp:
+ (WebCore::Text::attach):
+ * dom/Text.h:
+
+2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ [WML] WMLDoElement doesn't update its RenderButton object upon attach()
+ https://bugs.webkit.org/show_bug.cgi?id=27676
+
+ WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
+ Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
+
+ * wml/WMLDoElement.cpp:
+ (WebCore::WMLDoElement::attach):
+ * wml/WMLDoElement.h:
+
+2009-07-25 Pavel Feldman <pfeldman@chromium.org>
+
+ Fix Windows build breakage introduced in 46390.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Inspector: Properties Should be Sorted more Naturally
+ https://bugs.webkit.org/show_bug.cgi?id=27329
+
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
+ (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
+ (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
+ * inspector/front-end/utilities.js:
+ (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
+
+2009-07-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Split InspectorController into InspectorController
+ and InspectorBackend. Everything frontend needs from InspectorController
+ will slowly migrate into the InspectorBackend.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27541
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSInspectorBackendCustom.cpp: Added.
+ (WebCore::JSInspectorBackend::highlightDOMNode):
+ (WebCore::JSInspectorBackend::search):
+ (WebCore::JSInspectorBackend::databaseTableNames):
+ (WebCore::JSInspectorBackend::inspectedWindow):
+ (WebCore::JSInspectorBackend::setting):
+ (WebCore::JSInspectorBackend::setSetting):
+ (WebCore::JSInspectorBackend::wrapCallback):
+ (WebCore::JSInspectorBackend::currentCallFrame):
+ (WebCore::JSInspectorBackend::profiles):
+ * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/js/JSInspectorControllerCustom.cpp: Removed.
+ * bindings/js/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/js/ScriptObject.h:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/v8/ScriptObject.h:
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::windowScriptObjectAvailable):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::inspectorBackend):
+ * inspector/InspectorBackend.cpp: Added.
+ * inspector/InspectorBackend.h: Added.
+ (WebCore::InspectorBackend::create):
+ (WebCore::InspectorBackend::inspectorController):
+ * inspector/InspectorBackend.idl: Added.
+ * inspector/InspectorController.idl: Removed.
+ * inspector/front-end/Resource.js:
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ * page/Page.h:
+
+2009-07-25 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Update WebCore/page/Frame.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27654
+
+ * page/Frame.cpp:
+ (WebCore::Frame::Frame):
+ (WebCore::Frame::~Frame):
+ (WebCore::Frame::setDocument):
+ (WebCore::Frame::firstRectForRange):
+ (WebCore::createRegExpForLabels):
+ (WebCore::Frame::searchForLabelsBeforeElement):
+ (WebCore::Frame::matchLabelsAgainstElement):
+ (WebCore::Frame::selectionLayoutChanged):
+ (WebCore::Frame::setZoomFactor):
+ (WebCore::Frame::reapplyStyles):
+ (WebCore::Frame::isContentEditable):
+ (WebCore::Frame::computeAndSetTypingStyle):
+ (WebCore::Frame::selectionStartStylePropertyValue):
+ (WebCore::Frame::selectionComputedStyle):
+ (WebCore::Frame::applyEditingStyleToBodyElement):
+ (WebCore::Frame::removeEditingStyleFromBodyElement):
+ (WebCore::Frame::applyEditingStyleToElement):
+ (WebCore::Frame::selectionBounds):
+ (WebCore::Frame::currentForm):
+ (WebCore::Frame::revealSelection):
+ (WebCore::Frame::styleForSelectionStart):
+ (WebCore::Frame::setSelectionFromNone):
+ (WebCore::Frame::findString):
+ (WebCore::Frame::markAllMatchesForText):
+ (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
+ (WebCore::Frame::clearFormerDOMWindow):
+ (WebCore::Frame::unfocusWindow):
+ (WebCore::Frame::respondToChangedSelection):
+ (WebCore::Frame::documentAtPoint):
+ * page/Frame.h:
+ (WebCore::Frame::create):
+ (WebCore::Frame::displayStringModifiedByEncoding):
+ (WebCore::Frame::pageZoomFactor):
+ (WebCore::Frame::textZoomFactor):
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add functions to print the glyph page trees for debugging
+ https://bugs.webkit.org/show_bug.cgi?id=27671
+
+ * platform/graphics/FontData.h: Defined a description() method.
+
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
+ its descendants.
+ (showGlyphPageTrees): Added. Prints all glyph page trees.
+ (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
+ * platform/graphics/GlyphPageTreeNode.h:
+
+ * platform/graphics/SegmentedFontData.cpp:
+ (WebCore::SegmentedFontData::description): Added.
+
+ * platform/graphics/SegmentedFontData.h:
+ * platform/graphics/SimpleFontData.cpp:
+ (WebCore::SimpleFontData::description): Added. Uses the platform data
+ as the description for non-svg, non-custom fonts.
+ * platform/graphics/SimpleFontData.h:
+
+ * platform/graphics/gtk/FontPlatformData.h:
+ * platform/graphics/gtk/FontPlatformDataGtk.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+ * platform/graphics/mac/FontPlatformData.h:
+ * platform/graphics/mac/FontPlatformDataMac.mm:
+ (WebCore::FontPlatformData::description): Added. Returns the
+ description of the CGFont, the size and the synthetic style flags,
+ if set.
+
+ * platform/graphics/qt/FontPlatformData.h:
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+ * platform/graphics/win/FontPlatformData.h:
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+ * platform/graphics/wince/FontPlatformData.h:
+
+ * platform/graphics/wx/FontPlatformData.h:
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ (WebCore::FontPlatformData::description): Added. Returns a null string.
+
+2009-07-24 Mads Ager <ager@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ SVG and XPath memory leaks in V8 bindings
+ https://bugs.webkit.org/show_bug.cgi?id=27488
+
+ Add proper 'create' methods to SVGPodTypeWrappers and
+ XPathNSResolvers in the V8 bindings to avoid memory leaks.
+
+ Introduce convertToV8Object methods that accept PassRefPtrs and
+ clean up the use of get() and release() on RefPtrs.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ * bindings/v8/V8SVGPODTypeWrapper.h:
+ (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
+ (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
+ (WebCore::V8SVGStaticPODTypeWrapper::create):
+ (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
+ (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
+ (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
+ (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
+ (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
+ (WebCore::V8SVGDynamicPODTypeWrapper::create):
+ (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
+ (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ClientRectListCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::create):
+ * bindings/v8/custom/V8CustomXPathNSResolver.h:
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-24 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Jon Honeycutt.
+
+ Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
+ https://bugs.webkit.org/show_bug.cgi?id=21794
+
+ Create two new booleans to determine whether we have done a springloaded pan scroll, and update
+ the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
+ does.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler): Initialized two new booleans.
+ (WebCore::EventHandler::autoscrollTimerFired):
+ (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
+ (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
+ (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
+ * page/EventHandler.h:
+
+2009-07-24 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27657
+ Add more wince port files to WebCore
+
+ Written by Yong Li <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
+
+ * loader/icon/wince/IconDatabaseWince.cpp: Added.
+ * rendering/RenderThemeWince.cpp: Added.
+ * rendering/RenderThemeWince.h: Added.
+ * storage/wince/DatabaseThreadWince.cpp: Added.
+ * storage/wince/DatabaseThreadWince.h: Added.
+ * storage/wince/LocalStorageThreadWince.cpp: Added.
+ * storage/wince/LocalStorageThreadWince.h: Added.
+ * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
+
+2009-07-24 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Justin Garcia.
+
+ execCommand('underline') can modify DOM outside of the contentEditable area
+ https://bugs.webkit.org/show_bug.cgi?id=24333
+
+ highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
+ outside of it, we don't accidently modify the style attribute.
+
+ Tests: editing/style/textdecoration-outside-of-rooteditable.html
+ editing/style/textdecoration-outside-of-unsplittable-element.html
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::init):
+ (WebCore::highestAncestorWithTextDecoration):
+
+2009-07-24 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27639
+
+ Fixes false positives when evaluating certain strings that only contain
+ non-canonical characters.
+
+ Test: http/tests/security/xssAuditor/script-tag-safe.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::isNonCanonicalCharacter):
+ (WebCore::XSSAuditor::findInRequest):
+
+2009-07-24 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Changed WorkerContext destructor to not access possibly-freed WorkerThread.
+
+ Failed assertion in WorkerContext::~WorkerContext().
+ https://bugs.webkit.org/show_bug.cgi?id=27665
+
+ * workers/DedicatedWorkerContext.cpp:
+ (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext):
+ Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
+
+2009-07-24 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Adam Barth.
+
+ Updated code generator to properly generate bindings for WorkerContext exposed functions.
+
+ Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
+ https://bugs.webkit.org/show_bug.cgi?id=27419
+
+ Test: fast/workers/worker-call.html
+
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJSDedicatedWorkerContext):
+ (WebCore::toJSWorkerContext):
+ Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
+ * bindings/js/JSWorkerContextBase.h:
+ Added toJS*WorkerContext APIs.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Added code to appropriately check the passed-in this object when invoking functions at global scope.
+
+2009-07-24 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Adam Barth.
+
+ Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
+ https://bugs.webkit.org/show_bug.cgi?id=27420
+
+ No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
+
+ * DerivedSources.cpp:
+ Added JSDerivedWorkerContext.cpp
+ * DerivedSources.make:
+ Added DerivedWorkerContext files
+ * GNUmakefile.am:
+ Added DerivedWorkerContext files
+ * WebCore.gypi:
+ Added DerivedWorkerContext files
+ * WebCore.pro:
+ Added DerivedWorkerContext files
+ * WebCore.vcproj/WebCore.vcproj:
+ Added DerivedWorkerContext files
+ * WebCore.xcodeproj/project.pbxproj:
+ Added DerivedWorkerContext files
+ * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
+ (WebCore::JSDedicatedWorkerContext::mark):
+ Custom mark function for onmessage event handler.
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ Supports conversion to JSDedicatedWorkerContext.
+ (WebCore::toEventTarget):
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::mark):
+ Moved onmessage mark handling into DedicatedWorkerContext.
+ * bindings/js/WorkerScriptController.cpp:
+ Added appropriate casts to DedicatedWorkerContext for postMessage().
+ (WebCore::WorkerScriptController::initScript):
+ Manually sets up the prototype chain for the worker context.
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
+ * bindings/v8/DOMObjectsInclude.h:
+ Added DedicatedWorkerContext.h
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ Added V8DedicatedWorkerContext.cpp
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getTemplate):
+ Added code to reserve extra fields for V8DedicatedWorkerContext.
+ * bindings/v8/V8Index.cpp:
+ Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
+ * bindings/v8/V8Index.h:
+ Added DedicatedWorkerContext as a non-node wrapper type.
+ Removed WORKERCONTEXT as a valid template type.
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ Creates DedicatedWorkerContext instead of WorkerContext.
+ (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
+ Returns DedicatedWorkerContext instead of WorkerContext.
+ (WebCore::WorkerContextExecutionProxy::retrieve):
+ Refactored to deal with DedicatedWorkerContext.
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
+ Moved onmessage code from V8WorkerContextCustom.cpp
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toDedicatedWorkerContext):
+ * dom/EventTarget.h:
+ * workers/DedicatedWorkerContext.cpp: Added.
+ Moved DedicatedWorker-only APIs from WorkerContext.
+ (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
+ (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
+ (WebCore::DedicatedWorkerContext::reportException):
+ (WebCore::DedicatedWorkerContext::postMessage):
+ (WebCore::DedicatedWorkerContext::dispatchMessage):
+ * workers/DedicatedWorkerContext.h: Added.
+ Moved DedicatedWorker-only APIs from WorkerContext.
+ (WebCore::DedicatedWorkerContext::create):
+ (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
+ (WebCore::DedicatedWorkerContext::setOnmessage):
+ (WebCore::DedicatedWorkerContext::onmessage):
+ * workers/DedicatedWorkerContext.idl: Added.
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::~WorkerContext):
+ Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::isClosing):
+ Exposed closing flag as an API so derived classes can access it.
+ * workers/WorkerContext.idl:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::MessageWorkerContextTask::performTask):
+ Calls into DedicatedWorkerContext to handle message.
+ * workers/WorkerThread.cpp:
+ (WebCore::WorkerThread::workerThread):
+ Creates a DedicatedWorkerContext when the thread starts up.
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move more callers to using 3 argument toJS
+ https://bugs.webkit.org/show_bug.cgi?id=27661
+
+ No functional changes, thus no tests.
+ These are all the places where we can't yet pass the
+ correct globalObject because we don't have or don't know the right one.
+
+ * bindings/js/JSCustomPositionCallback.cpp:
+ (WebCore::JSCustomPositionCallback::handleEvent):
+ * bindings/js/JSCustomPositionErrorCallback.cpp:
+ (WebCore::JSCustomPositionErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementCallback.cpp:
+ (WebCore::JSCustomSQLStatementCallback::handleEvent):
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionCallback.cpp:
+ (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+ * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+ (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/js/JSNodeFilterCondition.cpp:
+ (WebCore::JSNodeFilterCondition::acceptNode):
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Fix the last of the x-frame constructor calls to have the right prototype chains
+ https://bugs.webkit.org/show_bug.cgi?id=27645
+
+ Fix the last few constructors to use their stored globalObject pointer when
+ constructing objects instead of the lexicalGlobalObject().
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::constructImage):
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::construct):
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::constructHTMLOptionElement):
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::constructWebKitPoint):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::constructWorker):
+
+2009-07-24 Jian Li <jianli@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Cleanup exception handling in worker evaluation code.
+ https://bugs.webkit.org/show_bug.cgi?id=27282
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::evaluate):
+ (WebCore::WorkerScriptController::setException):
+
+2009-07-24 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by David Levin.
+
+ Reverting r46157, since it may be causing problems with Chromium
+ reliability (see http://crbug.com/17569).
+
+ https://bugs.webkit.org/show_bug.cgi?id=27388
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ REGRESSION: inspector seems broken in ToT WebKit
+ https://bugs.webkit.org/show_bug.cgi?id=27646
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add the shadow style member to the ShadowData constructor and ==
+ operator
+
+ * rendering/style/ShadowData.cpp:
+ (WebCore::ShadowData::ShadowData):
+ (WebCore::ShadowData::operator==):
+
+2009-07-24 Jian Li <jianli@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] More V8 bindings changes to use ErrorEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=27630
+
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+
+2009-07-24 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Clean up dependencies on Apple support libraries for non-Apple build.
+ http://bugs.webkit.org/show_bug.cgi?id=27532.
+
+ * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
+ to ApplicationServices.h and WebKitSystemInterface.h
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Another attempted build fix
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+
+2009-07-24 Dan Bernstein <mitz@apple.com>
+
+ Attempted build fix
+
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::toJS):
+
+2009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Build fix for 64 bit Linux.
+
+ int64_t is long on Linux 64 bit and not long long, thus
+ getFileSize with a int64_t out value fails to build.
+
+ Use a temporary to work around the problem.
+
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::spaceNeeded):
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
+ https://bugs.webkit.org/show_bug.cgi?id=27644
+
+ This is another attempt at making the change for bug 27634 smaller.
+ I included the changes to make_names.pl as well as any file which
+ used CREATE_DOM_*_WRAPPER macros.
+
+ The changes to the construct* functions are what fix the cases in
+ fast/dom/constructed-objects-prototypes.html
+
+ The changes to passing globalObject through CREATE_* are what fix
+ fast/dom/prototype-inheritance-2.html
+
+ * bindings/js/JSCDATASectionCustom.cpp:
+ (WebCore::toJSNewlyCreated): pass globalObject.
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
+ (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
+ (WebCore::toJSNewlyCreated): pass globalObject.
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::JSEvent::clipboardData): pass globalObject.
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
+ (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
+ (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapper): pass globalObject.
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS): pass globalObject.
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated): pass globalObject.
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
+ * dom/make_names.pl:
+ Pass globalObject through CREATE_* macros and various support functions.
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
+ https://bugs.webkit.org/show_bug.cgi?id=27643
+
+ This is an attempt to make this change as small as possible.
+ I started by including all changes to CodeGeneratorJS.pm from bug 27634,
+ and then made the minimal amount of other changes needed to support that change.
+
+ Most toJS implementations ignore their passed JSDOMGlobalObject.
+ There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
+ All places where it is not clear what we should pass as the global object
+ (or where the global object is simply not available, like for some SVG bindings)
+ we pass deprecatedGlobalObjectForPrototype instead.
+
+ * bindings/js/JSCDATASectionCustom.cpp:
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ * bindings/js/JSCSSRuleCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSCSSValueCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::setDOMException): pass the wrong globalObject for now
+ * bindings/js/JSDOMBinding.h:
+ Pass the wrong global object to the CREATE_ macros for now.
+ In the next change we'll come back and pass the correct one.
+ That will require changes to make_names.pl.
+ (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
+ (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
+ (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::getDOMObjectWrapper):
+ (WebCore::createDOMNodeWrapper):
+ (WebCore::getDOMNodeWrapper):
+ (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
+ (WebCore::toJSNewlyCreated):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::toJS): DOMWindow always uses its own prototype chain.
+ * bindings/js/JSDOMWindowBase.h:
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSEventTarget.h:
+ * bindings/js/JSHTMLCollectionCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSImageDataCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::toJS): pass globalObject along
+ * bindings/js/JSSVGMatrixCustom.cpp:
+ (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
+ (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
+ * bindings/js/JSSVGPathSegCustom.cpp:
+ (WebCore::toJS):
+ * bindings/js/JSSVGPathSegListCustom.cpp:
+ All of these methods need a globalObject, but most SVG binding don't have
+ space for one, so we just pass the lexicalGlobalObject for now.
+ (WebCore::JSSVGPathSegList::initialize):
+ (WebCore::JSSVGPathSegList::getItem):
+ (WebCore::JSSVGPathSegList::insertItemBefore):
+ (WebCore::JSSVGPathSegList::replaceItem):
+ (WebCore::JSSVGPathSegList::removeItem):
+ (WebCore::JSSVGPathSegList::appendItem):
+ * bindings/js/JSSVGPointListCustom.cpp:
+ (WebCore::finishGetter): pass wrong globalObject for now.
+ (WebCore::finishSetter):
+ (WebCore::finishSetterReadOnlyResult):
+ * bindings/js/JSSVGTransformListCustom.cpp:
+ (WebCore::finishGetter): pass wrong globalObject for now.
+ (WebCore::finishSetter):
+ (WebCore::finishSetterReadOnlyResult):
+ * bindings/js/JSStyleSheetCustom.cpp:
+ (WebCore::toJS): add ignored JSDOMGlobalObject*
+ * bindings/js/JSTextCustom.cpp:
+ (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
+ * bindings/js/JSWorkerContextBase.cpp:
+ (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
+ * bindings/js/JSWorkerContextBase.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ All generated toJS calls now pass a globalObject.
+ All generated toJS implementations now expect a globalObject.
+ Simplified all the slot casts by using a "castedThis" local.
+ SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
+ Simplified printing of constructor objects using a $constructorClassName variable.
+ All generated constructor functions follow the construct$className form to match the custom constructors.
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ typing "document.__proto__" in inspector throws exception
+ https://bugs.webkit.org/show_bug.cgi?id=27169
+
+ * inspector/front-end/utilities.js:
+ (Object.type):
+
+2009-07-24 Andrei Popescu <andreip@google.com>
+
+ Reviewed by Anders Carlsson.
+
+ ApplicationCache should have size limit
+ https://bugs.webkit.org/show_bug.cgi?id=22700
+
+ https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
+
+ This change implements a mechanism for limiting the maximum size of
+ the application cache file. When this size is reached, a ChromeClient
+ callback is invoked asynchronously and the saving of the last (failed)
+ cache is retried automatically.
+
+ This change also extends the ApplicationCacheStorage API by allowing
+ a client to query or modify the application cache without having to
+ load any resources into memory.
+
+ Test: http/tests/appcache/max-size.html
+
+ * WebCore.base.exp:
+ Exports the symbols required by the DumpRenderTree test application.
+ * loader/EmptyClients.h:
+ Adds empty implementation of the new ChromeClient methods.
+ * loader/appcache/ApplicationCache.cpp:
+ * loader/appcache/ApplicationCache.h:
+ Adds the ability to calculate the approximate size of an ApplicationCache object.
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ * loader/appcache/ApplicationCacheGroup.h:
+ Invokes the ChromeClient callback when the storage layer runs out of space.
+ After the callback is invoked, we re-attempt to store the newest cache,
+ in case the ChromeClient has freed some space.
+ * loader/appcache/ApplicationCacheResource.cpp:
+ * loader/appcache/ApplicationCacheResource.h:
+ Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ * loader/appcache/ApplicationCacheStorage.h:
+ Enforces a maximum size for the application cache file.
+ * page/ChromeClient.h:
+ Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
+ reached the maximum size for its database file.
+ * platform/sql/SQLiteDatabase.cpp:
+ * platform/sql/SQLiteDatabase.h:
+ Adds a new method that allows querying for the amount of unused space inside the
+ application cache database file.
+
+2009-07-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Use TextEncoding facilities to convert between UTF16 and UTF8
+ instead of rolling our own solution.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (convertUniCharToUTF8):
+
+2009-07-24 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Fix confusion in g_substr between length in bytes and length in
+ characters. Was causing crashes in some situations when dealing
+ with non-ASCII text encoded as UTF8.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (g_substr):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector: Impossible to add an attribute to a node without attributes
+ https://bugs.webkit.org/show_bug.cgi?id=21108
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement):
+ (WebInspector.ElementsTreeElement.prototype.set hovered):
+ (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
+ (WebInspector.ElementsTreeElement.prototype.ondblclick):
+ (WebInspector.ElementsTreeElement.prototype._startEditing):
+ (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
+ (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
+ * inspector/front-end/inspector.css:
+
+2009-07-24 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
+ https://bugs.webkit.org/show_bug.cgi?id=17907
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
+ _inspectedNodes, _addInspectedNode, $0, $1, $n}
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
+ in _inspectorCommandLineAPI._inspectedNodes
+ (WebInspector.ElementsPanel):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Dragging a resource in the sidebar should drag it's URL
+ https://bugs.webkit.org/show_bug.cgi?id=14410
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Double click on a resource in the sidebar should open that resource in Safari
+ https://bugs.webkit.org/show_bug.cgi?id=14409
+
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
+
+2009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
+
+ * platform/graphics/gtk/FontGtk.cpp:
+ (WebCore::getDefaultPangoLayout):
+ * platform/graphics/gtk/FontPlatformDataPango.cpp:
+ (WebCore::FontPlatformData::FontPlatformData):
+ * platform/gtk/Language.cpp:
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector: Missing UIString and other localizedString.js fixes
+ https://bugs.webkit.org/show_bug.cgi?id=27288
+
+ * English.lproj/localizedStrings.js:
+
+2009-07-24 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Inspector: Should Syntax Highlight JSON
+ https://bugs.webkit.org/show_bug.cgi?id=27503
+
+ * inspector/front-end/SourceView.js:
+ (WebInspector.SourceView.prototype._contentLoaded):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27624
+
+ * page/DragController.cpp:
+ (WebCore::DragController::~DragController):
+ (WebCore::documentFragmentFromDragData):
+ (WebCore::DragController::dragEnded):
+ (WebCore::DragController::dragEntered):
+ (WebCore::DragController::dragExited):
+ (WebCore::DragController::dragUpdated):
+ (WebCore::DragController::performDrag):
+ (WebCore::asFileInput):
+ (WebCore::DragController::tryDocumentDrag):
+ (WebCore::DragController::delegateDragSourceAction):
+ (WebCore::DragController::concludeEditDrag):
+ (WebCore::DragController::canProcessDrag):
+ (WebCore::DragController::tryDHTMLDrag):
+ (WebCore::DragController::mayStartDragAtEventLocation):
+ (WebCore::getCachedImage):
+ (WebCore::getImage):
+ (WebCore::prepareClipboardForImageDrag):
+ (WebCore::dragLocForDHTMLDrag):
+ (WebCore::DragController::startDrag):
+ (WebCore::DragController::doImageDrag):
+ (WebCore::DragController::doSystemDrag):
+ (WebCore::DragController::placeDragCaret):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/Chrome.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27608
+
+ * page/Chrome.cpp:
+ (WebCore::Chrome::runBeforeUnloadConfirmPanel):
+ (WebCore::Chrome::runJavaScriptAlert):
+ (WebCore::Chrome::runJavaScriptConfirm):
+ (WebCore::Chrome::runJavaScriptPrompt):
+ (WebCore::Chrome::shouldInterruptJavaScript):
+ (WebCore::Chrome::setToolTip):
+ (WebCore::Chrome::requestGeolocationPermissionForFrame):
+ (WebCore::ChromeClient::generateReplacementFile):
+ (WebCore::ChromeClient::paintCustomScrollbar):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/Coordinates.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27614
+
+ * page/Coordinates.cpp:
+ (WebCore::Coordinates::toString):
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27614
+
+ * page/DOMSelection.cpp:
+ (WebCore::DOMSelection::setBaseAndExtent):
+ (WebCore::DOMSelection::modify):
+ (WebCore::DOMSelection::addRange):
+ (WebCore::DOMSelection::deleteFromDocument):
+ * page/DOMSelection.h:
+
+2009-07-24 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27618
+
+ * page/DOMTimer.cpp:
+ (WebCore::DOMTimer::DOMTimer):
+ (WebCore::DOMTimer::~DOMTimer):
+ (WebCore::DOMTimer::fired):
+ (WebCore::DOMTimer::suspend):
+ (WebCore::DOMTimer::resume):
+ (WebCore::DOMTimer::canSuspend):
+ * page/DOMTimer.h:
+ (WebCore::DOMTimer::minTimerInterval):
+ (WebCore::DOMTimer::setMinTimerInterval):
+
+2009-07-24 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
+ https://bugs.webkit.org/show_bug.cgi?id=27641
+
+ Nothing uses globalObject() yet, but this was causing crashes
+ in the patch for bug 27634. This is covered by fast/dom/gc-6.html.
+
+ I decided to change these to Base:: instead of DOMObjectWithGlobal::
+ for future-proofing. All autogenerated classes use a typedef Base
+ to avoid bugs like these. Sadly C++ does not have a built-in super:: we could use.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ (WebCore::JSAbstractWorker::mark):
+ * bindings/js/JSDOMApplicationCacheCustom.cpp:
+ (WebCore::JSDOMApplicationCache::mark):
+ * bindings/js/JSMessageChannelCustom.cpp:
+ (WebCore::JSMessageChannel::mark):
+ * bindings/js/JSMessagePortCustom.cpp:
+ (WebCore::JSMessagePort::mark):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
+ * bindings/js/JSNodeCustom.cpp:
+ (WebCore::JSNode::mark):
+ * bindings/js/JSNodeFilterCustom.cpp:
+ (WebCore::JSNodeFilter::mark):
+ * bindings/js/JSNodeIteratorCustom.cpp:
+ (WebCore::JSNodeIterator::mark):
+ * bindings/js/JSSVGElementInstanceCustom.cpp:
+ (WebCore::JSSVGElementInstance::mark):
+ * bindings/js/JSTreeWalkerCustom.cpp:
+ (WebCore::JSTreeWalker::mark):
+
+2009-07-22 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Make most DOMObjects hold onto a JSDOMGlobalObject*
+ https://bugs.webkit.org/show_bug.cgi?id=27588
+
+ This change is almost entirely plumbing. Only one functional
+ change as part of this all (window.document.constructor has the correct prototype)
+ Changes are detailed below.
+
+ inner.document.constructor is fixed because all properties on the window
+ object are created with the correct globalObject (instead of the lexical one).
+ Since all objects now carry a globalObject pointer, when document creates
+ HTMLDocumentConstructor it now has the right globalObject to use.
+
+ Tests:
+ fast/dom/prototype-inheritance.html
+ fast/dom/prototype-inheritance-2.html
+
+ * bindings/js/DOMObjectWithSVGContext.h:
+ (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
+ Update the comment and add an ignored globalObject argument.
+ * bindings/js/JSDOMBinding.h:
+ Pass a globalObject to all DOMObjects during creation. Currently it's the wrong global object.
+ Once toJS is passed a globalObject it will be the right one.
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::createDOMNodeWrapper):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
+ (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
+ * bindings/js/JSDocumentCustom.cpp:
+ (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
+ * bindings/js/JSHTMLAllCollection.h:
+ (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
+ * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
+ (WebCore::getNamedItems):
+ (WebCore::callHTMLCollection):
+ (WebCore::JSHTMLCollection::canGetItemsForName):
+ (WebCore::JSHTMLCollection::nameGetter):
+ (WebCore::JSHTMLCollection::item):
+ (WebCore::JSHTMLCollection::namedItem):
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::nameGetter):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ Now passed globalObject. This is tested by inner.document.forms.testForm.
+ The passed globalObject is still wrong until toJS is fixed.
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
+ * bindings/js/JSNamedNodesCollection.h:
+ * bindings/js/JSSharedWorkerConstructor.cpp:
+ Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
+ This class is not compiled by default, so not testable.
+ (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
+ * bindings/js/JSSharedWorkerConstructor.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
+ SVG bindings which need a context() pointer do not have enough space for globalObject() too.
+ WorkerContext does not need a globalObject (it is one), so special case it.
+ Make all .constructor calls use the stored globalObject(). This is what fixes window.document.constructor.
+ Make all constructors inherit from DOMConstructorObject for consistency. Since the auto-bound constructors
+ override createStructure anyway, there is no functional change here. Just completing work started in r45938.
+
+2009-07-23 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
+ https://bugs.webkit.org/show_bug.cgi?id=27595
+
+ Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::removeResource): Null-check the request URL.
+
+ * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
+ (WebCore::willSendRequest):
+
+2009-07-23 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27633 - AXLoadComplete can be fired off to frequently
+ https://bugs.webkit.org/show_bug.cgi?id=27633
+
+ An integration issue left out some curly braces.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+
+2009-07-23 Darin Adler <darin@apple.com>
+
+ Reviewed by Brady Eidson.
+
+ URL appears in back/forward button menu instead of title for items with custom representation
+ https://bugs.webkit.org/show_bug.cgi?id=27586
+ rdar://problem/5060337
+
+ * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
+ loader is the correct one; previously this would never happen because we'd
+ commit the load before any title changes could be registered, but now we can
+ encounter a case where we get a title during a provisional load.
+
+2009-07-23 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ [CSS3 Backgrounds and Borders] Add support for inset box shadows
+ https://bugs.webkit.org/show_bug.cgi?id=27582
+
+ Test: fast/box-shadow/inset.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
+ as needed.
+
+ * css/CSSParser.cpp:
+ (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
+ members. Initialize the allowStyle member.
+ (WebCore::ShadowParseContext::commitValue): Pass the style value to the
+ ShadowValue constructor. Reset allowStyle.
+ (WebCore::ShadowParseContext::commitLength): Update allowStyle.
+ (WebCore::ShadowParseContext::commitColor): Ditto.
+ (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
+ updates the state.
+ (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
+ shadow value and pass it to the ShadowData constructor.
+
+ * css/ShadowValue.cpp:
+ (WebCore::ShadowValue::ShadowValue): Added style.
+ (WebCore::ShadowValue::cssText): Added style.
+
+ * css/ShadowValue.h:
+ (WebCore::ShadowValue::create): Added style.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc): Added a blend function for shadow styles. When blending
+ between normal and inset shadows, all intermediate values map to normal.
+ (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
+ shadow.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
+ which is passed through to RenderBoxModelObject::paintBoxShadow().
+
+ (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
+ the background.
+
+ * rendering/InlineFlowBox.h:
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
+ background.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
+ parameter, and code to paint inset shadows.
+
+ * rendering/RenderBoxModelObject.h:
+
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
+ the background.
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::paintBoxDecorations): Ditto.
+
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
+
+ * rendering/style/ShadowData.h:
+ Added a ShadowStyle enum.
+ (WebCore::ShadowData::ShadowData): Add and initialize a style member.
+
+2009-07-23 Simon Fraser <simon.fraser@apple.com>
+
+ Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::transform_3dMediaFeatureEval):
+
+2009-07-23 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ 3d-transforms media query needs to look check that accelerated compositing is enabled
+ https://bugs.webkit.org/show_bug.cgi?id=27621
+
+ When evaluating a media query with '-webkit-transform-3d', we need to check the
+ runtime switch that toggles accererated compositing, and therefore 3D.
+
+ No test because we can't disable the pref dynamically in DRT.
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::transform_3dMediaFeatureEval):
+
+2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ execCommand('underline') can't remove <U> underlines
+ https://bugs.webkit.org/show_bug.cgi?id=20215
+
+ This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
+ WebKit can remove those presentational tags when necessary.
+ It also modifies StyleChange::init not to add "text-decoration: none". Not only is this style meaningless
+ (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
+
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::hasValue): True if the property contains the specified value
+ * css/CSSValueList.h: Updated prototype
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::StyleChange::init): No longer adds "text-decoration: none"
+ (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
+
+2009-07-23 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27554
+ Expose the value of text-overflow in getComputedStyle.
+
+ Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ Add text-overflow to the list of computedProperties.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ Return the value of the text-overflow property.
+
+2009-07-23 Yongjun Zhang <yongjun.zhang@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27510
+
+ [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
+ file for linking. This is a temporary workaround for qmake bug in Symbian port, should
+ be reverted after qmake is fixed.
+
+ * WebCore.pro:
+
+2009-07-23 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Fix an assert in running workers in Chrome.
+ https://bugs.webkit.org/show_bug.cgi?id=27620
+
+ The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
+ to do not call removeObjectsFromWrapperMap for certain types of DOM
+ objects that exist only in main thread.
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
+
+2009-07-23 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27572
+ Implement support for background-attachment:local.
+
+ Added new test fast/overflow/overflow-with-local-attachment.html.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseFillProperty):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EFillAttachment):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::mapFillAttachment):
+ * css/CSSValueKeywords.in:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
+ * rendering/style/FillLayer.h:
+ (WebCore::FillLayer::attachment):
+ (WebCore::FillLayer::setAttachment):
+ (WebCore::FillLayer::hasFixedImage):
+ (WebCore::FillLayer::initialFillAttachment):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::backgroundAttachment):
+ (WebCore::InheritedFlags::maskAttachment):
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+
+2009-07-23 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
+ https://bugs.webkit.org/show_bug.cgi?id=27325
+
+ This patch deprecates copyInheritableProperties because it has been used for two different purposes:
+ 1. Calculating the typing style.
+ 2. Moving HTML subtrees and seeking to remove redundant styles.
+ These tasks should be broken out into two separate functions. New code should not use this function.
+
+ It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
+
+ There is no test since the patch does not change any behavior.
+
+ * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
+ (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
+ * css/CSSComputedStyleDeclaration.h: ditto
+ * editing/DeleteSelectionCommand.cpp: ditto
+ (WebCore::removeEnclosingAnchorStyle): ditto
+ (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
+ * editing/EditCommand.cpp: ditto
+ (WebCore::EditCommand::styleAtPosition): ditto
+ * editing/RemoveFormatCommand.cpp: ditto
+ (WebCore::RemoveFormatCommand::doApply): ditto
+ * editing/ReplaceSelectionCommand.cpp: ditto
+ (WebCore::handleStyleSpansBeforeInsertion): ditto
+ (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
+ * editing/markup.cpp: ditto
+ (WebCore::removeEnclosingMailBlockquoteStyle): ditto
+ (WebCore::removeDefaultStyles): ditto
+ (WebCore::createMarkup): ditto
+
+2009-07-22 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Audio element at default width shouldn't have time field.
+ https://bugs.webkit.org/show_bug.cgi?id=27589
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
+ forget to remember the visibility if there is no renderer.
+
+2009-07-23 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the
+ AccessibilityObject class
+
+ Mostly this is just moving empty stubs into the header rather than
+ muddying the cpp file with them. A few functions were made pure
+ virtual.
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::isARIAControl):
+ (WebCore::AccessibilityObject::clickPoint):
+ (WebCore::AccessibilityObject::documentFrameView):
+ (WebCore::AccessibilityObject::actionVerb):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::intValue):
+ (WebCore::AccessibilityObject::layoutCount):
+ (WebCore::AccessibilityObject::doAccessibilityHitTest):
+ (WebCore::AccessibilityObject::focusedUIElement):
+ (WebCore::AccessibilityObject::firstChild):
+ (WebCore::AccessibilityObject::lastChild):
+ (WebCore::AccessibilityObject::previousSibling):
+ (WebCore::AccessibilityObject::nextSibling):
+ (WebCore::AccessibilityObject::parentObjectIfExists):
+ (WebCore::AccessibilityObject::observableObject):
+ (WebCore::AccessibilityObject::linkedUIElements):
+ (WebCore::AccessibilityObject::titleUIElement):
+ (WebCore::AccessibilityObject::ariaRoleAttribute):
+ (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
+ (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
+ (WebCore::AccessibilityObject::roleValue):
+ (WebCore::AccessibilityObject::ariaAccessiblityName):
+ (WebCore::AccessibilityObject::ariaLabeledByAttribute):
+ (WebCore::AccessibilityObject::ariaDescribedByAttribute):
+ (WebCore::AccessibilityObject::accessibilityDescription):
+ (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
+ (WebCore::AccessibilityObject::axObjectCache):
+ (WebCore::AccessibilityObject::axObjectID):
+ (WebCore::AccessibilityObject::setAXObjectID):
+ (WebCore::AccessibilityObject::anchorElement):
+ (WebCore::AccessibilityObject::actionElement):
+ (WebCore::AccessibilityObject::boundingBoxRect):
+ (WebCore::AccessibilityObject::selectedTextRange):
+ (WebCore::AccessibilityObject::selectionStart):
+ (WebCore::AccessibilityObject::selectionEnd):
+ (WebCore::AccessibilityObject::url):
+ (WebCore::AccessibilityObject::selection):
+ (WebCore::AccessibilityObject::stringValue):
+ (WebCore::AccessibilityObject::title):
+ (WebCore::AccessibilityObject::helpText):
+ (WebCore::AccessibilityObject::textUnderElement):
+ (WebCore::AccessibilityObject::text):
+ (WebCore::AccessibilityObject::textLength):
+ (WebCore::AccessibilityObject::selectedText):
+ (WebCore::AccessibilityObject::accessKey):
+ (WebCore::AccessibilityObject::widget):
+ (WebCore::AccessibilityObject::widgetForAttachmentView):
+ (WebCore::AccessibilityObject::setFocused):
+ (WebCore::AccessibilityObject::setSelectedText):
+ (WebCore::AccessibilityObject::setSelectedTextRange):
+ (WebCore::AccessibilityObject::setValue):
+ (WebCore::AccessibilityObject::setSelected):
+ (WebCore::AccessibilityObject::makeRangeVisible):
+ (WebCore::AccessibilityObject::childrenChanged):
+ (WebCore::AccessibilityObject::addChildren):
+ (WebCore::AccessibilityObject::hasChildren):
+ (WebCore::AccessibilityObject::selectedChildren):
+ (WebCore::AccessibilityObject::visibleChildren):
+ (WebCore::AccessibilityObject::visiblePositionRange):
+ (WebCore::AccessibilityObject::visiblePositionRangeForLine):
+ (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
+ (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
+ (WebCore::AccessibilityObject::visiblePositionForPoint):
+ (WebCore::AccessibilityObject::nextVisiblePosition):
+ (WebCore::AccessibilityObject::previousVisiblePosition):
+ (WebCore::AccessibilityObject::visiblePositionForIndex):
+ (WebCore::AccessibilityObject::indexForVisiblePosition):
+ (WebCore::AccessibilityObject::index):
+ (WebCore::AccessibilityObject::doAXRangeForLine):
+ (WebCore::AccessibilityObject::doAXRangeForIndex):
+ (WebCore::AccessibilityObject::doAXStringForRange):
+ (WebCore::AccessibilityObject::doAXBoundsForRange):
+ (WebCore::AccessibilityObject::updateBackingStore):
+
+2009-07-23 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::wheelEvent):
+ * platform/ScrollView.h:
+
+2009-07-23 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27581
+ Drop the prefix from the box-shadow property.
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::ShadowParseContext::commitLength):
+ (WebCore::cssPropertyID):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * page/animation/AnimationBase.cpp:
+ (WebCore::ensurePropertyMap):
+
+2009-07-22 Viet-Trung Luu <viettrungluu@gmail.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27289
+ When a mouse click occurs on a scrollbar without a preceding mouse move
+ onto it, the release isn't handled correctly (since
+ EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
+ only on mouse move). (Side comment: That scrollbar-handling code
+ in EventHandler is ugly. It should be fixed properly.)
+
+ Tests: scrollbars/scrollbar-miss-mousemove.html
+ scrollbars/scrollbar-miss-mousemove-disabled.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ (WebCore::EventHandler::updateLastScrollbarUnderMouse):
+ * page/EventHandler.h:
+
+2009-07-23 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Update WebCore/page/BarInfo.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27606
+
+ * page/BarInfo.cpp:
+ (WebCore::BarInfo::visible):
+
+2009-07-23 Mike Fenton <mike.fenton@torchmobile.com>
+
+ Reviewed by David Levin.
+
+ Update WebCore/page/Console.cpp to conform to WebKit
+ Style Guidelines as identified by cpplint.py.
+ https://bugs.webkit.org/show_bug.cgi?id=27606
+
+ * page/Console.cpp:
+ (WebCore::printMessageSourceAndLevelPrefix):
+ (WebCore::Console::profile):
+ (WebCore::Console::time):
+
+2009-07-23 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Fix crashes with the QObject bindings after garbage collection.
+
+ There is one QtInstance per wrapped QObject, and that QtInstance keeps
+ references to cached JSObjects for slots. When those objects get
+ deleted due to GC, then they becoming dangling pointers.
+
+ When a cached member dies, it is now removed from the QtInstance's
+ cache.
+
+ As we cannot track the lifetime of the children, we have to remove
+ them from QtInstance alltogether. They are not cached and were
+ only used for mark(), but we _want_ them to be subject to gc.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
+ use qDeleteAll().
+ (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
+ clean m_methods and m_defaultMethod.
+ (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
+ (JSC::Bindings::QtField::valueFromInstance): Don't save children for
+ marking.
+ * bridge/qt/qt_instance.h: Declare removeCachedMethod.
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
+ with this on the instance.
+
+2009-07-23 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27599
+ 'const unsigned' in return value
+
+ Remove const modifier from unsigned return value, as it does not
+ make sense.
+
+ * dom/ErrorEvent.h:
+
+2009-07-22 Jens Alfke <snej@chromium.org>
+
+ Reviewed by David Levin.
+
+ Bug 22784: Improve keyboard navigation of Select elements.
+ Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
+ on non-Mac platforms.
+ https://bugs.webkit.org/show_bug.cgi?id=22784
+ http://code.google.com/p/chromium/issues/detail?id=4576
+
+ New test: LayoutTests/fast/forms/select-popup-pagekeys.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::nextValidIndex):
+ New utility fn for traversing items of a select's list.
+ (WebCore::SelectElement::menuListDefaultEventHandler):
+ Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
+
+2009-07-23 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Mark Rowe.
+
+ Fix a couple of compiler warnings.
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (copySurface):
+ * platform/graphics/gtk/SimpleFontDataGtk.cpp:
+ (WebCore::SimpleFontData::containsCharacters):
+
+2009-07-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by David Levin.
+
+ Enable HTML5 Datagrid defines for the Qt build.
+
+ * WebCore.pro:
+
+2009-07-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Make Node wrappers go fast
+ https://bugs.webkit.org/show_bug.cgi?id=27597
+
+ Profiles indicate we're spending a lot of time asking whether we're on
+ the main thread when looking up DOM wrappers for Nodes, but there isn't
+ much point in doing that work because Nodes only exist on the main
+ thread. I've also added an assert to keep us honest in this regard.
+
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::):
+ (WebCore::getDOMNodeMap):
+ (WebCore::DOMData::getCurrent):
+ (WebCore::DOMData::getCurrentMainThread):
+
+2009-07-22 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Remove unneeded virtual destructor from ScriptSourceProvider
+ https://bugs.webkit.org/show_bug.cgi?id=27563
+
+ * bindings/js/ScriptSourceProvider.h:
+
+2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
+ https://bugs.webkit.org/show_bug.cgi?id=27476
+
+ executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
+ This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
+ It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
+ and adds removeAll member function to CSSValueList.
+
+ Tests: editing/execCommand/toggle-text-decorations.html
+ fast/css/getComputedStyle/getComputedStyle-text-decoration.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
+ * css/CSSValueList.h:
+ * editing/EditorCommand.cpp:
+ (WebCore::applyCommandToFrame): Apply style to a frame using specified command
+ (WebCore::executeApplyStyle): Uses applyCommandToFrame
+ (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
+ (WebCore::executeToggleStyle): Toggles a style in CSSValueList
+ (WebCore::executeStrikethrough): Uses executeToggleStyleInList
+ (WebCore::executeUnderline): Uses executeToggleStyleInList
+
+2009-07-22 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27174
+ And
+ https://bugs.webkit.org/show_bug.cgi?id=26938
+
+ Code cleanup. Implements support for detecting attacks transformed by
+ PHP Magic Quotes/PHP addslashes().
+
+ Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
+ http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
+ http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
+ http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::isInvalidCharacter):
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
+ (WebCore::XSSAuditor::canLoadObject):
+ (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
+ and removes control characters that could otherwise cause a discrepancy between
+ the source code of a script and the outgoing HTTP parameters.
+ (WebCore::XSSAuditor::decodeURL):
+ (WebCore::XSSAuditor::decodeHTMLEntities):
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+
+2009-07-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Null deref in JSObject::mark due to null xhr wrapper
+ https://bugs.webkit.org/show_bug.cgi?id=27565
+
+ Make event target binding for appcache and xhr behave in the same way as
+ it does for all other events.
+
+ No test as I couldn't make a testcase which was remotely reliable.
+
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+
+2009-07-22 Mads Ager <ager@chromium.org>
+
+ Reviewed by David Levin.
+
+ Inform V8 of the amount of WebCore string memory it is keeping alive.
+ https://bugs.webkit.org/show_bug.cgi?id=27537
+
+ V8 uses external strings that are backed by WebCore strings. Since
+ the external strings themselves are small, V8 has no way of
+ knowing how much memory it is actually holding on to. With this
+ change, we inform V8 of the amount of WebCore string data it is
+ holding on to with external strings.
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::WebCoreStringResource::WebCoreStringResource):
+ (WebCore::WebCoreStringResource::~WebCoreStringResource):
+
+2009-07-22 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27562
+ Add the finalized versions of background-clip and background-origin. Remove background-clip from
+ the background shorthand and have it be auto-set based off background-origin's value.
+
+ Three new tests added in fast/backgrounds/size
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSMutableStyleDeclaration.cpp:
+ (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseFillShorthand):
+ (WebCore::CSSParser::parseFillProperty):
+ * css/CSSPropertyLonghand.cpp:
+ (WebCore::initShorthandMap):
+ * css/CSSPropertyNames.in:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/CSSValueKeywords.in:
+
+2009-07-22 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Hook up V8 bindings for DataGrid elements.
+ https://bugs.webkit.org/show_bug.cgi?id=27383
+ http://code.google.com/p/chromium/issues/detail?id=16730
+
+ Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
+ to handle exceptions, check appropriate JS prototypes, and
+ test column-list's item() method as well as array-indexing.
+
+ * WebCore.gypi: Added new source files.
+ * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
+ * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
+ * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
+ (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
+ * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::V8DataGridDataSource):
+ (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
+ * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::create):
+ (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
+ (WebCore::V8DataGridDataSource::jsDataSource):
+ (WebCore::asV8DataGridDataSource):
+ * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
+ * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
+ * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
+ * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-22 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ pushDownTextDecorationStyleAroundNode needs clean up
+ https://bugs.webkit.org/show_bug.cgi?id=27556
+
+ Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
+ While traversing, it will apply the specified style to all nodes but targetNode.
+ i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
+ * editing/ApplyStyleCommand.h: Updated prototype
+
+2009-07-22 Peter Kasting <pkasting@google.com>
+
+ Reviewed by David Kilzer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
+
+ * DerivedSources.make:
+ * css/makeprop.pl:
+ * css/makevalues.pl:
+
+2009-07-22 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Chromium has a build break after removal of JSRGBColor bindings
+ https://bugs.webkit.org/show_bug.cgi?id=27548
+
+ Fix a build break in Chromium V8 after the JSRGBColor bindings change:
+ https://bugs.webkit.org/show_bug.cgi?id=27242
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2009-07-22 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Chromium Linux: add static functions to FontPlatformData which allow
+ for setting the global font rendering preferences.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27513
+ http://code.google.com/p/chromium/issues/detail?id=12179
+
+ This should not affect any layout tests.
+
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setHinting):
+ (WebCore::FontPlatformData::setAntiAlias):
+ (WebCore::FontPlatformData::setSubpixelGlyphs):
+ (WebCore::FontPlatformData::setupPaint):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+
+2009-07-22 Mikhail Naganov <mnaganov@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Move Inspector panels creation into a function to make possible introducing
+ custom panels.
+
+ * inspector/front-end/inspector.js:
+ (WebInspector._createPanels):
+ (WebInspector.loaded):
+
+2009-07-22 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Print console command message upon evaluate
+ selection request; Handle errors in evaluation request
+ properly.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27535
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
+
+2009-07-22 Xan Lopez <xlopez@igalia.com>
+
+ Attempt to fix the GTK+ build.
+
+ * GNUmakefile.am:
+
+2009-07-21 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the Qt build.
+
+ * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
+
+2009-07-21 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27494
+
+ Fixes an issue that can cause a crash or unexpected behavior when calling
+ WebCore::ScriptSourceCode::source on a cached script.
+
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from
+ WebCore::ScriptSourceCode.
+ (WebCore::CachedScriptSourceProvider::source):
+ (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
+ * bindings/js/ScriptSourceCode.h:
+ (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
+ rewrote to use WebCore::ScriptSourceProvider.
+ (WebCore::ScriptSourceCode::source):
+ * bindings/js/ScriptSourceProvider.h: Added.
+ (WebCore::ScriptSourceProvider::ScriptSourceProvider):
+ (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
+ * bindings/js/StringSourceProvider.h: Modified to inherit from
+ WebCore::ScriptSourceCode.
+ (WebCore::StringSourceProvider::StringSourceProvider):
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Another attempt to fix the Windows build.
+
+ * WebCore.vcproj/WebCore.vcproj:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the Windows build.
+
+ * DerivedSources.cpp:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Attempt to fix the GTK build.
+
+ * GNUmakefile.am:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Autogenerate Objective-C binding implementation for RGBColor.
+
+ No functionality change.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/objc/DOMRGBColor.mm: Removed.
+ * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
+ WebCore::Color to NSColor*.
+ * css/RGBColor.idl:
+
+2009-07-21 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
+ JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
+
+ Move the JSC and Objective-C bindings onto using the RGBColor object instead
+ of just an unsigned int. The JSC bindings are now completely autogenerated for
+ this class. (Also removes the last lut from WebCore).
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSRGBColor.cpp: Removed.
+ * bindings/js/JSRGBColor.h: Removed.
+ * bindings/objc/DOM.mm:
+ (-[DOMRGBColor _color]):
+ * bindings/objc/DOMRGBColor.mm:
+ (-[DOMRGBColor dealloc]):
+ (-[DOMRGBColor finalize]):
+ (-[DOMRGBColor red]):
+ (-[DOMRGBColor green]):
+ (-[DOMRGBColor blue]):
+ (-[DOMRGBColor alpha]):
+ (-[DOMRGBColor color]):
+ * bindings/scripts/CodeGenerator.pm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseColor):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::getRGBColorValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::getRGBA32Value):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
+ * css/RGBColor.cpp:
+ (WebCore::RGBColor::alpha):
+ * css/RGBColor.h:
+ (WebCore::RGBColor::color):
+ (WebCore::RGBColor::RGBColor):
+ * css/RGBColor.idl:
+ * page/DOMWindow.idl:
+ * svg/SVGColor.cpp:
+ (WebCore::SVGColor::rgbColor):
+ * svg/SVGColor.h:
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
+ https://bugs.webkit.org/show_bug.cgi?id=27515
+
+ * workers/AbstractWorker.cpp:
+ (WebCore::AbstractWorker::dispatchScriptErrorEvent):
+
+2009-07-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Move m_context out of generator into a superclass
+ https://bugs.webkit.org/show_bug.cgi?id=27521
+
+ Mostly this is removing code from CodeGeneratorJS
+ and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
+
+ DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
+ know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
+
+ I also removed context pointer from SVGZoomEvent since it was never used.
+
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/DOMObjectWithSVGContext.h: Added.
+ (WebCore::DOMObjectWithSVGContext::context):
+ (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
+ * bindings/js/JSDOMBinding.h:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-07-21 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ REGRESSION (r46142): editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
+ https://bugs.webkit.org/show_bug.cgi?id=27480
+
+ Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
+ We made m_anchorType unsigned so that anchorType() returns the correct value.
+
+ * dom/Position.h:
+ (WebCore::Position::anchorType): statically cast to AnchorType
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Add V8 bindings for onerror in WorkerContext.
+ https://bugs.webkit.org/show_bug.cgi?id=27518
+
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
+ https://bugs.webkit.org/show_bug.cgi?id=27516
+
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::setOnerror):
+ (WebCore::WorkerContext::onerror):
+ * workers/WorkerContext.idl:
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add onerror to WorkerContext.
+ https://bugs.webkit.org/show_bug.cgi?id=27516
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::mark):
+ * workers/WorkerContext.h:
+ (WebCore::WorkerContext::setOnerror):
+ (WebCore::WorkerContext::onerror):
+ * workers/WorkerContext.idl:
+
+2009-07-21 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27509
+ Add font-related files for the WinCE port.
+
+ Written by Yong Li <yong.li@torchmobile.com>
+
+ * platform/graphics/wince/FontCacheWince.cpp: Added.
+ * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
+ * platform/graphics/wince/FontCustomPlatformData.h: Added.
+ * platform/graphics/wince/FontPlatformData.cpp: Added.
+ * platform/graphics/wince/FontPlatformData.h: Added.
+ * platform/graphics/wince/FontWince.cpp: Added.
+ * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
+ * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
+
+2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
+
+ * WebCorePrefix.h:
+
+2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
+
+ * WebCorePrefix.h:
+
+2009-07-21 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
+ https://bugs.webkit.org/show_bug.cgi?id=27478
+
+ This is just moving code.
+ I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
+
+ DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
+ (It's a baseclass because eventually all DOMObjects will have a global pointer, but
+ I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
+
+ DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
+ which require a backpointer to the Document to function. I made this a subclass of
+ DOMConstructorObject to make clear that most constructors can hold no-such assumptions
+ about having a back-pointer to the Document (since many constructors can be used from Workers).
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSAudioConstructor.h:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMObjectWithGlobalPointer::globalObject):
+ (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
+ (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
+ (WebCore::DOMObjectWithGlobalPointer::mark):
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ (WebCore::DOMConstructorWithDocument::document):
+ (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageConstructor.h:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSMessageChannelConstructor.h:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSOptionConstructor.h:
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+
+2009-07-21 James Hawkins <jhawkins@google.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27453
+ Initialize isInt when creating a CSSParserValue for a function.
+
+ No change in behavior, so no tests.
+
+ * css/CSSFunctionValue.cpp:
+ (WebCore::CSSFunctionValue::parserValue):
+
+2009-07-20 Jens Alfke <snej@google.com>
+
+ Reviewed by David Levin.
+
+ Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
+ Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
+ an arrow key is pressed.
+ https://bugs.webkit.org/show_bug.cgi?id=27448
+
+ No new tests; affects only control response to user input.
+
+ * dom/SelectElement.cpp:
+ Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
+ so it will behave compatibly with Mac HI guidelines on pop-up menus.
+ It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
+
+2009-07-21 Paul Godavari <paul@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ [Chromium] popup menus can crash when the selected index is -1
+ https://bugs.webkit.org/show_bug.cgi?id=27275
+
+ Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
+ is passed an index of less than 0 (which is possible under certain circumstances). This
+ change prevents such a value from causing a crash by enforcing valid index values passed
+ by all callers of isSelectableItem. isSelectableItem is now a private method of
+ PopupListBox, as there are no external callers.
+
+ Also cleaned up a small amount of code for style and grammar errors.
+
+ No automatic test is provided since we cannot send events to the child window used by
+ the popup menu.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::acceptIndex):
+ (WebCore::PopupListBox::selectIndex):
+ (WebCore::PopupListBox::isSelectableItem):
+ (WebCore::PopupListBox::selectPreviousRow):
+
+2009-07-21 Kevin Ollivier <kevino@theolliviers.com>
+
+ wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
+
+ * platform/network/curl/ResourceHandleManager.h:
+
+2009-07-21 Adam Roben <aroben@apple.com>
+
+ Roll out r46153, r46154, and r46155
+
+ These changes were causing build failures and assertion failures on
+ Windows.
+
+ * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+
+2009-07-21 Jian Li <jianli@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Implement ErrorEvent API.
+ https://bugs.webkit.org/show_bug.cgi?id=27387
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSEventCustom.cpp:
+ (WebCore::toJS):
+ * dom/ErrorEvent.cpp: Added.
+ * dom/ErrorEvent.h: Added.
+ * dom/ErrorEvent.idl: Added.
+ * dom/Event.cpp:
+ (WebCore::Event::isErrorEvent):
+ * dom/Event.h:
+
+2009-07-21 Priit Laes <plaes@plaes.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
+ https://bugs.webkit.org/show_bug.cgi?id=24602
+
+ Remove workaround required for <=libsoup-2.26.1
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::restartedCallback):
+
+2009-07-21 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ V8IsolatedWorld keeps a handle to a disposed context
+ https://bugs.webkit.org/show_bug.cgi?id=27397
+
+ Make a copy of the context handle before making it weak. We don't want
+ to make the original handle weak because we want it to survive for the
+ length of the V8IsolatedWorld::evaluate method.
+
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::V8IsolatedWorld):
+
+2009-07-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Web Inspector: Add ability to evaluate selection while on break point.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27502
+
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._loaded):
+ (WebInspector.SourceFrame.prototype._documentKeyDown):
+
+2009-07-21 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Special case ConsolePanel opening since
+ it is a 'fast view'.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27493
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::setWindowVisible):
+
+2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix Qt code to follow the WebKit Coding Style.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::qstring):
+ (WebCore::fixSpacing):
+ * platform/graphics/qt/FontQt43.cpp:
+ (WebCore::generateComponents):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::cursorToX):
+ * platform/graphics/qt/GradientQt.cpp:
+ (WebCore::Gradient::platformGradient):
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::toQtFillRule):
+ (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
+ (WebCore::GraphicsContext::~GraphicsContext):
+ (WebCore::GraphicsContext::getCTM):
+ (WebCore::GraphicsContext::concatCTM):
+ (WebCore::GraphicsContext::getWindowsContext):
+ * platform/graphics/qt/IconQt.cpp:
+ (WebCore::Icon::paint):
+ * platform/graphics/qt/ImageDecoderQt.cpp:
+ (WebCore::ImageDecoderQt::ReadContext::read):
+ (WebCore::ImageDecoderQt::ReadContext::readImageLines):
+ (WebCore::ImageDecoderQt::setData):
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern):
+ (WebCore::BitmapImage::draw):
+ * platform/graphics/qt/ImageSourceQt.cpp:
+ (WebCore::ImageSource::frameDurationAtIndex):
+ (WebCore::ImageSource::frameHasAlphaAtIndex):
+ (WebCore::ImageSource::frameIsCompleteAtIndex):
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ (WebCore::MediaPlayerPrivate::create):
+ (WebCore::MediaPlayerPrivate::bytesLoaded):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArcTo):
+ (WebCore::Path::isEmpty):
+ * platform/graphics/qt/TransformationMatrixQt.cpp:
+ (WebCore::TransformationMatrix::operator QTransform):
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::ClipboardQt):
+ (WebCore::ClipboardQt::clearData):
+ (WebCore::ClipboardQt::clearAllData):
+ (WebCore::ClipboardQt::getData):
+ (WebCore::ClipboardQt::setData):
+ (WebCore::ClipboardQt::setDragImage):
+ (WebCore::getCachedImage):
+ (WebCore::ClipboardQt::declareAndWriteDragImage):
+ (WebCore::ClipboardQt::writeURL):
+ (WebCore::ClipboardQt::writeRange):
+ (WebCore::ClipboardQt::hasData):
+ * platform/qt/ClipboardQt.h:
+ * platform/qt/ContextMenuItemQt.cpp:
+ (WebCore::ContextMenuItem::action):
+ (WebCore::ContextMenuItem::title):
+ * platform/qt/CursorQt.cpp:
+ (WebCore::westPanningCursor):
+ (WebCore::notAllowedCursor):
+ * platform/qt/DragDataQt.cpp:
+ (WebCore::DragData::containsFiles):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::asFragment):
+ * platform/qt/DragImageQt.cpp:
+ (WebCore::createDragImageIconForCachedImage):
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::getFileSize):
+ (WebCore::unloadModule):
+ * platform/qt/Localizations.cpp:
+ (WebCore::contextMenuItemTagShowSpellingPanel):
+ * platform/qt/MIMETypeRegistryQt.cpp:
+ (WebCore::):
+ * platform/qt/PasteboardQt.cpp:
+ (WebCore::Pasteboard::Pasteboard):
+ (WebCore::Pasteboard::writeSelection):
+ (WebCore::Pasteboard::plainText):
+ * platform/qt/PlatformKeyboardEventQt.cpp:
+ (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
+ * platform/qt/PlatformMouseEventQt.cpp:
+ (WebCore::PlatformMouseEvent::PlatformMouseEvent):
+ * platform/qt/PopupMenuQt.cpp:
+ (WebCore::PopupMenu::populate):
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::fallbackStyle):
+ (WebCore::inflateButtonRect):
+ (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
+ (WebCore::RenderThemeQt::paintButton):
+ (WebCore::RenderThemeQt::paintMenuList):
+ (WebCore::RenderThemeQt::applyTheme):
+ (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
+ (WebCore::RenderThemeQt::paintMediaBackground):
+ (WebCore::RenderThemeQt::paintMediaFullscreenButton):
+ * platform/qt/RenderThemeQt.h:
+ * platform/qt/ScreenQt.cpp:
+ (WebCore::screenRect):
+ (WebCore::usableScreenRect):
+ * platform/qt/ScrollbarQt.cpp:
+ (WebCore::Scrollbar::contextMenu):
+ * platform/qt/ScrollbarThemeQt.cpp:
+ (WebCore::scPart):
+ (WebCore::scrollbarPart):
+ * platform/qt/ScrollbarThemeQt.h:
+ * platform/qt/SharedBufferQt.cpp:
+ (WebCore::SharedBuffer::createWithContentsOfFile):
+ * platform/qt/TemporaryLinkStubs.cpp:
+ (PluginDatabase::defaultPluginDirectories):
+ (PluginDatabase::getPluginPathsInDirectories):
+ (PluginDatabase::isPreferredPluginDirectory):
+ (WebCore::getSupportedKeySizes):
+ (WebCore::signedPublicKeyAndChallengeString):
+ (WebCore::userIdleTime):
+ (WebCore::prefetchDNS):
+ * platform/text/qt/StringQt.cpp:
+ (WebCore::String::String):
+ * platform/text/qt/TextBoundaries.cpp:
+ * platform/text/qt/TextBreakIteratorQt.cpp:
+ (WebCore::TextBreakIterator::following):
+ (WebCore::TextBreakIterator::preceding):
+ (WebCore::WordBreakIteratorQt::first):
+ (WebCore::WordBreakIteratorQt::next):
+ (WebCore::WordBreakIteratorQt::previous):
+ (WebCore::CharBreakIteratorQt::first):
+ (WebCore::CharBreakIteratorQt::next):
+ (WebCore::CharBreakIteratorQt::previous):
+ (WebCore::characterBreakIterator):
+ * plugins/qt/PluginPackageQt.cpp:
+ (WebCore::PluginPackage::fetchInfo):
+ * plugins/qt/PluginViewQt.cpp:
+ (WebCore::PluginView::userAgentStatic):
+ (WebCore::PluginView::handlePostReadFile):
+ (WebCore::PluginView::init):
+
+2009-07-21 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by David Levin.
+
+ Added a first bunch of Haiku-specific files for WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26988
+
+ * platform/haiku/ClipboardHaiku.cpp: Added.
+ (WebCore::ClipboardHaiku::ClipboardHaiku):
+ (WebCore::ClipboardHaiku::clearData):
+ (WebCore::ClipboardHaiku::clearAllData):
+ (WebCore::ClipboardHaiku::getData):
+ (WebCore::ClipboardHaiku::setData):
+ (WebCore::ClipboardHaiku::types):
+ (WebCore::ClipboardHaiku::files):
+ (WebCore::ClipboardHaiku::dragLocation):
+ (WebCore::ClipboardHaiku::dragImage):
+ (WebCore::ClipboardHaiku::setDragImage):
+ (WebCore::ClipboardHaiku::dragImageElement):
+ (WebCore::ClipboardHaiku::setDragImageElement):
+ (WebCore::ClipboardHaiku::createDragImage):
+ (WebCore::ClipboardHaiku::declareAndWriteDragImage):
+ (WebCore::ClipboardHaiku::writeURL):
+ (WebCore::ClipboardHaiku::writeRange):
+ (WebCore::ClipboardHaiku::hasData):
+ * platform/haiku/ClipboardHaiku.h: Added.
+ (WebCore::ClipboardHaiku::create):
+ (WebCore::ClipboardHaiku::~ClipboardHaiku):
+ * platform/haiku/CookieJarHaiku.cpp: Added.
+ (WebCore::setCookies):
+ (WebCore::cookies):
+ (WebCore::cookiesEnabled):
+ * platform/haiku/CursorHaiku.cpp: Added.
+ (WebCore::Cursor::Cursor):
+ (WebCore::Cursor::~Cursor):
+ (WebCore::Cursor::operator=):
+ (WebCore::pointerCursor):
+ (WebCore::moveCursor):
+ (WebCore::crossCursor):
+ (WebCore::handCursor):
+ (WebCore::iBeamCursor):
+ (WebCore::waitCursor):
+ (WebCore::helpCursor):
+ (WebCore::eastResizeCursor):
+ (WebCore::northResizeCursor):
+ (WebCore::northEastResizeCursor):
+ (WebCore::northWestResizeCursor):
+ (WebCore::southResizeCursor):
+ (WebCore::southEastResizeCursor):
+ (WebCore::southWestResizeCursor):
+ (WebCore::westResizeCursor):
+ (WebCore::northSouthResizeCursor):
+ (WebCore::eastWestResizeCursor):
+ (WebCore::northEastSouthWestResizeCursor):
+ (WebCore::northWestSouthEastResizeCursor):
+ (WebCore::columnResizeCursor):
+ (WebCore::rowResizeCursor):
+ (WebCore::verticalTextCursor):
+ (WebCore::cellCursor):
+ (WebCore::contextMenuCursor):
+ (WebCore::noDropCursor):
+ (WebCore::copyCursor):
+ (WebCore::progressCursor):
+ (WebCore::aliasCursor):
+ (WebCore::noneCursor):
+ (WebCore::notAllowedCursor):
+ (WebCore::zoomInCursor):
+ (WebCore::zoomOutCursor):
+ (WebCore::grabCursor):
+ (WebCore::grabbingCursor):
+
+2009-07-21 Albert Astals Cid <aacid@kde.org>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Change #error line not to have a ' (single quote)
+
+ * DerivedSources.cpp:
+
+2009-07-21 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE_RUBY to list of build options
+ https://bugs.webkit.org/show_bug.cgi?id=27324
+
+ Added flag ENABLE_RUBY:
+
+ * Configurations/FeatureDefines.xcconfig:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/build-generated-files.sh:
+
+2009-07-21 James Hawkins <jhawkins@google.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27467
+ Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
+ if matrix.invert() fails. This prevents the use of an uninitialized
+ value in inverseMatrix.
+
+ No new tests added. Run
+ LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
+ under valgrind and notice there are no errors.
+
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::currentPathInLocalCoordinates):
+
+2009-07-21 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27388
+
+ Fix dotted and dashed borders on Chromium/skia. This follows
+ the logic in the Cg path, so results are much closer to Safari now
+ (some tests won't be exactly the same due to font layout differences).
+
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::drawLine):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::setupPaintForStroking):
+
+2009-07-20 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Gavin Barraclough.
+
+ Make it harder to misuse try* allocation routines
+ https://bugs.webkit.org/show_bug.cgi?id=27469
+
+ Add forwarding header for PossiblyNull type, and add missing null check
+ to ImageBuffer creation.
+
+ * ForwardingHeaders/wtf/PossiblyNull.h: Added.
+ * platform/graphics/cg/ImageBufferCG.cpp:
+ (WebCore::ImageBuffer::ImageBuffer):
+
+2009-07-20 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Guard access to installedMediaEngines()[0].
+
+ https://bugs.webkit.org/show_bug.cgi?id=27479
+ http://code.google.com/p/chromium/issues/detail?id=16541
+
+ Else where in the file, installedMediaEngines is always checked for
+ being empty because access. This patch adds a case which missed that
+ check.
+
+ This triggered a crash in Chromium:
+ http://www.yakeze.com/chat/example-chromium-crash/
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::load):
+
+2009-07-20 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Allow search entries to render with a CSS border if the RenderTheme
+ doesn't paint them.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27466
+ http://code.google.com/p/chromium/issues/detail?id=16958
+
+ <input type="search"> is very much like a text entry except that,
+ currently, if the RenderTheme doesn't deal with it, nothing is
+ rendered. With this patch, the default CSS border is rendered if the
+ RenderTheme requests it.
+
+ This will affect many layout tests, but only for Chromium Linux and
+ those results are not currently in the WebKit tree.
+
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paintBorderOnly):
+
+2009-07-17 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Switch to faster methods to access internal fields.
+ https://bugs.webkit.org/show_bug.cgi?id=27372
+
+ Minor refactoring.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
+ (WebCore::V8DOMWrapper::setDOMWrapper):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
+ (WebCore::V8DOMWrapper::convertToNativeObject):
+ (WebCore::V8DOMWrapper::convertToNativeEvent):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-20 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: cache Harfbuzz faces.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27473
+
+ Previously, we recreated the Harfbuzz face for each script-run. With
+ this patch, we keep the Harfbuzz face in the FontPlatformData (created
+ as needed) and so they will persist for the duration of the
+ FontPlatformData.
+
+ Shouldn't affect any layout tests. Results in a significant win on the
+ intl2 page cycler time.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::TextRunWalker::~TextRunWalker):
+ (WebCore::TextRunWalker::setupFontForScriptRun):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
+ (WebCore::FontPlatformData::FontPlatformData):
+ (WebCore::FontPlatformData::harfbuzzFace):
+ * platform/graphics/chromium/FontPlatformDataLinux.h:
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
+ (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
+ * platform/graphics/chromium/HarfbuzzSkia.h: Added.
+
+2009-07-20 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r46142): Need to remove showTreeThisForThis
+ https://bugs.webkit.org/show_bug.cgi?id=27475
+
+ Removes showTreeThisForThis
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
+
+2009-07-19 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Refactoring of indentRegion to fix bugs 26816 and 25317
+ https://bugs.webkit.org/show_bug.cgi?id=26816
+ https://bugs.webkit.org/show_bug.cgi?id=25317
+ https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
+
+ This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
+ and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
+
+ 1. We try to indent as many wrapping nodes as possible.
+ e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
+ 2. We do not delete any wrapping elements
+ With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
+ This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
+ With appendParagraphIntoNode, we can preserve all wrapping nodes.
+ 3. We only split the tree until the closest block node instead of until the root editable node.
+ This behavioral change fixes the bug 25317.
+ 4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
+ e.g. when a list is a child node of a div, and the entire div is intended,
+ we enclose the div by a single blockquote.
+
+ Note that new behavior is more consistent with that of Internet Explorer and Firefox.
+ To demonstrate this, the following tests are added.
+
+ Tests: editing/execCommand/indent-div-inside-list.html
+ editing/execCommand/indent-nested-blockquotes.html
+ editing/execCommand/indent-nested-div.html
+ editing/execCommand/indent-second-paragraph-in-blockquote.html
+
+ * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
+ (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
+ (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
+ (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
+ (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
+ (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
+ * editing/IndentOutdentCommand.h: updated prototype
+
+2009-07-20 Dan Bernstein <mitz@apple.com>
+
+ Try to fix release builds after r46136
+
+ * dom/Element.cpp:
+
+2009-07-17 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Eric Seidel.
+
+ Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
+ https://bugs.webkit.org/show_bug.cgi?id=27380
+
+ Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
+
+ * css/mediaControlsQT.css:
+
+2009-07-20 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Mark Rowe.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27468
+ Back out r46060, which caused problems for some Apple developers.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/WebCoreGenerated.vcproj:
+
+2009-07-20 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ When loading a custom view into a frame, the old document is still
+ around
+ <rdar://problem/5145841>
+
+ Safari fires onload before PDF is loaded into the browser
+ <rdar://problem/6618869>
+
+ Test: fast/loader/non-html-load-event.html
+
+ * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
+ * WebCore.gypi: Ditto.
+ * WebCore.pro: Ditto.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * WebCoreSources.bkl: Ditto.
+ * dom/Document.h:
+ (WebCore::Document::setStyleSelector): Added this protected accessor for
+ PlaceholderDocument to use.
+ * dom/Element.cpp:
+ (WebCore::Element::clientWidth): Check whether the document has a
+ renderer.
+ (WebCore::Element::clientHeight): Ditto.
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
+ that do not use an HTML view. Do not nullify the content size in
+ that case.
+ (WebCore::FrameLoader::transitionToCommitted): For frames that do not
+ use an HTML view, call receivedFirstData(), which sets up the
+ frame with a new PlaceHolderDocument.
+ * loader/PlaceholderDocument.cpp: Added.
+ (WebCore::PlaceholderDocument::attach): Sets up the style selector but
+ does not create a RenderView.
+ * loader/PlaceholderDocument.h: Added.
+ (WebCore::PlaceholderDocument::create):
+ (WebCore::PlaceholderDocument::PlaceholderDocument):
+
+2009-07-20 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Handle opacity and opacity animations on transform layers in Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=27398
+
+ This makes two changes, and only for Leopard.
+
+ First, whenever opacity is changed on a layer I propagate the
+ change into the content layer and all the children if the layer
+ on which opacity is set is a transform layer (preserve3D is true).
+ The opacity set is the accumulated opacity from this layer
+ and all its direct ancestor transform layers. Second, I turn off all
+ hardware opacity animation.
+
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::accumulatedOpacity):
+ (WebCore::GraphicsLayer::distributeOpacity):
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setOpacityInternal):
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setPreserves3D):
+ (WebCore::GraphicsLayerCA::setOpacity):
+ (WebCore::GraphicsLayerCA::animateFloat):
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ (WebCore::GraphicsLayerCA::setOpacityInternal):
+ (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
+
+2009-07-20 Yong Li <yong.li@torchmobile.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27349
+ Add GraphicsContext implementation for the WinCE port.
+
+ Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
+ with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
+
+ * platform/graphics/wince/GraphicsContextWince.cpp: Added.
+
+2009-07-20 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adding the Win SQLite VFS implementation for Chromium, and stubs
+ for the Mac and Linux VFSs.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26940
+
+ * WebCore.gypi:
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27097
+ [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
+
+ Check that an object is a RenderObject before trying to access its
+ renderer and related node.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_get_role):
+
+2009-07-20 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] font cache reworking
+ https://bugs.webkit.org/show_bug.cgi?id=27265
+
+ Reimplemented Qt's FontCache in a way that follows the shared one.
+ Now we can release its elements when those became inactive.
+ FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
+
+ No change in behavior, so no tests.
+
+ * platform/graphics/qt/FontCacheQt.cpp:
+ (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
+ (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
+ (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
+ It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
+ with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
+ FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
+ (WebCore::FontPlatformDataCacheKey::operator==):
+ (WebCore::FontPlatformDataCacheKey::hash):
+ (WebCore::FontPlatformDataCacheKey::computeHash):
+ (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
+ (WebCore::FontPlatformDataCacheKeyHash::hash):
+ (WebCore::FontPlatformDataCacheKeyHash::equal):
+ (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
+ (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
+ (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
+ (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
+ (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
+ (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
+ (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
+ (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
+ * platform/graphics/qt/FontFallbackListQt.cpp:
+ (WebCore::FontFallbackList::releaseFontData):
+ (WebCore::FontFallbackList::fontDataAt):
+ * platform/graphics/qt/FontPlatformData.h:
+ (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
+ (WebCore::FontPlatformData::bold): Ditto.
+ (WebCore::FontPlatformData::italic): Ditto.
+ (WebCore::FontPlatformData::smallCaps): Ditto.
+ (WebCore::FontPlatformData::pixelSize): Ditto.
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Holger Freyther.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26716
+ [Gtk] Each XMLHttpRequest leaks memory.
+
+ Free the SoupURI we create to check the URI. Fix suggested by John
+ Kjellberg.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::):
+
+2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ [Qt] On Symbian link against system sqlite3
+ https://bugs.webkit.org/show_bug.cgi?id=27368
+
+ Add an option to force linking against system sqlite3
+ by adding system-sqlite to the CONFIG variable.
+
+ The Symbian specific part of this patch is contributed by
+ Norbert Leser.
+
+ * WebCore.pro:
+
+2009-07-20 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Change the glib version check to check for the first unstable
+ release with g_mapped_file_unref. Otherwise this would be useless
+ until 2.22 is released, a few months from now.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+
+2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by and done with Tor Arne Vestbø.
+
+ Fix fast/css/pseudo-required-optional-*.html in the Qt build
+ after r46062.
+
+ These tests triggered a bug in RenderThemeQt where we did not fall back
+ to the unstyled painting of text areas and input fields when they have
+ a styled background.
+
+ Our re-implementation of isControlStyled incorrectly only checked the
+ border for determining whether to style or not. The base-implementation
+ performs the same check, but also includes the background. Removing
+ our implementation fixes the appearance.
+
+ * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
+ * platform/qt/RenderThemeQt.h: Ditto.
+
+2009-07-20 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ Add missing (sorted) header files to the HEADERS variable in the qmake
+ .pro file for improved completion in IDEs.
+
+ * WebCore.pro:
+
+2009-07-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Factor V8ConsoleMessage out of V8Proxy
+ https://bugs.webkit.org/show_bug.cgi?id=27421
+
+ No behavior change.
+
+ * WebCore.gypi:
+ * bindings/v8/V8ConsoleMessage.cpp: Added.
+ (WebCore::V8ConsoleMessage::V8ConsoleMessage):
+ (WebCore::V8ConsoleMessage::dispatchNow):
+ (WebCore::V8ConsoleMessage::dispatchLater):
+ (WebCore::V8ConsoleMessage::processDelayed):
+ (WebCore::V8ConsoleMessage::handler):
+ * bindings/v8/V8ConsoleMessage.h: Added.
+ (WebCore::V8ConsoleMessage::Scope::Scope):
+ (WebCore::V8ConsoleMessage::Scope::~Scope):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::logInfo):
+ (WebCore::reportUnsafeAccessTo):
+ (WebCore::V8Proxy::runScript):
+ (WebCore::V8Proxy::callFunction):
+ (WebCore::V8Proxy::newInstance):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ (WebCore::V8Proxy::processConsoleMessages):
+
+2009-07-19 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Adam Barth.
+
+ Remove unused member variable.
+
+ * svg/SVGPolyElement.h:
+
+2009-07-19 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ HTMLAudioElement: constructor should set "autobuffer" attribute
+ https://bugs.webkit.org/show_bug.cgi?id=27422
+
+ Test: media/audio-constructor-autobuffer.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::constructAudio):
+ Set 'autobuffer' attribute.
+
+2009-07-19 Thierry Bastian <thierry.bastian@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix the Qt build with mingw.
+
+ * WebCore.pro: Don't use MSVC commandline options to disable warnings
+ with mingw.
+
+2009-07-19 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Phase 2: Remove event listener methods from V8Proxy
+ https://bugs.webkit.org/show_bug.cgi?id=27415
+
+ No behavior change.
+
+ * bindings/v8/V8ObjectEventListener.cpp:
+ (WebCore::weakObjectEventListenerCallback):
+ (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::disconnectEventListeners):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::eventListeners):
+ (WebCore::V8Proxy::objectListeners):
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ (WebCore::getEventListener):
+ * bindings/v8/custom/V8CustomEventListener.cpp:
+ (WebCore::V8EventListener::~V8EventListener):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::getEventListener):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::getEventListener):
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
+ https://bugs.webkit.org/show_bug.cgi?id=27230
+
+ Use g_mapped_file_unref for GLIB version 2.22 onwards.
+
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::ResourceHandle::startHttp):
+
+2009-07-18 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Add spread radius support to -webkit-box-shadow
+ https://bugs.webkit.org/show_bug.cgi?id=27417
+ rdar://problem/7072267
+
+ Test: fast/box-shadow/spread.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::valueForShadow): Added a property ID parameter and used it to
+ include the spread length for box-shadow but not for text-shadow.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ Pass the property ID to valueForShadow().
+
+ * css/CSSParser.cpp:
+ (WebCore::ShadowParseContext::ShadowParseContext): Added property,
+ spread, and allowSpread members. Added a property ID parameter to
+ the constructor. Initialize the property and allowSpread members.
+ (WebCore::ShadowParseContext::allowLength): Added allowSpread.
+ (WebCore::ShadowParseContext::commitValue): Pass the spread value to
+ the ShadowValue constructor. Reset allowSpread.
+ (WebCore::ShadowParseContext::commitLength): Allow spread after blur
+ for the box-shadow property.
+ (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
+ (WebCore::CSSParser::parseShadow): Pass the property ID to
+ ShadowParseContext().
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
+ the shadow value and pass it to the ShadowData constructor.
+
+ * css/ShadowValue.cpp:
+ (WebCore::ShadowValue::ShadowValue): Added spread.
+ (WebCore::ShadowValue::cssText): Added spread.
+
+ * css/ShadowValue.h:
+ (WebCore::ShadowValue::create): Added spread.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::blendFunc): Blend the spread value.
+ (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
+ shadow.
+
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
+ the visual overflow calculations.
+ (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
+ (WebCore::InlineFlowBox::paint): Ditto.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::overflowHeight): Ditto.
+ (WebCore::RenderBlock::overflowWidth): Ditto.
+ (WebCore::RenderBlock::overflowLeft): Ditto.
+ (WebCore::RenderBlock::overflowTop): Ditto.
+ (WebCore::RenderBlock::overflowRect): Ditto.
+ (WebCore::RenderBlock::layoutBlock): Ditto.
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
+ casting rect by the shadow spread value. Adjust border radii if
+ necessary.
+
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
+ visual overflow calculations.
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::calculateRects): Ditto.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
+ (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
+
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
+ have spread.
+
+ * rendering/style/ShadowData.cpp:
+ (WebCore::ShadowData::ShadowData): Added spread.
+ (WebCore::ShadowData::operator==): Compare spread.
+ * rendering/style/ShadowData.h:
+ (WebCore::ShadowData::ShadowData): Added spread.
+
+2009-07-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Jan Alonzo.
+
+ Minor FrameLoader.cpp cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=27406
+
+ No behavior change.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::executeIfJavaScriptURL):
+
+2009-07-18 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Move event listener methods from V8Proxy to V8EventListenerList
+ https://bugs.webkit.org/show_bug.cgi?id=27408
+
+ Move some event listener code out of V8Proxy and into the event
+ listener list.
+
+ I'd like to remove these methods from V8Proxy entirely and just expose
+ getters for the lists themselves, but I'll do that in a follow up
+ patch.
+
+ * bindings/v8/V8EventListenerList.cpp:
+ (WebCore::V8EventListenerList::findWrapper):
+ * bindings/v8/V8EventListenerList.h:
+ (WebCore::V8EventListenerList::findOrCreateWrapper):
+ * bindings/v8/V8ObjectEventListener.cpp:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::findV8EventListener):
+ (WebCore::V8Proxy::findOrCreateV8EventListener):
+ (WebCore::V8Proxy::removeV8EventListener):
+ (WebCore::V8Proxy::findObjectEventListener):
+ (WebCore::V8Proxy::findOrCreateObjectEventListener):
+ (WebCore::V8Proxy::removeObjectEventListener):
+ * bindings/v8/V8Proxy.h:
+
+2009-07-18 Jeremy Orlow <jorlow@chromium.org>
+
+ Rubber stamped by Adam Barth.
+
+ Revert https://bugs.webkit.org/show_bug.cgi?id=27383
+ https://bugs.webkit.org/show_bug.cgi?id=27407
+
+ Revert Jens' patch. I believe he forgot to include a file.
+
+ * WebCore.gypi:
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getTemplate):
+ * bindings/v8/V8DataGridDataSource.cpp: Removed.
+ * bindings/v8/V8DataGridDataSource.h: Removed.
+ * bindings/v8/V8GCController.h:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-17 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27405
+
+ Fixes an issue when decoding HTML entities with an unknown named entity that
+ caused null-characters to be inserted into the decoded result.
+
+ Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
+ http/tests/security/xssAuditor/javascript-link-ampersand.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
+ non-zero entity values are not inserted during decoding process.
+
+2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
+
+ Reviewed by Holger Freyther.
+
+ Add Gtk to platforms that want to open the menulist using the
+ spacebar.
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::menuListDefaultEventHandler):
+
+2009-07-17 Mario Sanchez Prada <msanchez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25523
+ [GTK] The text displayed by push buttons is not exposed to assistive technologies
+
+ Add new public method text() to RenderButton and use it from
+ AccessibilityRenderObject::stringValue().
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::stringValue):
+ * rendering/RenderButton.cpp:
+ (WebCore::RenderButton::text):
+ * rendering/RenderButton.h:
+
+2009-07-17 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Restore proxy retrieval
+ https://bugs.webkit.org/show_bug.cgi?id=27369
+
+ No new tests are needed.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+
+2009-07-17 Yael Aharon <yael.aharon@nokia.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27351
+ Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
+ Use uname to find the correct platform for Linux.
+
+ * page/NavigatorBase.cpp:
+ (WebCore::NavigatorBase::platform):
+
+2009-07-17 Jens Alfke <snej@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Hook up V8 bindings for DataGrid elements.
+ https://bugs.webkit.org/show_bug.cgi?id=27383
+ http://code.google.com/p/chromium/issues/detail?id=16730
+
+ Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
+ to handle exceptions, check appropriate JS prototypes, and
+ test column-list's item() method as well as array-indexing.
+
+ * WebCore.gypi: Added new source files.
+ * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
+ * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
+ * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
+ (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
+ * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::V8DataGridDataSource):
+ (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
+ * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
+ (WebCore::V8DataGridDataSource::create):
+ (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
+ (WebCore::V8DataGridDataSource::jsDataSource):
+ (WebCore::asV8DataGridDataSource):
+ * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
+ * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
+ * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
+ * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ StorageArea should only contain methods we intend to proxy.
+ https://bugs.webkit.org/show_bug.cgi?id=27181
+
+ Right now, StorageAreaSync takes in a StorageArea* and calls methods
+ like importItem. Really, StorageAreaSync should be operating directly
+ on StorageAreaImpl* and those methods should be removed from StorageArea
+ since StorageAreaSync should never be attached to anything other than a
+ StorageAreaImpl.
+
+ This was pointed out in the review for
+ https://bugs.webkit.org/show_bug.cgi?id=27072
+
+ Also clean up StorageNamespaceImpl to operate directly on
+ StorageAreaImpl. Also, get rid of the factory for StorageArea
+ since nothing should ever create a StorageArea directly.
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * storage/StorageArea.cpp: Removed.
+ * storage/StorageArea.h:
+ (WebCore::StorageArea::~StorageArea):
+ * storage/StorageAreaImpl.cpp:
+ (WebCore::StorageAreaImpl::copy):
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::create):
+ (WebCore::StorageAreaSync::StorageAreaSync):
+ * storage/StorageAreaSync.h:
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::storageArea):
+ * storage/StorageNamespaceImpl.h:
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add v8 implementation for DOM Storage ScriptObjectQuarantine.
+ https://bugs.webkit.org/show_bug.cgi?id=27327
+
+ Wrap the storage object with a generic object as is done elsewhere in
+ the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
+ enabled.
+
+ * bindings/v8/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject):
+
+2009-07-17 Mads Ager <ager@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27394
+ Fix access to global object wrappers after navigation of their
+ frame in the V8 bindings. This fixes selenium test failures.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::updateDocument):
+
+2009-07-17 Mark Rowe <mrowe@apple.com>
+
+ Fix the 32-bit build by removing implicit float <-> double conversions.
+
+ * inspector/InspectorController.cpp:
+ (WebCore::constrainedAttachedWindowHeight):
+
+2009-07-17 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
+ https://bugs.webkit.org/show_bug.cgi?id=14272
+
+ Moved preference setting for attached inspector height and inspector height calculation from
+ WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
+ Windows resizing of attached inspector.
+
+ * inspector/InspectorController.cpp:
+ * inspector/InspectorController.h:
+
+2009-07-17 Dan Bernstein <mitz@apple.com>
+
+ Another attempt at fixing the build after r46063
+
+ * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
+ header, because it is now included from htmlediting.h, which is
+ a private header.
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27396
+ Moving cursor in Thai text sometimes jumps over two characters
+
+ Test: editing/text-iterator/thai-cursor-movement.html
+
+ * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
+ case for five Thai characters, matching ICU/CLDR changes.
+
+2009-07-14 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Some constructor objects exposed on Window have the wrong prototype chain
+ https://bugs.webkit.org/show_bug.cgi?id=27276
+
+ Several Constructor classes were already being passed a global object
+ during construction, but they were ignoring it for prototype lookup.
+ I've fixed those to use the passed global object instead.
+
+ Most of these Constructor classes should just be auto-generated, but I
+ refrained from changing them over to auto-gen in this patch.
+
+ Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
+ available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
+ to match existing behavior.
+
+ Test: fast/dom/prototype-inheritance.html
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
+ (WebCore::deprecatedGetDOMStructure):
+ * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
+ (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
+ (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
+ (WebCore::JSDOMWindow::worker): pass "this" for the global object.
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
+ * bindings/js/JSWebKitCSSMatrixConstructor.h:
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
+ * bindings/js/JSWebKitPointConstructor.h:
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
+ * bindings/js/JSWorkerConstructor.h:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
+ -- XMLHttpRequest constructor was also missing a length. Added one.
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ * bindings/js/JSXSLTProcessorConstructor.h:
+ * bindings/scripts/CodeGeneratorJS.pm:
+
+2009-07-17 Dan Bernstein <mitz@apple.com>
+
+ Build fix
+
+ * editing/htmlediting.cpp:
+ (WebCore::visiblePositionBeforeNode):
+ (WebCore::visiblePositionAfterNode):
+
+2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Gtk build fix for symbol lookup error.
+
+ Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
+ Changed in http://trac.webkit.org/changeset/46048
+
+ * GNUmakefile.am:
+
+2009-07-17 Ryosuke Niwa <ryosuke.niwa@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ htmlediting.cpp needs more utility functions to fix the bug 26816
+ https://bugs.webkit.org/show_bug.cgi?id=27038
+
+ In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
+
+ No tests because functions haven't been used anywhere yet.
+
+ * dom/Range.cpp:
+ (WebCore::Range::create):
+ (WebCore::Range::comparePoint): added const qualifier
+ (WebCore::Range::compareNode): added const qualifier
+ * dom/Range.h:
+ * editing/htmlediting.cpp:
+ (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
+ (WebCore::positionBeforeNode): added ASSERT(node)
+ (WebCore::positionAfterNode): added ASSERT(node)
+ (WebCore::visiblePositionBeforeNode):
+ (WebCore::visiblePositionAfterNode):
+ (WebCore::createRange): create a range object from two visible positions
+ (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
+ (WebCore::canMergeLists): typo
+ (WebCore::indexForVisiblePosition): added const qualifier
+ (WebCore::isVisiblyAdjacent): typo
+ (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
+ * editing/htmlediting.h:
+
+2009-07-17 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25551
+ Added support for the "required" attribute, the valueMissing flag
+ to the ValidityState object and :required/:optional CSS pseudoclasses.
+ Part of HTML5 sec. Forms specs.
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
+
+ Tests: fast/css/pseudo-required-optional-001.html
+ fast/css/pseudo-required-optional-002.html
+ fast/css/pseudo-required-optional-003.html
+ fast/css/pseudo-required-optional-004.html
+ fast/css/pseudo-required-optional-005.html
+ fast/css/pseudo-required-optional-006.html
+ fast/forms/ValidityState-valueMissing-001.html
+ fast/forms/ValidityState-valueMissing-002.html
+ fast/forms/ValidityState-valueMissing-003.html
+ fast/forms/ValidityState-valueMissing-004.html
+ fast/forms/ValidityState-valueMissing-005.html
+ fast/forms/ValidityState-valueMissing-006.html
+ fast/forms/ValidityState-valueMissing-007.html
+ fast/forms/ValidityState-valueMissing-008.html
+ fast/forms/ValidityState-valueMissing-009.html
+ fast/forms/required-attribute-001.html
+ fast/forms/required-attribute-002.html
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
+ * css/CSSSelector.h:
+ (WebCore::CSSSelector::): ditto
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
+ * dom/Element.h:
+ (WebCore::Element::isOptionalFormControl): check for optional controls
+ (WebCore::Element::isRequiredFormControl): check for required controls
+ * html/HTMLAttributeNames.in: required attribute
+ * html/HTMLButtonElement.h:
+ (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::required): requiredAttr getter
+ (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::valueMissing): method definition
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::valueMissing): validation code
+ (WebCore::HTMLInputElement::isRequiredFormControl): ditto
+ * html/HTMLInputElement.h:
+ (WebCore::HTMLInputElement::isOptionalFormControl): ditto
+ * html/HTMLInputElement.idl: required DOM attribute
+ * html/HTMLSelectElement.h:
+ (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
+ * html/HTMLTextAreaElement.h:
+ (WebCore::HTMLTextAreaElement::valueMissing): validation code
+ (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
+ (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
+ * html/HTMLTextAreaElement.idl: required DOM attribute
+ * html/ValidityState.cpp:
+ * html/ValidityState.h:
+ (WebCore::ValidityState::valueMissing): validation flag
+
+2009-07-17 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom
+ cursor hotspots should work in quirks mode
+ - and corresponding <rdar://problem/6554340>
+
+ Enable hotspots in quirks mode.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+
+ Update this manual test to reflect the fact that hotspots are now
+ expected to work in quirks mode.
+ * manual-tests/css3-cursor-fallback-quirks.html:
+
+2009-07-17 Peter Kasting <pkasting@google.com>
+
+ Reviewed by Steve Falkenburg.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27323
+ Only add Cygwin to the path when it isn't already there. This avoids
+ causing problems for people who purposefully have non-Cygwin versions of
+ executables like svn in front of the Cygwin ones in their paths.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/WebCoreGenerated.vcproj:
+
+2009-07-17 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27384
+ Random crashes in appcache/update-cache.html test
+
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
+ after canceling it.
+
+2009-07-17 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Need to refactor Worker to derive from AbstractWorker
+ https://bugs.webkit.org/show_bug.cgi?id=26948
+
+ Changed Worker to derive from AbstractWorker, which involved moving
+ AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
+ ENABLE_WORKERS.
+
+ Removed obsolete functionality from the JS/V8 bindings that is now
+ inherited from AbstractWorker.
+
+ * WebCore.pro:
+ Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
+ * bindings/js/JSAbstractWorkerCustom.cpp:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * bindings/js/JSWorkerCustom.cpp:
+ Removed obsolete event listener code (now in base class)
+ (WebCore::JSWorker::mark):
+ No longer need to explicitly mark event listeners (handled by base class).
+ * bindings/v8/V8Index.h:
+ Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * bindings/v8/custom/V8CustomBinding.h:
+ Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ Removed obsolete event listener code that now lives in the base class.
+ (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
+ * workers/AbstractWorker.cpp:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * workers/AbstractWorker.h:
+ Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
+ * workers/Worker.cpp:
+ Removed event listener code (now in base class).
+ (WebCore::Worker::Worker): Now derives from AbstractWorker.
+ (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
+ * workers/Worker.h:
+ Removed APIs that now live in the base class.
+ * workers/Worker.idl:
+ Now derives from AbstractWorker.
+ Removed APIs that live in the base class, and added a GenerateToJS flag.
+
+2009-07-17 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27379
+ Absolutely-positioned elements with a scrollbar wrap prematurely. Make sure to include
+ the vertical scrollbar width for overflow:scroll elements.
+
+ Added fast/css/positioned-overflow-scroll.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::calcPrefWidths):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::calcPrefWidths):
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=27375
+
+ In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
+ and StorageEvent.cpp. Unfortunately, until later this afternoon,
+ DOM_STORAGE is not turned on by default in Chromium, and so these two
+ files are never generated. This breaks the compile.
+
+ There are no other instances of guards in the file, which puzzles me...
+ but I think adding guards is the right way to go about this.
+
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Added the guard.
+
+2009-07-17 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26496
+
+ Let WebCore always enforce the connection-per-host limit itself.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests):
+
+2009-07-17 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by David Hyatt.
+
+ Some transitions don't work correctly on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=27356
+
+ We only have code to do component animation using valueFunction.
+ So on Leopard we always need to do matrix animation in hardware.
+ This fix ensures that.
+
+ This is currently not testable because it appears only in the
+ hardware animation and we can't yet do pixel tests while
+ hardware animating.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::animateTransform):
+
+2009-07-17 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK+] Crash in screenAvailable due a null Widget*
+
+ JSDOMWindow::open called screenAvailableRect(0). The other
+ Screen methods can be called with a null widget as well, fix the
+ crashing test by checking for null.
+
+ In screenRect and screenAvailableRect it is not tried to use
+ a default screen as the existing implementation didn't try either
+ in case of not having a toplevel widget.
+
+ LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
+
+ * platform/gtk/PlatformScreenGtk.cpp:
+ (WebCore::getVisual): New method to get a visual or return zero.
+ (WebCore::screenDepth): Use getVisual.
+ (WebCore::screenDepthPerComponent): Use getVisual.
+ (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
+ (WebCore::screenRect): Check for !widget.
+ (WebCore::screenAvailableRect): Check for !widget.
+
+2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix the include path for the Symbian port
+ https://bugs.webkit.org/show_bug.cgi?id=27358
+
+ * WebCore.pro:
+
+2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
+
+ Reviewed by Simon Hausmann.
+
+ Make it possible to set the plugin directories from the DRT.
+ Part of https://bugs.webkit.org/show_bug.cgi?id=27215
+
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::installedPlugins): Now optionally takes
+ a populate argument, so we can avoid loading system plugins from the
+ DRT and thus avoid their strerr errors that can make tests fail.
+ (WebCore::PluginDatabase::clear): Make it possible to clear the
+ database. Called from setPluginDirectories.
+ * plugins/PluginDatabase.h:
+ (WebCore::PluginDatabase::setPluginDirectories): Make public
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ PluginViewMac: Stop the plugin when loading fails
+
+ Also, prevent event propagation when in the stopped state
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ PluginViewMac: Allow query and set of drawing and event models
+
+ We now support querying and setting of the drawing and event model,
+ but we still only support the CoreGraphics drawing model, and the
+ Carbon event model.
+
+ If unsupported drawing or event models are detected we show the
+ missing-plugin icon.
+
+ * plugins/PluginView.cpp:
+ * plugins/PluginView.h:
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Initialize two PluginView members using memset
+
+ m_npWindow is used on all platforms, not just for XP_UNIX,
+ so always initialize it. m_npCgContext on the other hand
+ is only used for XP_MACOSX.
+
+ * plugins/PluginView.cpp:
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add more debug logging in PluginView
+
+ * plugins/PluginView.cpp: Add debug for setValue
+ * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
+ * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
+ * plugins/qt/PluginViewQt.cpp: Add debug for getValue
+ * plugins/win/PluginViewWin.cpp: Add debug for getValue
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Use same license in PluginDebug.cpp as in the original PluginDebug.h
+
+ * plugins/PluginDebug.cpp: Use license from PluginDebug.h
+
+2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ Add more debugging functionality for the WebCore NPAPI layer
+
+ * GNUmakefile.am: Add PluginDebug.cpp
+ * WebCore.gypi: Add PluginDebug.cpp
+ * WebCore.pro: Add PluginDebug.cpp
+ * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
+ * WebCoreSources.bkl: Add PluginDebug.cpp
+ * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
+ * plugins/PluginDebug.cpp: New file
+
+2009-07-17 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by David Levin.
+
+ Fix Chromium build with DOM_STORAGE enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=27360
+
+ 2 minor changes as noted below:
+
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
+ * storage/StorageAreaImpl.cpp: #include "DOMWindow.h"
+
+2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
+ https://bugs.webkit.org/show_bug.cgi?id=27206
+
+ Add ENABLE_WEB_SOCKETS
+
+ * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
+ * GNUmakefile.am: add ENABLE_WEB_SOCKETS
+ * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
+ * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added a third bunch of Haiku-specific files for WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
+ FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
+
+ * platform/haiku/EventLoopHaiku.cpp: Added.
+ (WebCore::EventLoop::cycle):
+ * platform/haiku/FileChooserHaiku.cpp: Added.
+ (WebCore::FileChooser::FileChooser):
+ (WebCore::FileChooser::basenameForWidth):
+ * platform/haiku/FileSystemHaiku.cpp: Added.
+ (WebCore::fileSystemRepresentation):
+ (WebCore::homeDirectoryPath):
+ (WebCore::openTemporaryFile):
+ (WebCore::closeFile):
+ (WebCore::writeToFile):
+ (WebCore::unloadModule):
+ (WebCore::listDirectory):
+ * platform/haiku/KeyboardCodes.h: Added.
+ * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
+ (WebCore::):
+ (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added a second bunch of Haiku-specific files for WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=26952
+
+ Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
+ DragDataHaiku.cpp and DragImageHaiku.cpp
+
+ * platform/haiku/ContextMenuHaiku.cpp: Added.
+ (WebCore::ContextMenuReceiver::ContextMenuReceiver):
+ (WebCore::ContextMenuReceiver::HandleMessage):
+ (WebCore::ContextMenuReceiver::Result):
+ (WebCore::ContextMenu::ContextMenu):
+ (WebCore::ContextMenu::~ContextMenu):
+ (WebCore::ContextMenu::appendItem):
+ (WebCore::ContextMenu::itemCount):
+ (WebCore::ContextMenu::insertItem):
+ (WebCore::ContextMenu::platformDescription):
+ (WebCore::ContextMenu::setPlatformDescription):
+ * platform/haiku/ContextMenuItemHaiku.cpp: Added.
+ (ContextMenuItem::ContextMenuItem):
+ (ContextMenuItem::~ContextMenuItem):
+ (ContextMenuItem::releasePlatformDescription):
+ (ContextMenuItem::type):
+ (ContextMenuItem::setType):
+ (ContextMenuItem::action):
+ (ContextMenuItem::setAction):
+ (ContextMenuItem::title):
+ (ContextMenuItem::setTitle):
+ (ContextMenuItem::platformSubMenu):
+ (ContextMenuItem::setSubMenu):
+ (ContextMenuItem::setChecked):
+ (ContextMenuItem::setEnabled):
+ (ContextMenuItem::enabled):
+ * platform/haiku/DragDataHaiku.cpp: Added.
+ (WebCore::DragData::canSmartReplace):
+ (WebCore::DragData::containsColor):
+ (WebCore::DragData::containsFiles):
+ (WebCore::DragData::asFilenames):
+ (WebCore::DragData::containsPlainText):
+ (WebCore::DragData::asPlainText):
+ (WebCore::DragData::asColor):
+ (WebCore::DragData::createClipboard):
+ (WebCore::DragData::containsCompatibleContent):
+ (WebCore::DragData::containsURL):
+ (WebCore::DragData::asURL):
+ (WebCore::DragData::asFragment):
+ * platform/haiku/DragImageHaiku.cpp: Added.
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::dissolveDragImageToFraction):
+ (WebCore::createDragImageFromImage):
+ (WebCore::createDragImageIconForCachedImage):
+
+2009-07-16 Stephen White <senorblanco@chromium.org>
+
+ Reviewed by Darin Fisher and Brett Wilson.
+
+ Refactor Skia implementation of gradients and patterns.
+
+ http://bugs.webkit.org/show_bug.cgi?id=26618
+
+ The following layout tests were breaking on Chromium/Linux:
+
+ LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
+ LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
+ LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
+ LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
+
+ I could've fixed these the easy way, by copying the same 5
+ lines of code we use everywhere we need patterns or gradients, but
+ I decided to fix it the hard way: by refactoring the code so that
+ PlatformContextSkia::setupPaintForFilling() and
+ PlatformContextSkia::setupPaintForStroking() do the right thing,
+ and also handle gradients and patterns.
+
+ This required pushing the gradients and patterns set in
+ (generic) GraphicsContext::setFillPattern() and friends down into
+ PlatformContextSkia. For this, I followed the setPlatformXXX()
+ pattern used elsewhere in GraphicsContext, and stubbed them out on
+ the other platforms with #if !PLATFORM(SKIA). This also required
+ pushing changes to the gradientSpaceTransform from the Gradient into
+ GradientSkia.
+
+ Since it's a Skia context, I decided to cache the values as
+ SkShaders. There were existing m_pattern and m_gradient SkShaders,
+ but they were unused, and whose use was ambiguous, so I
+ replaced them with one SkShader each for filling and stroking.
+
+ * platform/graphics/Gradient.cpp:
+ (WebCore::Gradient::setGradientSpaceTransform):
+ (WebCore::Gradient::setPlatformGradientSpaceTransform):
+ * platform/graphics/Gradient.h:
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::setStrokePattern):
+ (WebCore::GraphicsContext::setFillPattern):
+ (WebCore::GraphicsContext::setStrokeGradient):
+ (WebCore::GraphicsContext::setFillGradient):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/skia/GradientSkia.cpp:
+ (WebCore::Gradient::setPlatformGradientSpaceTransform):
+ * platform/graphics/skia/GraphicsContextSkia.cpp:
+ (WebCore::GraphicsContext::fillPath):
+ (WebCore::GraphicsContext::fillRect):
+ (WebCore::GraphicsContext::setPlatformFillGradient):
+ (WebCore::GraphicsContext::setPlatformFillPattern):
+ (WebCore::GraphicsContext::setPlatformStrokeGradient):
+ (WebCore::GraphicsContext::setPlatformStrokePattern):
+ (WebCore::GraphicsContext::strokePath):
+ (WebCore::GraphicsContext::strokeRect):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (PlatformContextSkia::State::State):
+ (PlatformContextSkia::State::~State):
+ (PlatformContextSkia::drawRect):
+ (PlatformContextSkia::setupPaintCommon):
+ (PlatformContextSkia::setupPaintForFilling):
+ (PlatformContextSkia::setupPaintForStroking):
+ (PlatformContextSkia::setFillColor):
+ (PlatformContextSkia::setStrokeColor):
+ (PlatformContextSkia::setStrokeShader):
+ (PlatformContextSkia::setFillShader):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ * platform/graphics/skia/SkiaFontWin.cpp:
+ (WebCore::skiaDrawText):
+ (WebCore::paintSkiaText):
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::SVGPaintServer::teardown):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Oliver Hunt.
+
+ Added Haiku-specific files for WebCore/platform/image-decoders/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding a new file, ImageDecoderHaiku.cpp.
+
+ * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
+ (WebCore::RGBA32Buffer::RGBA32Buffer):
+ (WebCore::RGBA32Buffer::clear):
+ (WebCore::RGBA32Buffer::zeroFill):
+ (WebCore::RGBA32Buffer::copyBitmapData):
+ (WebCore::RGBA32Buffer::setSize):
+ (WebCore::RGBA32Buffer::asNewNativeImage):
+ (WebCore::RGBA32Buffer::hasAlpha):
+ (WebCore::RGBA32Buffer::setHasAlpha):
+ (WebCore::RGBA32Buffer::setStatus):
+ (WebCore::RGBA32Buffer::operator=):
+ (WebCore::RGBA32Buffer::width):
+ (WebCore::RGBA32Buffer::height):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/page/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
+ and FrameHaiku.cpp
+
+ * page/haiku/DragControllerHaiku.cpp: Added.
+ (WebCore::DragController::isCopyKeyDown):
+ (WebCore::DragController::dragOperation):
+ (WebCore::DragController::maxDragImageSize):
+ (WebCore::DragController::cleanupAfterSystemDrag):
+ * page/haiku/EventHandlerHaiku.cpp: Added.
+ (WebCore::isKeyboardOptionTab):
+ (WebCore::EventHandler::invertSenseOfTabsToLinks):
+ (WebCore::EventHandler::tabsToAllControls):
+ (WebCore::EventHandler::focusDocumentView):
+ (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+ (WebCore::EventHandler::passMouseDownEventToWidget):
+ (WebCore::EventHandler::eventActivatedView):
+ (WebCore::EventHandler::passSubframeEventToSubframe):
+ (WebCore::EventHandler::passWheelEventToWidget):
+ (WebCore::EventHandler::createDraggingClipboard):
+ (WebCore::EventHandler::passMousePressEventToSubframe):
+ (WebCore::EventHandler::passMouseMoveEventToSubframe):
+ (WebCore::EventHandler::passMouseReleaseEventToSubframe):
+ (WebCore::EventHandler::accessKeyModifiers):
+ * page/haiku/FrameHaiku.cpp: Added.
+ (WebCore::Frame::dragImageForSelection):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/editing/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding one new file, EditorHaiku.cpp
+
+ * editing/haiku/EditorHaiku.cpp: Added.
+ (WebCore::Editor::newGeneralClipboard):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/bindings/js/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding a new file, ScriptControllerHaiku.cpp
+
+ * bindings/js/ScriptControllerHaiku.cpp: Added.
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+
+2009-07-16 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ Added Haiku-specific files for WebCore/platform/text/.
+ https://bugs.webkit.org/show_bug.cgi?id=26949
+
+ Adding two new files, StringHaiku.cpp
+ and TextBreakIteratorInternalICUHaiku.cpp
+
+ * platform/text/haiku/StringHaiku.cpp: Added.
+ (WebCore::String::String):
+ (WebCore::String::operator BString):
+ * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
+ (WebCore::currentTextBreakLocaleID):
+
+2009-07-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Sends the basename of a selected file for non-multipart form submission.
+ <https://bugs.webkit.org/show_bug.cgi?id=26505>
+
+ Test: fast/forms/get-file-upload.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+
+2009-07-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by David Levin.
+
+ [V8] Centralize hidden property names
+ https://bugs.webkit.org/show_bug.cgi?id=27359
+
+ No behavior change. Just moving these names to a central location.
+ I'll move the rest of our hidden property names as I sweep though the
+ bindings.
+
+ * WebCore.gypi:
+ * bindings/v8/V8HiddenPropertyName.cpp: Added.
+ (WebCore::V8HiddenPropertyName::objectPrototype):
+ (WebCore::V8HiddenPropertyName::isolatedWorld):
+ * bindings/v8/V8HiddenPropertyName.h: Added.
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::V8IsolatedWorld):
+ (WebCore::V8IsolatedWorld::getEntered):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::getHiddenObjectPrototype):
+ (WebCore::V8Proxy::installHiddenObjectPrototype):
+
+2009-07-16 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
+ https://bugs.webkit.org/show_bug.cgi?id=26747
+ rdar://problem/7009243
+
+ Test: fast/repaint/background-misaligned.html
+
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::drawTiled): Moved a variable definition closer to where
+ it is used.
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::BitmapImage::draw): In the subimage code path, compute a
+ pixel-aligned source rect, because the subiamge is always pixel-aligned
+ in source space, and adjust the destination rect to preserve the
+ source -> destination mapping. Clip to the (original) destination rect
+ to prevent bleeding out.
+
+2009-07-16 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Add a sessionStorageEnabled setting to the settings class.
+ https://bugs.webkit.org/show_bug.cgi?id=27318
+
+ Allow LocalStorage to be enabled without enabling SessionStorage at
+ runtime. There is a settings class setting for localStorage, but not
+ for sessionStorage. We want to be able to test one of these features
+ without necessarily enabling the other.
+
+ SessionStorage defaults to true so as to not change behavior and
+ because there really aren't any security concerns around SessionStorage
+ (unlike LocalsStorage). The flag is needed in Chromium only because
+ we want to enable the compile time flag in the default build, but don't
+ want it on by default until it's been thoroughly tested.
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::sessionStorage): Check the new flag
+ (WebCore::DOMWindow::localStorage): A bit of cleanup
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings): Default the flag to true
+ (WebCore::Settings::setSessionStorageEnabled): Add the new flag
+ * page/Settings.h:
+ (WebCore::Settings::sessionStorageEnabled): Get the new flag
+
+2009-07-16 Adam Barth <abarth@webkit.org>
+
+ Unreviewed.
+
+ Revert 45987. Tests did not pass on Windows.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+
+2009-07-16 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
+ Added missing V8 bindings to the AllInOne file
+
+ https://bugs.webkit.org/show_bug.cgi?id=27321
+
+ * WebCore.vcproj/WebCore.vcproj:
+ Added missing files to build.
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
+ * DerivedSources.cpp
+ Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
+
+2009-07-16 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by David Levin.
+
+ Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27337
+
+ * dom/MessagePortChannel.h:
+ (WebCore::MessagePortChannel::channel):
+
+2009-07-16 Xiaomei Ji <xji@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fix tooltip does not get its directionality from its element's directionality.
+ https://bugs.webkit.org/show_bug.cgi?id=24187
+
+ Per mitz's suggestion in comment #6, while getting the plain-text
+ title, we also get the directionality of the title. How to handle
+ the directionality is up to clients. Clients could ignore it,
+ or use attribute or unicode control characters to display the title
+ as what they want.
+
+ WARNING: NO TEST CASES ADDED OR CHANGED
+
+ * WebCore.base.exp: Replace 2 names due to signature change.
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
+ * page/Chrome.cpp:
+ (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
+ * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
+ * page/chromium/ChromeClientChromium.h:
+ (WebCore::ChromeClientChromium::setToolTip): Add setToolTip()
+ temprarily to make chromium compile after pick up this webkit patch.
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::spellingToolTip): Besides getting the
+ spelling tooltip, get its directionality as well.
+ (WebCore::HitTestResult::title): Besides getting the title,
+ get its directionality as well.
+ * rendering/HitTestResult.h: Add 2 more methods.
+
+2009-07-16 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
+ https://bugs.webkit.org/show_bug.cgi?id=20578
+
+ Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
+
+ Test: fast/canvas/canvas-pattern-modify.html
+
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ (copySurface):
+ (WebCore::ImageBuffer::image):
+
+2009-07-16 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27353
+ Images mispositioned because of bug in percentage-based relative positioning.
+
+ Added fast/css/nested-floating-relative-position-percentages.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::relativePositionOffsetX):
+
+2009-07-16 Kent Tamura <tkent@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Sends the basename of a selected file for non-multipart form submission.
+ <https://bugs.webkit.org/show_bug.cgi?id=26505>
+
+ Test: fast/forms/get-file-upload.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::appendFormData):
+
+2009-07-16 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Video size sometimes jumps just after the video starts loading
+ https://bugs.webkit.org/show_bug.cgi?id=27352
+
+ Ensure that the media player is at or after the 'HaveMetadata' state so that
+ the instrinsic size is known before we create the layer for video. This avoids
+ a flash caused by computing the video rect using the default intrinsic size, and then
+ re-computing it when that size changes.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::isReadyForRendering):
+ (WebCore::MediaPlayerPrivate::updateStates):
+ (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
+
+2009-07-16 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Antti Koivisto.
+ Patch by Brady Eidson and Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26496
+ <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
+
+ After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
+ from the connection-per-host limit. Removing that exemption makes the test case load smoothly after reloads.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
+
+2009-07-16 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
+ https://bugs.webkit.org/show_bug.cgi?id=27335
+
+ evaluateInNewContext makes this delegate call. evaluateInNewWorld
+ needs to make the same call. This does not appear to be testable with
+ our current technology.
+
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::evaluate):
+
+2009-07-15 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ Fix a typo: application/atom=xml -> application/atom+xml.
+
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+
+2009-07-16 Dean McNamee <deanm@chromium.org>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27292
+ Improve handling of <canvas> path operations on an empty path.
+ Implement Skia's Path::hasCurrentPoint().
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::lineTo):
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::hasCurrentPoint):
+
+2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
+ https://bugs.webkit.org/show_bug.cgi?id=26254
+
+ Make it so that setting white-space and word-wrap via CSS
+ overrides the wrap attribute.
+
+ This involves having the shadow div in the textarea inherit
+ the CSS from its parent instead of hard-coding it in
+ RenderTextControlMultiline.
+
+ Committer note: Earlier I reverted this change because I did it incorrectly
+ by leaving out css/html.css. In the patch, the filename was the old name
+ css/html4.css and that led to my error.
+
+ * css/html.css:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+
+2009-07-15 James Hawkins <jhawkins@google.com>
+
+ Reviewed by Adam Barth.
+
+ [V8] Remove a local variable that is shadowing a function parameter.
+ https://bugs.webkit.org/show_bug.cgi?id=27309
+
+ No test required as this modification does not change the current behavior.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+
+2009-07-15 Adam Langley <agl@google.com>
+
+ No review: reverting previous change.
+
+ Revert r45959:
+
+ 2009-07-15 Dumitru Daniliuc <dumi@chromium.org>
+ Reviewed by Dimitri Glazkov.
+
+ Adding the Win SQLite VFS implementation for Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26940
+
+
+ The Chromium side of this patch was landed in 20839, but broke the build. It
+ was reverted in r20840. Thus, I'm reverting this side of the patch too.
+
+ * WebCore.gypi:
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
+
+2009-07-15 David Levin <levin@chromium.org>
+
+ Layout test fix, reverting previous change.
+
+ Reverting r45962 as it caused several layout test failures.
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+
+2009-06-08 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
+ https://bugs.webkit.org/show_bug.cgi?id=26254
+
+ Make it so that setting white-space and word-wrap via CSS
+ overrides the wrap attribute.
+
+ This involves having the shadow div in the textarea inherit
+ the CSS from its parent instead of hard-coding it in
+ RenderTextControlMultiline.
+
+ * css/html4.css:
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::parseMappedAttribute):
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
+
+2009-07-15 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adding the Win SQLite VFS implementation for Chromium.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26940
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/sql/chromium: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
+ * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
+
+2009-07-15 Jian Li <jianli@chromium.org>
+
+ Reviewed by David Levin.
+
+ Bug 25151 - workers that fail to load scripts not firing error event.
+ https://bugs.webkit.org/show_bug.cgi?id=25151
+
+ This fixes the problem that an error event is not fired when the worker
+ script fails to load. Some reasons this may occur are an invalid URL for
+ the worker script or a cross-origin redirect.
+
+ We also moves the code to complete the URL and check its origin from
+ Worker constructor to WorkerScriptLoader loading functions in order to
+ move the exception throwing logic out of the scope of Worker constructor.
+ Due to this change, we also remove the output ExceptionCode parameter
+ in the worker constructor. Corresponding JS/V8 binding codes have been
+ updated to reflect this change.
+
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::constructWorker):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * workers/Worker.cpp:
+ (WebCore::Worker::Worker):
+ (WebCore::Worker::notifyFinished):
+ * workers/Worker.h:
+ (WebCore::Worker::create):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::toCrossOriginRedirectPolicy):
+ (WebCore::WorkerScriptLoader::loadSynchronously):
+ (WebCore::WorkerScriptLoader::loadAsynchronously):
+ (WebCore::notifyLoadErrorTask):
+ (WebCore::WorkerScriptLoader::createResourceRequest):
+ (WebCore::WorkerScriptLoader::didFail):
+ (WebCore::WorkerScriptLoader::didFailRedirectCheck):
+ (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
+ (WebCore::WorkerScriptLoader::notifyError):
+ * workers/WorkerScriptLoader.h:
+ (WebCore::):
+ (WebCore::WorkerScriptLoader::url):
+
+2009-07-15 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ text-shadow is not drawn for text with transparent colour
+ https://bugs.webkit.org/show_bug.cgi?id=21374
+
+ Test: fast/text/shadow-translucent-fill.html
+
+ * rendering/InlineTextBox.cpp:
+ (WebCore::paintTextWithShadows): If the text fill color is not opaque,
+ paint all shadows separately from the text, by casting them from
+ clipped-out opaque text.
+
+2009-07-15 Adam Treat <adam.treat@torchmobile.com>
+
+ Fix the Qt build.
+
+ * html/HTMLAreaElement.cpp:
+
+2009-07-15 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Cleanup DOM Storage dependencies.
+ https://bugs.webkit.org/show_bug.cgi?id=27180
+
+ DOM Storage had several unnecessary (and probably unintended)
+ dependencies. This patch replaces many includes of header files with
+ forward declaration of classes, making some destructors explicit, and
+ taking some factories out of the header files.
+
+ This will allow things like StorageAreaSync to take a StorageAreaImpl*
+ (as it should) rather than a StorageArea* which previously weren't
+ possible because the dependencies were such a tangled mess.
+
+ * storage/LocalStorageTask.cpp:
+ (WebCore::LocalStorageTask::~LocalStorageTask):
+ * storage/LocalStorageTask.h:
+ * storage/Storage.cpp:
+ (WebCore::Storage::~Storage):
+ * storage/Storage.h:
+ * storage/StorageArea.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageAreaImpl.cpp:
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::~StorageAreaSync):
+ * storage/StorageAreaSync.h:
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ * storage/StorageEvent.h:
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.cpp:
+ (WebCore::StorageSyncManager::~StorageSyncManager):
+ * storage/StorageSyncManager.h:
+
+2009-07-15 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Incorrect animation when trying to duplicate effect of transform-origin
+ https://bugs.webkit.org/show_bug.cgi?id=27310
+
+ The bug is that matrix animation is being used when animating
+ a list of transform functions that match in the from and to states.
+ This sometimes works. But because of the way CA does matrix animation
+ function lists like the one shown in the testcase animate incorrectly.
+
+ This fixes the bug by always doing component animation
+ as long as the function lists match. This allows CA
+ to animate the components and then recompose the result
+ into the correct matrix.
+
+ Test: animations/transform-origin-vs-functions.html
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::animateTransform):
+
+2009-07-15 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by David Levin.
+
+ Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
+
+ Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
+ downstream
+ https://bugs.webkit.org/show_bug.cgi?id=27274
+
+ Changes the build file for chromium. Test built the chromium tree
+ to verify.
+
+ * WebCore.gypi:
+
+2009-07-15 Mark Rowe <mrowe@apple.com>
+
+ I like it when the code compiles.
+
+ * WebCore.base.exp:
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Renamed parseURL to deprecatedParseURL.
+
+ * bindings/js/JSAttrCustom.cpp:
+ (WebCore::JSAttr::setValue): Renamed.
+ * bindings/js/JSElementCustom.cpp:
+ (WebCore::allowSettingSrcToJavascriptURL): Renamed.
+ * bindings/js/JSHTMLFrameElementCustom.cpp:
+ (WebCore::allowSettingJavascriptURL): Renamed.
+ * bindings/js/JSHTMLIFrameElementCustom.cpp:
+ (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
+ * bindings/objc/DOM.mm:
+ (-[DOMElement _getURLAttribute:]): Renamed.
+ * bindings/objc/DOMHTML.mm:
+ (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
+ * bindings/v8/custom/V8CustomBinding.cpp:
+ (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
+ * css/CSSHelper.cpp:
+ (WebCore::deprecatedParseURL): Renamed.
+ * css/CSSHelper.h: Renamed and updated comment.
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
+ (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
+ * html/HTMLEmbedElement.cpp:
+ (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
+ * html/HTMLImageLoader.cpp:
+ (WebCore::HTMLImageLoader::sourceURI): Renamed.
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
+ * html/HTMLObjectElement.cpp:
+ (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
+ * html/HTMLTablePartElement.cpp:
+ (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseTag): Renamed.
+ * html/PreloadScanner.cpp:
+ (WebCore::PreloadScanner::processAttribute): Renamed.
+ (WebCore::PreloadScanner::emitCSSRule): Renamed.
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeImage): Renamed.
+ * platform/qt/ClipboardQt.cpp:
+ (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absoluteImageURL): Renamed.
+ (WebCore::HitTestResult::absoluteMediaURL): Renamed.
+ (WebCore::HitTestResult::absoluteLinkURL): Renamed.
+ * svg/SVGAElement.cpp:
+ (WebCore::SVGAElement::defaultEventHandler): Renamed.
+ * svg/SVGImageLoader.cpp:
+ (WebCore::SVGImageLoader::sourceURI): Renamed.
+ * wml/WMLAElement.cpp:
+ (WebCore::WMLAElement::defaultEventHandler): Renamed.
+ * wml/WMLImageLoader.cpp:
+ (WebCore::WMLImageLoader::sourceURI): Renamed.
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ CSSHelper.h's parseURL is a function that no one should ever call
+ Part 1: Eliminate callers in the CSS parser.
+ https://bugs.webkit.org/show_bug.cgi?id=26599
+
+ Test: fast/css/uri-token-parsing.html
+
+ * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
+ function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
+ CSSParser::text already takes care of parsing the URI token syntax, and the
+ parseURL function does no good.
+ (WebCore::CSSParser::parseContent): Ditto.
+ (WebCore::CSSParser::parseFillImage): Ditto.
+ (WebCore::CSSParser::parseFontFaceSrc): Ditto.
+ (WebCore::CSSParser::parseBorderImage): Ditto.
+ (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
+ easier to read.
+ (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
+ are both trimmed before removing the quote marks. Changed to use the
+ isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
+
+ * css/CSSParser.h: Removed stray "public:" in this header.
+
+ * platform/text/StringImpl.cpp:
+ (WebCore::StringImpl::substring): Optimized the case where the substring covers
+ the entire string, so we just share the StringImpl instead of making a new one.
+ This case came up in earlier versions of the CSS parser changes above.
+ (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
+ not call substring any more. Before, this was relying on the substring function
+ always making a copy of any non-empty substring.
+
+2009-07-15 Darin Adler <darin@apple.com>
+
+ Reviewed by John Sullivan.
+
+ After double-clicking a word, using Shift-arrow to select behaves unpredictably
+ https://bugs.webkit.org/show_bug.cgi?id=27177
+ rdar://problem/7034324
+
+ Test: editing/selection/extend-selection-after-double-click.html
+
+ The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
+ being cleared in many cases where it should have been.
+
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
+ to false. This catches all sorts of cases that don't flow through the modify function.
+ Before, the flag would reflect the last call to the modify function, which was not
+ necessarily the last selection change.
+ (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
+ Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
+ (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
+ setSelection when setting up a trial selection controller, since setSelection now
+ clears that flag. Also changed both trial selection controller cases to set the flag,
+ although it's not strictly necessary in both cases. Added code to set
+ m_lastChangeWasHorizontalExtension when extending the selection, which used to be
+ handled in willBeModified. Now we need to do it after the selection change.
+
+2009-07-15 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Need to update DOM Storage files in GYPI file.
+ https://bugs.webkit.org/show_bug.cgi?id=27317
+
+ Need to update DOM Storage files in the GYPI file. They're pretty out
+ of date and we're on the path towards enabling them for everyone!
+
+ * WebCore.gypi:
+
+2009-07-15 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26794
+ Make Yacc-generated parsers to use fastMalloc/fastFree.
+
+ Define YYMALLOC and YYFREE to fastMalloc and fastFree
+ respectively.
+
+ * css/CSSGrammar.y:
+ * xml/XPathGrammar.y:
+
+2009-07-15 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27193
+ Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in
+ is effectively broken as a result.
+
+ No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::handleRunInChild):
+
+2009-07-15 Yuzo Fujishima <yuzo@google.com>
+
+ Reviewed by Darin Adler.
+
+ Test: fast/js/instanceof-operator.html
+
+ Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest
+ https://bugs.webkit.org/show_bug.cgi?id=25205
+
+ In addition to for XMLHttpRequest, this also fixes for:
+ - Audio
+ - Image
+ - MessageChannel
+ - Option
+ - WebKitCSSMatrix
+ - WebKitPoint
+ - Worker
+ - XSLTProcessor
+
+ * bindings/js/JSAudioConstructor.cpp:
+ (WebCore::JSAudioConstructor::JSAudioConstructor):
+ * bindings/js/JSAudioConstructor.h:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::DOMConstructorObject::createStructure):
+ (WebCore::DOMConstructorObject::DOMConstructorObject):
+ * bindings/js/JSImageConstructor.cpp:
+ (WebCore::JSImageConstructor::JSImageConstructor):
+ * bindings/js/JSImageConstructor.h:
+ * bindings/js/JSMessageChannelConstructor.cpp:
+ (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
+ * bindings/js/JSMessageChannelConstructor.h:
+ * bindings/js/JSOptionConstructor.cpp:
+ (WebCore::JSOptionConstructor::JSOptionConstructor):
+ * bindings/js/JSOptionConstructor.h:
+ * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
+ (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
+ * bindings/js/JSWebKitCSSMatrixConstructor.h:
+ * bindings/js/JSWebKitPointConstructor.cpp:
+ (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
+ * bindings/js/JSWebKitPointConstructor.h:
+ * bindings/js/JSWorkerConstructor.cpp:
+ (WebCore::JSWorkerConstructor::JSWorkerConstructor):
+ * bindings/js/JSWorkerConstructor.h:
+ * bindings/js/JSXMLHttpRequestConstructor.cpp:
+ (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
+ * bindings/js/JSXMLHttpRequestConstructor.h:
+ * bindings/js/JSXSLTProcessorConstructor.cpp:
+ (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
+ * bindings/js/JSXSLTProcessorConstructor.h:
+
+2009-07-15 Kai Br�ning <kai@granus.net>
+
+ Reviewed by Dave Hyatt.
+
+ CSS21 attribute selectors not dynamic for xml.
+ https://bugs.webkit.org/show_bug.cgi?id=25072
+
+ Moved the relevant test in StyledElement::attributeChanged()
+ to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
+ so it can be called from both StyledElement::attributeChanged()
+ and Element::attributeChanged().
+ Refactored Element::attributeChanged() into
+ Element::updateAfterAttributeChanged() and
+ Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
+ separately from StyledElement::attributeChanged().
+
+ Test: fast/css/attribute-selector-dynamic.xml
+
+ * dom/Element.cpp:
+ (WebCore::Element::attributeChanged):
+ (WebCore::Element::updateAfterAttributeChanged):
+ (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
+ * dom/Element.h:
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::attributeChanged):
+
+2009-07-15 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by David Levin.
+
+ [V8] Layout test failures for drawImage in Canvas
+ https://bugs.webkit.org/show_bug.cgi?id=27311
+
+ Fixing several canvas layout tests failures due to a
+ missing return statement in CanvasRenderingContext2DDrawImage() which
+ was accidentally removed in r45929.
+
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+
+2009-07-15 Robert Hogan <robert@roberthogan.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26969
+
+ If the httpMethod() of the request passed to SubresourceLoader::create is not
+ supported by the client we must expect to call didFail() while m_loader is still null.
+
+ * loader/DocumentThreadableLoader.cpp:
+ (DocumentThreadableLoader::didFail):Changed.
+
+2009-07-15 Mark Rowe <mrowe@apple.com>
+
+ Fix the Mac build.
+
+ * WebCore.base.exp:
+ * css/MediaQueryEvaluator.cpp:
+ * rendering/SVGRenderTreeAsText.cpp:
+ * rendering/style/SVGRenderStyle.cpp:
+ * svg/graphics/SVGPaintServer.cpp:
+
+2009-07-07 Alpha Lam <hclam@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
+ https://bugs.webkit.org/show_bug.cgi?id=27170
+
+ Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
+ as a parameter of drawImage() for HTMLCanvasElement.
+
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+
+2009-07-15 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world constructors
+ https://bugs.webkit.org/show_bug.cgi?id=27287
+
+ Don't enter V8Proxy::m_context before creating DOM constructors.
+ Instead, use getWrapperContext to get the right context.
+
+ After this patch, all my tests pass. I'll enable the feature
+ downstream and land the tests.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getConstructor):
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8IsolatedWorld.cpp:
+ (WebCore::V8IsolatedWorld::evaluate):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::createWrapperFromCache):
+ (WebCore::V8Proxy::isContextInitialized):
+ (WebCore::V8Proxy::disposeContextHandles):
+ (WebCore::V8Proxy::installDOMWindow):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ (WebCore::V8Proxy::getHiddenObjectPrototype):
+ (WebCore::V8Proxy::installHiddenObjectPrototype):
+ * bindings/v8/V8Proxy.h:
+
+2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ useless null-check statement in visible_units.cpp@logicalStartOfLine
+ https://bugs.webkit.org/show_bug.cgi?id=27154
+
+ Simple fix.
+
+ * editing/visible_units.cpp:
+ (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
+
+2009-07-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27304
+ WebKit should provide usage and eligibility information about the page cache.
+
+ * WebCore.base.exp:
+
+ * history/CachedFrame.cpp:
+ (WebCore::CachedFrame::childFrameCount):
+ * history/CachedFrame.h:
+
+ * history/PageCache.cpp:
+ (WebCore::PageCache::frameCount):
+ (WebCore::PageCache::autoreleasedPageCount):
+ * history/PageCache.h:
+ (WebCore::PageCache::pageCount):
+
+2009-07-15 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Levin.
+
+ Chromium's canvas forgets its context after fillText again
+ https://bugs.webkit.org/show_bug.cgi?id=27293
+
+ No new tests because the test for this was already added in
+ https://bugs.webkit.org/show_bug.cgi?id=26436
+
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::TransparencyWin::compositeTextComposite):
+
+2009-07-14 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27283
+
+ Implement the new 'rem' unit from CSS3.
+
+ Added some rem-* tests in fast/css.
+
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::validUnit):
+ (WebCore::unitFromString):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::lex):
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserValue::createCSSValue):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::computeLengthInt):
+ (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
+ (WebCore::CSSPrimitiveValue::computeLengthShort):
+ (WebCore::CSSPrimitiveValue::computeLengthFloat):
+ (WebCore::CSSPrimitiveValue::computeLengthDouble):
+ (WebCore::CSSPrimitiveValue::cssText):
+ (WebCore::CSSPrimitiveValue::parserValue):
+ * css/CSSPrimitiveValue.h:
+ (WebCore::CSSPrimitiveValue::):
+ (WebCore::CSSPrimitiveValue::isUnitTypeLength):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::initForStyleResolve):
+ (WebCore::convertToLength):
+ (WebCore::CSSStyleSelector::applyProperty):
+ (WebCore::CSSStyleSelector::mapFillSize):
+ (WebCore::CSSStyleSelector::mapFillXPosition):
+ (WebCore::CSSStyleSelector::mapFillYPosition):
+ (WebCore::CSSStyleSelector::createTransformOperations):
+ * css/CSSStyleSelector.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::device_heightMediaFeatureEval):
+ (WebCore::device_widthMediaFeatureEval):
+ (WebCore::heightMediaFeatureEval):
+ (WebCore::widthMediaFeatureEval):
+ * css/WebKitCSSMatrix.cpp:
+ (WebCore::WebKitCSSMatrix::setMatrixValue):
+ * css/tokenizer.flex:
+ * dom/Document.cpp:
+ (WebCore::Document::Document):
+ * dom/Document.h:
+ (WebCore::Document::usesRemUnits):
+ (WebCore::Document::setUsesRemUnits):
+ * dom/Element.cpp:
+ (WebCore::Element::recalcStyle):
+ * rendering/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::SVGRenderStyle::cssPrimitiveToLength):
+ * svg/graphics/SVGPaintServer.cpp:
+ (WebCore::applyStrokeStyleToContext):
+ (WebCore::dashArrayFromRenderingStyle):
+ * svg/graphics/SVGPaintServer.h:
+
+2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Unreviewed, build fix.
+
+ Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
+
+ * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
+
+2009-07-15 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Update bindings for ValiditeState patch.
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+
+2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove obsolete code from the make system
+ https://bugs.webkit.org/show_bug.cgi?id=27299
+
+ * WebCore.pro:
+
+2009-07-15 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix the build without media elements.
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
+ markers around the body of the method.
+
+2009-07-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Move storeLastActivePanel out of the
+ ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
+ Add default panel for the first opening of the
+ WebInspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27263
+
+ * inspector/InspectorController.cpp:
+ (InspectorController::setWindowVisible):
+ * inspector/InspectorController.idl:
+
+2009-07-14 Darin Adler <darin@apple.com>
+
+ Try to fix Windows build.
+
+ * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
+
+2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ HTMLMediaElement::supportsFullscreen() should return false
+ https://bugs.webkit.org/show_bug.cgi?id=27284
+
+ (Reverting a part of 45875)
+
+ HTMLVideoElement::supportsFullscreen() will properly do the
+ job, and check if the backend supports fullscreen.
+
+ HTMLVideoElement is the only subclass to support fullscreen
+ (conditionnaly). HTMLAudioElement fullscreen is not supported
+ and is a different kind of fullscreen, if it comes to be wanted.
+
+ No test can be done currently given that none of the media
+ backends support fullscreen.
+
+ * html/HTMLMediaElement.cpp:
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::supportsFullscreen):
+
+2009-07-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Dimitri Glazkov.
+
+ Next step in making DOM attribute getter/setters consistently use AtomicString
+ https://bugs.webkit.org/show_bug.cgi?id=25425
+
+ This covers eight DOM classes, and for each one of the classes:
+
+ - Changes the IDL to use the Reflect syntax for all simple cases.
+ - Removes unused functions in the classes, mainly newly unused ones that were
+ used for reflection before.
+ - Removes unneeded explicitly defined destructors.
+ - Explicitly declares destructors as virtual.
+ - Removes unneeded includes.
+ - Makes members protected or private rather than public where possible.
+ - Renames "doc" to "document".
+ - Tweaks formatting to match our latest style in a few places.
+ - Improves some FIXME comments.
+
+ Over time we'll want to do this for all HTML DOM classes.
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::HTMLAnchorElement):
+ * html/HTMLAnchorElement.h:
+ (WebCore::HTMLAnchorElement::endTagRequirement):
+ (WebCore::HTMLAnchorElement::tagPriority):
+ * html/HTMLAnchorElement.idl:
+ * html/HTMLAppletElement.cpp:
+ * html/HTMLAppletElement.h:
+ * html/HTMLAppletElement.idl:
+ * html/HTMLAreaElement.cpp:
+ (WebCore::HTMLAreaElement::parseMappedAttribute):
+ * html/HTMLAreaElement.h:
+ (WebCore::HTMLAreaElement::endTagRequirement):
+ (WebCore::HTMLAreaElement::tagPriority):
+ * html/HTMLAreaElement.idl:
+ * html/HTMLBRElement.cpp:
+ (WebCore::HTMLBRElement::parseMappedAttribute):
+ * html/HTMLBRElement.h:
+ * html/HTMLBRElement.idl:
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::HTMLBaseElement):
+ (WebCore::HTMLBaseElement::removedFromDocument):
+ (WebCore::HTMLBaseElement::process):
+ * html/HTMLBaseElement.h:
+ * html/HTMLBaseElement.idl:
+ * html/HTMLBaseFontElement.cpp:
+ (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
+ * html/HTMLBaseFontElement.h:
+ (WebCore::HTMLBaseFontElement::endTagRequirement):
+ (WebCore::HTMLBaseFontElement::tagPriority):
+ * html/HTMLBaseFontElement.idl:
+ * html/HTMLBlockquoteElement.cpp:
+ (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
+ * html/HTMLBlockquoteElement.h:
+ (WebCore::HTMLBlockquoteElement::tagPriority):
+ * html/HTMLBlockquoteElement.idl:
+ * html/HTMLBodyElement.cpp:
+ (WebCore::HTMLBodyElement::HTMLBodyElement):
+ (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
+ * html/HTMLBodyElement.h:
+ (WebCore::HTMLBodyElement::endTagRequirement):
+ (WebCore::HTMLBodyElement::tagPriority):
+ * html/HTMLBodyElement.idl:
+ Made changes as described above.
+
+ * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
+
+2009-07-14 Steve Falkenburg <sfalken@apple.com>
+
+ Reorganize JavaScriptCore headers into:
+ API: include/JavaScriptCore/
+ Private: include/private/JavaScriptCore/
+
+ Reviewed by Darin Adler.
+
+ * WebCore.vcproj/QTMovieWin.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/build-generated-files.sh:
+
+2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
+
+ Reviewed by Darin Adler.
+
+ Change all Noncopyable inheriting visibility to public.
+ https://bugs.webkit.org/show_bug.cgi?id=27225
+
+ Change all Noncopyable inheriting visibility to public because
+ it is needed to the custom allocation framework (bug #20422).
+
+ * bindings/js/GCController.h:
+ * bindings/js/WorkerScriptController.h:
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::):
+ * bridge/runtime.h:
+ * css/CSSSelector.h:
+ * css/CSSSelectorList.h:
+ * css/CSSStyleSelector.h:
+ * dom/ClassNames.h:
+ * dom/MessagePortChannel.h:
+ * dom/XMLTokenizerLibxml2.cpp:
+ * dom/XMLTokenizerScope.h:
+ * editing/ReplaceSelectionCommand.cpp:
+ * editing/SelectionController.h:
+ * editing/TextIterator.cpp:
+ * history/PageCache.h:
+ * html/CanvasRenderingContext2D.h:
+ * html/HTMLParser.h:
+ * html/HTMLParserQuirks.h:
+ * html/PreloadScanner.h:
+ * loader/Cache.h:
+ * loader/CrossOriginPreflightResultCache.h:
+ * loader/FrameLoader.h:
+ * loader/ProgressTracker.h:
+ * loader/ThreadableLoader.h:
+ * loader/appcache/ApplicationCacheGroup.h:
+ * loader/archive/ArchiveResourceCollection.h:
+ * loader/icon/IconDatabase.h:
+ * loader/icon/IconLoader.h:
+ * loader/icon/PageURLRecord.h:
+ * loader/loader.h:
+ * page/ContextMenuController.h:
+ * page/EventHandler.h:
+ * page/FrameTree.h:
+ * page/Page.h:
+ * page/PageGroup.h:
+ * page/PageGroupLoadDeferrer.h:
+ * page/mac/EventHandlerMac.mm:
+ * platform/AutodrainedPool.h:
+ * platform/ContextMenu.h:
+ * platform/EventLoop.h:
+ * platform/HostWindow.h:
+ * platform/Pasteboard.h:
+ * platform/PurgeableBuffer.h:
+ * platform/RunLoopTimer.h:
+ * platform/ThreadGlobalData.h:
+ * platform/ThreadTimers.h:
+ * platform/Timer.h:
+ * platform/TreeShared.h:
+ * platform/graphics/FontData.h:
+ * platform/graphics/GlyphWidthMap.h:
+ * platform/graphics/GraphicsContext.h:
+ * platform/graphics/ImageBuffer.h:
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
+ * platform/graphics/skia/PlatformContextSkia.h:
+ * platform/graphics/win/QTMovieWin.cpp:
+ * platform/mac/LocalCurrentGraphicsContext.h:
+ * platform/network/FormDataBuilder.h:
+ * platform/network/ResourceHandleInternal.h:
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ * platform/text/StringBuffer.h:
+ * platform/text/TextCodec.h:
+ * platform/win/WindowMessageBroadcaster.h:
+ * rendering/CounterNode.h:
+ * rendering/LayoutState.h:
+ * rendering/RenderFrameSet.h:
+ * rendering/RenderView.h:
+ * rendering/TransformState.h:
+ * svg/SVGAnimatedProperty.h:
+ * svg/SynchronizableTypeWrapper.h:
+ * workers/WorkerMessagingProxy.h:
+ * workers/WorkerRunLoop.cpp:
+ * xml/XPathExpressionNode.h:
+ * xml/XPathParser.h:
+ * xml/XPathPredicate.h:
+ * xml/XPathStep.h:
+
+2009-07-14 Darin Fisher <darin@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Fails to save document state when navigating away from a page with a
+ reference fragment.
+ https://bugs.webkit.org/show_bug.cgi?id=27281
+
+ Test: fast/history/saves-state-after-fragment-nav.html
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
+ to compare URLs.
+
+2009-07-14 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Sam Weinig.
+
+ Inspector: Remove Unintended Global Variables
+ https://bugs.webkit.org/show_bug.cgi?id=27203
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
+ * inspector/front-end/DatabasesPanel.js:
+ (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ * inspector/front-end/inspector.js:
+ (WebInspector.animateStyle):
+
+2009-07-14 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+ Added build stuff and stub for the ValidityState class, part of HTML5
+ section Forms:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
+
+ Test: fast/forms/ValidityState-001.html
+
+ * DerivedSources.cpp: Inclusion of ValidityState files
+ * DerivedSources.make: ditto
+ * GNUmakefile.am: ditto
+ * WebCore.gypi: ditto
+ * WebCore.pro: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/project.pbxproj: ditto
+ * WebCoreSources.bkl: ditto
+ * html/HTMLButtonElement.idl: validity attribute
+ * html/HTMLFieldSetElement.idl: ditto
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::validity): ValidityState getter
+ * html/HTMLFormControlElement.h: ditto
+ * html/HTMLInputElement.idl: validity attribute
+ * html/HTMLSelectElement.idl: ditto
+ * html/HTMLTextAreaElement.idl: ditto
+ * html/ValidityState.cpp: Added.
+ (WebCore::ValidityState::ValidityState):
+ (WebCore::ValidityState::valid): validation flag
+ * html/ValidityState.h: Added.
+ (WebCore::ValidityState::create): validation flag
+ (WebCore::ValidityState::control): ditto
+ (WebCore::ValidityState::valueMissing): ditto
+ (WebCore::ValidityState::typeMismatch): ditto
+ (WebCore::ValidityState::patternMismatch): ditto
+ (WebCore::ValidityState::tooLong): ditto
+ (WebCore::ValidityState::rangeUnderflow): ditto
+ (WebCore::ValidityState::rangeOverflow): ditto
+ (WebCore::ValidityState::stepMismatch): ditto
+ (WebCore::ValidityState::customError): ditto
+ * html/ValidityState.idl: Added.
+
+2009-07-14 Ryosuke Niwa <rniwa@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Outdenting a line inside a blockquote tag does nothing
+ https://bugs.webkit.org/show_bug.cgi?id=25316
+
+ The bug was caused by the code checking whether the blockquote is created by WebKit or not.
+ We simply remove this code to be consistent with Firefox and Internet Explorer.
+ Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
+ the placeholder before the enclosingNode because there could be contents before the current paragraph.
+ Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
+ It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
+
+ Test: editing/execCommand/outdent-regular-blockquote.html
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
+ (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
+
+2009-07-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world wrappers for Node prototypes
+ https://bugs.webkit.org/show_bug.cgi?id=27277
+
+ This change does two things:
+
+ 1) We bypass the wrapper cache in the isolated world. This is because
+ the wrapper template cache has prototypes that lead to the main
+ world. We can add a template cache for the isolated world if
+ performance warrants.
+
+ 2) We introduce a smarter way to grab the wrapper context for a frame
+ that is aware that proxy <-> context do not stand in one-to-one
+ correspondence. This generalizes our solution for the node wrapper
+ case to prototypes.
+
+ The net result is that Node wrappers get the right prototypes. As
+ before, tests to follow.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ (WebCore::V8DOMWrapper::getWrapperContext):
+ * bindings/v8/V8DOMWrapper.h:
+
+2009-07-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world wrappers for Nodes
+ https://bugs.webkit.org/show_bug.cgi?id=27271
+
+ Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
+ caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
+
+ I have tests, but I can't land them until I get this feature under
+ control.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::V8Proxy):
+
+2009-07-14 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Fix isolated world crash on getting window.location
+ https://bugs.webkit.org/show_bug.cgi?id=27268
+
+ I have a test for this locally, but it requires a compile-time hack to
+ run. Once I get the feature's stability under control, we can turn the
+ feature on and add the tests.
+
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ * bindings/v8/V8IsolatedWorld.h:
+ (WebCore::V8IsolatedWorld::context):
+
+2009-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Correct failing tests after r45875. The original patch did not
+ test the m_player member for null, causing crashes. This will
+ happen fairly frequently in real use. Was this original patch
+ ever tested?
+ https://bugs.webkit.org/show_bug.cgi?id=27246
+
+ Test via existing media tests.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
+ (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
+
+2009-07-14 Avi Drissman <avi@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
+ The Windows clipboard format is explicitly documented as being UTF-8,
+ and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
+ indicated, Windows-1252 is assumed, which is wrong.
+
+ Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
+
+ No new tests.
+
+ * platform/chromium/ClipboardChromium.cpp:
+ (WebCore::ClipboardChromium::writeRange):
+ * platform/chromium/PasteboardChromium.cpp:
+ (WebCore::Pasteboard::writeSelection):
+
+2009-07-14 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream V8NPObject.h and V8NPObject.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=27103
+
+ This just upstreams the files from the chromium code base. Only
+ minor changes to formatting and similar were done, so no testing
+ is required because nothing really changed. Code verified to compile.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::bindToWindowObject):
+ (WebCore::ScriptController::createScriptInstanceForWidget):
+ * bindings/v8/V8NPObject.cpp: Added.
+ (npObjectInvokeImpl):
+ (npObjectMethodHandler):
+ (npObjectInvokeDefaultHandler):
+ (weakTemplateCallback):
+ (npObjectGetProperty):
+ (npObjectNamedPropertyGetter):
+ (npObjectIndexedPropertyGetter):
+ (npObjectGetNamedProperty):
+ (npObjectGetIndexedProperty):
+ (npObjectSetProperty):
+ (npObjectNamedPropertySetter):
+ (npObjectIndexedPropertySetter):
+ (npObjectSetNamedProperty):
+ (npObjectSetIndexedProperty):
+ (weakNPObjectCallback):
+ (createV8ObjectForNPObject):
+ (forgetV8ObjectForNPObject):
+ * bindings/v8/V8NPObject.h: Added.
+ * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+
+
+2009-07-14 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Add HTMLMediaElement::supportSave() and a
+ HitTestResult::absoluteMediaURL() functions
+ https://bugs.webkit.org/show_bug.cgi?id=27246
+
+ Added an implementation of supportsSave() into HTMLMediaElement
+ that delegates to MediaPlayerPrivateImpl so that the media engine
+ is able to signal whether or not a media source supports saving.
+
+ Also added a function to HitTestResult that allows for retrieval
+ of the currentSrc associated with the "hit" media element.
+
+ These functions are just pipeing with no visible UI change so there
+ are no related layout test changes.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::supportsFullscreen):
+ (WebCore::HTMLMediaElement::supportsSave):
+ * html/HTMLMediaElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::supportsSave):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
+ (WebCore::MediaPlayerPrivateInterface::supportsSave):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::altDisplayString):
+ (WebCore::HitTestResult::absoluteMediaURL):
+ * rendering/HitTestResult.h:
+
+2009-07-14 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ [V8] Implement Reflect and ReflectURL attribute support.
+ https://bugs.webkit.org/show_bug.cgi?id=27273
+
+ * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
+
+2009-07-14 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27266
+ Add hasCurrentPoint() to WebCore::Path.
+ This fixes Skia-based Chromium regression caused by the fix for
+ https://bugs.webkit.org/show_bug.cgi?id=27187.
+ For Skia, the new method always returns 'true', pending actual implementation.
+ This means Chromium still will differ from Gecko behavior, but at least its Canvas
+ will not be completely broken.
+
+ Existing Canvas Layout Tests should pass in Chromium after this change.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
+
+ * platform/graphics/Path.h:
+ * platform/graphics/cairo/PathCairo.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/cg/PathCG.cpp:
+ (WebCore::Path::isEmpty):
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/skia/PathSkia.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ * platform/graphics/wx/PathWx.cpp:
+ (WebCore::Path::hasCurrentPoint):
+ All these files add a Path::hasCurrentPoint() for various platforms.
+
+2009-07-14 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Sam Weinig.
+
+ Upstream RGBColor from src.chromium.org.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27133
+
+ * WebCore.gypi: Add RGBColor
+ * css/RGBColor.cpp: Added.
+ (WebCore::RGBColor::create):
+ (WebCore::RGBColor::red):
+ (WebCore::RGBColor::green):
+ (WebCore::RGBColor::blue):
+ * css/RGBColor.h: Added.
+ (WebCore::RGBColor::RGBColor):
+
+2009-07-10 Matt Perry <mpcomplete@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Rename the didCreate/DestroyScriptContext calls to make it
+ clear that that those refer to the frame's contxt. Add another
+ similar call for when creating contexts via evaluateInNewContext.
+ https://bugs.webkit.org/show_bug.cgi?id=27104
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::disposeContextHandles):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
+ (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
+ (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
+ * loader/FrameLoaderClient.h:
+
+2009-07-14 Brent Fulgham <bfulgham@webkit.org>
+
+ Revert http://trac.webkit.org/changeset/45864 after
+ breaking of Windows build.
+
+ * storage/LocalStorageTask.cpp:
+ * storage/LocalStorageTask.h:
+ * storage/Storage.cpp:
+ * storage/Storage.h:
+ * storage/StorageArea.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageAreaImpl.cpp:
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ * storage/StorageAreaSync.h:
+ * storage/StorageEvent.cpp:
+ * storage/StorageEvent.h:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.cpp:
+ * storage/StorageSyncManager.h:
+
+2009-07-11 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ Cleanup DOM Storage dependencies.
+ https://bugs.webkit.org/show_bug.cgi?id=27180
+
+ DOM Storage had several unnecessary (and probably unintended)
+ dependencies. This patch replaces many includes of header files with
+ forward declaration of classes, making some destructors explicit, and
+ taking some factories out of the header files.
+
+ This will allow things like StorageAreaSync to take a StorageAreaImpl*
+ (as it should) rather than a StorageArea* which previously weren't
+ possible because the dependencies were such a tangled mess.
+
+ * storage/LocalStorageTask.cpp:
+ (WebCore::LocalStorageTask::~LocalStorageTask):
+ * storage/LocalStorageTask.h:
+ * storage/Storage.cpp:
+ (WebCore::Storage::~Storage):
+ * storage/Storage.h:
+ * storage/StorageArea.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageAreaImpl.cpp:
+ * storage/StorageAreaImpl.h:
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::~StorageAreaSync):
+ * storage/StorageAreaSync.h:
+ * storage/StorageEvent.cpp:
+ (WebCore::StorageEvent::create):
+ (WebCore::StorageEvent::StorageEvent):
+ * storage/StorageEvent.h:
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.cpp:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.cpp:
+ (WebCore::StorageSyncManager::~StorageSyncManager):
+ * storage/StorageSyncManager.h:
+
+
+2009-07-14 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by David Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26983
+
+ Check to make sure the view is attached to a frame() in the visibleContentsResized()
+ method as it can be triggered before the view is attached by Frame::createView(...)
+ setting various values such as setScrollBarModes(...) for example. An ASSERT is
+ triggered when a view is layout before being attached to a frame().
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::visibleContentsResized):
+ * page/FrameView.h:
+
+2009-07-14 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: show last opened panel when invoking inspector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27263
+
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::InspectorController):
+ (WebCore::InspectorController::setWindowVisible):
+ (WebCore::InspectorController::storeLastActivePanel):
+ (WebCore::InspectorController::specialPanelForJSName):
+ * inspector/InspectorController.h:
+ (WebCore::InspectorController::Setting::Setting):
+ * inspector/InspectorController.idl:
+ * inspector/front-end/inspector.js:
+ (WebInspector.set currentPanel):
+ (WebInspector.loaded):
+
+2009-07-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Speed up access to NodeList length.
+ https://bugs.webkit.org/show_bug.cgi?id=27264
+
+ That's a minimal alternation of the code.
+
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
+ v8::Integer::New instead of v8::Number::New.
+
+2009-07-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Do not do unnecessary conversions from v8::Handle<v8::Value> to
+ v8::Handle<v8::Object> and accompanying changes.
+ https://bugs.webkit.org/show_bug.cgi?id=26953
+
+ Three things:
+
+ 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
+ but are not free (they check for emptiness of handle);
+ 2) inline conversion from wrapper to node;
+ 3) simplify case to an ASSERT.
+
+ This is just a refactoring, so no new tests are needed.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::convertToSVGPODTypeImpl):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8Proxy::convertDOMWrapperToNative):
+ (WebCore::V8Proxy::convertToNativeObject):
+ (WebCore::V8Proxy::convertToNativeEvent):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toCanvasStyle):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomBinding.cpp:
+ (WebCore::V8Custom::GetTargetFrame):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::V8Custom::ClearTimeoutImpl):
+ (WebCore::NAMED_ACCESS_CHECK):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-14 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Straight quotes should match fancy quotes in in-page search
+ https://bugs.webkit.org/show_bug.cgi?id=27217
+
+ Tests: fast/text/find-quotes.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::foldQuoteMark): Added.
+ (WebCore::foldQuoteMarks): Added.
+ (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
+ (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
+ added to the search buffer.
+
+ * platform/text/CharacterNames.h: Added more quotation mark character names.
+ Sorted character names with the sort tool.
+
+2009-07-13 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: handle debugger shortcuts while on source frame or on
+ script file selector.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27224
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.SourceFrame.prototype._loaded):
+
+2009-07-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Use standard HashCountedSet instead of a hand rolled one
+ in HTMLDocument.
+
+ * html/HTMLDocument.cpp:
+ (WebCore::addItemToMap):
+ (WebCore::removeItemFromMap):
+ * html/HTMLDocument.h:
+
+2009-07-13 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Darin Adler and Maciej Stachowiak.
+
+ Implement HTML5 draggable
+ https://bugs.webkit.org/show_bug.cgi?id=26262
+
+ This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
+ to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
+
+ Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
+
+ Test: fast/html/draggable.html
+
+ * css/html.css:
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::draggable):
+ * html/HTMLAnchorElement.h:
+ * html/HTMLAttributeNames.in:
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::draggable):
+ (WebCore::HTMLElement::setDraggable):
+ * html/HTMLElement.h:
+ * html/HTMLElement.idl:
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::draggable):
+ * html/HTMLImageElement.h:
+
+2009-07-13 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Image rendered as layer contents looks different from image rendered via CG.
+ <rdar://problem/7048830>
+
+ Fix a visible color profile difference between between images rendered via Core Graphics
+ and those rendered via a compositing layer, by assigning the GenericRGB profile to
+ untagged images (which come through as having the DeviceRGB profile) when they are set
+ as layer contents.
+
+ Test: compositing/color-matching/image-color-matching.html
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setContentsToImage):
+
+2009-07-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27220
+ Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
+
+ * editing/TextIterator.cpp:
+ (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
+ in the assertion. Affects only the assertion.
+
+2009-07-13 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26925
+ <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
+
+ Test: http/tests/appcache/main-resource-hash.html
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::resourceForURL):
+ (WebCore::ApplicationCache::resourceForRequest):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::cacheForMainRequest):
+ (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
+ (WebCore::ApplicationCacheGroup::selectCache):
+ (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
+ (WebCore::ApplicationCacheGroup::didReceiveResponse):
+ (WebCore::ApplicationCacheGroup::didFail):
+ (WebCore::ApplicationCacheGroup::addEntry):
+ Remove URL fragment at appcache code borders.
+
+ * loader/appcache/ApplicationCacheResource.h:
+ (WebCore::ApplicationCacheResource::create):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ Assert that there is no URL fragment in URL at key points in appcache code.
+
+2009-07-13 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27166
+ rdar://problem/7015857
+ Find for strings composed entirely of spaces doesn't work
+
+ Test: fast/text/find-spaces.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::findPlainText): Removed unneeded special case.
+ The empty string case already works correctly.
+
+2009-07-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Kevin Decker.
+
+ Remove NPPVpluginPrivateModeBool, it was removed from the spec.
+
+ * bridge/npapi.h:
+
+2009-07-13 Feng Qian <feng@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
+
+ Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
+
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::WeakReferenceMap):
+ (WebCore::WeakReferenceMap::~WeakReferenceMap):
+
+2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
+
+ * WebCore.gypi: Removed bidi.cpp and bidi.h
+
+2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Update WebCore.gyp in preparation to hooking it up.
+
+ * WebCore.gypi: Added files that were mid-stream while switching over.
+
+2009-07-13 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, another small fix for Chromium build.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+
+2009-07-13 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, fix Chromium build bustage.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::JavaScriptConsoleMessage::addToPage):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+
+2009-07-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
+ <rdar://problem/7054356>
+
+ Add null page check in HTMLDocument::hasFocus.
+
+ Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
+
+ * html/HTMLDocument.cpp:
+ (WebCore::HTMLDocument::hasFocus): Add page null check.
+ (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
+
+2009-07-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Disable continuous spell checking in the inspector
+ https://bugs.webkit.org/show_bug.cgi?id=27131
+
+ * inspector/front-end/inspector.html: Added spellcheck="false" to the
+ main-panels and console-prompt containers.
+
+2009-07-13 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: fix assertion when rendering google.com.kh
+
+ https://bugs.webkit.org/show_bug.cgi?id=26924
+
+ Some shapers (i.e. Khmer) will produce cluster logs which report that
+ /no/ code points contributed to certain glyphs. Because of this, we
+ take any code point which contributed to the glyph in question, or any
+ subsequent glyph. If we run off the end, then we take the last code
+ point.
+
+ Added LayoutTests/fast/text/international/khmar-selection.html
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::offsetForPositionForComplexText):
+
+2009-07-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Darin Adler.
+
+ spellcheck="false" is ignored
+ <rdar://problem/7054177>
+
+ * editing/Editor.cpp:
+ (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
+ spellcheck attribute from here...
+ (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
+ (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
+ if spell chcking is disabled by the spellcheck attribute.
+ * editing/Editor.h:
+
+2009-07-13 Brent Fulgham <bfulgham@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add new configuration flag for redistributable Windows build.
+ https://bugs.webkit.org/show_bug.cgi=27087
+
+ * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
+ Debug_Cairo and Release_Cairo builds.
+ * config.h: Check for presence of WIN_CAIRO and select appropriate
+ configuration. Defaults to standard Apple build.
+
+2009-07-13 Peter Kasting <pkasting@google.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+ Back out previous patch for this bug (too many problems).
+
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gypi:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * html/HTMLButtonElement.idl:
+ * html/HTMLFieldSetElement.idl:
+ * html/HTMLFormControlElement.cpp:
+ * html/HTMLFormControlElement.h:
+ (WebCore::HTMLFormControlElement::form):
+ * html/HTMLInputElement.idl:
+ * html/HTMLSelectElement.idl:
+ * html/HTMLTextAreaElement.idl:
+ * html/ValidityState.cpp: Removed.
+ * html/ValidityState.h: Removed.
+ * html/ValidityState.idl: Removed.
+
+2009-07-13 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add HTMLAllCollection to WebCore.gypi.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27223
+
+ * WebCore.gypi: Add HTMLAllCollection.
+
+2009-07-13 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
+ https://bugs.webkit.org/show_bug.cgi?id=27218
+
+ Test: fast/css/matrix-as-function-crash.html
+
+ * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
+
+2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Unreviewed make dist build fix.
+
+ * GNUmakefile.am:
+
+2009-07-13 Cédric Luthi <cedric.luthi@gmail.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ Fix NPWindow clip rect in PluginViewMac
+
+ The rect should be in window-coordinates. This bug can be observed
+ with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
+
+ * plugins/mac/PluginViewMac.cpp:
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix Qt implementation of WebCore::directoryName to return the absolute
+ directory name instead of the base file name.
+
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::directoryName):
+
+2009-07-13 Simon Hausmann <hausmann@webkit.org>
+
+ Reviewed by Ariya Hidayat.
+
+ Fix WebCore::Path::isEmpty() for the Qt port to return true
+ if there is no element in the path.
+
+ QPainterPath::isEmpty() returns also true if there is one single
+ MoveTo element inside, which makes sense but doesn't patch Webcore's
+ is-empty definition.
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::isEmpty): Use elementCount() == 0.
+
+2009-07-13 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
+ https://bugs.webkit.org/show_bug.cgi?id=27127
+
+ There were a number of bugs introduced during the last upstreaming
+ effort that broke around 30 layout tests. This fixes those bugs.
+ It also has compile fixes to match the recent cutting apart of
+ V8Proxy.
+
+ * bindings/v8/NPV8Object.cpp:
+ (freeV8NPObject):
+ (npCreateV8ScriptObject):
+ (NPN_Invoke):
+ (NPN_InvokeDefault):
+ (NPN_EvaluateHelper):
+ (NPN_SetException):
+ (NPN_Construct):
+
+2009-07-13 Mads Ager <ager@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix memory leak in the V8 binding layer.
+ https://bugs.webkit.org/show_bug.cgi?id=27163
+
+ Reinitializing the context is not necessary when clearing the proxy for navigation
+ and it will lead us to hold on to an empty context for each frame.
+
+ Test for empty context instead of empty global object handle when
+ updating the document for a context.
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::clearForNavigation):
+ (WebCore::V8Proxy::updateDocument):
+
+2009-07-13 John Gregg <johnnyg@google.com>
+
+ Reviewed by David Levin.
+
+ Correct the logic to determine if a V8 callback returns a value.
+ https://bugs.webkit.org/show_bug.cgi?id=27155
+
+ * bindings/v8/custom/V8CustomVoidCallback.cpp:
+ (WebCore::invokeCallback):
+ - Don't crash if result.IsEmpty().
+
+2009-07-13 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
+ https://bugs.webkit.org/show_bug.cgi?id=26932
+
+ Initial IDL definition and bindings for SharedWorkers.
+
+ * Configurations/FeatureDefines.xcconfig:
+ Added new files for SharedWorker support.
+ * DerivedSources.make:
+ Added new files for SharedWorker support.
+ * GNUmakefile.am:
+ Added new files for SharedWorker support.
+ * WebCore.gypi:
+ Added new files for SharedWorker support.
+ * WebCore.pro:
+ Added new files for SharedWorker support.
+ * WebCore.xcodeproj/project.pbxproj:
+ Added new files for SharedWorker support.
+ * bindings/js/JSAbstractWorkerCustom.cpp: Added.
+ (WebCore::JSAbstractWorker::mark):
+ Custom mark handler that marks the event listeners.
+ (WebCore::JSAbstractWorker::addEventListener):
+ (WebCore::JSAbstractWorker::removeEventListener):
+ (WebCore::JSAbstractWorker::toJS):
+ Custom toJS handler which differentiates between various subclasses.
+ * bindings/js/JSDOMWindowCustom.cpp:
+ (WebCore::JSDOMWindow::sharedWorker):
+ SharedWorker constructor (only enabled when SHARED_WORKERS is
+ enabled).
+ * bindings/js/JSEventTarget.cpp:
+ (WebCore::toJS):
+ (WebCore::toEventTarget):
+ Added support for converting to/from SharedWorkers.
+ * bindings/js/JSSharedWorkerConstructor.cpp: Added.
+ (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
+ (WebCore::constructSharedWorker):
+ (WebCore::JSSharedWorkerConstructor::getConstructData):
+ * bindings/js/JSSharedWorkerConstructor.h: Added.
+ (WebCore::JSSharedWorkerConstructor::classInfo):
+ * bindings/js/JSSharedWorkerCustom.cpp: Added.
+ (WebCore::JSSharedWorker::mark):
+ Custom mark function that marks the internal MessagePort.
+ * bindings/v8/DOMObjectsInclude.h:
+ Updated to include new header files.
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
+ (WebCore::getEventListener):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ V8 handlers for add/removeEventListener().
+ * bindings/v8/custom/V8CustomBinding.h:
+ * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
+ (WebCore::CALLBACK_FUNC_DECL):
+ Custom constructor for SharedWorker.
+ * dom/EventTarget.cpp:
+ (WebCore::EventTarget::toSharedWorker):
+ * dom/EventTarget.h:
+ * page/DOMWindow.idl:
+ * workers/AbstractWorker.cpp: Added.
+ (WebCore::AbstractWorker::AbstractWorker):
+ Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
+ This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
+ (WebCore::AbstractWorker::~AbstractWorker):
+ (WebCore::AbstractWorker::addEventListener):
+ (WebCore::AbstractWorker::removeEventListener):
+ (WebCore::AbstractWorker::dispatchEvent):
+ (WebCore::AbstractWorker::dispatchLoadErrorEvent):
+ (WebCore::AbstractWorker::dispatchScriptErrorEvent):
+ * workers/AbstractWorker.h: Added.
+ Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
+ (WebCore::AbstractWorker::scriptExecutionContext):
+ (WebCore::AbstractWorker::setOnerror):
+ (WebCore::AbstractWorker::onerror):
+ (WebCore::AbstractWorker::eventListeners):
+ (WebCore::AbstractWorker::refEventTarget):
+ (WebCore::AbstractWorker::derefEventTarget):
+ * workers/AbstractWorker.idl: Added.
+ * workers/SharedWorker.cpp: Added.
+ (WebCore::SharedWorker::SharedWorker):
+ (WebCore::SharedWorker::~SharedWorker):
+ * workers/SharedWorker.h: Added.
+ (WebCore::SharedWorker::create):
+ (WebCore::SharedWorker::port):
+ (WebCore::SharedWorker::toSharedWorker):
+ * workers/SharedWorker.idl: Added.
+
+2009-07-13 Laszlo Gombos <laszlo.1.gombos@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Cleanup - Remove prf install target
+ https://bugs.webkit.org/show_bug.cgi?id=27191
+
+ qtwebkit.prf has been removed; this cleans up the related
+ install target as well.
+
+ * WebCore.pro: Remove prf install target
+
+2009-07-12 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Facebook Chat is broken due to XSS auditor
+ https://bugs.webkit.org/show_bug.cgi?id=27179
+
+ Instead of just using the script's URL as to detect an XSS attack, we
+ now use a bit of context before the URL. In particular, we use the
+ bytes from the beginning of the attribute name to the end of the
+ attribute value. In virtually all injection attacks, the attacker
+ would need to supply the attribute name as well as the attribute value.
+ However, in the Facebook false positive, the attribute name is not
+ present in the URL.
+
+ Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
+ http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
+ http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
+
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseTag):
+ * html/HTMLTokenizer.h:
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
+ * page/XSSAuditor.h:
+
+2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Refactor ConsoleMessage to add MessageType attribute.
+ https://bugs.webkit.org/show_bug.cgi?id=20625
+
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/js/JSDOMWindowBase.cpp:
+ (WebCore::JSDOMWindowBase::printErrorMessage):
+ * dom/Document.cpp:
+ (WebCore::Document::reportException):
+ (WebCore::Document::addMessage):
+ * dom/Document.h:
+ * dom/ScriptExecutionContext.h:
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::reportErrorToConsole):
+ * inspector/ConsoleMessage.cpp:
+ (WebCore::ConsoleMessage::ConsoleMessage):
+ (WebCore::ConsoleMessage::addToConsole):
+ (WebCore::ConsoleMessage::isEqual):
+ * inspector/ConsoleMessage.h:
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::addMessageToConsole):
+ (WebCore::InspectorController::startGroup):
+ (WebCore::InspectorController::endGroup):
+ (WebCore::InspectorController::addProfileFinishedMessageToConsole):
+ (WebCore::InspectorController::addStartProfilingMessageToConsole):
+ (WebCore::InspectorController::count):
+ * inspector/InspectorController.h:
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.addMessage):
+ (WebInspector.ConsoleMessage): Added type property.
+ (WebInspector.ConsoleMessage.prototype.toMessageElement):
+ (WebInspector.ConsoleMessage.prototype.toString):
+ (WebInspector.ConsoleMessage.prototype.isEqual):
+ (WebInspector.ConsoleCommandResult):
+ (WebInspector.ConsoleGroup.prototype.addMessage):
+ (WebInspector.ConsoleGroup.prototype._titleClicked):
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._addTip):
+ (WebInspector.Resource.prototype._checkWarning):
+ * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
+ * inspector/front-end/inspector.js:
+ (WebInspector.addMessageToConsole):
+ * loader/DocLoader.cpp:
+ (WebCore::DocLoader::printAccessDeniedMessage):
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::addMessageToConsole):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reportLocalLoadFailed):
+ (WebCore::FrameLoader::shouldAllowNavigation):
+ * page/ChromeClient.h:
+ * page/Console.cpp:
+ (WebCore::printMessageSourceAndLevelPrefix):
+ (WebCore::Console::addMessage):
+ (WebCore::Console::error):
+ (WebCore::Console::log):
+ (WebCore::Console::dir):
+ (WebCore::Console::trace):
+ (WebCore::Console::assertCondition):
+ (WebCore::Console::timeEnd):
+ (WebCore::Console::warn):
+ * page/Console.h: Added MessageType enum.
+ (WebCore::):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::postMessageTimerFired):
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
+ (WebCore::XSSAuditor::canLoadObject):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::reportWarning):
+ (WebCore::SVGDocumentExtensions::reportError):
+ * wml/WMLErrorHandling.cpp:
+ (WebCore::reportWMLError):
+ * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
+ (WebCore::GenericWorkerTask8::create):
+ (WebCore::GenericWorkerTask8::GenericWorkerTask8):
+ (WebCore::GenericWorkerTask8::performTask):
+ (WebCore::createCallbackTask):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::addMessage):
+ (WebCore::WorkerContext::importScripts):
+ * workers/WorkerContext.h:
+ * workers/WorkerMessagingProxy.cpp:
+ (WebCore::postConsoleMessageTask):
+ (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
+ * workers/WorkerMessagingProxy.h:
+ * workers/WorkerObjectProxy.h:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::reportUnsafeUsage):
+ (WebCore::XMLHttpRequest::didFinishLoading):
+ * xml/XSLTProcessor.cpp:
+ (WebCore::XSLTProcessor::parseErrorFunc):
+
+2009-07-12 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27132
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/DOMObjectsInclude.h:
+ * bindings/v8/DerivedSourcesAllInOne.cpp:
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::getTemplate):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8Index.cpp:
+ * bindings/v8/V8Index.h:
+ * dom/HTMLAllCollection.idl: Added.
+
+2009-07-12 Joseph Pecoraro <joepeck02@gmail.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Inspector: Duplicate Computation in Autocompletion
+ https://bugs.webkit.org/show_bug.cgi?id=26778
+
+ * inspector/front-end/TextPrompt.js:
+ (WebInspector.TextPrompt.prototype._completionsReady):
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27196
+ Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
+
+ * GNUmakefile.am: Updated.
+ * WebCore.gypi: Updated.
+ * WebCore.pro: Updated.
+ * WebCore.vcproj/WebCore.vcproj: Updated.
+ * WebCore.xcodeproj/project.pbxproj: Updated.
+ * WebCoreSources.bkl: Updated.
+ * rendering/RenderBlock.h: Removed unnecessary forward declaration and
+ updated comments.
+ * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
+ Removed unnecessary #include statements.
+ (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
+ (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
+ * rendering/bidi.cpp: Removed.
+ * rendering/bidi.h: Removed.
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ - Windows build fix
+
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ (WebCore::PDFDocumentImage::dataChanged):
+
+2009-07-12 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - Image cleanup
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
+ instead of the m_data member.
+ (WebCore::BitmapImage::dataChanged): Ditto.
+ * platform/graphics/Image.h: Re-ordered #includes and class
+ declarations. Removed the drawPatternCallback() declaration. Made member
+ variables private.
+ * platform/graphics/cg/ImageCG.cpp:
+ (WebCore::drawPatternCallback): Changed this from a member function to a
+ static function.
+ * platform/graphics/cg/PDFDocumentImage.cpp:
+ (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
+ instead of the m_data member.
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::dataChanged): Ditto.
+
+2009-07-12 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27189
+
+ Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
+ XSSAuditor to incorrectly block HTML Base elements whose base path coincided
+ with the URL of the page.
+
+ Test: http/tests/security/xssAuditor/base-href-safe3.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
+ XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
+ in the base element URL.
+
+2009-07-12 Darin Adler <darin@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Text searching with ICU should take the user's default locale into account
+ https://bugs.webkit.org/show_bug.cgi?id=27184
+ rdar://problem/6812121
+
+ No simple way to test this since it's dependent on user locale.
+ After this, the user's default locale is used only on Mac.
+
+ * editing/TextIterator.cpp:
+ (WebCore::createSearcher): Pass result of the currentSearchLocaleID
+ function as the locale.
+
+ * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
+ currentSearchLocaleID function.
+
+ * platform/text/android/TextBreakIteratorInternalICU.cpp:
+ (WebCore::currentSearchLocaleID): Added. Returns the empty string.
+ * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
+ (WebCore::currentSearchLocaleID): Ditto.
+ * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
+ (WebCore::currentSearchLocaleID): Ditto.
+
+ * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
+ (WebCore::textBreakLocalePreference): Added. Returns the value of
+ the AppleTextBreakLocale preference.
+ (WebCore::topLanguagePreference): Added. Returns the value of the
+ first item in the AppleLanguages preference.
+ (WebCore::canonicalLanguageIdentifier): Added. Cover for the
+ CFLocaleCreateCanonicalLanguageIdentifierFromString function.
+ (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
+ into a buffer.
+ (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
+ canonicalLanguageIdentifier, and getLocale.
+ (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
+ (WebCore::getTextBreakLocale): Changed to call
+ textBreakLocalePreference, topLanguagePreference,
+ canonicalLanguageIdentifier, and getLocale.
+
+ * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
+ (WebCore::currentSearchLocaleID): Added. Returns the empty string.
+ * platform/wx/TemporaryLinkStubs.cpp:
+ (WebCore::currentSearchLocaleID): Ditto.
+
+2009-07-12 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25415
+ [GTK][ATK] Please implement support for get_text_at_offset
+
+ Create a PangoLayout that properly represents the visual
+ appearance of the text in the web page so that the line boundary
+ modes of getText{At,Before,After}Offset work correctly.
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (UTF16ToUTF8):
+ (g_substr):
+ (convertUniCharToUTF8):
+ (getPangoLayoutForAtk):
+
+2009-07-11 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
+ <https://bugs.webkit.org/show_bug.cgi?id=27187>
+
+ Simple API change, check for the empty path and add appropriate point if necessary.
+
+ Test: fast/canvas/canvas-modify-emptyPath.html
+
+ * Info.plist:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::lineTo):
+ (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
+ (WebCore::CanvasRenderingContext2D::bezierCurveTo):
+
+2009-07-11 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ HTMLMediaElement.canPlayType "maybe" and "probably" reversed
+ https://bugs.webkit.org/show_bug.cgi?id=27186
+
+ * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ Return "probably" if type has codecs parameter.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ Ditto.
+
+ * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
+ (WebCore::MediaPlayerPrivate::supportsType):
+ Ditto.
+
+2009-07-11 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ A worker-thread inspired follow-up for:
+ https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
+ REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
+ is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
+ not currently supported.
+
+2009-07-11 Simon Fraser <simon.fraser@apple.com>
+
+ Enable support for accelerated compositing and 3d transforms on Leopard.
+ <https://bugs.webkit.org/show_bug.cgi?id=20166>
+ <rdar://problem/6120614>
+
+ Reviewed by Oliver Hunt.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2009-07-11 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build after r45724.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
+
+2009-07-10 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26921
+
+ Implements support for HTML entities, so XSSAuditor can protect against attacks
+ encoded with HTML entities.
+
+ Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
+ http/tests/security/xssAuditor/javascript-link-HTML-entities.html
+ http/tests/security/xssAuditor/link-onclick-entities.html
+ http/tests/security/xssAuditor/script-tag-entities.html
+ http/tests/security/xssAuditor/script-tag-with-source-entities.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
+ (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
+ to decode HTML entities.
+ (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
+ (WebCore::XSSAuditor::findInRequest):
+ * page/XSSAuditor.h:
+
+2009-07-10 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27007: Build fixes when ICONDATABASE is disabled
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27007>
+
+ Reviewed by Sam Weinig.
+
+ * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
+ to the project.
+ * loader/icon/IconDatabase.cpp: Added
+ #if ENABLE(ICONDATABASE)/#endif macro guard.
+ * loader/icon/IconDatabase.h: Removed three public methods from
+ #if ENABLE(ICONDATABASE)/#endif macro so that they may be
+ stubbed out in IconDatabaseNone.cpp.
+ * loader/icon/IconDatabaseNone.cpp: Added
+ #if !ENABLE(ICONDATABASE)/#endif macro guard.
+ (WebCore::IconDatabase::importIconURLForPageURL): Added.
+ (WebCore::IconDatabase::importIconDataForIconURL): Added.
+ (WebCore::IconDatabase::shouldStopThreadActivity): Added.
+
+2009-07-10 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27151
+
+ Fixes issue where JavaScript URLs that contain null- and non-null control characters can
+ bypass XSSAuditor.
+
+ Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
+ http/tests/security/xssAuditor/javascript-link-null-char.html
+ http/tests/security/xssAuditor/javascript-link.html
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
+ inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
+ bindings/js/ScriptController.cpp.
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
+ into its own method.
+ * page/XSSAuditor.h:
+
+2009-07-10 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ WebKit needs a style linting tool
+ https://bugs.webkit.org/show_bug.cgi?id=25884
+
+ Fix bunch of style issues by autofix of cpplint.
+ This patch is created to demonstrate the autofix of cpplint.py.
+
+ No new testcases because it's a style fix
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseMediaQuery):
+ (WebCore::CSSParser::validUnit):
+ (WebCore::CSSParser::parseValue):
+ (WebCore::skipCommaInDashboardRegion):
+ (WebCore::CSSParser::parseDashboardRegions):
+ (WebCore::ShadowParseContext::commitValue):
+ (WebCore::ShadowParseContext::commitLength):
+ (WebCore::ShadowParseContext::commitColor):
+ (WebCore::BorderImageParseContext::commitNumber):
+ (WebCore::BorderImageParseContext::commitWidth):
+ (WebCore::BorderImageParseContext::commitRule):
+ (WebCore::BorderImageParseContext::commitBorderImage):
+ (WebCore::CSSParser::lex):
+ (WebCore::CSSParser::text):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+ * css/MediaList.cpp:
+ (WebCore::MediaList::deleteMedium):
+ * css/MediaQuery.h:
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::parseAspectRatio):
+ * css/MediaQueryEvaluator.h:
+ * css/MediaQueryExp.h:
+ (WebCore::MediaQueryExp::operator==):
+ * css/WebKitCSSMatrix.h:
+ * dom/Comment.h:
+ * dom/Document.cpp:
+ (WebCore::Document::setFocusedNode):
+ * dom/Document.h:
+ (WebCore::Document::setHasDashboardRegions):
+ * dom/DocumentFragment.cpp:
+ (WebCore::DocumentFragment::nodeName):
+ * dom/DocumentFragment.h:
+ * dom/DynamicNodeList.h:
+ * dom/EditingText.h:
+ * dom/Element.cpp:
+ (WebCore::Element::dispatchAttrAdditionEvent):
+ * dom/NamedAttrMap.cpp:
+ (WebCore::NamedNodeMap::item):
+ * dom/Node.cpp:
+ (WebCore::Node::nodeValue):
+ (WebCore::Node::nodeIndex):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::create):
+ * dom/Notation.h:
+ * dom/ProcessingInstruction.h:
+ * dom/Range.cpp:
+ (WebCore::Range::processContents):
+ * dom/StyledElement.cpp:
+ (WebCore::toHex):
+ * dom/XMLTokenizerLibxml2.cpp:
+ (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
+ (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
+ (WebCore::PendingCallbacks::):
+ (WebCore::OffsetBuffer::readOutBytes):
+ (WebCore::handleElementNamespaces):
+ (WebCore::handleElementAttributes):
+ (WebCore::attributesStartElementNsHandler):
+ * dom/XMLTokenizerQt.cpp:
+ (WebCore::attributesStartElementNsHandler):
+ (WebCore::XMLTokenizer::parseStartElement):
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyInlineStyle):
+ * editing/DeleteSelectionCommand.cpp:
+ (WebCore::DeleteSelectionCommand::removeNode):
+ * editing/Editor.cpp:
+ (WebCore::Editor::pasteAsPlainText):
+ * editing/SelectionController.cpp:
+ (WebCore::SelectionController::directionOfEnclosingBlock):
+ * editing/SmartReplaceICU.cpp:
+ (WebCore::addAllCodePoints):
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::icon):
+ (WebCore::HistoryItem::adoptVisitCounts):
+ * html/CanvasStyle.cpp:
+ (WebCore::CanvasStyle::applyFillColor):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::setActive):
+ (WebCore::HTMLAnchorElement::isLiveLink):
+ * html/HTMLAppletElement.h:
+ * html/HTMLAudioElement.h:
+ * html/HTMLBRElement.h:
+ * html/HTMLBaseElement.h:
+ * html/HTMLBaseFontElement.h:
+ * html/HTMLDListElement.h:
+ * html/HTMLDirectoryElement.h:
+ * html/HTMLFieldSetElement.cpp:
+ (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::reset):
+ * html/HTMLHRElement.cpp:
+ (WebCore::HTMLHRElement::parseMappedAttribute):
+ * html/HTMLHeadElement.h:
+ * html/HTMLHtmlElement.h:
+ * html/HTMLImageElement.h:
+ (WebCore::HTMLImageElement::setLoadManually):
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::selection):
+ * html/HTMLIsIndexElement.h:
+ * html/HTMLMarqueeElement.cpp:
+ * html/HTMLMediaElement.h:
+ (WebCore::HTMLMediaElement::):
+ * html/HTMLMenuElement.h:
+ * html/HTMLMetaElement.h:
+ * html/HTMLModElement.h:
+ * html/HTMLOListElement.h:
+ * html/HTMLOptionElement.cpp:
+ (WebCore::HTMLOptionElement::childrenChanged):
+ * html/HTMLParamElement.h:
+ * html/HTMLQuoteElement.h:
+ * html/HTMLStyleElement.h:
+ * html/HTMLTableCaptionElement.h:
+ * html/HTMLTableCellElement.h:
+ * html/HTMLTableColElement.h:
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::deleteRow):
+ * html/HTMLTitleElement.h:
+ * html/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::parseNonHTMLText):
+ (WebCore::HTMLTokenizer::parseEntity):
+ (WebCore::HTMLTokenizer::parseTag):
+ (WebCore::HTMLTokenizer::write):
+ * html/HTMLUListElement.h:
+ * html/HTMLVideoElement.h:
+ * html/TimeRanges.h:
+ (WebCore::TimeRanges::Range::Range):
+ * inspector/InspectorController.cpp:
+ (WebCore::InspectorController::enableResourceTracking):
+ (WebCore::InspectorController::disableResourceTracking):
+ * inspector/InspectorFrontend.cpp:
+ (WebCore::InspectorFrontend::newInspectorJSONObject):
+ * page/Console.cpp:
+ (WebCore::Console::addMessage):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::selectCursor):
+ (WebCore::EventHandler::defaultKeyboardEventHandler):
+ * page/Frame.cpp:
+ (WebCore::Frame::jsDefaultStatusBarText):
+ * page/android/DragControllerAndroid.cpp:
+ (WebCore::DragController::dragOperation):
+ * page/android/EventHandlerAndroid.cpp:
+ (WebCore::EventHandler::tabsToAllControls):
+ (WebCore::EventHandler::eventActivatedView):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/gtk/DragControllerGtk.cpp:
+ (WebCore::DragController::dragOperation):
+ * page/qt/DragControllerQt.cpp:
+ * page/win/DragControllerWin.cpp:
+ (WebCore::DragController::isCopyKeyDown):
+ * page/win/FrameWin.h:
+ * rendering/RenderSlider.cpp:
+ (WebCore::RenderSlider::mouseEventOffsetToThumb):
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::setVerticalAlignLength):
+ (WebCore::InheritedFlags::setUnicodeBidi):
+ (WebCore::InheritedFlags::setCursor):
+ * rendering/style/RenderStyleConstants.h:
+ (WebCore::):
+ * rendering/style/SVGRenderStyleDefs.h:
+ * rendering/style/StyleInheritedData.h:
+ (WebCore::StyleInheritedData::operator!=):
+ * storage/DatabaseTask.h:
+ * svg/GradientAttributes.h:
+ * svg/LinearGradientAttributes.h:
+ * svg/PatternAttributes.h:
+ * svg/RadialGradientAttributes.h:
+ * svg/SVGAnimatedPathData.h:
+ * svg/SVGAnimatedPoints.h:
+ * svg/SVGAnimationElement.h:
+ * svg/SVGClipPathElement.h:
+ * svg/SVGElementInstance.h:
+ * svg/SVGFEBlendElement.cpp:
+ (WebCore::SVGFEBlendElement::build):
+ * svg/SVGFEBlendElement.h:
+ * svg/SVGFEColorMatrixElement.cpp:
+ (WebCore::SVGFEColorMatrixElement::build):
+ * svg/SVGFEComponentTransferElement.cpp:
+ (WebCore::SVGFEComponentTransferElement::build):
+ * svg/SVGFECompositeElement.cpp:
+ (WebCore::SVGFECompositeElement::build):
+ * svg/SVGFEDiffuseLightingElement.cpp:
+ (WebCore::SVGFEDiffuseLightingElement::build):
+ * svg/SVGFEDisplacementMapElement.cpp:
+ (WebCore::SVGFEDisplacementMapElement::build):
+ * svg/SVGFEDistantLightElement.h:
+ * svg/SVGFEFloodElement.cpp:
+ (WebCore::SVGFEFloodElement::build):
+ * svg/SVGFEFloodElement.h:
+ * svg/SVGFEFuncAElement.h:
+ * svg/SVGFEFuncBElement.h:
+ * svg/SVGFEFuncGElement.h:
+ * svg/SVGFEFuncRElement.h:
+ * svg/SVGFEGaussianBlurElement.cpp:
+ (WebCore::SVGFEGaussianBlurElement::build):
+ * svg/SVGFEImageElement.cpp:
+ (WebCore::SVGFEImageElement::build):
+ * svg/SVGFEMergeElement.cpp:
+ (WebCore::SVGFEMergeElement::build):
+ * svg/SVGFEOffsetElement.cpp:
+ (WebCore::SVGFEOffsetElement::build):
+ * svg/SVGFEPointLightElement.h:
+ * svg/SVGFESpecularLightingElement.cpp:
+ (WebCore::SVGFESpecularLightingElement::build):
+ * svg/SVGFESpotLightElement.h:
+ * svg/SVGFETileElement.cpp:
+ (WebCore::SVGFETileElement::build):
+ * svg/SVGLineElement.cpp:
+ (WebCore::SVGLineElement::parseMappedAttribute):
+ * svg/SVGList.h:
+ * svg/SVGListTraits.h:
+ (WebCore::):
+ * svg/SVGMPathElement.h:
+ * svg/SVGMetadataElement.h:
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::SVGPathParser::parseSVG):
+ (WebCore::SVGPathParser::calculateArc):
+ * svg/SVGPathElement.h:
+ * svg/SVGPathSegClosePath.h:
+ * svg/SVGSVGElement.h:
+ * svg/SVGSetElement.h:
+ * svg/SVGSwitchElement.h:
+ * svg/SVGTextPathElement.cpp:
+ (WebCore::SVGTextPathElement::parseMappedAttribute):
+ * svg/SVGTextPathElement.h:
+ * svg/SVGTitleElement.h:
+ * svg/SVGTransformable.cpp:
+ (WebCore::):
+ * svg/SVGViewSpec.cpp:
+ (WebCore::):
+ * svg/animation/SMILTime.cpp:
+ (WebCore::operator+):
+ (WebCore::operator-):
+ (WebCore::operator*):
+ * svg/animation/SVGSMILElement.h:
+ * svg/graphics/SVGResource.cpp:
+ (WebCore::clientMap):
+ * wml/WMLPostfieldElement.cpp:
+ (WebCore::WMLPostfieldElement::value):
+ * wml/WMLSetvarElement.cpp:
+ (WebCore::WMLSetvarElement::value):
+ * workers/WorkerRunLoop.cpp:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dropProtection):
+ * xml/XPathPath.h:
+
+2009-07-10 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7049066>.
+ Update SnowLeopard media controller layout.
+
+ * css/mediaControlsQT.css:
+ Update for new layout.
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::movieLoadType):
+ Added to replace isStreaming.
+ * html/HTMLMediaElement.h:
+ Declare movieLoadType, remove isStreaming.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlStatusDisplayElement::update):
+ Use movieLoadType instead of isStreaming.
+ (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
+ MediaControlElement is the base class, not HTMLInputElement.
+ (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
+ Ditto.
+ (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
+ Don't display rewind button for live streams.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
+ MediaControlInputElement is the base class, not HTMLInputElement.
+ * rendering/MediaControlElements.h:
+
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::getMediaUIPartStateFlags):
+ New, return wkDrawMediaUIPart flags.
+ (WebCore::RenderThemeMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeMac::paintMediaMuteButton):
+ (WebCore::RenderThemeMac::paintMediaPlayButton):
+ (WebCore::RenderThemeMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaSliderThumb):
+ (WebCore::RenderThemeMac::paintMediaRewindButton):
+ (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
+ (WebCore::RenderThemeMac::paintMediaControlsBackground):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+ Use getMediaUIPartStateFlags.
+
+2009-07-10 Michelangelo De Simone <micdesim@gmail.com>
+
+ Reviewed by Adele Peterson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=19562
+ Added build stuff and stub for the ValidityState class, part of HTML5
+ section Forms:
+ http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
+
+ Test: fast/forms/ValidityState-001.html
+
+ * DerivedSources.cpp: Fix aimed to include ValidityState files
+ * DerivedSources.make: ditto
+ * GNUmakefile.am: ditto
+ * WebCore.gypi: ditto
+ * WebCore.pro: ditto
+ * WebCore.vcproj/WebCore.vcproj: ditto
+ * WebCore.xcodeproj/project.pbxproj: ditto
+ * WebCoreSources.bkl: ditto
+ * html/HTMLButtonElement.idl: "validity" attribute
+ * html/HTMLFieldSetElement.idl: ditto
+ * html/HTMLFormControlElement.cpp: object getter
+ (WebCore::HTMLFormControlElement::validity):
+ * html/HTMLFormControlElement.h: ditto
+ * html/HTMLInputElement.idl: "validity" attribute
+ * html/HTMLSelectElement.idl: ditto
+ * html/HTMLTextAreaElement.idl: ditto
+ * html/ValidityState.cpp: Added.
+ (WebCore::ValidityState::ValidityState):
+ (WebCore::ValidityState::valid): validation flag
+ * html/ValidityState.h: Added.
+ (WebCore::ValidityState::create): creation routine
+ (WebCore::ValidityState::control): ValidityState's parent getter
+ (WebCore::ValidityState::valueMissing): validation flag
+ (WebCore::ValidityState::typeMismatch): ditto
+ (WebCore::ValidityState::patternMismatch): ditto
+ (WebCore::ValidityState::tooLong): ditto
+ (WebCore::ValidityState::rangeUnderflow): ditto
+ (WebCore::ValidityState::rangeOverflow): ditto
+ (WebCore::ValidityState::stepMismatch): ditto
+ (WebCore::ValidityState::customError): ditto
+ * html/ValidityState.idl: Added.
+
+2009-07-10 Brady Eidson <beidson@apple.com>
+
+ Style cleanup over my last patch.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+
+2009-07-10 Kevin McCullough <kmccullough@apple.com>
+
+ Reviewed by Geoffrey Garen.
+
+ * inspector/JavaScriptCallFrame.cpp:
+ (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
+ * inspector/JavaScriptCallFrame.h: New helper method, used below.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::detach): In the special case
+ where we detach from a window currently executing JavaScript,
+ manually tear down our representation of the JavaScript
+ call stack, since we won't get any more callbacks from JavaScriptCore
+ to automatically tear it down. It's too bad that WebCore is
+ responsible for this kind of tracking -- in the future, it would
+ be nice if more of the breakpoint handling was inside of JavaScriptCore.
+
+2009-07-10 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
+ REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
+
+ With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
+ When that happened, the first request that was over the limit ended up in a bizarre state where it
+ wasn't fully serviced until after the long running XHR was complete.
+
+ Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
+ resources - such as XHR - could still end up causing this limit to be exceeded.
+
+ This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
+ handle this at the resource handle level.
+
+ * loader/loader.cpp:
+ (WebCore::Loader::nonCacheRequestInFlight):
+ (WebCore::Loader::nonCacheRequestComplete):
+ (WebCore::Loader::Host::Host):
+ (WebCore::Loader::Host::nonCacheRequestInFlight):
+ (WebCore::Loader::Host::nonCacheRequestComplete):
+ (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
+ * loader/loader.h:
+ (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
+
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::XMLHttpRequest):
+ (WebCore::XMLHttpRequest::~XMLHttpRequest):
+ (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
+ (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
+ (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
+
+2009-07-10 Antti Koivisto <antti@apple.com>
+
+ Try to unbreak non-Mac build.
+
+ * page/ChromeClient.h:
+ (WebCore::ChromeClient::formDidFocus):
+ (WebCore::ChromeClient::formDidBlur):
+
+2009-07-10 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
+ In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
+ clicking To Do's close box
+
+ Make the Widget* in passMouseDownEventToWidget() a RefPtr.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::passMouseDownEventToWidget):
+
+2009-07-10 Eric Seidel <eric@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
+ https://bugs.webkit.org/show_bug.cgi?id=27157
+
+ This is the first step to fixing
+ https://bugs.webkit.org/show_bug.cgi?id=27088
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/JSDOMBinding.h:
+ (WebCore::deprecatedGetDOMStructure):
+ (WebCore::createDOMObjectWrapper):
+ (WebCore::createDOMNodeWrapper):
+ * bindings/js/JSNamedNodesCollection.cpp:
+ (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
+ * bindings/js/JSRGBColor.cpp:
+ (WebCore::JSRGBColor::JSRGBColor):
+ * bridge/objc/objc_runtime.mm:
+ (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
+ * bridge/runtime_array.cpp:
+ (JSC::RuntimeArray::RuntimeArray):
+ * bridge/runtime_method.cpp:
+ (JSC::RuntimeMethod::RuntimeMethod):
+ * bridge/runtime_object.cpp:
+ (JSC::RuntimeObjectImp::RuntimeObjectImp):
+
+2009-07-10 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Antti Koivisto.
+
+ Add delegate methods about focus and blur and state change
+ https://bugs.webkit.org/show_bug.cgi?id=27153
+
+ Call the appropriate new ChromeClient methods for focus and blur.
+
+ * html/HTMLFormControlElement.cpp:
+ (WebCore::HTMLFormControlElement::dispatchFocusEvent):
+ (WebCore::HTMLFormControlElement::dispatchBlurEvent):
+ * html/HTMLFormControlElement.h:
+ * loader/EmptyClients.h:
+ (WebCore::EmptyChromeClient::formDidFocus):
+ (WebCore::EmptyChromeClient::formDidBlur):
+ * page/ChromeClient.h:
+
+2009-07-10 Steve Falkenburg <sfalken@apple.com>
+
+ <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
+
+ Use altered search path while loading plug-ins. This modifies the DLL search order
+ to look in the directory containing the plug-in even if a call to SetDllDirectory
+ was previously made. Use of SetDllDirectory removes the current directory from the search path,
+ breaking the previous strategy for locating any dependent DLLs of the plug-in.
+
+ Reviewed by Jon Honeycutt.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
+
+2009-07-10 Adam Roben <aroben@apple.com>
+
+ Sort all our Xcode projects
+
+ Accomplished using sort-Xcode-project-file.
+
+ Requested by Dave Kilzer.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2009-07-10 Adam Langley <agl@google.com>
+
+ Reviewed by Darin Fisher.
+
+ Chromium Linux: use disabled images for disabled widgets.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27106
+
+ Previously, checkboxes and radio controls rendered the same even if disabled.
+ The Chromium side of this change is r20224.
+
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::paintCheckbox):
+ (WebCore::RenderThemeChromiumSkia::paintRadio):
+
+2009-07-10 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by John Sullivan.
+
+ Fix crash when changing the zoom level in http://iphone.akamai.com/
+ <rdar://problem/7029077>
+
+ RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
+ which could potentially destroy that compositing layer, causing a crash.
+ Prevent this from happening by not doing a compositing update from paintIntoLayer().
+
+ The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
+ and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
+ compositing layers, and is still called from paintIntoLayer().
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paintLayer):
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::updateLayerListsIfNeeded):
+ (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
+ * rendering/RenderLayer.h:
+
+2009-07-10 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Darin Adler.
+
+ Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
+ https://bugs.webkit.org/show_bug.cgi?id=27010
+
+ Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
+
+ This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
+ * css/CSSRule.idl:
+ * css/CSSValue.idl:
+ * css/StyleSheet.idl:
+ * dom/Document.idl:
+ * dom/Event.idl:
+ * dom/Node.idl:
+ * html/ImageData.idl:
+ * svg/SVGElementInstance.idl:
+ * svg/SVGPathSeg.idl:
+ Added CustomToJS attribute to all the above IDL files.
+
+2009-07-10 Dan Bernstein <mitz@apple.com>
+
+ - fix the build by reverting the ill-advised r45711
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollToAnchor):
+
+2009-07-09 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ Updated WebCore.base.exp to add some needed functions.
+
+ * WebCore.base.exp:
+
+2009-07-10 Dan Bernstein <mitz@apple.com>
+
+ - address a review comment from Simon Fraser which I forgot to include
+ in the last check-in
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
+ maximum transform friendliness!
+
+2009-07-10 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=27137
+ <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
+ to infinite recursion into FrameLoader::gotoAnchor() ->
+ FrameView::layout()
+
+ Test: fast/loader/goto-anchor-infinite-layout.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
+ find the renderer to scroll to, and scroll from here to methods on
+ FrameView, and replaced it with a call to
+ FrameView::maintainScrollPositionAtAnchor().
+ (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
+ instead of setLockedToAnchor().
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::FrameView): Removed initialization of
+ m_lockedToAnchor.
+ (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
+ of m_lockedToAnchor.
+ (WebCore::FrameView::layout): Removed the code related to scrolling to
+ the anchor from here, because scrolling can trigger events which
+ invalidate the layout, and as such, belongs with the post-layout tasks.
+ (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
+ with a node scrolls the view to the top of that node and maintains it
+ scrolled to the top of the node during subsequent layouts, until
+ this function is called with 0 or other things trigger scrolling.
+ (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
+ m_maintainScrollPositionAnchor.
+ (WebCore::FrameView::setScrollPosition): Ditto.
+ (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
+ m_maintainScrollPositionAnchor, if it is set.
+ (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
+ (WebCore::FrameView::setWasScrolledByUser): Reset
+ m_maintainScrollPositionAnchor.
+
+ * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
+ and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
+ m_maintainScrollPositionAnchor.
+
+2009-07-04 Sriram Yadavalli <sriram.yadavalli@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26439
+
+ QtWebKit fails in loading www.nytimes.com in Windows/Linux
+
+ QNetworkReplyHandler is ignoring content associated with 401 error.
+ This causes the XHR response handling to fail.
+
+ Simon: Added also ProxyAuthenticationRequiredError, to handle the same
+ case when going through proxies, as suggested by Prasanth.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::finish):
+
+2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Holger Freyther.
+
+ Enable HTML 5 Messaging to fix message channel Qt DRT failures in
+ fast/events.
+
+ * WebCore.pro:
+
+2009-07-09 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ added InlineBox::isLeaf()
+ firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
+ firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
+ Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
+ Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
+
+ Currently, these methods are called on RootInlineBox objects only, so above changes should not have
+ any observable effect (only the removal of the square performance behavior could apply,
+ but the conditions for that are probably of a rather theoretical nature).
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::nextLeafChild):
+ (WebCore::InlineBox::prevLeafChild):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::isLeaf):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::firstLeafChild):
+ (WebCore::InlineFlowBox::lastLeafChild):
+ * rendering/InlineFlowBox.h:
+ (WebCore::InlineFlowBox::firstChild):
+ (WebCore::InlineFlowBox::lastChild):
+ (WebCore::InlineFlowBox::isLeaf):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::closestLeafChildForXPos):
+
+2009-07-09 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Added InlineBox::baselinePosition() and lineHeight() methods
+ (adapted remaining code accordingly to use those methods)
+
+ No change in functionality.
+
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::baselinePosition):
+ (WebCore::InlineBox::lineHeight):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
+ (WebCore::InlineFlowBox::computeLogicalBoxHeights):
+ (WebCore::InlineFlowBox::placeBoxesVertically):
+
+2009-07-09 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 27142 - canPlayType() should return empty string for unsupported content
+ <https://bugs.webkit.org/show_bug.cgi?id=27142>
+
+ Return "" instead of "no" for unsupport media types.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::canPlayType):
+
+2009-07-09 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
+ in that their end tags are optional if followed by <rp>/<rt>.
+
+ Also specify a new accessibility role "annotation" for <rp> and <rt>.
+
+ Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
+ is not affected by whether ruby is rendered properly or not (in fact, it may
+ be more profound without ruby layouting, since the contents of <rp> are not hidden).
+
+ Test: fast/ruby/parse-rp.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::roleValue):
+ * html/HTMLElement.cpp:
+ (WebCore::HTMLElement::endTagRequirement):
+ (WebCore::HTMLElement::tagPriority):
+ (WebCore::inlineTagList):
+ * html/HTMLParser.cpp:
+ (WebCore::HTMLParser::rpCreateErrorCheck):
+ (WebCore::HTMLParser::rtCreateErrorCheck):
+ (WebCore::HTMLParser::getNode):
+ * html/HTMLParser.h:
+ * html/HTMLTagNames.in:
+
+2009-07-09 Dmitry Titov <dimich@chromium.org>
+
+ Not reviewed, fix for previous commit.
+
+ The change http://trac.webkit.org/changeset/45695 did not correctly
+ enabled GTL and QT build flags. This caused layout tests failure.
+ This is speculative fix for those failures.
+
+ * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
+ * WebCore.pro: ditto.
+ * page/DOMWindow.idl: touched to cause recompile.
+ * workers/WorkerContext.idl: ditto.
+
+2009-07-09 Drew Wilson <atwilson@google.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26903
+
+ Turned on CHANNEL_MESSAGING by default because the MessageChannel API
+ is now implemented for Web Workers and is reasonably stable.
+
+ Tests: fast/events/message-channel-gc-2.html
+ fast/events/message-channel-gc-3.html
+ fast/events/message-channel-gc-4.html
+ fast/events/message-channel-gc.html
+ fast/events/message-channel-listener-circular-ownership.html
+ fast/events/message-port-clone.html
+ fast/events/message-port-constructor-for-deleted-document.html
+ fast/events/message-port-deleted-document.html
+ fast/events/message-port-deleted-frame.html
+ fast/events/message-port-inactive-document.html
+ fast/events/message-port-no-wrapper.html
+ fast/events/message-port.html
+ fast/workers/worker-cloneport.html
+ fast/workers/worker-messageport-gc.html
+ fast/workers/worker-messageport.html
+
+ * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
+ * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
+ * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
+ * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
+ * WebCore/workers/WorkerContext.idl: ditto.
+
+
+2009-07-09 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Full page zoom breaks remaining and elapsed time display in the <video> controller.
+ https://bugs.webkit.org/show_bug.cgi?id=27123
+
+ We are changing the size of the time remaining and time elapsed field, to
+ automatically hide them, when the controller is too short.
+
+ Because we toggle the size between 0 and the previous value of the
+ controller, we miss any width change that may occur during full page zoom,
+ and we fail to restore a correct width.
+
+ This change fixes that problem by using a cloned style on which we
+ set the width to 0, and restoring the previous style when going back to
+ the normal width.
+
+ We take care about properly using the cloned style or the pseudo style,
+ by overriding styleForElement().
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::styleForElement):
+ (WebCore::MediaControlElement::attach):
+ (WebCore::MediaControlElement::updateStyle):
+ (WebCore::MediaControlInputElement::styleForElement):
+ (WebCore::MediaControlInputElement::attach):
+ (WebCore::MediaControlInputElement::updateStyle):
+ (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
+ (WebCore::MediaControlTimeDisplayElement::styleForElement):
+ (WebCore::MediaControlTimeDisplayElement::setVisible):
+ * rendering/MediaControlElements.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
+ we take in account the zoom level when deciding if we should hide the
+ ellapsed and remaining time.
+
+2009-07-09 Michael Nordman <michaeln@google.com>
+
+ Reviewed by Darin Adler.
+
+ Fix chromium build bustage due to Widget being a RefCounted class.
+ https://bugs.webkit.org/show_bug.cgi?id=27139
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ * platform/chromium/PopupMenuChromium.h:
+
+2009-07-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27130 - Need to implement ARIA role="toolbar"
+ https://bugs.webkit.org/show_bug.cgi?id=27130
+
+ Test: platform/mac/accessibility/aria-toolbar.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::RoleEntry::):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper roleDescription]):
+
+2009-07-09 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
+ https://bugs.webkit.org/show_bug.cgi?id=27135
+
+ * WebCore.gypi: Added.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ A more robust fix for <rdar://problem/6930280> Reproducible crash at
+ USA Today photo gallery
+
+ Reviewed by Steve Falkenburg.
+
+ * plugins/win/PluginMessageThrottlerWin.cpp:
+ (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
+ Protect the PluginView from destruction before calling its window proc.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ <rdar://problem/6978804> WER #16: Repro Access Violation in
+ WebCore::PluginView::bindingInstance (1310178023)
+
+ Reviewed by Darin Adler.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::bindingInstance):
+ Protect the PluginView from destruction before calling NPN_GetValue. If
+ the renderer for the PluginView was destroyed during the call, and the
+ PluginView's ref count is now 1, return null.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Speculative fix for <rdar://problem/6991251> WER #13: Crash in
+ WebKit!WebCore::PluginView::performRequest+203 (1311461169)
+
+ Reviewed by Darin Adler.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::performRequest):
+ Protect the PluginView from destruction before performing a load.
+ Removed some trailing whitespace.
+
+2009-07-09 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Build fix.
+
+ * inspector/JavaScriptDebugServer.cpp:
+ (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
+
+2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Make Widget RefCounted to fix or make fixable:
+
+ <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
+ at WebCore::Widget::afterMouseDown() after clicking To Do's close
+ box
+ <rdar://problem/6978804> WER #16: Repro Access Violation in
+ WebCore::PluginView::bindingInstance (1310178023)
+ -and-
+ <rdar://problem/6991251> WER #13: Crash in WebKit!
+ WebCore::PluginView::performRequest+203 (1311461169)
+
+ * loader/EmptyClients.h:
+ (WebCore::EmptyFrameLoaderClient::createPlugin):
+ Changed to return PassRefPtr
+ (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
+ Ditto.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::loadSubframe):
+ (WebCore::FrameLoader::loadPlugin):
+ Make the widget variable a RefPtr. Use .get() when passing it to
+ RenderPart::setWidget().
+ (WebCore::FrameLoader::createJavaAppletWidget):
+ Make the widget variable a RefPtr.
+
+ * loader/FrameLoader.h:
+ Changed the return type of createJavaAppletWidget().
+
+ * loader/FrameLoaderClient.h:
+ Change the return types of createPlugin() and
+ createJavaAppletWidget().
+
+ * page/Frame.cpp:
+ (WebCore::Frame::createView):
+ No need to call .get() since setWidget() takes a RefPtr.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layoutIfNeededRecursive):
+ children() now returns a HashSet of RefPtrs.
+
+ * page/FrameView.h:
+ Remove inheritance from RefCounted; we pick this up from ScrollView
+ through Widget.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::addChild):
+ addChild() now takes a PassRefPtr and m_children now keeps a
+ HashSet of RefPtrs.
+
+ * platform/ScrollView.h:
+ ScrollView constructor is now protected.
+ (WebCore::ScrollView::children):
+ m_children is now a HashSet of RefPtrs.
+
+ * platform/Scrollbar.h:
+ Remove inheritance from RefCounted; we pick this up from ScrollView
+ through Widget.
+
+ * platform/Widget.h:
+ Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
+ a RefPtr.
+
+ * plugins/PluginView.cpp:
+ (WebCore::PluginView::create):
+ Adopt the PluginView when returning it.
+
+ * plugins/PluginView.h:
+ Changed create() to return a PassRefPtr.
+
+ * rendering/RenderApplet.cpp:
+ Receive result in a RefPtr when calling createJavaAppletWidget().
+
+ * rendering/RenderPart.cpp:
+ (WebCore::RenderPart::setWidget):
+ setWidget() now takes a PassRefPtr. Also removed the manual ref of
+ FrameViews. This is handled by having m_widget be a RefPtr. Removed
+ deleteWidget().
+
+ * rendering/RenderPart.h:
+ Removed override of deleteWidget().
+
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::destroy):
+ (WebCore::RenderWidget::setWidget):
+ (WebCore::RenderWidget::paint):
+ (WebCore::RenderWidget::setOverlapTestResult):
+ (WebCore::RenderWidget::updateWidgetPosition):
+ Use .get().
+ (WebCore::RenderWidget::clearWidget):
+ Don't call deleteWidget(). It was removed.
+
+ * rendering/RenderWidget.h:
+ Removed deleteWidget(). Made m_widget a RefPtr.
+ (WebCore::RenderWidget::widget):
+ Use .get().
+
+2009-07-09 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Bug 27129 - AX: possible assertion for a non-native image in accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=27129
+
+ It's possible for an image that is not really an image to assert, because its renderer
+ is turned into a RenderImage.
+
+ Test: accessibility/non-native-image-crash.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::RoleEntry::):
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper roleDescription]):
+
+2009-07-09 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix for SnowLeopard.
+
+ Avoid using the contentsTransform methods if not on Leopard, because
+ we don't need to call them.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::updateContentsTransform):
+ * platform/graphics/mac/WebLayer.mm:
+ (-[WebLayer setNeedsDisplayInRect:]):
+ * platform/graphics/mac/WebTiledLayer.mm:
+ (-[WebTiledLayer setNeedsDisplayInRect:]):
+
+2009-07-09 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt
+
+ Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
+ is not available.
+ <rdar://problem/6120614>
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setContentsOrientation):
+ (WebCore::GraphicsLayer::contentsOrientation):
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::GraphicsLayer):
+ Add a m_contentsOrientation member and getter/setter to control whether
+ the contents of this layer have a transform applied to them before display.
+
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ New method to return the default contents orientation.
+
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::flipTransform):
+ Convenience method to return a transform with a Y flip.
+
+ (WebCore::GraphicsLayerCA::GraphicsLayerCA):
+ (WebCore::GraphicsLayerCA::setSize):
+ After the size changes we have to update the contentsTransform.
+
+ (WebCore::GraphicsLayerCA::setGeometryOrientation):
+ (WebCore::GraphicsLayerCA::geometryOrientation):
+ If -setGeometryFlipped: is not available, use a children transform.
+
+ (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
+ Tiled layers have issues with flipped contentsTransform, so just use
+ top-down drawing for them. Call updateContentsTransform() to set the
+ new contents transform after swapping layers.
+
+ (WebCore::GraphicsLayerCA::defaultContentsOrientation):
+ Use bottom-up when -geometryFlipped is not available, otherwise top-down.
+
+ (WebCore::GraphicsLayerCA::updateContentsTransform):
+ Set the layer contents transform based on contentsOrientation().
+
+ (WebCore::GraphicsLayerCA::setContentsLayer):
+ We have to manually flip contents layers if we're not using -geometryFlipped.
+
+ * platform/graphics/mac/WebLayer.h:
+ * platform/graphics/mac/WebLayer.mm:
+ Do early return if layerContents is nil. Flip the CTM if the layer has
+ bottom-up coordinates, so that CG sees a CTM with no flip.
+ Do the CGContextRestoreGState() after drawing the debug indicator.
+
+ (-[WebLayer setNeedsDisplayInRect:]):
+ * platform/graphics/mac/WebTiledLayer.mm:
+ (-[WebTiledLayer setNeedsDisplayInRect:]):
+ Need to map the dirty rect through the contentsTransform.
+
+2009-07-09 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
+
+ Can't test this functionality with layout tests.
+
+ * WebCore.base.exp:
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::recordVisitAtTime):
+ (WebCore::HistoryItem::visited):
+ * history/HistoryItem.h:
+ Only increase visit count if explicitly told to. Now, some visits change last access time,
+ but do not increase visit count.
+
+2009-07-09 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
+
+ Require QuickTime 7.6.3 or higher to enable the new media controller UI.
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::mediaControllerTheme):
+
+2009-07-09 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ Remove incorrect comment.
+
+ * page/MouseEventWithHitTestResults.h:
+
+2009-07-09 Mads Ager <ager@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Update the V8 bindings codegenerator to use the RGBColor::create
+ method to handle refcounts for RGBColor objects correctly.
+
+ * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
+
+2009-07-09 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Crash in RenderMedia::styleDidChange.
+ <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
+ media element (RenderMedia::styleDidChange + 115)
+
+ Speculative fix for crash in styleDidChange. Null check controller elements before tell
+ them to update style.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::styleDidChange):
+
+2009-07-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ [V8] Move V8DOMWrapper to its own file
+ https://bugs.webkit.org/show_bug.cgi?id=27121
+
+ * bindings/v8/V8DOMWrapper.cpp: Added.
+ (WebCore::GetToStringName):
+ (WebCore::ConstructorToString):
+ (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
+ (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
+ (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
+ (WebCore::V8DOMWrapper::getTemplate):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ (WebCore::V8DOMWrapper::domWrapperType):
+ (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
+ (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
+ (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::setDOMWrapper):
+ (WebCore::V8DOMWrapper::maybeDOMWrapper):
+ (WebCore::V8DOMWrapper::isDOMEventWrapper):
+ (WebCore::V8DOMWrapper::isWrapperOfType):
+ (WebCore::V8DOMWrapper::htmlElementType):
+ (WebCore::V8DOMWrapper::svgElementType):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
+ (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ * bindings/v8/V8DOMWrapper.h: Added.
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
+ (WebCore::V8DOMWrapper::wrapCPointer):
+ (WebCore::V8DOMWrapper::extractCPointer):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::convertToNativeObject):
+ (WebCore::V8DOMWrapper::convertToNativeEvent):
+ (WebCore::V8DOMWrapper::extractCPointerImpl):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+
+2009-07-09 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Crash in setFocusedFrame.
+ <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
+
+ Speculative fix for crasher in setFocusedFrame. Make sure to ref both frames and fire
+ the events only after the local member has been updated.
+
+ * page/FocusController.cpp:
+ (WebCore::FocusController::setFocusedFrame):
+
+2009-07-09 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Possible crashes when mouse clicks not dispatched because range input destroyed while
+ thumb is being dragged (e.g. scrub to end of movie)
+ <rdar://problem/7037494>
+ https://bugs.webkit.org/show_bug.cgi?id=27101
+
+ Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
+ get mouse events even when the mouse is moved outside of the node. This is done by putting
+ EventHandler into a mode where it sends all mouse events to the node regardless of the
+ actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
+ node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
+ to try to send events to the deleted node. This sometimes results in a crash, and sometimes
+ in a page that doesn't respond to click events.
+
+ Tests: fast/forms/search-delete-while-cancel-button-clicked.html
+ fast/forms/slider-delete-while-dragging-thumb.html
+ media/audio-delete-while-slider-thumb-clicked.html
+ media/audio-delete-while-step-button-clicked.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlSeekButtonElement::detach):
+ New, call setCapturingMouseEventsNode if capturing mouse events.
+ * rendering/MediaControlElements.h:
+ Declare detach().
+
+ * rendering/RenderSlider.cpp:
+ (WebCore::SliderThumbElement::detach):
+ New, call setCapturingMouseEventsNode if capturing mouse events.
+
+ * rendering/TextControlInnerElements.cpp:
+ (WebCore::SearchFieldCancelButtonElement::detach):
+ New, call setCapturingMouseEventsNode if capturing mouse events.
+ * rendering/TextControlInnerElements.h:
+ Declare detach().
+
+2009-07-09 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Enter the Frame's context before creating new objects in setContextDebugId.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27112
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setContextDebugId):
+
+2009-07-09 Simon Hausmann <hausmann@webkit.org>
+
+ Fix the Qt build.
+
+ * WebCore.pro: Add new storage impl files to the build.
+
+2009-07-08 Adam Barth <abarth@webkit.org>
+
+ Rubber stamped by Eric Seidel.
+
+ [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
+ https://bugs.webkit.org/show_bug.cgi?id=27107
+
+ This patch is just renaming. Code motion will occur next.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::processingUserGesture):
+ (WebCore::createScriptObject):
+ (WebCore::ScriptController::createScriptObjectForPluginElement):
+ * bindings/v8/ScriptObject.cpp:
+ (WebCore::ScriptGlobalObject::set):
+ * bindings/v8/ScriptObjectQuarantine.cpp:
+ (WebCore::getQuarantinedScriptObject):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::handleEvent):
+ (WebCore::V8AbstractEventListener::getReceiverObject):
+ * bindings/v8/V8Collection.cpp:
+ (WebCore::toOptionsCollectionSetter):
+ * bindings/v8/V8Collection.h:
+ (WebCore::getV8Object):
+ (WebCore::getNamedPropertyOfCollection):
+ (WebCore::nodeCollectionNamedPropertyGetter):
+ (WebCore::getIndexedPropertyOfCollection):
+ (WebCore::nodeCollectionIndexedPropertyGetter):
+ (WebCore::nodeCollectionIndexedPropertyEnumerator):
+ (WebCore::collectionIndexedPropertyEnumerator):
+ (WebCore::collectionStringOrNullIndexedPropertyGetter):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::DOMData::handleWeakObject):
+ (WebCore::DOMData::removeObjectsFromWrapperMap):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::enumerateDOMObjectMap):
+ (WebCore::DOMObjectVisitor::visitDOMWrapper):
+ (WebCore::GCPrologueVisitor::visitDOMWrapper):
+ (WebCore::GCEpilogueVisitor::visitDOMWrapper):
+ * bindings/v8/V8Helpers.cpp:
+ (WebCore::wrapNPObject):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::acceptNode):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
+ (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
+ (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
+ (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
+ (WebCore::V8Proxy::evaluateInNewContext):
+ (WebCore::V8Proxy::getConstructor):
+ (WebCore::V8DOMWrapper::getTemplate):
+ (WebCore::V8Proxy::retrieveWindow):
+ (WebCore::V8Proxy::updateDocumentWrapperCache):
+ (WebCore::V8Proxy::clearForNavigation):
+ (WebCore::V8Proxy::installDOMWindow):
+ (WebCore::setDOMExceptionHelper):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::setHiddenWindowReference):
+ (WebCore::V8DOMWrapper::domWrapperType):
+ (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
+ (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
+ (WebCore::V8DOMWrapper::lookupDOMWrapper):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
+ (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8DOMWrapper::setDOMWrapper):
+ (WebCore::V8DOMWrapper::maybeDOMWrapper):
+ (WebCore::V8DOMWrapper::isDOMEventWrapper):
+ (WebCore::V8DOMWrapper::isWrapperOfType):
+ (WebCore::V8DOMWrapper::htmlElementType):
+ (WebCore::V8DOMWrapper::svgElementType):
+ (WebCore::V8DOMWrapper::convertEventToV8Object):
+ (WebCore::V8DOMWrapper::convertNodeToV8Object):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
+ (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
+ (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
+ (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
+ (WebCore::V8DOMWrapper::convertWindowToV8Object):
+ (WebCore::V8Proxy::bindJsObjectToWindow):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
+ (WebCore::V8DOMWrapper::wrapCPointer):
+ (WebCore::V8DOMWrapper::extractCPointer):
+ (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
+ (WebCore::V8DOMWrapper::convertToV8Object):
+ (WebCore::V8DOMWrapper::convertToNativeObject):
+ (WebCore::V8DOMWrapper::convertToNativeEvent):
+ (WebCore::V8DOMWrapper::extractCPointerImpl):
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ (WebCore::V8Proxy::constructDOMObject):
+ (WebCore::toV8):
+ * bindings/v8/V8SVGPODTypeWrapper.h:
+ (WebCore::V8SVGPODTypeUtil::toSVGPODType):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::retrieve):
+ (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
+ (WebCore::WorkerContextExecutionProxy::GetConstructor):
+ (WebCore::WorkerContextExecutionProxy::ToV8Object):
+ (WebCore::WorkerContextExecutionProxy::EventToV8Object):
+ (WebCore::WorkerContextExecutionProxy::toV8):
+ * bindings/v8/custom/V8AttrCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::toCanvasStyle):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8ClientRectListCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8ClipboardCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomBinding.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ (WebCore::NAMED_ACCESS_CHECK):
+ (WebCore::V8Custom::GetTargetFrame):
+ * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
+ (WebCore::V8CustomSQLStatementCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
+ (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
+ (WebCore::V8CustomSQLTransactionCallback::handleEvent):
+ * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
+ (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8Custom::WindowSetTimeoutImpl):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::V8Custom::ClearTimeoutImpl):
+ (WebCore::NAMED_ACCESS_CHECK):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ * bindings/v8/custom/V8DatabaseCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8ElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_SETTER):
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ (WebCore::INDEXED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8InspectorControllerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::INDEXED_ACCESS_CHECK):
+ (WebCore::NAMED_ACCESS_CHECK):
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8MessagePortCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::INDEXED_PROPERTY_GETTER):
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8NavigatorCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeIteratorCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGLengthCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8SVGMatrixCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
+ (WebCore::storageGetter):
+ (WebCore::storageSetter):
+ (WebCore::storageDeleter):
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ (WebCore::NAMED_PROPERTY_GETTER):
+ * bindings/v8/custom/V8TreeWalkerCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::SetTimeoutOrInterval):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
+ (WebCore::ACCESSOR_GETTER):
+ (WebCore::ACCESSOR_SETTER):
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Make sure we can click outside the slider thumb and start dragging.
+ https://bugs.webkit.org/show_bug.cgi?id=26229
+
+ Previously we were assuming that if the thumb hasn't been clicked, we
+ wouldn't issue any value change upon dragging.
+
+ We need to handle the two different cases:
+ - Clicked in the thumb, we need to make sure the cursor is always pointing
+ the same slider thumb point.
+ - Clicked outside, the cursor should always be pointing to the center of
+ the thumb.
+
+ For simplicity, we don't remember the original point of the mouse down,
+ but a vector between that point and the thumb.
+
+ * rendering/RenderSlider.cpp:
+ (WebCore::SliderThumbElement::SliderThumbElement):
+ (WebCore::SliderThumbElement::defaultEventHandler):
+ (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
+ * rendering/RenderSlider.h:
+
+2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27100
+ <rdar://problem/7042621>
+
+ Don't display "loading" in the <video> controller when
+ there is no src specified.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlStatusDisplayElement::update): The only
+ way to find out if we have an element is currentSrc(). networkState()
+ will always report LOADING according to the spec.
+
+2009-07-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] Move V8GCController functions to their own file
+ https://bugs.webkit.org/show_bug.cgi?id=27102
+
+ * bindings/v8/V8GCController.cpp: Added.
+ * bindings/v8/V8GCController.h: Added.
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+
+2009-07-08 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Split StorageArea and StorageNamespace into an interface and implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=27072
+
+ I need to split StorageNamespace and StorageArea into an interface and
+ implementation. In a later patch, I'll implement a proxy interface
+ that'll run inside the Chromium renderer process.
+
+ Additionally, fix the alphabetical ordering of files I recently added
+ in the project files.
+
+ This is a continuation of other refactoring work:
+ https://bugs.webkit.org/show_bug.cgi?id=25376
+
+ * GNUmakefile.am:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * storage/StorageArea.cpp:
+ (WebCore::StorageArea::create):
+ * storage/StorageArea.h:
+ (WebCore::StorageArea::~StorageArea):
+ * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
+ (WebCore::StorageAreaImpl::create):
+ (WebCore::StorageAreaImpl::~StorageAreaImpl):
+ (WebCore::StorageAreaImpl::StorageAreaImpl):
+ (WebCore::StorageAreaImpl::copy):
+ (WebCore::StorageAreaImpl::length):
+ (WebCore::StorageAreaImpl::key):
+ (WebCore::StorageAreaImpl::getItem):
+ (WebCore::StorageAreaImpl::setItem):
+ (WebCore::StorageAreaImpl::removeItem):
+ (WebCore::StorageAreaImpl::clear):
+ (WebCore::StorageAreaImpl::contains):
+ (WebCore::StorageAreaImpl::importItem):
+ (WebCore::StorageAreaImpl::securityOrigin):
+ (WebCore::StorageAreaImpl::close):
+ (WebCore::StorageAreaImpl::blockUntilImportComplete):
+ (WebCore::StorageAreaImpl::dispatchStorageEvent):
+ * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
+ * storage/StorageAreaSync.h:
+ * storage/StorageNamespace.cpp:
+ (WebCore::StorageNamespace::localStorageNamespace):
+ (WebCore::StorageNamespace::sessionStorageNamespace):
+ * storage/StorageNamespace.h:
+ (WebCore::StorageNamespace::~StorageNamespace):
+ * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
+ (WebCore::StorageNamespaceImpl::localStorageNamespace):
+ (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
+ (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
+ (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::storageArea):
+ (WebCore::StorageNamespaceImpl::close):
+ * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
+
+2009-07-08 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ [V8] Move garbage collector related functions from V8Proxy to V8GCController
+ https://bugs.webkit.org/show_bug.cgi?id=26967
+
+ This patch just moves the functions around in V8Proxy. We'll actually
+ move them to a separate file in another patch.
+
+ * bindings/v8/NPV8Object.cpp:
+ (freeV8NPObject):
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::ScheduledAction):
+ (WebCore::ScheduledAction::~ScheduledAction):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::gcProtectJSWrapper):
+ (WebCore::ScriptController::gcUnprotectJSWrapper):
+ * bindings/v8/ScriptInstance.cpp:
+ (WebCore::V8ScriptInstance::clear):
+ (WebCore::V8ScriptInstance::set):
+ * bindings/v8/ScriptValue.h:
+ (WebCore::ScriptValue::ScriptValue):
+ (WebCore::ScriptValue::operator=):
+ (WebCore::ScriptValue::clear):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::disposeListenerObject):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::~V8LazyEventListener):
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ (WebCore::V8LazyEventListener::getWrappedListenerFunction):
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
+ (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8GCController::registerGlobalHandle):
+ (WebCore::V8GCController::unregisterGlobalHandle):
+ (WebCore::V8GCController::gcProtect):
+ (WebCore::V8GCController::gcUnprotect):
+ (WebCore::V8Proxy::destroyGlobal):
+ (WebCore::V8Proxy::updateDocumentWrapper):
+ (WebCore::V8Proxy::clearDocumentWrapper):
+ (WebCore::V8Proxy::disposeContextHandles):
+ (WebCore::V8Proxy::initContextIfNeeded):
+ * bindings/v8/V8Proxy.h:
+ (WebCore::):
+ (WebCore::GlobalHandleInfo::GlobalHandleInfo):
+ * bindings/v8/custom/V8CustomEventListener.cpp:
+ (WebCore::V8EventListener::V8EventListener):
+
+2009-07-08 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26918
+
+ Prevents injection of HTML Base tag.
+
+ Tests: http/tests/security/xssAuditor/base-href-control-char.html
+ http/tests/security/xssAuditor/base-href-null-char.html
+ http/tests/security/xssAuditor/base-href-safe.html
+ http/tests/security/xssAuditor/base-href-safe2.html
+ http/tests/security/xssAuditor/base-href-scheme-relative.html
+ http/tests/security/xssAuditor/base-href.html
+
+ * html/HTMLBaseElement.cpp:
+ (WebCore::HTMLBaseElement::parseMappedAttribute):
+ (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
+ to determine if it is safe to use base element URL.
+ * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::canSetBaseElementURL):
+ * page/XSSAuditor.h:
+
+2009-07-08 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Upstream V8 npruntime bindings.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27094
+
+ * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
+ (StringKey::operator==):
+ (StringKey::StringKeyHash::hash):
+ (StringKey::StringKeyHash::equal):
+ (StringKeyHashTraits::constructDeletedValue):
+ (StringKeyHashTraits::isDeletedValue):
+ (getStringIdentifierMap):
+ (getIntIdentifierMap):
+ * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
+ * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
+ * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
+
+2009-07-08 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Extending the PlatformFileHandle definition from PLATFORM(WIN) to
+ PLATFORM(WIN_OS)
+
+ https://bugs.webkit.org/show_bug.cgi?id=27013
+
+ * platform/FileSystem.h:
+
+2009-07-08 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27071
+
+ Resolves issue when HTTP parameters contain null- and non-null-control- characters.
+
+ Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
+ http/tests/security/xssAuditor/embed-tag-control-char.html
+ http/tests/security/xssAuditor/embed-tag-null-char.html
+ http/tests/security/xssAuditor/embed-tag.html
+ http/tests/security/xssAuditor/link-onclick-control-char.html
+ http/tests/security/xssAuditor/link-onclick-null-char.html
+ http/tests/security/xssAuditor/object-embed-tag-control-char.html
+ http/tests/security/xssAuditor/object-embed-tag-null-char.html
+ http/tests/security/xssAuditor/object-embed-tag.html
+ http/tests/security/xssAuditor/object-tag.html
+ http/tests/security/xssAuditor/script-tag-post-control-char.html
+ http/tests/security/xssAuditor/script-tag-post-null-char.html
+ http/tests/security/xssAuditor/script-tag-with-source-control-char.html
+ http/tests/security/xssAuditor/script-tag-with-source-null-char.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
+ (WebCore::XSSAuditor::canEvaluate):
+ (WebCore::XSSAuditor::canCreateInlineEventListener):
+ (WebCore::XSSAuditor::canLoadObject):
+ (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
+ and matchNonNullControlCharacters.
+ (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
+ and matchNonNullControlCharacters.
+ * page/XSSAuditor.h:
+
+2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
+ https://bugs.webkit.org/show_bug.cgi?id=27093
+
+ This is specific for v8, no change in behavior.
+
+ * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
+
+2009-07-08 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27086
+
+ Make sure the Media controller doesn't fade in for no reason.
+ This is happening because a update() call to the controller
+ panel may reset the opacity to 1.0, given that it reloads the
+ style.
+
+ We also add a different fade in and fade out time to soften
+ the fade out effect.
+
+ No test case because this depends on how the movie is loaded.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia):
+ (WebCore::RenderMedia::updateControls):
+ (WebCore::RenderMedia::updateControlVisibility): Simplify
+ , and make sure we stop the timer if there is no animation
+ to do.
+ (WebCore::RenderMedia::opacityAnimationTimerFired):
+ * rendering/RenderMedia.h:
+
+2009-07-08 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27081>
+
+ Reviewed by Timothy Hatcher.
+
+ * platform/cf/RunLoopTimerCF.cpp: This code is only used on
+ Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
+ in that macro as well.
+
+2009-07-08 Greg Bolsinga <bolsinga@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Add -[WebView _isProcessingUserGesture]
+ https://bugs.webkit.org/show_bug.cgi?id=27084
+
+ Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
+ for clarity.
+
+ * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::processingUserGesture):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::requestFrame):
+ (WebCore::FrameLoader::isProcessingUserGesture):
+ * loader/FrameLoader.h:
+
+2009-07-08 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed (an earlier version) by Geoff Garen.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27090
+ Remove lockBackForwardList argument from HTMLFormElement::submit()
+
+ No change in behavior, so no tests.
+
+ * bindings/js/JSHTMLFormElementCustom.cpp:
+ (WebCore::JSHTMLFormElement::submit):
+ * html/HTMLFormElement.cpp:
+ (WebCore::HTMLFormElement::submit):
+ * html/HTMLFormElement.h:
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm):
+ (WebCore::FrameLoader::scheduleFormSubmission):
+ * loader/FrameLoader.h:
+ Don't pass lockBackForwardList around when it's known to be false.
+
+2009-07-08 Marc-Antoine Ruel <maruel@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Fix V8 idl codegen to use unique constant names
+ <https://bugs.webkit.org/show_bug.cgi?id=27089>
+
+ Embed the interface name in the global constant names so coagulating all
+ the .cc files into one compile unit works with V8 bindings.
+
+ Nothing added; Still compiles and pass tests.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+
+2009-07-08 Brent Fulgham <bfulgham@webkit.org>
+
+ Build fix: Add missing #includes for Windows (cURL) build.
+ The <winsock2.h> and <windows.h> headers were not being
+ included in Windows cURL builds.
+
+ * platform/network/ResourceHandleInternal.h:
+ * platform/network/curl/ResourceHandleManager.h:
+
+2009-07-08 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Kilzer.
+
+ WebKit needs a style linting tool
+ https://bugs.webkit.org/show_bug.cgi?id=25884
+
+ Fix bunch of style issues in WebCore/rendering.
+ This patch is created to demonstrate cpplint.py.
+
+ No testcase because it's just a style fixes.
+
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+ (WebCore::AutoTableLayout::layout):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::placeEllipsisBox):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::paintTextMatchMarker):
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimelineElement::defaultEventHandler):
+ * rendering/MediaControlElements.h:
+ * rendering/RenderArena.cpp:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::startDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::updateScrollInfoAfterLayout):
+ (WebCore::RenderBlock::positionNewFloats):
+ (WebCore::RenderBlock::newLine):
+ (WebCore::RenderBlock::floatBottom):
+ (WebCore::RenderBlock::leftBottom):
+ (WebCore::RenderBlock::rightBottom):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::calcReplacedWidthUsing):
+ * rendering/RenderFieldset.cpp:
+ (WebCore::RenderFieldset::layoutLegend):
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::FlexBoxIterator::FlexBoxIterator):
+ (WebCore::FlexBoxIterator::reset):
+ (WebCore::FlexBoxIterator::first):
+ (WebCore::FlexBoxIterator::next):
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::borderStartEdgeColor):
+ * rendering/RenderFrameSet.h:
+ * rendering/RenderImage.cpp:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateVisibilityStatus):
+ (WebCore::RenderLayer::calculateClipRects):
+ (WebCore::RenderLayer::calculateRects):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::panScroll):
+ * rendering/RenderMarquee.cpp:
+ (WebCore::RenderMarquee::updateMarqueeStyle):
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::updateControls):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::drawLineForBoxSide):
+ (WebCore::RenderObject::localCaretRect):
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
+ * rendering/RenderSlider.h:
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::outerBorderBottom):
+ * rendering/RenderTableCol.h:
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::itemIsSeparator):
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::supportsHover):
+ * rendering/RenderThemeChromiumWin.cpp:
+ (WebCore::RenderThemeChromiumWin::supportsFocusRing):
+ * rendering/SVGCharacterLayoutInfo.cpp:
+ (WebCore::SVGCharacterLayoutInfo::addStackContent):
+ * rendering/SVGCharacterLayoutInfo.h:
+ * rendering/TextControlInnerElements.h:
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::computeHorizontalPositionsForLine):
+
+2009-07-07 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Reduce complexity of lifetime management in DynamicNodeList caches
+ <https://bugs.webkit.org/show_bug.cgi?id=27068>
+
+ Switch the Cache object used by DynamicNodeList into a normal
+ refcounted object rather than having a weird flag controlled
+ refcounting system, where positive refcount did not automatically
+ imply the cache object would actually still be live.
+
+ * dom/DynamicNodeList.cpp:
+ (WebCore::DynamicNodeList::DynamicNodeList):
+ (WebCore::DynamicNodeList::~DynamicNodeList):
+ (WebCore::DynamicNodeList::Caches::Caches):
+ (WebCore::DynamicNodeList::Caches::create):
+ * dom/DynamicNodeList.h:
+ * dom/Node.cpp:
+ (WebCore::Node::childNodes):
+ (WebCore::Node::getElementsByTagNameNS):
+ (WebCore::Node::getElementsByName):
+ (WebCore::Node::getElementsByClassName):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::NodeListsNodeData::isEmpty):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::NodeListsNodeData):
+
+2009-07-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ -webkit-perspective should be a Length
+ https://bugs.webkit.org/show_bug.cgi?id=27066
+
+ -webkit-perspective should not take a magic valueless number, but should
+ be a normal Length value which responds to zooming. Treat valueless numbers
+ as pixels for backward compatibility.
+
+ Test: transforms/3d/general/perspective-units.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty):
+
+2009-07-07 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27047
+
+ We need to make sure that when we reattach, we also reattach
+ the children in every MediaControlElement. Else we may end up
+ having no remaining or elapsed time.
+
+ We have to handle that, because we are using a special shadow
+ tree in the DOM, and that we are ourselves handling
+ attaching/detaching the renderer.
+
+ The strategy here is to try to implement ::attach(), and try
+ to reuse as much code as we can from the super class, including
+ children attachement.
+
+ Test: media/controls-after-reload.html
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::styleForElement): Code factoring.
+ (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
+ (WebCore::MediaControlElement::attach): Implement attach
+ and call super class so that children are also attached.
+ (WebCore::MediaControlElement::updateStyle): Use attach()
+ (WebCore::MediaControlInputElement::styleForElement): Code factoring.
+ (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
+ (WebCore::MediaControlInputElement::attach): See above.
+ (WebCore::MediaControlInputElement::updateStyle): Use attach()
+ * rendering/MediaControlElements.h:
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::updateControls): Directly run attach() on
+ the m_panel, which is a root node for our shadow tree.
+
+2009-07-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Repaint issue after layer drops out of composited mode.
+ <https://bugs.webkit.org/show_bug.cgi?id=27022>
+
+ RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
+ and expect these to stay valid from one style change to the next. These rects
+ are relative to the repaint container, so if a layer stops being composited,
+ we need to recompute them.
+
+ Test: compositing/repaint/layer-repaint-rects.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::computeRepaintRects):
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::updateBacking):
+
+2009-07-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt and Darin Adler.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=26963
+ <rdar://problem/7030998> Reproducible crash at
+ FontCache::getFontData() when a custom font is used in a pseudo-style
+
+ Test: fast/css/pseudo-cache-stale.html
+
+ * dom/Element.cpp:
+ (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
+ style and the new style, goes over cached pseudo-styles in the old
+ style and re-resolves the same style types off the new style. If any of
+ the new pseudo-styles is different from the currently cached
+ corresponding style, returns true. Otherwise, returns false.
+ (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
+ deciding to keep the existing style.
+ * dom/Element.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
+ returns an uncached first-line style based off the given style.
+ (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
+ parameter.
+ * rendering/RenderObject.h:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
+ pseudo-styles in the passed-in vector.
+ * rendering/style/RenderStyle.h:
+
+2009-07-07 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ - fix https://bugs.webkit.org/show_bug.cgi?id=27042
+ <rdar://problem/7010981> Incomplete painting of newly created floats
+
+ Tests: fast/repaint/float-in-new-block-with-layout-delta.html
+ fast/repaint/float-new-in-block.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
+ laid out before, paint its overhanging floats in addition to itself.
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
+ initialized a boolean everHadLayout member.
+ * rendering/bidi.cpp:
+ (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
+ never been laid out before and did not move from (0, 0).
+
+2009-07-07 Brady Eidson <beidson@apple.com>
+
+ Contributions from both Darin Adler and Brady Eidson.
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
+
+ In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
+ navigation was still in progress.
+
+ This patch makes things even better than it used to be by:
+ - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
+ - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
+
+ Test: fast/loader/subframe-navigate-during-main-frame-load.html
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
+ used from multiple sites.
+ (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
+ (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
+ lockBackForwardList flag.
+ (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
+
+2009-07-07 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Upstream DOMObjectsInclude.h from src.chromium.org.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27035
+
+ * bindings/v8/DOMObjectsInclude.h: Added.
+
+2009-07-07 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by David Levin.
+
+ Relanding r45559, which was rolled back at r45574.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26857
+
+ * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
+ * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
+ * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleConsoleMessage):
+ (WebCore::V8Proxy::compileScript):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-07 Gregory Hughes <gfhughesVO+webkit@gmail.com>
+
+ Reviewed by Darin Adler.
+
+ AX: Some webpages do not send AXLoadComplete
+ https://bugs.webkit.org/show_bug.cgi?id=26995
+
+ When sending the AXLayoutComplete notification it is possible
+ that the AXObjectCache was cleared, resulting in no valid
+ object to send the notification to. This fix ensures that an
+ AX object is created and cached if one does not already exist.
+
+ Not able to add a test because notifications get sent after the layout test is completed.
+
+ * dom/Document.cpp:
+ (WebCore::Document::implicitClose):
+
+2009-07-06 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=27015
+
+ Make sure that the CSS properties letter-spacing, word-spacing,
+ line-height, text-transform, text-indent, text-shadow,
+ text-decoration and color do not affect the media element controls,
+ that display text.
+
+ Controls that display text are only present in when the theme
+ MediaControllerThemeQT is being used.
+
+ Test: media/controls-styling.html
+
+ * css/mediaControlsQT.css:
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::updateStyle): Special case for
+ text-decoration. text-decoration can't be overriden from CSS, because
+ text-decoration is additive for historical reasons.
+
+2009-07-07 Albert Wong <ajwong@chromium.org>
+
+ Not reviewed, Chromium build fix.
+
+ Add in missing header + fix syntax issue that crept into last patch.
+ https://bugs.webkit.org/show_bug.cgi?id=27027
+
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
+
+2009-07-07 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ Make use of geometry information to decide which layers become composited.
+
+ <rdar://problem/7011947>
+ <https://bugs.webkit.org/show_bug.cgi?id=27021>
+
+ In addition to looking at painting order, also, optionally, take layer
+ overlap into account when deciding which RenderLayers need to be composited.
+
+ No testcase because DRT doesn't dump which layers are composited.
+
+ * page/FrameView.h:
+ * page/FrameView.cpp:
+ (WebCore::FrameView::updateCompositingLayers):
+ Removed the unused CompositingUpdate parameter, and just do an early return
+ when there is no view.
+
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::rendererContentChanged):
+ (WebCore::RenderLayer::dirtyZOrderLists):
+ (WebCore::RenderLayer::dirtyNormalFlowList):
+ (WebCore::RenderLayer::styleChanged):
+ (WebCore::RenderLayer::mustOverlapCompositedLayers):
+ (WebCore::RenderLayer::setMustOverlapCompositedLayers):
+ Change "overlay" to "overlap" for consistency with the use of "overlap"
+ elsewhere.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+ compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
+
+ (WebCore::RenderLayerBacking::startAnimation):
+ (WebCore::RenderLayerBacking::startTransition):
+ Tell the compositor that we started an accelerated animation or transition.
+
+ * rendering/RenderLayerCompositor.h:
+ (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
+ Renamed, since it's explicitly about changes in hierarchy now.
+
+ (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
+ (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
+ New getter and setter for whether compositing should take overlap into account.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::RenderLayerCompositor):
+ Add m_compositingConsultsOverlap, re-order some member variables.
+
+ (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
+ Whitespace cleanup and method rename.
+
+ (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
+ Method and variable renaming.
+
+ (WebCore::RenderLayerCompositor::updateCompositingLayers):
+ Now we have to run through the layer hierarchy every time if looking
+ at overlap, because changes in layout can now alter compositing behavior.
+ We minimize work by tracking whether we actually need to change the layer
+ hierarchy via needLayerRebuild.
+
+ (WebCore::RenderLayerCompositor::updateBacking):
+ 3D transforms turn off overlap mode.
+
+ (WebCore::RenderLayerCompositor::layerWasAdded):
+ (WebCore::RenderLayerCompositor::layerWillBeRemoved):
+ Method rename.
+
+ (WebCore::RenderLayerCompositor::addToOverlapMap):
+ (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
+ Utility methods to add a layer to the overlapMap (computing the absolute
+ bounding box only if we haven't already done so), and testing the map
+ entries.
+
+ (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+ If a layer would composite only because it comes after other compositing
+ layers in the painting order, then consult the overlap map to determine whether
+ it overlaps, and thus actually needs to composite.
+
+ Add layers to the map when they must be composited.
+
+ (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
+ Only do re-parenting work if the updateHierarchy flag is set.
+
+ (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
+ When we start an accelerated transition or animation, we stop looking at
+ overlap because we can no longer guarantee correct front-to-back ordering while the
+ accelerated animation is running.
+
+ (WebCore::RenderLayerCompositor::needsToBeComposited):
+ Method renames.
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setMaximalOutlineSize):
+ Add comment indicating that this could be optimized.
+
+2009-07-14 Anton Muhin <antonm@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Speed up creation of V8 wrappers for DOM nodes.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26882
+
+ This patch doesn't require new tests as it a set of refactorings
+ to speed up wrapper creation.
+
+ * bindings/v8/V8Proxy.cpp:
+ * bindings/v8/V8Proxy.h:
+
+2009-07-07 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] textarea height property works only if other property are defined
+ https://bugs.webkit.org/show_bug.cgi?id=18984
+
+ Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
+
+ Test: fast/forms/textarea-metrics.html
+
+ * platform/gtk/RenderThemeGtk.cpp:
+ * platform/gtk/RenderThemeGtk.h:
+
+2009-07-07 Ben Murdoch <benm@google.com>
+
+ Reviewed by Antti Koivisto.
+
+ HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
+ https://bugs.webkit.org/show_bug.cgi?id=25711
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
+ storage databases could become locked until the browser is shut
+ down if the page is refreshed whilst a transaction is in progress.
+
+ Test: storage/database-lock-after-reload.html
+
+ * storage/Database.cpp:
+ (WebCore::Database::Database):
+ (WebCore::Database::close): add code to inform the database thread we've closed the database.
+ (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
+ * storage/Database.h:
+ (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
+ * storage/DatabaseThread.cpp:
+ (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
+ (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
+ (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
+ * storage/DatabaseThread.h:
+ (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
+
+2009-07-07 Jiahua Huang <jhuangjiahua@gmail.com>
+
+ Reviewed by Jan Alonzo.
+
+ [Gtk] Paste of rich text from firefox results garbled markup
+ https://bugs.webkit.org/show_bug.cgi?id=26791
+
+ Fix problem with UTF-16 clipboard pasted.
+
+ * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::documentFragment):
+
+2009-07-07 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23849
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+
+2009-07-06 Albert J. Wong <ajwong@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
+ change.
+
+ Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
+ https://bugs.webkit.org/show_bug.cgi?id=27018
+
+ This is mainly an API change update to fix the chromium compile. It
+ also has a small fix of a typo in RenderThemeMac.mm.
+
+ Compilation against the head of chromium trunk passed. Since this is
+ a compile fix, that should be sufficient.
+
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::):
+ (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::):
+
+2009-07-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27002>
+
+ Reviewed by Geoff Garen.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
+ Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
+ disabled.
+
+2009-07-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27001>
+
+ Reviewed by Geoff Garen.
+
+ PassRefPtr<> should only be used for arguments to functions that
+ take ownership of the object, or as return values from functions
+ that relinquish ownership of the object.
+
+ * editing/Editor.cpp:
+ (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
+ stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
+ release() on returned object.
+ (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
+
+2009-07-06 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::mediaControllerTheme):
+ New media controller UI is enabled by default on SnowLeopard.
+
+2009-07-06 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, build fix.
+
+ Roll out r45559 to fix Chromium canary.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26857
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ * bindings/v8/V8Binding.cpp: Removed.
+ * bindings/v8/V8Binding.h:
+ (WebCore::toInt32):
+ (WebCore::toWebCoreString):
+ (WebCore::fromWebCoreString):
+ (WebCore::toWebCoreStringWithNullCheck):
+ (WebCore::isUndefinedOrNull):
+ (WebCore::v8Boolean):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleConsoleMessage):
+ (WebCore::V8Proxy::compileScript):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-06 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ <rdar://problem/7008093> Media controller can’t be used to scrub when movie is
+ narrow — track is too narrow
+
+ Do not show media controller time display elements when the a movie is too narrow.
+
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
+ Give current time and time remaining controls a common base class.
+ (WebCore::MediaControlTimeDisplayElement::setVisible):
+ New method, hide and show the element.
+ * rendering/MediaControlElements.h:
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::RenderMedia):
+ Initialize m_previousVisible.
+ (WebCore::RenderMedia::layout):
+ Show/hide the time display elements as the movie width changes.
+ (WebCore::RenderMedia::createCurrentTimeDisplay):
+ (WebCore::RenderMedia::createTimeRemainingDisplay):
+ Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
+ (WebCore::RenderMedia::shouldShowTimeDisplayControls):
+ New, decide if time display elements should be visible or not.
+ * rendering/RenderMedia.h:
+
+ * rendering/RenderThemeMac.mm:
+ (WebCore::):
+ (WebCore::RenderThemeMac::paintMediaFullscreenButton):
+ (WebCore::RenderThemeMac::paintMediaMuteButton):
+ (WebCore::RenderThemeMac::paintMediaPlayButton):
+ (WebCore::RenderThemeMac::paintMediaSeekBackButton):
+ (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaSliderThumb):
+ (WebCore::RenderThemeMac::paintMediaRewindButton):
+ (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
+ (WebCore::RenderThemeMac::paintMediaControlsBackground):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+ The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
+
+2009-07-06 David Kilzer <ddkilzer@apple.com>
+
+ Bug 27000: Minor clean up to runtime_root.{cpp|h}
+
+ <https://bugs.webkit.org/show_bug.cgi?id=27000>
+
+ Reviewed by Geoff Garen.
+
+ * bridge/runtime_root.cpp: Added blank line between license and
+ the first #include statement.
+ * bridge/runtime_root.h: Added comment to #endif.
+
+2009-07-06 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ generalize the special height treatment for SVG (to be re-used for ruby):
+ renamed InlineBox::m_isSVG to m_hasVirtualHeight
+ renamed InlineBox::isSVG() to hasVirtualHeight()
+ renamed InlineBox::setIsSVG() to setHasVirtualHeight()
+
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::height):
+ * rendering/InlineBox.h:
+ (WebCore::InlineBox::InlineBox):
+ (WebCore::InlineBox::isText):
+ (WebCore::InlineBox::setIsText):
+ (WebCore::InlineBox::isSVGRootInlineBox):
+ (WebCore::InlineBox::hasVirtualHeight):
+ (WebCore::InlineBox::setHasVirtualHeight):
+ (WebCore::InlineBox::virtualHeight):
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createFlowBox):
+ * rendering/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::createTextBox):
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootBox):
+ * rendering/SVGInlineFlowBox.h:
+ (WebCore::SVGInlineFlowBox::virtualHeight):
+ * rendering/SVGInlineTextBox.h:
+ (WebCore::SVGInlineTextBox::virtualHeight):
+ * rendering/SVGRootInlineBox.h:
+ (WebCore::SVGRootInlineBox::virtualHeight):
+
+2009-07-06 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION(r45285): focus rings are black on windows safari
+ https://bugs.webkit.org/show_bug.cgi?id=26821
+ <rdar://problem/7018252>
+
+ Add a mechanism for setting a custom focus ring color, and relocate the
+ determination of focus ring color to base class RenderTheme.
+
+ No new tests. Already-existing tests run in pixel mode would have caught this regression
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
+ of determining focus color to base class RenderTheme.
+ * rendering/RenderTheme.cpp:
+ (WebCore::customFocusRingColor): Added static local.
+ (WebCore::RenderTheme::setCustomFocusRingColor): Added
+ (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
+ * rendering/RenderThemeSafari.cpp:
+ (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
+ are the same under which we want to use the focus ring color from SafariTheme.
+ (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
+ * rendering/RenderThemeSafari.h:
+
+ Renaming focusRingColor to platformFocusRingColor in these files:
+ * rendering/RenderThemeChromiumMac.h:
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
+ * rendering/RenderThemeChromiumSkia.h:
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::platformFocusRingColor):
+
+ Cleanup leftover from removal of WebCore::Color in r45285 in these files:
+ * WebCore.order:
+ * platform/graphics/Color.h:
+
+2009-07-06 Shinichiro Hamaji <hamaji@chromium.org>
+
+ Reviewed by David Hyatt.
+
+ Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
+ contents makes its container scroll to the top
+ https://bugs.webkit.org/show_bug.cgi?id=15135
+
+ Delay updateing scroll bar of descendants of flexbox until their
+ positions are determined. In this way we can prevent descendants
+ of flexible boxes from changing positions of their scrollbars
+ using tentative positions.
+
+ Test: fast/flexbox/repaint-scrollbar.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::startDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
+ (WebCore::RenderBlock::updateScrollInfoAfterLayout):
+ (WebCore::RenderBlock::layoutBlock):
+ (WebCore::RenderBlock::layoutOnlyPositionedObjects):
+ * rendering/RenderBlock.h:
+ * rendering/RenderFlexibleBox.cpp:
+ (WebCore::RenderFlexibleBox::layoutHorizontalBox):
+ (WebCore::RenderFlexibleBox::layoutVerticalBox):
+
+2009-07-06 Hironori Bono <hbono@chromium.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Make unconfirmed IME text affect textarea's value.
+ This matches input and contentEditable elements as well
+ IE and Firefox.
+
+ This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
+
+ Input elements would go down this code path because it
+ would always get a null compositionNode from frame->editor().
+ Special casing compositionNodes is wrong because we explicitly
+ want unconfirmed IME input in the textarea's value (assuming we
+ want to match IE and Firefox here).
+
+ This change is originally created by Ojan Vafai <ojan@chromium.org> and
+ I just changed its manual tests with an automated test on his behalf.
+
+ Test: platform/mac/editing/input/text-control-ime-input.html
+
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::text):
+ (WebCore::RenderTextControl::textWithHardLineBreaks):
+
+2009-07-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Add the ability for wheel events to latch to a node.
+
+ * WebCore.base.exp:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::clear):
+ (WebCore::EventHandler::handleWheelEvent):
+ * page/EventHandler.h:
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::EventHandler::wheelEvent):
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+
+2009-07-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26997
+
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
+
+2009-07-06 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: suggest global properties based on async evaluation.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26976
+
+ Before this change, empty string was evaluated to the global object
+ (or scope chain object) synchronously. This is now fixed and global
+ object is evaluated using the same control flow.
+
+ * inspector/front-end/Console.js:
+ (WebInspector.Console.prototype.completions):
+ (WebInspector.Console.prototype._evalInInspectedWindow):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._variablesInScope):
+
+2009-07-06 Ojan Vafai <ojan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Fix crash when indenting in an empty table cell.
+ https://bugs.webkit.org/show_bug.cgi?id=26872
+
+ The crash is that we would call splitTreeToNode where the node
+ and the nodeToSplitTo were the same node.
+
+ Test: editing/execCommand/indent-empty-table-cell.html
+
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::splitTreeToNode):
+ Added an assert in that node and nodeToSplitTo
+ are different nodes to make this assumption explicit.
+
+ * editing/IndentOutdentCommand.cpp:
+ (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
+ (WebCore::IndentOutdentCommand::indentRegion):
+ * editing/IndentOutdentCommand.h:
+
+2009-07-06 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by David Levin.
+
+ Upstream V8Binding and update some function names.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26857
+
+ * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
+ * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
+ * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::getListenerFunction):
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::handleConsoleMessage):
+ (WebCore::V8Proxy::compileScript):
+ (WebCore::V8Proxy::sourceName):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::handleConsoleMessage):
+ * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
+ (WebCore::NAMED_PROPERTY_SETTER):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
+ (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
+ (WebCore::ACCESSOR_SETTER):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::removeElement):
+ * bindings/v8/custom/V8SQLTransactionCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+
+2009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
+
+ Reviewed by Jan Alonzo.
+
+ Use soup's content sniffing
+ https://bugs.webkit.org/show_bug.cgi?id=26982
+
+ Drop our hackish content sniffing code, and use the new libsoup
+ feature to do that job for us.
+
+ Testing this is in a cross-platform way is not obvious or possible
+ while we are using platform-specific code for sniffing.
+
+ * platform/network/ResourceHandleInternal.h:
+ (WebCore::ResourceHandleInternal::ResourceHandleInternal):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::gotHeadersCallback):
+ (WebCore::contentSniffedCallback):
+ (WebCore::gotChunkCallback):
+ (WebCore::ResourceHandle::startHttp):
+
+2009-07-05 Antonio Gomes <antonio.gomes@openbossa.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=20342
+
+ Re-added code removed by commit r40499.
+ Without this, both Qt and Mac were crashing while running the test.
+
+ Note that this does not entirely fix the bug. It fixes the WebCore
+ crash, but the test no longer seems to work due to loader changes.
+ So this patch does not reenable the test. The test probably has to
+ be rewritten.
+
+ * dom/ContainerNode.cpp:
+ (WebCore::ContainerNode::removedFromDocument): Re-added code to
+ set the CSS target of the document to 0.
+
+2009-07-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26943
+
+ When one transition finishes slightly before another the longer
+ one will fire a second time. This is because the second
+ ImplicitAnmation object is culled too early, before its final
+ RenderStyle is in place. This is done by cleanupFinishedAnimations()
+ so I got rid of that method completely and now cleanup each
+ transition or animation at the point where I am setting the final
+ style, or when I detect that the transition or animation has been
+ terminated early (which happens when you remove it from the style).
+
+ Test: transitions/extra-transition.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ * page/animation/CompositeAnimation.h:
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ Avoid a divide by zero if m_animation->duration() is zero, which can happen
+ if the duration is changed to zero while the animation is running.
+
+2009-07-05 Simon Fraser <simon.fraser@apple.com>
+
+ Revert the previous commit because it broke the
+ animations/transition-and-animation-1.html
+ testcase.
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::cleanupFinishedAnimations):
+ * page/animation/CompositeAnimation.h:
+
+2009-07-05 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26943
+
+ When one transition finishes slightly before another the longer
+ one will fire a second time. This is because the second
+ ImplicitAnmation object is culled too early, before its final
+ RenderStyle is in place. This is done by cleanupFinishedAnimations()
+ so I got rid of that method completely and now cleanup each
+ transition or animation at the point where I am setting the final
+ style, or when I detect that the transition or animation has been
+ terminated early (which happens when you remove it from the style).
+
+ Test: transitions/extra-transition.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ * page/animation/CompositeAnimation.h:
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::AnimationBase::getTimeToNextEvent):
+ Avoid a divide by zero if m_animation->duration() is zero, which can happen
+ if the duration is changed to zero while the animation is running.
+
+2009-07-05 Lars Knoll <lars.knoll@nokia.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26843
+
+ Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
+
+ The Metrowerks compiler on the Symbian platform moves the globally
+ defined Hashtables into read-only memory, despite one of the members
+ being mutable. This causes crashes at run-time due to write access to
+ read-only memory.
+
+ Avoid the use of const with this compiler by introducing the
+ JSC_CONST_HASHTABLE macro.
+
+ Based on idea by Norbert Leser.
+
+ * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
+ define in the bindings.
+
+2009-07-05 Rob Buis <rwlbuis@gmail.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Bug 26897 - Dynamic SVG images do not display correctly
+ https://bugs.webkit.org/show_bug.cgi?id=26897
+
+ Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
+
+ Test: svg/custom/createImageElement2.xhtml
+
+ * rendering/RenderSVGImage.cpp:
+ (WebCore::RenderSVGImage::imageChanged):
+
+2009-07-05 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26960
+ [Gtk] caret offset not updated when selecting text
+
+ Report the caret offset from the end of the selection so it works
+ correctly for multi-char selections too (ie, anything that is not
+ the zero width caret).
+
+ * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+ (webkit_accessible_text_get_caret_offset):
+
+2009-07-05 Holger Hans Peter Freyther <zecke@selfish.org>
+
+ Unreviewed link fix for Qt.
+
+ Fix Qt link error by adding two new localized strings
+
+ In r45474 two new strings got added to LocalizedStrings.h add
+ the definition of them to Qt.
+
+ * platform/qt/Localizations.cpp:
+ (WebCore::mediaElementLoadingStateText):
+ (WebCore::mediaElementLiveBroadcastStateText):
+
+2009-07-03 Darin Adler <darin@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
+ https://bugs.webkit.org/show_bug.cgi?id=26959
+ rdar://problem/7029882
+
+ The code to handle iteration boundaries was malfunctioning when the boundary was
+ at the edge of a shadow tree. This happens all the time with <input> elements.
+
+ It's not immediately obvious how to make a regression test for this since the
+ symptom was a performance problem, not incorrect behavior. I'll add a test if I
+ figure out a way to make one.
+
+ * editing/TextIterator.cpp:
+ (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
+ (WebCore::depthCrossingShadowBoundaries): Updated for name change.
+ (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
+ (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
+ (WebCore::setUpFullyClippedStack): Updated for name change.
+ (WebCore::TextIterator::TextIterator): Updated for name change. Use
+ nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
+ (WebCore::TextIterator::advance): Updated for name change.
+ (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
+ Tweaked formatting.
+ (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
+ initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
+ (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
+ (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
+
+2009-07-03 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Background audio stops playing when JS GC runs
+ https://bugs.webkit.org/show_bug.cgi?id=26956
+
+ Ensure we keep the Audio object around while it is playing, so that it
+ doesn't get collected.
+
+ Not testable because there's no way to know whether the audio keeps
+ playing without holding a reference to it.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::isObservableThroughDOM):
+
+2009-07-02 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26814
+ [Gtk] Caret-moved events are not issued for the correct offset
+ when text is selected forward
+
+ Report the caret offset from the end of the selection, otherwise
+ we'll report the same offset when moving the caret while
+ modififying the selection (eg, with Shift + Right).
+
+ * editing/gtk/SelectionControllerGtk.cpp:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
+2009-07-02 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26815
+ [Gtk] text-selection-changed events are not issued for the correct
+ object when the selection spans multiple objects
+
+ Get the focused node from the end of the selection, not the start,
+ so we can detect when we cross object boundaries.
+
+ * editing/gtk/SelectionControllerGtk.cpp:
+ (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26947
+
+ Fix the media controls hit tests. They may lose click events.
+
+ Test cases already covered in the video-controls-zoomed tests.
+
+ Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
+
+ * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
+ * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
+
+2009-07-02 Roland Steiner <rolandsteiner@google.com>
+
+ Reviewed by Eric Seidel.
+
+ RenderBlock and RenderInline have confusingly named object creation methods:
+ RenderBlock::createRootBox/createRootInlineBox
+ RenderInline::createFlowBox/createInlineFlowBox
+ where the 2nd method in both cases just calls the first and then appends the created object.
+ I therefore renamed those methods to something IMHO more informative:
+
+ createRootBox() -> createRootInlineBox()
+ createRootInlineBox() -> createAndAppendRootInlineBox();
+ createFlowBox() -> createInlineFlowBox();
+ createInlineFlowBox() -> createAndAppendInlineFlowBox();
+
+ https://bugs.webkit.org/show_bug.cgi?id=26828
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::createRootInlineBox):
+ (WebCore::RenderBlock::createAndAppendRootInlineBox):
+ * rendering/RenderBlock.h:
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::createInlineFlowBox):
+ (WebCore::RenderInline::createAndAppendInlineFlowBox):
+ * rendering/RenderInline.h:
+ * rendering/RenderSVGInline.cpp:
+ (WebCore::RenderSVGInline::createInlineFlowBox):
+ * rendering/RenderSVGInline.h:
+ * rendering/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::createRootInlineBox):
+ * rendering/RenderSVGText.h:
+ * rendering/bidi.cpp:
+ (WebCore::createInlineBoxForRenderer):
+
+2009-07-02 Pavel Feldman <pfeldman@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ WebInspector: Fix typo in the resource panel enabler caption.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26753
+
+ * English.lproj/localizedStrings.js:
+ * inspector/front-end/ResourcesPanel.js:
+ (WebInspector.ResourcesPanel):
+
+2009-07-02 Erik Arvidsson <arv@chromium.org>
+
+ Reviewed by Adam Roben.
+
+ [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
+ https://bugs.webkit.org/show_bug.cgi?id=26699
+
+ * manual-tests/drag-escape.html: Added.
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::dragSourceEndedAt):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26944
+
+ Make sure we support full page zoom in video controls.
+
+ This is tracked by a the video-controls-zoom test case.
+
+ * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
+ * rendering/RenderThemeMac.mm: Adjust the painting rect.
+ (WebCore::getUnzoomedRectAndAdjustCurrentContext):
+ (WebCore::RenderThemeMac::paintMediaSliderTrack):
+ (WebCore::RenderThemeMac::paintMediaCurrentTime):
+ (WebCore::RenderThemeMac::paintMediaTimeRemaining):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Fix the Gtk build after r45474. The localized strings should
+ have been added there.
+
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ (WebCore::mediaElementLoadingStateText):
+ (WebCore::mediaElementLiveBroadcastStateText):
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26939
+
+ Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
+
+ We fix two things:
+ - We use px instead of em, because px is used everywhere else
+ and because 0.09em hit the font size limit.
+ - We use -webkit-box instead of inline-block because in strict mode
+ inline-block has a different behavior.
+
+ Test: media/controls-strict.html
+
+ * css/mediaControlsQT.css:
+
+2009-07-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
+ https://bugs.webkit.org/show_bug.cgi?id=26942
+
+ * editing/TextIterator.cpp:
+ (WebCore::fullyClipsContents):
+
+2009-07-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Fix for <rdar://problem/5230700>
+ Remove local .xhtml file workaround
+
+ * platform/network/mac/ResourceResponseMac.mm:
+ (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
+
+2009-07-02 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Sort, add functions used by WebKit.
+
+ * WebCore.base.exp:
+
+2009-07-02 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Sam Weinig.
+
+ More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
+
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
+
+2009-07-02 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: fix complex text rendering with line break characters.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26935
+
+ If the CSS white-space property is inhibiting line breaking, we might
+ find end-of-line characters rendered via the complex text path. Fonts
+ don't provide glyphs for these code points so, if we find one, we
+ simulate the space glyph being interposed in this case. Because the
+ input is variable-length per code point, we walk the input in step
+ with the output.
+
+ Covered by:
+ LayoutTests/fast/text/international/bidi-linebreak-002.html
+ LayoutTests/fast/text/international/bidi-linebreak-003.html
+ LayoutTests/fast/text/international/hindi-whitespace.html
+
+ * platform/graphics/chromium/HarfbuzzSkia.cpp:
+ (WebCore::stringToGlyphs):
+
+2009-07-02 Victor Wang <victorw@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26521
+ Expose file size to chromium.
+
+ Implement getFileSize() for Chromium.
+
+ * platform/chromium/ChromiumBridge.h:
+ * platform/chromium/FileSystemChromium.cpp:
+ (WebCore::getFileSize):
+
+2009-07-02 Nate Chapin <japhet@chromium.org>
+
+ Unreviewed, build fix.
+
+ * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
+
+2009-07-02 Simon Fraser <simon.fraser@apple.com>
+
+ Build fix: add missing #include.
+
+ * platform/mac/ThemeMac.mm:
+
+2009-07-02 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
+
+ Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
+ that can possibly throw Objective-C exceptions when drawing Mac form controls.
+
+ * platform/mac/ThemeMac.mm:
+ (WebCore::paintCheckbox):
+ (WebCore::paintRadio):
+ (WebCore::paintButton):
+ (WebCore::ThemeMac::inflateControlPaintRect):
+
+2009-07-02 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by David Levin.
+
+ Upstream V8SVGPODTypeWrapper.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26907
+
+ * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
+ * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
+
+2009-07-02 Dumitru Daniliuc <dumi@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Adds an abstraction layer between the DB classes and the file
+ system, which allows us to add our own logic for storing, opening,
+ deleting, etc. databases.
+
+ The patch was tested using the tests in WebCore/storage.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26054
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
+ * platform/sql/SQLiteFileSystem.cpp: Added.
+ * platform/sql/SQLiteFileSystem.h: Added.
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::directoryName): Implemented.
+ * storage/Database.cpp:
+ (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
+ * storage/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
+ (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
+ (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
+ * storage/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
+
+2009-07-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Always clip replaced elements to border radii.
+ https://bugs.webkit.org/show_bug.cgi?id=26933
+
+ Make sure to always clip replaced elements to border radii, even when overflow is visible.
+ Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
+ necessary.
+
+ Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
+
+ * css/html.css:
+ * rendering/RenderReplaced.cpp:
+ (WebCore::RenderReplaced::paint):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::paint):
+
+2009-07-02 Jeremy Orlow <jorlow@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ convertFromScrollbarToContainingView and friends should be in ScrollView
+ https://bugs.webkit.org/show_bug.cgi?id=26929
+
+ This is breaking Chromium's build because PopupMenuChromium inherits
+ from ScrollView, but these functions are pure virtual in it. I could
+ put it directly in PopupMenuChromium, but that seems a bit silly since
+ the functions are fairly generic.
+
+ Passes existing layout tests.
+
+ * page/FrameView.cpp: Remove the 4 functions Hyatt just added
+ (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
+ (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
+ (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
+ (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
+ * page/FrameView.h: ditto
+ * platform/ScrollView.cpp: Move the 4 functions from FrameView here
+ (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
+ (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
+ (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
+ (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
+ * platform/ScrollView.h: ditto
+
+2009-07-02 Dirk Pranke <dpranke@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin
+ doesn't handle errors well at all; revise it to fail silently
+ (drawing nothing), and bulletproof FontChromiumWin to handle the
+ failure accordingly.
+
+ Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
+ fast/text/text-letter-spacing.html
+
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
+ (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
+ (WebCore::Font::drawGlyphs):
+ (WebCore::Font::drawComplexText):
+ * platform/graphics/chromium/TransparencyWin.cpp:
+ (WebCore::TransparencyWin::TransparencyWin):
+ (WebCore::TransparencyWin::setupLayerForNoLayer):
+ (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
+ (WebCore::TransparencyWin::setupLayerForWhiteLayer):
+ (WebCore::TransparencyWin::setupTransformForKeepTransform):
+ (WebCore::TransparencyWin::setupTransformForScaleTransform):
+ (WebCore::TransparencyWin::initializeNewContext):
+ (WebCore::TransparencyWin::compositeOpaqueComposite):
+ (WebCore::TransparencyWin::compositeTextComposite):
+ (WebCore::TransparencyWin::makeLayerOpaque):
+ * platform/graphics/chromium/TransparencyWin.h:
+ (WebCore::TransparencyWin::platformContext):
+
+2009-07-02 Eric Carlson <eric.carlson@apple.com>
+
+ Change #import to #include to fix non-ObjC builds.
+
+ * rendering/MediaControlElements.cpp:
+
+2009-07-02 Anders Carlsson <andersca@apple.com>
+
+ Build fix.
+
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (mimeTypeFromUTITree):
+
+2009-07-02 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Fix for bug 22119, clicks in the scrollbars of transformed content don't work. Add new
+ conversion methods for going across parent/child widget boundaries that can be implemented
+ by the FrameView and ScrollbarClient to be transform-aware.
+
+ Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
+
+ * WebCore.base.exp:
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::convertFromScrollbarToContainingView):
+ (WebCore::FrameView::convertFromContainingViewToScrollbar):
+ (WebCore::FrameView::convertFromRenderer):
+ (WebCore::FrameView::convertToRenderer):
+ (WebCore::FrameView::convertToContainingView):
+ (WebCore::FrameView::convertFromContainingView):
+ * page/FrameView.h:
+ * platform/ScrollView.h:
+ * platform/Scrollbar.cpp:
+ (WebCore::Scrollbar::convertToContainingView):
+ (WebCore::Scrollbar::convertFromContainingView):
+ * platform/Scrollbar.h:
+ * platform/ScrollbarClient.h:
+ (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
+ (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
+ * platform/Widget.cpp:
+ (WebCore::Widget::convertFromContainingWindow):
+ (WebCore::Widget::convertToContainingWindow):
+ (WebCore::Widget::convertFromRootToContainingWindow):
+ (WebCore::Widget::convertFromContainingWindowToRoot):
+ (WebCore::Widget::convertToContainingView):
+ (WebCore::Widget::convertFromContainingView):
+ * platform/Widget.h:
+ * platform/graphics/IntPoint.h:
+ (WebCore::IntPoint::move):
+ * platform/mac/WidgetMac.mm:
+ (WebCore::Widget::convertFromRootToContainingWindow):
+ (WebCore::Widget::convertFromContainingWindowToRoot):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::isPointInOverflowControl):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
+ (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
+ * rendering/RenderDataGrid.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::convertFromScrollbarToContainingView):
+ (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
+ (WebCore::RenderLayer::scrollbarOffset):
+ (WebCore::RenderLayer::hitTestOverflowControls):
+ * rendering/RenderLayer.h:
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::isPointInOverflowControl):
+ (WebCore::RenderListBox::convertFromScrollbarToContainingView):
+ (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
+ * rendering/RenderListBox.h:
+
+2009-07-02 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt and Simon Fraser.
+
+ - fix <rdar://problem/6933052> SPOD playing video in a div with a box
+ shadow
+
+ Test: fast/box-shadow/transform-fringing.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
+ box even if it has an opaque background, but in that case, inset the
+ clip path by 1 pixel, to avoid antialiasing artifacts.
+ Do not inset the clip rect by 1 pixel if the CTM is purely a
+ translation.
+ Move the shadow-casting path away in the non-rounded-rect case (it
+ was already being done in the rounded-rect case), to avoid a black
+ fringe when the CTM is not purely a translation.
+
+2009-07-02 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
+
+ Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
+
+ For many types of text files (such as source code files) this ends up being text/plain.
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
+
+ * platform/network/mac/WebCoreURLResponse.h:
+ * platform/network/mac/WebCoreURLResponse.mm:
+ (mimeTypeFromUTITree):
+ (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
+ (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
+
+2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/6518119>
+
+ Add a rewind button and hide the timeline for live broadcasts when
+ in MediaUI mode.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::extractPseudoType): Ditto.
+ * css/CSSSelector.h:
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
+
+ * css/CSSValueKeywords.in: Ditto.
+ * css/mediaControls.css: Ditto.
+ * css/mediaControlsQT.css: Ditto.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::rewind): New.
+ (WebCore::HTMLMediaElement::returnToRealTime): New.
+ (WebCore::HTMLMediaElement::isStreaming): New.
+ * html/HTMLMediaElement.h:
+
+ * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
+
+ * platform/LocalizedStrings.h: Add localized media state messages.
+
+ * platform/ThemeTypes.h: Add the new pseudo element.
+
+ * platform/mac/LocalizedStringsMac.mm:
+ (WebCore::mediaElementLoadingStateText): Add localized media state.
+ (WebCore::mediaElementLiveBroadcastStateText): Ditto.
+
+ * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
+ multiple states.
+ * platform/mac/WebCoreSystemInterface.mm: Ditto.
+
+ * rendering/MediaControlElements.cpp:
+ (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
+ (WebCore::MediaControlElement::attachToParent): Ditto.
+ (WebCore::MediaControlElement::update): Ditto.
+ (WebCore::MediaControlElement::updateStyle): Ditto.
+ (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
+ (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::update): Ditto.
+ (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
+ (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
+ (WebCore::MediaControlInputElement::attachToParent): Ditto.
+ (WebCore::MediaControlInputElement::updateStyle): Ditto.
+ (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
+ (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
+ (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
+ (WebCore::MediaControlTimelineElement::update): Ditto.
+ (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
+ * rendering/MediaControlElements.h: Ditto.
+
+ * rendering/RenderMedia.cpp:
+ (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
+ (WebCore::RenderMedia::createPanel): Ditto.
+ (WebCore::RenderMedia::createRewindButton): Ditto.
+ (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
+ (WebCore::RenderMedia::createStatusDisplay): Ditto.
+ (WebCore::RenderMedia::createTimelineContainer): Ditto.
+ (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
+ (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
+ (WebCore::RenderMedia::updateControls): Ditto.
+ (WebCore::RenderMedia::forwardEvent): Ditto.
+ * rendering/RenderMedia.h:
+
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paint): Deal with the new elements.
+
+ * rendering/RenderTheme.h:
+ (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
+ (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
+ (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
+
+ * rendering/RenderThemeMac.h:
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
+ (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
+ (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
+
+ * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
+
+2009-07-01 John Abd-El-Malek <jam@chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
+ may be defined at the WebKit layer.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26905
+
+ * dom/MessageChannel.cpp:
+ (WebCore::MessageChannel::MessageChannel):
+ * dom/MessagePortChannel.cpp:
+ * dom/MessagePortChannel.h:
+ * dom/default/PlatformMessagePortChannel.cpp:
+ (WebCore::MessagePortChannel::createChannel):
+ (WebCore::MessagePortChannel::create):
+ (WebCore::MessagePortChannel::MessagePortChannel):
+ (WebCore::MessagePortChannel::~MessagePortChannel):
+
+2009-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <video> fails to show on http://camendesign.com/code/video_for_everybody
+ <rdar://problem/7026010>
+ https://bugs.webkit.org/show_bug.cgi?id=26919
+
+ Fix an issue introduced in r44961. In that revision we changed to only update
+ compositing layer geometry when all siblings had been laid out (i.e. we pushed
+ the updates one level down). However, that left out the root layer, so this
+ fix ensures that the root layer geometry gets updated at the end.
+
+ Test: compositing/geometry/root-layer-update.html
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+
+2009-07-01 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein
+
+ <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
+
+ First part of fix: when outline width changes, don't to a synchronous
+ layer update right away, but just set the flag to say that compositing
+ layers need updating. The synchronous layer update left the layer geometries
+ out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
+
+ Test: compositing/geometry/outline-change.html
+
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setMaximalOutlineSize):
+
+2009-07-01 Kwang Yul Seo <skyul@company100.net>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26842
+ Build fix when ENABLE_DATABASE is off
+
+ Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
+ off does not break builds.
+
+ * bindings/js/ScriptObjectQuarantine.cpp:
+
+2009-07-01 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26899
+
+ Modified XSSAuditor::decodeURL to only remove null characters so that
+ it is consistent with the behavior of HTMLTokenizer and prevents
+ injected scripts that contain control characters.
+
+ Tests: http/tests/security/xssAuditor/script-tag-control-char.html
+ http/tests/security/xssAuditor/script-tag-null-char.html
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters.
+ * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
+ from allowControlCharacters back to allowNullCharacters.
+ * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
+ (WebCore::isControlCharacter):
+ * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.
+
+2009-07-01 Yury Semikhatsky <yurys@chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
+ F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
+ F10, Ctrl+' (win, lin), Command+' (mac) - step over
+ F11, Ctrl+; (win, lin), Command+; (mac) - step into
+ Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
+
+ - added call stack navigation shortcuts:
+ Ctrl+. - next call frame
+ Ctrl+, - previouse call frame
+
+ https://bugs.webkit.org/show_bug.cgi?id=23849
+
+ * inspector/front-end/CallStackSidebarPane.js:
+ (WebInspector.CallStackSidebarPane):
+ (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
+ (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
+ (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
+ (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
+ (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
+ * inspector/front-end/KeyboardShortcut.js: Added.
+ (WebInspector.KeyboardShortcut):
+ (WebInspector.KeyboardShortcut.makeKey):
+ (WebInspector.KeyboardShortcut.makeKeyFromEvent):
+ (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2009-07-01 Daniel Erat <derat@google.com>
+
+ Reviewed by David Levin.
+
+ Chromium Linux: Move the scrollbar thumb on middle-click.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26910
+ http://code.google.com/p/chromium/issues/detail?id=11976
+
+ Tested by building Chrome and checking that the scrollbar moves as expected.
+
+ * platform/chromium/ScrollbarThemeChromium.cpp:
+ * platform/chromium/ScrollbarThemeChromium.h:
+ * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
+ * platform/chromium/ScrollbarThemeChromiumLinux.h:
+ * platform/chromium/ScrollbarThemeChromiumWin.cpp:
+ * platform/chromium/ScrollbarThemeChromiumWin.h:
+
+2009-07-01 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
+
+ * WebCore.base.exp:
+
+ * page/Settings.cpp:
+ (WebCore::Settings::setLocalFileContentSniffingEnabled):
+ * page/Settings.h:
+ (WebCore::Settings::localFileContentSniffingEnabled):
+
+ * platform/network/mac/ResourceHandleMac.mm:
+ (WebCore::ResourceHandle::start):
+ (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
+
+2009-07-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Bug 26909: aria-label needs to be supported
+ https://bugs.webkit.org/show_bug.cgi?id=26909
+
+ Test: accessibility/aria-label.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+ * html/HTMLAttributeNames.in:
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ More datagrid columns work. Make sure columns cache both a style for the column header as well
+ as a style for the column background (behind the cells).
+
+ Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
+ unimplemented).
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
+ (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
+ * css/CSSStyleSelector.h:
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::setColumnList):
+ (WebCore::DataGridColumn::columnStyle):
+ (WebCore::DataGridColumn::setColumnStyle):
+ (WebCore::DataGridColumn::headerStyle):
+ (WebCore::DataGridColumn::setHeaderStyle):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::recalcStyleForColumn):
+ (WebCore::RenderDataGrid::columnStyle):
+ (WebCore::RenderDataGrid::headerStyle):
+ (WebCore::RenderDataGrid::paintColumnHeaders):
+ * rendering/RenderDataGrid.h:
+
+2009-07-01 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change
+ back to Play button
+
+ Grab onto the current time when QTKit "ended" notification fires and use it as
+ duration from that point on as QuickTime sometimes refuses to play all the way to
+ the time it reports for duration and buffered. HTMLMediaElement assumes that there
+ more to play in this situation and tries to restart playback, endlessly.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
+ Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
+ (WebCore::MediaPlayerPrivate::duration):
+ Return m_cachedDuration once it has been set.
+ (WebCore::MediaPlayerPrivate::updateStates):
+ Rename m_duration to m_reportedDuration.
+ (WebCore::MediaPlayerPrivate::didEnd):
+ Set m_cachedDuration to currentTime().
+
+2009-07-01 Chris Fleizach <cfleizach@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
+ https://bugs.webkit.org/show_bug.cgi?id=26900
+
+ Editable web areas should have a clickpoint that uses where the selection is.
+
+ Test: accessibility/editable-webarea-context-menu-point.html
+
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::clickPoint):
+ * accessibility/AccessibilityRenderObject.h:
+ * accessibility/mac/AccessibilityObjectWrapper.mm:
+ (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2009-07-01 David Levin <levin@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ Remove unused code in SVGTransformList and SVGTransformDistance
+ <https://bugs.webkit.org/show_bug.cgi?id=26891>
+
+ * svg/SVGTransformDistance.cpp:
+ (WebCore::SVGTransformDistance::SVGTransformDistance):
+ * svg/SVGTransformList.cpp:
+ * svg/SVGTransformList.h:
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Begin stubbing out functions for layout, painting and style/geometry caching on columns. Not enough
+ is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
+
+ * html/DataGridColumn.cpp:
+ (WebCore::DataGridColumn::columnChanged):
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::setId):
+ (WebCore::DataGridColumn::setLabel):
+ (WebCore::DataGridColumn::setType):
+ (WebCore::DataGridColumn::setSortable):
+ (WebCore::DataGridColumn::setSortDirection):
+ (WebCore::DataGridColumn::setColumnList):
+ (WebCore::DataGridColumn::style):
+ (WebCore::DataGridColumn::setStyle):
+ (WebCore::DataGridColumn::rect):
+ (WebCore::DataGridColumn::setRect):
+ * html/DataGridColumnList.cpp:
+ (WebCore::DataGridColumnList::DataGridColumnList):
+ (WebCore::DataGridColumnList::setDataGridNeedsLayout):
+ (WebCore::DataGridColumnList::add):
+ (WebCore::DataGridColumnList::remove):
+ (WebCore::DataGridColumnList::move):
+ (WebCore::DataGridColumnList::clear):
+ (WebCore::DataGridColumnList::primaryColumnChanged):
+ * html/DataGridColumnList.h:
+ (WebCore::DataGridColumnList::create):
+ (WebCore::DataGridColumnList::dataGrid):
+ (WebCore::DataGridColumnList::clearDataGrid):
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
+ (WebCore::HTMLDataGridColElement::findDataGridAncestor):
+ (WebCore::HTMLDataGridColElement::insertedIntoTree):
+ (WebCore::HTMLDataGridColElement::removedFromTree):
+ * html/HTMLDataGridColElement.h:
+ (WebCore::HTMLDataGridColElement::dataGrid):
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::HTMLDataGridElement):
+ (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
+ * rendering/RenderDataGrid.cpp:
+ (WebCore::RenderDataGrid::styleDidChange):
+ (WebCore::RenderDataGrid::recalcStyleForColumns):
+ (WebCore::RenderDataGrid::recalcStyleForColumn):
+ (WebCore::RenderDataGrid::styleForColumn):
+ (WebCore::RenderDataGrid::layout):
+ (WebCore::RenderDataGrid::layoutColumns):
+ (WebCore::RenderDataGrid::paintColumnHeaders):
+ (WebCore::RenderDataGrid::paintColumnHeader):
+ * rendering/RenderDataGrid.h:
+ (WebCore::RenderDataGrid::renderName):
+ (WebCore::RenderDataGrid::canHaveChildren):
+
+2009-07-01 Daniel Bates <dbates@intudata.com>
+
+ Reviewed by Adam Barth.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26807
+
+ Fixes this address by checking whether frame->document()->decoder() is null.
+
+ * page/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::findInRequest):
+
+2009-07-01 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
+
+ Correctly reset history length to '0', not '1'. Old relict from early WML days.
+ Add some new WML testcases covering the use of history length (by onenterforward event handling)
+
+ Tests: wml/onenterforward-event.html
+ wml/onenterforward-inline-event.html
+ wml/ontimer-event.html
+
+ * wml/WMLPageState.cpp:
+ (WebCore::WMLPageState::reset):
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
+
+ Added new test in fast/dom/HTMLDataGridElement.
+
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::parseMappedAttribute):
+ * html/HTMLDataGridColElement.h:
+
+2009-07-01 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Tim Hatcher.
+
+ <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
+ even though the field is not actually focused for keyboard input
+
+ Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
+ focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
+ actually happen to have focus at that time.
+
+ * WebCore.base.exp:
+ * page/FocusController.cpp:
+ (WebCore::FocusController::FocusController):
+ (WebCore::FocusController::setFocusedFrame):
+ (WebCore::FocusController::setFocused):
+ (WebCore::FocusController::setActive):
+ * page/FocusController.h:
+ (WebCore::FocusController::isFocused):
+
+2009-07-01 Jakub Wieczorek <faw217@gmail.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Move some API headers from WebCore.pro to headers.pri so that they
+ get installed when running make install from the build directory.
+
+ * WebCore.pro:
+
+2009-07-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
+ qrc file with new png files from the web inspector.
+
+ * inspector/front-end/WebKit.qrc:
+
+2009-06-30 Mark Rowe <mrowe@apple.com>
+
+ Land some code that has a hope of compiling.
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::imageSourceOptions):
+
+2009-06-30 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Flip back on block caching. Throwing away block data, while
+ a perceived memory win, is a performance hit in cases where we
+ are repainting large images (i.e. backgrounds) frequently
+ (i.e. a flash video playing on top).
+ <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are
+ decoded on drawing, slowing down painting of sites that frequently
+ repaint e.g. because of Flash (pandora.com, Starcraft 2)
+
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::imageSourceOptions):
+
+2009-06-30 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ - Rename html4.css to html.css, since we target HTML5 now
+ https://bugs.webkit.org/show_bug.cgi?id=26873
+
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSStyleSelector.cpp:
+ (WebCore::loadFullDefaultStyle):
+ * css/html.css: Copied from css/html4.css.
+ * css/html4.css: Removed.
+ * css/themeWin.css:
+ * platform/Theme.h:
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
+ * rendering/RenderTheme.h:
+
+2009-06-30 Zan Dobersek <zandobersek@gmail.com>
+
+ Reviewed by Gustavo Noronha.
+
+ [GTK] Drag and drop support
+ https://bugs.webkit.org/show_bug.cgi?id=23642
+
+ Define DragImageRef as GdkPixbuf and implement essential
+ functions which manipulate drag images.
+
+ * platform/DragImage.h:
+ * platform/gtk/DragImageGtk.cpp:
+ (WebCore::dragImageSize):
+ (WebCore::deleteDragImage):
+ (WebCore::scaleDragImage):
+ (WebCore::createDragImageFromImage):
+
+2009-06-30 Maxime Simon <simon.maxime@gmail.com>
+
+ Reviewed by Eric Seidel.
+
+ StorageNamespace.cpp build issue
+ https://bugs.webkit.org/show_bug.cgi?id=26859
+
+ Moved #endif //ENABLE(DOM_STORAGE) position
+ so that the build doesn't fail.
+ The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
+ but closed after the #endif.
+
+ * storage/StorageNamespace.cpp:
+
+2009-06-30 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in
+ buffered time ranges
+
+ * html/HTMLMediaElement.cpp:
+ Don't ASSERT if the network state goes to Idle when when the ready state is
+ HaveEnoughData or higher, it is perfectly legal.
+ (WebCore::HTMLMediaElement::setReadyState):
+ Don't clear m_seeking after posting a 'seeking' event.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::seek):
+ Do nothing when asked to seek to the same time we are already seeking to. Check requested
+ seek time against maxTimeSeekable, not maxTimeLoaded.
+ (WebCore::MediaPlayerPrivate::doSeek):
+ Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
+ (WebCore::MediaPlayerPrivate::seekTimerFired):
+ Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
+ (WebCore::MediaPlayerPrivate::updateStates):
+ A streaming movie has as much data as it needs once it reaches "playable", so
+ set the ready state to HaveFutureData. A movie with metadata doesn't drop back
+ to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
+ (WebCore::MediaPlayerPrivate::timeChanged):
+ It may not be possible to seek to a specific time in a streamed movie but when seeking
+ in a streaming movie QuickTime sets the time to closest time possible and posts a
+ timechanged notification, so update m_seekTo so we can detect when the seek completes.
+
+2009-06-30 Steve Falkenburg <sfalken@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=26860
+
+ Reviewed by Sam Weinig.
+
+ Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
+ Earlier versions cause corruption crashes.
+
+ * plugins/win/PluginPackageWin.cpp:
+ (WebCore::PluginPackage::isPluginBlacklisted):
+
+2009-06-30 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
+
+ Fix drawImage of video in CanvasRenderingContext2D when
+ accelerated compositing is enabled. This is done by
+ adding a new paint method to HTMLVideoElement that
+ is only called from canvas, which will create the software
+ renderer if necessary, but otherwise calls the regular
+ paint method. Meanwhile, add logic to the software video
+ renderer so that it can be created without calling repaint
+ every time it sees a new frame.
+
+ * html/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::drawImage):
+ * html/HTMLVideoElement.cpp:
+ (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
+ * html/HTMLVideoElement.h:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::paintCurrentFrameInContext):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie):
+ (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
+ (WebCore::MediaPlayerPrivate::currentRenderingMode):
+ (WebCore::MediaPlayerPrivate::setUpVideoRendering):
+ (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
+ (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
+
+2009-06-30 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26858
+
+ Get <dcol> elements reflected into the datagrid's column list. Make sure columns get added/removed
+ properly. (Attribute changes are still not caught. That is coming in a separate patch.)
+
+ Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
+
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::create):
+ (WebCore::DataGridColumn::setColumnList):
+ (WebCore::DataGridColumn::DataGridColumn):
+ * html/DataGridColumnList.cpp:
+ (WebCore::DataGridColumnList::add):
+ (WebCore::DataGridColumnList::remove):
+ (WebCore::DataGridColumnList::clear):
+ * html/DataGridColumnList.h:
+ * html/HTMLDataGridColElement.cpp:
+ (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
+ (WebCore::HTMLDataGridColElement::findDatagridAncestor):
+ (WebCore::HTMLDataGridColElement::ensureColumn):
+ (WebCore::HTMLDataGridColElement::insertedIntoTree):
+ (WebCore::HTMLDataGridColElement::removedFromTree):
+ (WebCore::HTMLDataGridColElement::sortable):
+ (WebCore::HTMLDataGridColElement::setSortable):
+ * html/HTMLDataGridColElement.h:
+ (WebCore::HTMLDataGridColElement::column):
+ (WebCore::HTMLDataGridColElement::setColumn):
+ (WebCore::HTMLDataGridColElement::datagrid):
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::setDataSource):
+ (WebCore::HTMLDataGridElement::dataSource):
+
+2009-06-30 Jeremy Orlow (jorlow@chromium.org)
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26852
+
+ Fix some minor build issues in the v8 bindings.
+
+ * bindings/v8/custom/V8StorageCustom.cpp:
+ (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
+ (WebCore::storageGetter):
+ (WebCore::storageSetter):
+ (WebCore::storageDeleter):
+ * storage/StorageArea.cpp:
+
+2009-06-30 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium Linux: use different fonts for each script run.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26853
+
+ Previously, when rendering complex text, we picked a single font which
+ could render all the glyphs needed for the run. However, this meant
+ that sometimes lines were rendered with, for example, [LATIN, THAI,
+ LATIN] and we could end up with a different font for the Latin parts
+ than for lines without Thai in them.
+
+ With this patch, we pick a font for each script run.
+
+ This change is covered by existing layout tests.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::drawGlyphs):
+ (WebCore::TextRunWalker::TextRunWalker):
+ (WebCore::TextRunWalker::~TextRunWalker):
+ (WebCore::TextRunWalker::nextScriptRun):
+ (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
+ (WebCore::TextRunWalker::setupFontForScriptRun):
+ (WebCore::TextRunWalker::allocHarfbuzzFont):
+ (WebCore::setupForTextPainting):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/chromium/FontPlatformDataLinux.cpp:
+ (WebCore::FontPlatformData::setupPaint):
+
+2009-06-30 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt, Dan Bernstein.
+
+ <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
+
+ There are two parts to this fix. First, if a compositing layer has overflow clipping
+ or a mask, then the compositing layer does not need to be sized to encompass all
+ non-composited children.
+
+ Second, when scrolling, we have to back up to the compositing ancestor and have
+ it reposition descendant compositing layers, because overflow doesn't follow
+ the z-order tree.
+
+ Test: compositing/overflow/overflow-scroll.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ Pass the UpdateCompositingLayers flag when updating layers after layout, so that
+ we can reposition compositing layers if we're not about to do a layer rebuild.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ Only update compositing layers if the flag is set.
+
+ (WebCore::RenderLayer::scrollToOffset):
+ Do compositing layer updates from the compositing ancestor in one fell swoop.
+
+ * rendering/RenderLayer.h:
+ Replace the unused FullUpdate flag with one that allows us to specify whether
+ compositing layers should be updated.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateAfterLayout):
+ * rendering/RenderLayerBacking.h:
+ New param that we can pass to updateCompositingDescendantGeometry to control
+ whether the update goes deep.
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::calculateCompositedBounds):
+ We can return earlier if this is not a self-painting layer.
+ If the layer has overflow clip or a mask, then the composited bounds are just the
+ local bounds, excluding descendants.
+
+ (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
+ * rendering/RenderLayerCompositor.h:
+ Renamed from updateCompositingChildrenGeometry, and added a flag that allows
+ us to do a deep update.
+
+2009-06-30 Alexey Proskuryakov <ap@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26764
+ Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
+
+ Test: fast/parser/empty-text-resource.html
+
+ * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
+ hasn't been created yet.
+
+2009-06-30 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Renamed scrollbarUnderPoint to scrollbarAtPoint.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleMouseMoveEvent):
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::scrollbarAtPoint):
+ * platform/ScrollView.h:
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore::PopupListBox::handleMouseDownEvent):
+ (WebCore::PopupListBox::handleMouseMoveEvent):
+
+2009-06-30 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62
+
+ <select> elements and other elements the produce popups can keep their popups
+ live across a page load. If this occurs and the <select> element has an
+ onchange handler it is possible to get into a state where we try to execute
+ JS on a page that no longer has an execution context.
+
+ * bindings/js/JSLazyEventListener.cpp:
+ (WebCore::JSLazyEventListener::parseCode):
+ Be paranoid and add a null check, but assert as well because we shouldn't
+ actually get to this point.
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::valueChanged):
+
+2009-06-30 Drew Wilson <atwilson@google.com>
+
+ Reviewed by David Levin.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=25435>
+
+ Added support for sending MessagePorts to/from Workers via postMessage().
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::messageChannel):
+ Exposes MessageChannel constructor WorkerContext.
+ * bindings/js/JSWorkerCustom.cpp:
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::CALLBACK_FUNC_DECL):
+ Now correctly handles being instantiated from within a Worker.
+ * platform/CrossThreadCopier.h:
+ (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
+ Added support for passing PassOwnPtr as argument to GenericWorkerTask
+ * workers/GenericWorkerTask.h:
+ (WebCore::):
+ * workers/Worker.cpp:
+ (WebCore::Worker::postMessage):
+ Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
+ (WebCore::Worker::dispatchMessage):
+ * workers/Worker.h:
+ * workers/Worker.idl:
+ Added an optional MessagePort argument to postMessage()
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ Workers now report pending activity whenever there are remotely entangled ports.
+ (WebCore::WorkerContext::postMessage):
+ Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
+ (WebCore::WorkerContext::dispatchMessage):
+ * workers/WorkerContext.h:
+ * workers/WorkerContext.idl:
+ Added an optional MessagePort argument to postMessage()
+ * workers/WorkerContextProxy.h:
+ * workers/WorkerMessagingProxy.cpp:
+ Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
+ (WebCore::MessageWorkerContextTask::create):
+ (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
+ (WebCore::MessageWorkerContextTask::performTask):
+ (WebCore::MessageWorkerTask::create):
+ (WebCore::MessageWorkerTask::MessageWorkerTask):
+ (WebCore::MessageWorkerTask::performTask):
+ (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
+ (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
+ * workers/WorkerMessagingProxy.h:
+ Added additional postMessage() API that accepts a MessagePort
+ * workers/WorkerObjectProxy.h:
+ Added additional postMessage() API that accepts a MessagePort
+
+2009-06-30 Adam Langley <agl@google.com>
+
+ Reviewed by Eric Seidel.
+
+ Chromium: Add complex text support on Linux.
+
+ https://bugs.webkit.org/show_bug.cgi?id=25068
+
+ This patch adds complex text support on Linux using Harfbuzz. It's not
+ the fastest code possible: some caching of font tables will certainly
+ be required. However, it's probably the simplest code that works.
+
+ This will require checking in new baselines in the Chromium tree for
+ those layout tests which now pass.
+
+ * platform/graphics/chromium/FontLinux.cpp:
+ (WebCore::Font::drawGlyphs):
+ (WebCore::truncateFixedPointToInteger):
+ (WebCore::TextRunWalker::TextRunWalker):
+ (WebCore::TextRunWalker::~TextRunWalker):
+ (WebCore::TextRunWalker::reset):
+ (WebCore::TextRunWalker::setXOffsetToZero):
+ (WebCore::TextRunWalker::rtl):
+ (WebCore::TextRunWalker::setBackwardsIteration):
+ (WebCore::TextRunWalker::nextScriptRun):
+ (WebCore::TextRunWalker::glyphs):
+ (WebCore::TextRunWalker::length):
+ (WebCore::TextRunWalker::xPositions):
+ (WebCore::TextRunWalker::advances):
+ (WebCore::TextRunWalker::width):
+ (WebCore::TextRunWalker::logClusters):
+ (WebCore::TextRunWalker::numCodePoints):
+ (WebCore::TextRunWalker::widthOfFullRun):
+ (WebCore::TextRunWalker::allocHarfbuzzFont):
+ (WebCore::TextRunWalker::deleteGlyphArrays):
+ (WebCore::TextRunWalker::createGlyphArrays):
+ (WebCore::TextRunWalker::expandGlyphArrays):
+ (WebCore::TextRunWalker::shapeGlyphs):
+ (WebCore::TextRunWalker::setGlyphXPositions):
+ (WebCore::setupForTextPainting):
+ (WebCore::fontPlatformDataForTextRun):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::glyphIndexForXPositionInScriptRun):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
+ (WebCore::SkiaScalarToHarfbuzzFixed):
+ (WebCore::stringToGlyphs):
+ (WebCore::glyphsToAdvances):
+ (WebCore::canRender):
+ (WebCore::getOutlinePoint):
+ (WebCore::getGlyphMetrics):
+ (WebCore::getFontMetric):
+ (WebCore::harfbuzzSkiaGetTable):
+
+2009-06-30 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::updateStates):
+ Always fall back to a plug-in if m_hasUnsupportedTracks is set.
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
+ Set m_hasUnsupportedTracks if we disable a track.
+
+2009-06-30 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26820
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
+
+2009-06-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
+ to Grid" window is clipping
+
+ Added an app-specific quirk to revert the behavior of <link> elements
+ to the way it was before r30673, namely that if the rel attribute
+ is not "stylesheet" but the type attribute contains "text/css", the
+ link behaves as a stylesheet link.
+
+ * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::process): Check
+ Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
+ style sheet link if the type contains "text/css".
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ Initialize m_treatsAnyTextCSSLinkAsStylesheet.
+ (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
+ * page/Settings.h:
+ (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
+
+2009-06-30 Adrien Nader <camaradetux@gmail.com>
+
+ Reviewed by Xan Lopez.
+
+ Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
+
+ * GNUmakefile.am:
+
+2009-06-30 Jan Michael Alonzo <jmalonzo@webkit.org>
+
+ Reviewed by Xan Lopez.
+
+ [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
+
+ * GNUmakefile.am:
+
+2009-06-30 Raju Kunnath <raju.kunnath@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ <https://bugs.webkit.org/show_bug.cgi?id=26752>
+
+ [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008.
+
+ * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
+
+2009-06-30 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Initialize member variables in the right order. Fixes compiler
+ warning.
+
+ * platform/image-decoders/bmp/BMPImageReader.cpp:
+ (WebCore::BMPImageReader::BMPImageReader):
+
+2009-06-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26831
+ Fix compiler warning in WorkerLoaderProxy.h
+
+ Forward declaration of a class within a class is not allowed,
+ since the compiler can't know if the declaration is legal at that
+ point. This gives the following compiler warning:
+
+ ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
+ "class WebCore::ScriptExecutionContext::Task" does not declare
+ anything
+
+ Include the full ScriptExecutionHeader header instead.
+
+ * workers/WorkerLoaderProxy.h:
+
+2009-06-29 Xan Lopez <xlopez@igalia.com>
+
+ Reviewed by Jan Alonzo.
+
+ Remove unused function.
+
+ * plugins/gtk/PluginPackageGtk.cpp:
+
+2009-06-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
+ boolean arguments. FullUpdate is unused at present, but will be used soon.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::layout):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositions):
+ (WebCore::RenderLayer::scrollToOffset):
+ * rendering/RenderLayer.h:
+ (WebCore::RenderLayer::):
+
+2009-06-29 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix one more bad merge in V8Proxy.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26819
+
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Mark Rowe.
+
+ Remove more unused scons support.
+
+ * SConstruct: Removed.
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Fix some incorrect create functions.
+
+ * html/DataGridColumn.h:
+ (WebCore::DataGridColumn::create):
+ * html/DataGridColumnList.h:
+ (WebCore::DataGridColumnList::create):
+
+2009-06-29 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dave Hyatt.
+
+ Remove initialize method from DataGridDataSource and add
+ DOMDataGridDataSource.
+
+ * GNUmakefile.am:
+ * WebCore.pro:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * WebCoreSources.bkl:
+ * bindings/js/JSDataGridDataSource.cpp:
+ * bindings/js/JSDataGridDataSource.h:
+ * bindings/js/JSHTMLDataGridElementCustom.cpp:
+ (WebCore::JSHTMLDataGridElement::setDataSource):
+ * html/DOMDataGridDataSource.cpp: Added.
+ (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
+ (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
+ * html/DOMDataGridDataSource.h: Added.
+ (WebCore::DOMDataGridDataSource::create):
+ (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
+ (WebCore::asDOMDataGridDataSource):
+ * html/DataGridDataSource.h:
+ (WebCore::DataGridDataSource::isDOMDataGridDataSource):
+ (WebCore::DataGridDataSource::isJSDataGridDataSource):
+ * html/HTMLDataGridElement.cpp:
+ (WebCore::HTMLDataGridElement::HTMLDataGridElement):
+ (WebCore::HTMLDataGridElement::setDataSource):
+ (WebCore::HTMLDataGridElement::dataSource):
+ * html/HTMLDataGridElement.h:
+
+2009-06-29 Nate Chapin <japhet@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Fix a couple of bad merge items from my previous V8Proxy patch.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26813
+
+ * bindings/v8/V8Collection.h:
+ (WebCore::nodeCollectionNamedPropertyGetter): Fix a bad function name that slipped through.
+ * bindings/v8/V8Proxy.cpp:
+ (WebCore::V8Proxy::setDOMException): Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
+
+2009-06-29 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser <simon.fraser@apple.com>.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26706
+
+ Fixed crash due to dereference of m_toStyle
+
+ * page/animation/ImplicitAnimation.cpp:
+ (WebCore::ImplicitAnimation::isTargetPropertyEqual):
+
+2009-06-29 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
+
+ * WebCore.base.exp:
+ Export _wkQTMovieGetType
+
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::MediaPlayer::hasSingleSecurityOrigin):
+ Move to keep with other non-callback functions.
+ (WebCore::MediaPlayer::movieLoadType):
+ New, returns the movie type.
+ * platform/graphics/MediaPlayer.h:
+ Declare MovieLoadType enum and movieLoadType method.
+
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::movieLoadType):
+ Default implementation of movieLoadType
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::MediaPlayerPrivate::createQTMovie):
+ Don't base m_isStreaming on protocol, there are other types of streaming movies.
+ (WebCore::MediaPlayerPrivate::maxTimeBuffered):
+ Don't assume all streams are unbuffered.
+ (WebCore::MediaPlayerPrivate::updateStates):
+ Update m_isStreaming once we have metadata.
+ (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
+ Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
+ (WebCore::MediaPlayerPrivate::movieLoadType):
+ New, return movie type.
+
+ * platform/mac/WebCoreSystemInterface.h:
+ * platform/mac/WebCoreSystemInterface.mm:
+ Add wkQTMovieGetType.
+
+2009-06-29 Alice Liu <alice.liu@apple.com>
+
+ Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
+
+ Reviewed by Anders Carlsson.
+
+ No test added because the crash requires a flash plugin
+
+ * plugins/win/PluginMessageThrottlerWin.cpp:
+ Rely on the hWnd of the plugin to tell us whether the PluginView has
+ been deleted during execution of its wndProc.
+ (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
+
+2009-06-29 Dmitry Titov <dimich@chromium.org>
+
+ Reviewed by David Levin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=26811
+ [Chromium] Remove a flag and functions used to enable workers in runtime.
+
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ * bindings/v8/WorkerContextExecutionProxy.h:
+
+2009-06-29 Simon Fraser <simon.fraser@apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
+
+ Improve the appearance of text in compositing layers by making use of
+ CA's layer geometry flipping, rather that doing it ourselves with a flip
+ transform. This allows CG to use font autohinting in the layer text.
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setGeometryOrientation):
+ (WebCore::GraphicsLayer::geometryOrientation):
+ New methods to set whether this layer uses flipped geometry.
+
+ * platform/graphics/mac/GraphicsLayerCA.h:
+ * platform/graphics/mac/GraphicsLayerCA.mm:
+ (WebCore::GraphicsLayerCA::setGeometryOrientation):
+ (WebCore::GraphicsLayerCA::geometryOrientation):
+ Subclass in order to call into CA
+
+ (WebCore::GraphicsLayerCA::setContentsLayer):
+ Now that CA is doing the geometry flipping, we no longer need to flip the content
+ layers for image and video manually
+
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+ Turn on flipping on the root layer.
+
+2009-06-29 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
+
+ Reviewed by Adam Treat.
+
+ Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
+
+ Implement most WML specific <select> element features.
+ Add 'iname' / 'ivalue' support and support variable references.
+
+ Add two tests covering most select/variable related functionality.
+ Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
+
+ Tests: http/tests/wml/post-data-to-server.html
+ wml/select-element-variables.html
+
+ * dom/SelectElement.cpp:
+ (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
+ * dom/SelectElement.h:
+ * html/HTMLSelectElement.cpp:
+ (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
+ * wml/WMLCardElement.cpp:
+ (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
+ * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
+ (WebCore::WMLSelectElement::title):
+ (WebCore::WMLSelectElement::formControlName):
+ (WebCore::WMLSelectElement::defaultEventHandler):
+ (WebCore::WMLSelectElement::selectInitialOptions):
+ (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
+ (WebCore::WMLSelectElement::selectDefaultOptions):
+ (WebCore::WMLSelectElement::initializeVariables):
+ (WebCore::WMLSelectElement::updateVariables):
+ (WebCore::WMLSelectElement::parseIndexValueString):
+ (WebCore::WMLSelectElement::valueStringToOptionIndices):
+ (WebCore::WMLSelectElement::optionIndicesToValueString):
+ (WebCore::WMLSelectElement::optionIndicesToString):
+ (WebCore::WMLSelectElement::name):
+ (WebCore::WMLSelectElement::value):
+ (WebCore::WMLSelectElement::iname):
+ (WebCore::WMLSelectElement::ivalue):
+ * wml/WMLSelectElement.h:
+
+2009-06-29 David Hyatt <hyatt@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Put <datagrid> behind an ifdef.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * bindings/js/JSDataGridColumnListCustom.cpp:
+ * bindings/js/JSDataGridDataSource.cpp:
+ * bindings/js/JSDataGridDataSource.h:
+ * bindings/js/JSHTMLDataGridElementCustom.cpp:
+ * html/DataGridColumn.cpp:
+ * html/DataGridColumn.h:
+ * html/DataGridColumn.idl:
+ * html/DataGridColumnList.cpp:
+ * html/DataGridColumnList.h:
+ * html/DataGridColumnList.idl:
+ * html/DataGridDataSource.h:
+ * html/HTMLDataGridCellElement.cpp:
+ * html/HTMLDataGridCellElement.h:
+ * html/HTMLDataGridCellElement.idl:
+ * html/HTMLDataGridColElement.cpp:
+ * html/HTMLDataGridColElement.h:
+ * html/HTMLDataGridColElement.idl:
+ * html/HTMLDataGridElement.cpp:
+ * html/HTMLDataGridElement.h:
+ * html/HTMLDataGridElement.idl:
+ * html/HTMLDataGridRowElement.cpp:
+ * html/HTMLDataGridRowElement.h:
+ * html/HTMLDataGridRowElement.idl:
+ * html/HTMLTagNames.in:
+ * page/DOMWindow.idl:
+ * rendering/RenderDataGrid.cpp:
+ * rendering/RenderDataGrid.h:
+
+2009-06-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat and Adam Roben.
+
+ Fix compilation with MINGW. Ported MSVC inline assembly to
+ GNU inline assembly. Also fixed casting errors where gcc
+ refused to cast a pointer-to-function to a pointer-to-object,
+ without an intermediate cast to a non-pointer type.
+
+ * plugins/win/PluginViewWin.cpp:
+ (WebCore::PluginView::hookedBeginPaint):
+ (WebCore::PluginView::hookedEndPaint):
+ (WebCore::hook):
+ (WebCore::setUpOffscreenPaintingHooks):
+
2009-06-26 John Sullivan <sullivan@apple.com>
Added Speech submenu to context menu on Mac when there's a non-editable selection
@@ -1928,7 +14740,7 @@
(WebCore::DOMDataStore::~DOMDataStore):
(WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
(WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
- (WebCore::::forget):
+ (WebCore::forget):
(WebCore::getDOMNodeMap):
(WebCore::getDOMObjectMap):
(WebCore::getActiveDOMObjectMap):
diff --git a/src/3rdparty/webkit/WebCore/DerivedSources.cpp b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
index 3075a4b..1455060 100644
--- a/src/3rdparty/webkit/WebCore/DerivedSources.cpp
+++ b/src/3rdparty/webkit/WebCore/DerivedSources.cpp
@@ -25,6 +25,7 @@
// This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
+#include "JSAbstractWorker.cpp"
#include "JSAttr.cpp"
#include "JSBarInfo.cpp"
#include "JSCanvasGradient.cpp"
@@ -56,6 +57,7 @@
#include "JSDatabase.cpp"
#include "JSDataGridColumn.cpp"
#include "JSDataGridColumnList.cpp"
+#include "JSDedicatedWorkerContext.cpp"
#include "JSDocument.cpp"
#include "JSDocumentFragment.cpp"
#include "JSDocumentType.cpp"
@@ -68,6 +70,7 @@
#include "JSElement.cpp"
#include "JSEntity.cpp"
#include "JSEntityReference.cpp"
+#include "JSErrorEvent.cpp"
#include "JSEvent.cpp"
#include "JSEventException.cpp"
#include "JSFile.cpp"
@@ -170,7 +173,9 @@
#include "JSRange.cpp"
#include "JSRangeException.cpp"
#include "JSRect.cpp"
+#include "JSRGBColor.cpp"
#include "JSScreen.cpp"
+#include "JSSharedWorker.cpp"
#include "JSSQLError.cpp"
#include "JSSQLResultSet.cpp"
#include "JSSQLResultSetRowList.cpp"
@@ -317,6 +322,7 @@
#include "JSTimeRanges.cpp"
#include "JSTreeWalker.cpp"
#include "JSUIEvent.cpp"
+#include "JSValidityState.cpp"
#include "JSVoidCallback.cpp"
#include "JSWebKitAnimationEvent.cpp"
#include "JSWebKitCSSKeyframeRule.cpp"
@@ -349,5 +355,5 @@
// want StaticConstructors.h to "pollute" all the source files we #include here
// accidentally, so we'll throw an error whenever any file includes it.
#ifdef StaticConstructors_h
-#error Don't include any file in DerivedSources.cpp that includes StaticConstructors.h
+#error Do not include any file in DerivedSources.cpp that includes StaticConstructors.h
#endif
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
new file mode 100644
index 0000000..d6f2487
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -0,0 +1,3396 @@
+{
+ 'variables': {
+ 'webcore_files': [
+
+ #IDL files
+ 'css/CSSCharsetRule.idl',
+ 'css/CSSFontFaceRule.idl',
+ 'css/CSSImportRule.idl',
+ 'css/CSSMediaRule.idl',
+ 'css/CSSPageRule.idl',
+ 'css/CSSPrimitiveValue.idl',
+ 'css/CSSRule.idl',
+ 'css/CSSRuleList.idl',
+ 'css/CSSStyleDeclaration.idl',
+ 'css/CSSStyleRule.idl',
+ 'css/CSSStyleSheet.idl',
+ 'css/CSSUnknownRule.idl',
+ 'css/CSSValue.idl',
+ 'css/CSSValueList.idl',
+ 'css/CSSVariablesDeclaration.idl',
+ 'css/CSSVariablesRule.idl',
+ 'css/Counter.idl',
+ 'css/MediaList.idl',
+ 'css/RGBColor.idl',
+ 'css/Rect.idl',
+ 'css/StyleSheet.idl',
+ 'css/StyleSheetList.idl',
+ 'css/WebKitCSSKeyframeRule.idl',
+ 'css/WebKitCSSKeyframesRule.idl',
+ 'css/WebKitCSSMatrix.idl',
+ 'css/WebKitCSSTransformValue.idl',
+ 'dom/Attr.idl',
+ 'dom/CDATASection.idl',
+ 'dom/CharacterData.idl',
+ 'dom/ClientRect.idl',
+ 'dom/ClientRectList.idl',
+ 'dom/Clipboard.idl',
+ 'dom/Comment.idl',
+ 'dom/DOMCoreException.idl',
+ 'dom/DOMImplementation.idl',
+ 'dom/Document.idl',
+ 'dom/DocumentFragment.idl',
+ 'dom/DocumentType.idl',
+ 'dom/Element.idl',
+ 'dom/Entity.idl',
+ 'dom/EntityReference.idl',
+ 'dom/ErrorEvent.idl',
+ 'dom/Event.idl',
+ 'dom/EventException.idl',
+ 'dom/EventListener.idl',
+ 'dom/EventTarget.idl',
+ 'dom/HTMLAllCollection.idl',
+ 'dom/KeyboardEvent.idl',
+ 'dom/MessageChannel.idl',
+ 'dom/MessageEvent.idl',
+ 'dom/MessagePort.idl',
+ 'dom/MouseEvent.idl',
+ 'dom/MutationEvent.idl',
+ 'dom/NamedNodeMap.idl',
+ 'dom/Node.idl',
+ 'dom/NodeFilter.idl',
+ 'dom/NodeIterator.idl',
+ 'dom/NodeList.idl',
+ 'dom/Notation.idl',
+ 'dom/OverflowEvent.idl',
+ 'dom/ProcessingInstruction.idl',
+ 'dom/ProgressEvent.idl',
+ 'dom/Range.idl',
+ 'dom/RangeException.idl',
+ 'dom/Text.idl',
+ 'dom/TextEvent.idl',
+ 'dom/TreeWalker.idl',
+ 'dom/UIEvent.idl',
+ 'dom/WebKitAnimationEvent.idl',
+ 'dom/WebKitTransitionEvent.idl',
+ 'dom/WheelEvent.idl',
+ 'html/CanvasGradient.idl',
+ 'html/CanvasPattern.idl',
+ 'html/CanvasPixelArray.idl',
+ 'html/CanvasRenderingContext2D.idl',
+ 'html/DataGridColumn.idl',
+ 'html/DataGridColumnList.idl',
+ 'html/File.idl',
+ 'html/FileList.idl',
+ 'html/HTMLAnchorElement.idl',
+ 'html/HTMLAppletElement.idl',
+ 'html/HTMLAreaElement.idl',
+ 'html/HTMLAudioElement.idl',
+ 'html/HTMLBRElement.idl',
+ 'html/HTMLBaseElement.idl',
+ 'html/HTMLBaseFontElement.idl',
+ 'html/HTMLBlockquoteElement.idl',
+ 'html/HTMLBodyElement.idl',
+ 'html/HTMLButtonElement.idl',
+ 'html/HTMLCanvasElement.idl',
+ 'html/HTMLCollection.idl',
+ 'html/HTMLDListElement.idl',
+ 'html/HTMLDataGridCellElement.idl',
+ 'html/HTMLDataGridColElement.idl',
+ 'html/HTMLDataGridElement.idl',
+ 'html/HTMLDataGridRowElement.idl',
+ 'html/HTMLDirectoryElement.idl',
+ 'html/HTMLDivElement.idl',
+ 'html/HTMLDocument.idl',
+ 'html/HTMLElement.idl',
+ 'html/HTMLEmbedElement.idl',
+ 'html/HTMLFieldSetElement.idl',
+ 'html/HTMLFontElement.idl',
+ 'html/HTMLFormElement.idl',
+ 'html/HTMLFrameElement.idl',
+ 'html/HTMLFrameSetElement.idl',
+ 'html/HTMLHRElement.idl',
+ 'html/HTMLHeadElement.idl',
+ 'html/HTMLHeadingElement.idl',
+ 'html/HTMLHtmlElement.idl',
+ 'html/HTMLIFrameElement.idl',
+ 'html/HTMLImageElement.idl',
+ 'html/HTMLInputElement.idl',
+ 'html/HTMLIsIndexElement.idl',
+ 'html/HTMLLIElement.idl',
+ 'html/HTMLLabelElement.idl',
+ 'html/HTMLLegendElement.idl',
+ 'html/HTMLLinkElement.idl',
+ 'html/HTMLMapElement.idl',
+ 'html/HTMLMarqueeElement.idl',
+ 'html/HTMLMediaElement.idl',
+ 'html/HTMLMenuElement.idl',
+ 'html/HTMLMetaElement.idl',
+ 'html/HTMLModElement.idl',
+ 'html/HTMLOListElement.idl',
+ 'html/HTMLObjectElement.idl',
+ 'html/HTMLOptGroupElement.idl',
+ 'html/HTMLOptionElement.idl',
+ 'html/HTMLOptionsCollection.idl',
+ 'html/HTMLParagraphElement.idl',
+ 'html/HTMLParamElement.idl',
+ 'html/HTMLPreElement.idl',
+ 'html/HTMLQuoteElement.idl',
+ 'html/HTMLScriptElement.idl',
+ 'html/HTMLSelectElement.idl',
+ 'html/HTMLSourceElement.idl',
+ 'html/HTMLStyleElement.idl',
+ 'html/HTMLTableCaptionElement.idl',
+ 'html/HTMLTableCellElement.idl',
+ 'html/HTMLTableColElement.idl',
+ 'html/HTMLTableElement.idl',
+ 'html/HTMLTableRowElement.idl',
+ 'html/HTMLTableSectionElement.idl',
+ 'html/HTMLTextAreaElement.idl',
+ 'html/HTMLTitleElement.idl',
+ 'html/HTMLUListElement.idl',
+ 'html/HTMLVideoElement.idl',
+ 'html/ImageData.idl',
+ 'html/MediaError.idl',
+ 'html/TextMetrics.idl',
+ 'html/TimeRanges.idl',
+ 'html/ValidityState.idl',
+ 'html/VoidCallback.idl',
+ 'inspector/InspectorBackend.idl',
+ 'inspector/JavaScriptCallFrame.idl',
+ 'loader/appcache/DOMApplicationCache.idl',
+ 'page/AbstractView.idl',
+ 'page/BarInfo.idl',
+ 'page/Console.idl',
+ 'page/DOMSelection.idl',
+ 'page/DOMWindow.idl',
+ 'page/Geolocation.idl',
+ 'page/Geoposition.idl',
+ 'page/History.idl',
+ 'page/Location.idl',
+ 'page/Navigator.idl',
+ 'page/PositionCallback.idl',
+ 'page/PositionError.idl',
+ 'page/PositionErrorCallback.idl',
+ 'page/Screen.idl',
+ 'page/WebKitPoint.idl',
+ 'page/WorkerNavigator.idl',
+ 'plugins/MimeType.idl',
+ 'plugins/MimeTypeArray.idl',
+ 'plugins/Plugin.idl',
+ 'plugins/PluginArray.idl',
+ 'storage/Database.idl',
+ 'storage/SQLError.idl',
+ 'storage/SQLResultSet.idl',
+ 'storage/SQLResultSetRowList.idl',
+ 'storage/SQLTransaction.idl',
+ 'storage/Storage.idl',
+ 'storage/StorageEvent.idl',
+ 'svg/ElementTimeControl.idl',
+ 'svg/SVGAElement.idl',
+ 'svg/SVGAltGlyphElement.idl',
+ 'svg/SVGAngle.idl',
+ 'svg/SVGAnimateColorElement.idl',
+ 'svg/SVGAnimateElement.idl',
+ 'svg/SVGAnimateTransformElement.idl',
+ 'svg/SVGAnimatedAngle.idl',
+ 'svg/SVGAnimatedBoolean.idl',
+ 'svg/SVGAnimatedEnumeration.idl',
+ 'svg/SVGAnimatedInteger.idl',
+ 'svg/SVGAnimatedLength.idl',
+ 'svg/SVGAnimatedLengthList.idl',
+ 'svg/SVGAnimatedNumber.idl',
+ 'svg/SVGAnimatedNumberList.idl',
+ 'svg/SVGAnimatedPathData.idl',
+ 'svg/SVGAnimatedPoints.idl',
+ 'svg/SVGAnimatedPreserveAspectRatio.idl',
+ 'svg/SVGAnimatedRect.idl',
+ 'svg/SVGAnimatedString.idl',
+ 'svg/SVGAnimatedTransformList.idl',
+ 'svg/SVGAnimationElement.idl',
+ 'svg/SVGCircleElement.idl',
+ 'svg/SVGClipPathElement.idl',
+ 'svg/SVGColor.idl',
+ 'svg/SVGComponentTransferFunctionElement.idl',
+ 'svg/SVGCursorElement.idl',
+ 'svg/SVGDefinitionSrcElement.idl',
+ 'svg/SVGDefsElement.idl',
+ 'svg/SVGDescElement.idl',
+ 'svg/SVGDocument.idl',
+ 'svg/SVGElement.idl',
+ 'svg/SVGElementInstance.idl',
+ 'svg/SVGElementInstanceList.idl',
+ 'svg/SVGEllipseElement.idl',
+ 'svg/SVGException.idl',
+ 'svg/SVGExternalResourcesRequired.idl',
+ 'svg/SVGFEBlendElement.idl',
+ 'svg/SVGFEColorMatrixElement.idl',
+ 'svg/SVGFEComponentTransferElement.idl',
+ 'svg/SVGFECompositeElement.idl',
+ 'svg/SVGFEDiffuseLightingElement.idl',
+ 'svg/SVGFEDisplacementMapElement.idl',
+ 'svg/SVGFEDistantLightElement.idl',
+ 'svg/SVGFEFloodElement.idl',
+ 'svg/SVGFEFuncAElement.idl',
+ 'svg/SVGFEFuncBElement.idl',
+ 'svg/SVGFEFuncGElement.idl',
+ 'svg/SVGFEFuncRElement.idl',
+ 'svg/SVGFEGaussianBlurElement.idl',
+ 'svg/SVGFEImageElement.idl',
+ 'svg/SVGFEMergeElement.idl',
+ 'svg/SVGFEMergeNodeElement.idl',
+ 'svg/SVGFEOffsetElement.idl',
+ 'svg/SVGFEPointLightElement.idl',
+ 'svg/SVGFESpecularLightingElement.idl',
+ 'svg/SVGFESpotLightElement.idl',
+ 'svg/SVGFETileElement.idl',
+ 'svg/SVGFETurbulenceElement.idl',
+ 'svg/SVGFilterElement.idl',
+ 'svg/SVGFilterPrimitiveStandardAttributes.idl',
+ 'svg/SVGFitToViewBox.idl',
+ 'svg/SVGFontElement.idl',
+ 'svg/SVGFontFaceElement.idl',
+ 'svg/SVGFontFaceFormatElement.idl',
+ 'svg/SVGFontFaceNameElement.idl',
+ 'svg/SVGFontFaceSrcElement.idl',
+ 'svg/SVGFontFaceUriElement.idl',
+ 'svg/SVGForeignObjectElement.idl',
+ 'svg/SVGGElement.idl',
+ 'svg/SVGGlyphElement.idl',
+ 'svg/SVGGradientElement.idl',
+ 'svg/SVGHKernElement.idl',
+ 'svg/SVGImageElement.idl',
+ 'svg/SVGLangSpace.idl',
+ 'svg/SVGLength.idl',
+ 'svg/SVGLengthList.idl',
+ 'svg/SVGLineElement.idl',
+ 'svg/SVGLinearGradientElement.idl',
+ 'svg/SVGLocatable.idl',
+ 'svg/SVGMarkerElement.idl',
+ 'svg/SVGMaskElement.idl',
+ 'svg/SVGMatrix.idl',
+ 'svg/SVGMetadataElement.idl',
+ 'svg/SVGMissingGlyphElement.idl',
+ 'svg/SVGNumber.idl',
+ 'svg/SVGNumberList.idl',
+ 'svg/SVGPaint.idl',
+ 'svg/SVGPathElement.idl',
+ 'svg/SVGPathSeg.idl',
+ 'svg/SVGPathSegArcAbs.idl',
+ 'svg/SVGPathSegArcRel.idl',
+ 'svg/SVGPathSegClosePath.idl',
+ 'svg/SVGPathSegCurvetoCubicAbs.idl',
+ 'svg/SVGPathSegCurvetoCubicRel.idl',
+ 'svg/SVGPathSegCurvetoCubicSmoothAbs.idl',
+ 'svg/SVGPathSegCurvetoCubicSmoothRel.idl',
+ 'svg/SVGPathSegCurvetoQuadraticAbs.idl',
+ 'svg/SVGPathSegCurvetoQuadraticRel.idl',
+ 'svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl',
+ 'svg/SVGPathSegCurvetoQuadraticSmoothRel.idl',
+ 'svg/SVGPathSegLinetoAbs.idl',
+ 'svg/SVGPathSegLinetoHorizontalAbs.idl',
+ 'svg/SVGPathSegLinetoHorizontalRel.idl',
+ 'svg/SVGPathSegLinetoRel.idl',
+ 'svg/SVGPathSegLinetoVerticalAbs.idl',
+ 'svg/SVGPathSegLinetoVerticalRel.idl',
+ 'svg/SVGPathSegList.idl',
+ 'svg/SVGPathSegMovetoAbs.idl',
+ 'svg/SVGPathSegMovetoRel.idl',
+ 'svg/SVGPatternElement.idl',
+ 'svg/SVGPoint.idl',
+ 'svg/SVGPointList.idl',
+ 'svg/SVGPolygonElement.idl',
+ 'svg/SVGPolylineElement.idl',
+ 'svg/SVGPreserveAspectRatio.idl',
+ 'svg/SVGRadialGradientElement.idl',
+ 'svg/SVGRect.idl',
+ 'svg/SVGRectElement.idl',
+ 'svg/SVGRenderingIntent.idl',
+ 'svg/SVGSVGElement.idl',
+ 'svg/SVGScriptElement.idl',
+ 'svg/SVGSetElement.idl',
+ 'svg/SVGStopElement.idl',
+ 'svg/SVGStringList.idl',
+ 'svg/SVGStylable.idl',
+ 'svg/SVGStyleElement.idl',
+ 'svg/SVGSwitchElement.idl',
+ 'svg/SVGSymbolElement.idl',
+ 'svg/SVGTRefElement.idl',
+ 'svg/SVGTSpanElement.idl',
+ 'svg/SVGTests.idl',
+ 'svg/SVGTextContentElement.idl',
+ 'svg/SVGTextElement.idl',
+ 'svg/SVGTextPathElement.idl',
+ 'svg/SVGTextPositioningElement.idl',
+ 'svg/SVGTitleElement.idl',
+ 'svg/SVGTransform.idl',
+ 'svg/SVGTransformList.idl',
+ 'svg/SVGTransformable.idl',
+ 'svg/SVGURIReference.idl',
+ 'svg/SVGUnitTypes.idl',
+ 'svg/SVGUseElement.idl',
+ 'svg/SVGViewElement.idl',
+ 'svg/SVGViewSpec.idl',
+ 'svg/SVGZoomAndPan.idl',
+ 'svg/SVGZoomEvent.idl',
+ 'workers/AbstractWorker.idl',
+ 'workers/DedicatedWorkerContext.idl',
+ 'workers/SharedWorker.idl',
+ 'workers/Worker.idl',
+ 'workers/WorkerContext.idl',
+ 'workers/WorkerLocation.idl',
+ 'xml/DOMParser.idl',
+ 'xml/XMLHttpRequest.idl',
+ 'xml/XMLHttpRequestException.idl',
+ 'xml/XMLHttpRequestProgressEvent.idl',
+ 'xml/XMLHttpRequestUpload.idl',
+ 'xml/XMLSerializer.idl',
+ 'xml/XPathEvaluator.idl',
+ 'xml/XPathException.idl',
+ 'xml/XPathExpression.idl',
+ 'xml/XPathNSResolver.idl',
+ 'xml/XPathResult.idl',
+ 'xml/XSLTProcessor.idl',
+
+ # Source/Header Files
+ 'accessibility/AXObjectCache.cpp',
+ 'accessibility/AXObjectCache.h',
+ 'accessibility/AccessibilityARIAGrid.cpp',
+ 'accessibility/AccessibilityARIAGrid.h',
+ 'accessibility/AccessibilityARIAGridCell.cpp',
+ 'accessibility/AccessibilityARIAGridCell.h',
+ 'accessibility/AccessibilityARIAGridRow.cpp',
+ 'accessibility/AccessibilityARIAGridRow.h',
+ 'accessibility/AccessibilityImageMapLink.cpp',
+ 'accessibility/AccessibilityImageMapLink.h',
+ 'accessibility/AccessibilityList.cpp',
+ 'accessibility/AccessibilityList.h',
+ 'accessibility/AccessibilityListBox.cpp',
+ 'accessibility/AccessibilityListBox.h',
+ 'accessibility/AccessibilityListBoxOption.cpp',
+ 'accessibility/AccessibilityListBoxOption.h',
+ 'accessibility/AccessibilityObject.cpp',
+ 'accessibility/AccessibilityObject.h',
+ 'accessibility/AccessibilityRenderObject.cpp',
+ 'accessibility/AccessibilityRenderObject.h',
+ 'accessibility/AccessibilityTable.cpp',
+ 'accessibility/AccessibilityTable.h',
+ 'accessibility/AccessibilityTableCell.cpp',
+ 'accessibility/AccessibilityTableCell.h',
+ 'accessibility/AccessibilityTableColumn.cpp',
+ 'accessibility/AccessibilityTableColumn.h',
+ 'accessibility/AccessibilityTableHeaderContainer.cpp',
+ 'accessibility/AccessibilityTableHeaderContainer.h',
+ 'accessibility/AccessibilityTableRow.cpp',
+ 'accessibility/AccessibilityTableRow.h',
+ 'accessibility/chromium/AXObjectCacheChromium.cpp',
+ 'accessibility/chromium/AccessibilityObjectChromium.cpp',
+ 'accessibility/chromium/AccessibilityObjectWrapper.h',
+ 'accessibility/gtk/AXObjectCacheAtk.cpp',
+ 'accessibility/gtk/AccessibilityObjectAtk.cpp',
+ 'accessibility/gtk/AccessibilityObjectWrapperAtk.cpp',
+ 'accessibility/gtk/AccessibilityObjectWrapperAtk.h',
+ 'accessibility/qt/AccessibilityObjectQt.cpp',
+ 'accessibility/mac/AXObjectCacheMac.mm',
+ 'accessibility/mac/AccessibilityObjectMac.mm',
+ 'accessibility/mac/AccessibilityObjectWrapper.h',
+ 'accessibility/mac/AccessibilityObjectWrapper.mm',
+ 'accessibility/win/AXObjectCacheWin.cpp',
+ 'accessibility/win/AccessibilityObjectWin.cpp',
+ 'accessibility/win/AccessibilityObjectWrapperWin.h',
+ 'accessibility/wx/AccessibilityObjectWx.cpp',
+ 'bindings/js/CachedScriptSourceProvider.h',
+ 'bindings/js/DOMObjectWithSVGContext.h',
+ 'bindings/js/GCController.cpp',
+ 'bindings/js/GCController.h',
+ 'bindings/js/JSAttrCustom.cpp',
+ 'bindings/js/JSAudioConstructor.cpp',
+ 'bindings/js/JSAudioConstructor.h',
+ 'bindings/js/JSCanvasRenderingContext2DCustom.cpp',
+ 'bindings/js/JSCDATASectionCustom.cpp',
+ 'bindings/js/JSClipboardCustom.cpp',
+ 'bindings/js/JSConsoleCustom.cpp',
+ 'bindings/js/JSCoordinatesCustom.cpp',
+ 'bindings/js/JSCSSRuleCustom.cpp',
+ 'bindings/js/JSCSSStyleDeclarationCustom.cpp',
+ 'bindings/js/JSCSSStyleDeclarationCustom.h',
+ 'bindings/js/JSCSSValueCustom.cpp',
+ 'bindings/js/JSCustomPositionCallback.cpp',
+ 'bindings/js/JSCustomPositionCallback.h',
+ 'bindings/js/JSCustomPositionErrorCallback.cpp',
+ 'bindings/js/JSCustomPositionErrorCallback.h',
+ 'bindings/js/JSCustomSQLStatementCallback.cpp',
+ 'bindings/js/JSCustomSQLStatementCallback.h',
+ 'bindings/js/JSCustomSQLStatementErrorCallback.cpp',
+ 'bindings/js/JSCustomSQLStatementErrorCallback.h',
+ 'bindings/js/JSCustomSQLTransactionCallback.cpp',
+ 'bindings/js/JSCustomSQLTransactionCallback.h',
+ 'bindings/js/JSCustomSQLTransactionErrorCallback.cpp',
+ 'bindings/js/JSCustomSQLTransactionErrorCallback.h',
+ 'bindings/js/JSCustomVoidCallback.cpp',
+ 'bindings/js/JSCustomVoidCallback.h',
+ 'bindings/js/JSCustomXPathNSResolver.cpp',
+ 'bindings/js/JSCustomXPathNSResolver.h',
+ 'bindings/js/JSDatabaseCustom.cpp',
+ 'bindings/js/JSDataGridColumnListCustom.cpp',
+ 'bindings/js/JSDataGridDataSource.cpp',
+ 'bindings/js/JSDataGridDataSource.h',
+ 'bindings/js/JSDedicatedWorkerContextCustom.cpp',
+ 'bindings/js/JSDocumentCustom.cpp',
+ 'bindings/js/JSDocumentFragmentCustom.cpp',
+ 'bindings/js/JSDOMApplicationCacheCustom.cpp',
+ 'bindings/js/JSDOMBinding.cpp',
+ 'bindings/js/JSDOMBinding.h',
+ 'bindings/js/JSDOMGlobalObject.cpp',
+ 'bindings/js/JSDOMGlobalObject.h',
+ 'bindings/js/JSDOMWindowBase.cpp',
+ 'bindings/js/JSDOMWindowBase.h',
+ 'bindings/js/JSDOMWindowCustom.cpp',
+ 'bindings/js/JSDOMWindowCustom.h',
+ 'bindings/js/JSDOMWindowShell.cpp',
+ 'bindings/js/JSDOMWindowShell.h',
+ 'bindings/js/JSElementCustom.cpp',
+ 'bindings/js/JSEventCustom.cpp',
+ 'bindings/js/JSEventListener.cpp',
+ 'bindings/js/JSEventListener.h',
+ 'bindings/js/JSEventTarget.cpp',
+ 'bindings/js/JSEventTarget.h',
+ 'bindings/js/JSGeolocationCustom.cpp',
+ 'bindings/js/JSHistoryCustom.cpp',
+ 'bindings/js/JSHistoryCustom.h',
+ 'bindings/js/JSHTMLAllCollection.cpp',
+ 'bindings/js/JSHTMLAllCollection.h',
+ 'bindings/js/JSHTMLAppletElementCustom.cpp',
+ 'bindings/js/JSHTMLAppletElementCustom.h',
+ 'bindings/js/JSHTMLCollectionCustom.cpp',
+ 'bindings/js/JSHTMLDataGridElementCustom.cpp',
+ 'bindings/js/JSHTMLDocumentCustom.cpp',
+ 'bindings/js/JSHTMLElementCustom.cpp',
+ 'bindings/js/JSHTMLEmbedElementCustom.cpp',
+ 'bindings/js/JSHTMLEmbedElementCustom.h',
+ 'bindings/js/JSHTMLFormElementCustom.cpp',
+ 'bindings/js/JSHTMLFrameElementCustom.cpp',
+ 'bindings/js/JSHTMLFrameSetElementCustom.cpp',
+ 'bindings/js/JSHTMLIFrameElementCustom.cpp',
+ 'bindings/js/JSHTMLInputElementCustom.cpp',
+ 'bindings/js/JSHTMLInputElementCustom.h',
+ 'bindings/js/JSHTMLObjectElementCustom.cpp',
+ 'bindings/js/JSHTMLObjectElementCustom.h',
+ 'bindings/js/JSHTMLOptionsCollectionCustom.cpp',
+ 'bindings/js/JSHTMLSelectElementCustom.cpp',
+ 'bindings/js/JSHTMLSelectElementCustom.h',
+ 'bindings/js/JSImageConstructor.cpp',
+ 'bindings/js/JSImageConstructor.h',
+ 'bindings/js/JSImageDataCustom.cpp',
+ 'bindings/js/JSInspectedObjectWrapper.cpp',
+ 'bindings/js/JSInspectedObjectWrapper.h',
+ 'bindings/js/JSInspectorCallbackWrapper.cpp',
+ 'bindings/js/JSInspectorCallbackWrapper.h',
+ 'bindings/js/JSInspectorBackendCustom.cpp',
+ 'bindings/js/JSJavaScriptCallFrameCustom.cpp',
+ 'bindings/js/JSLazyEventListener.cpp',
+ 'bindings/js/JSLazyEventListener.h',
+ 'bindings/js/JSLocationCustom.cpp',
+ 'bindings/js/JSLocationCustom.h',
+ 'bindings/js/JSMessageChannelConstructor.cpp',
+ 'bindings/js/JSMessageChannelConstructor.h',
+ 'bindings/js/JSMessageChannelCustom.cpp',
+ 'bindings/js/JSMessagePortCustom.cpp',
+ 'bindings/js/JSMimeTypeArrayCustom.cpp',
+ 'bindings/js/JSNamedNodeMapCustom.cpp',
+ 'bindings/js/JSNamedNodesCollection.cpp',
+ 'bindings/js/JSNamedNodesCollection.h',
+ 'bindings/js/JSNavigatorCustom.cpp',
+ 'bindings/js/JSNodeCustom.cpp',
+ 'bindings/js/JSNodeFilterCondition.cpp',
+ 'bindings/js/JSNodeFilterCondition.h',
+ 'bindings/js/JSNodeFilterCustom.cpp',
+ 'bindings/js/JSNodeIteratorCustom.cpp',
+ 'bindings/js/JSNodeListCustom.cpp',
+ 'bindings/js/JSOptionConstructor.cpp',
+ 'bindings/js/JSOptionConstructor.h',
+ 'bindings/js/JSPluginArrayCustom.cpp',
+ 'bindings/js/JSPluginCustom.cpp',
+ 'bindings/js/JSPluginElementFunctions.cpp',
+ 'bindings/js/JSPluginElementFunctions.h',
+ 'bindings/js/JSQuarantinedObjectWrapper.cpp',
+ 'bindings/js/JSQuarantinedObjectWrapper.h',
+ 'bindings/js/JSRGBColor.cpp',
+ 'bindings/js/JSRGBColor.h',
+ 'bindings/js/JSSQLResultSetRowListCustom.cpp',
+ 'bindings/js/JSSQLTransactionCustom.cpp',
+ 'bindings/js/JSStorageCustom.cpp',
+ 'bindings/js/JSStorageCustom.h',
+ 'bindings/js/JSStyleSheetCustom.cpp',
+ 'bindings/js/JSStyleSheetListCustom.cpp',
+ 'bindings/js/JSSVGElementInstanceCustom.cpp',
+ 'bindings/js/JSSVGLengthCustom.cpp',
+ 'bindings/js/JSSVGMatrixCustom.cpp',
+ 'bindings/js/JSSVGPathSegCustom.cpp',
+ 'bindings/js/JSSVGPathSegListCustom.cpp',
+ 'bindings/js/JSSVGPODTypeWrapper.h',
+ 'bindings/js/JSSVGPointListCustom.cpp',
+ 'bindings/js/JSSVGTransformListCustom.cpp',
+ 'bindings/js/JSTextCustom.cpp',
+ 'bindings/js/JSTreeWalkerCustom.cpp',
+ 'bindings/js/JSWebKitCSSMatrixConstructor.cpp',
+ 'bindings/js/JSWebKitCSSMatrixConstructor.h',
+ 'bindings/js/JSWebKitPointConstructor.cpp',
+ 'bindings/js/JSWebKitPointConstructor.h',
+ 'bindings/js/JSWorkerConstructor.cpp',
+ 'bindings/js/JSWorkerConstructor.h',
+ 'bindings/js/JSWorkerContextBase.cpp',
+ 'bindings/js/JSWorkerContextBase.h',
+ 'bindings/js/JSWorkerContextCustom.cpp',
+ 'bindings/js/JSWorkerCustom.cpp',
+ 'bindings/js/JSXMLHttpRequestConstructor.cpp',
+ 'bindings/js/JSXMLHttpRequestConstructor.h',
+ 'bindings/js/JSXMLHttpRequestCustom.cpp',
+ 'bindings/js/JSXMLHttpRequestUploadCustom.cpp',
+ 'bindings/js/JSXSLTProcessorConstructor.cpp',
+ 'bindings/js/JSXSLTProcessorConstructor.h',
+ 'bindings/js/JSXSLTProcessorCustom.cpp',
+ 'bindings/js/ScheduledAction.cpp',
+ 'bindings/js/ScheduledAction.h',
+ 'bindings/js/ScriptArray.cpp',
+ 'bindings/js/ScriptArray.h',
+ 'bindings/js/ScriptCachedFrameData.cpp',
+ 'bindings/js/ScriptCachedFrameData.h',
+ 'bindings/js/ScriptCallFrame.cpp',
+ 'bindings/js/ScriptCallFrame.h',
+ 'bindings/js/ScriptCallStack.cpp',
+ 'bindings/js/ScriptCallStack.h',
+ 'bindings/js/ScriptController.cpp',
+ 'bindings/js/ScriptController.h',
+ 'bindings/js/ScriptControllerGtk.cpp',
+ 'bindings/js/ScriptControllerMac.mm',
+ 'bindings/js/ScriptControllerQt.cpp',
+ 'bindings/js/ScriptControllerWin.cpp',
+ 'bindings/js/ScriptControllerWx.cpp',
+ 'bindings/js/ScriptEventListener.cpp',
+ 'bindings/js/ScriptEventListener.h',
+ 'bindings/js/ScriptFunctionCall.cpp',
+ 'bindings/js/ScriptFunctionCall.h',
+ 'bindings/js/ScriptInstance.h',
+ 'bindings/js/ScriptObject.cpp',
+ 'bindings/js/ScriptObject.h',
+ 'bindings/js/ScriptObjectQuarantine.cpp',
+ 'bindings/js/ScriptObjectQuarantine.h',
+ 'bindings/js/ScriptSourceCode.h',
+ 'bindings/js/ScriptSourceProvider.h',
+ 'bindings/js/ScriptState.cpp',
+ 'bindings/js/ScriptState.h',
+ 'bindings/js/ScriptString.h',
+ 'bindings/js/ScriptValue.cpp',
+ 'bindings/js/ScriptValue.h',
+ 'bindings/js/StringSourceProvider.h',
+ 'bindings/js/WorkerScriptController.cpp',
+ 'bindings/js/WorkerScriptController.h',
+ 'bindings/v8/ChildThreadDOMData.cpp',
+ 'bindings/v8/ChildThreadDOMData.h',
+ 'bindings/v8/custom/V8AbstractWorkerCustom.cpp',
+ 'bindings/v8/custom/V8AttrCustom.cpp',
+ 'bindings/v8/custom/V8CanvasPixelArrayCustom.cpp',
+ 'bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp',
+ 'bindings/v8/custom/V8ClientRectListCustom.cpp',
+ 'bindings/v8/custom/V8ClipboardCustom.cpp',
+ 'bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp',
+ 'bindings/v8/custom/V8CustomBinding.cpp',
+ 'bindings/v8/custom/V8CustomBinding.h',
+ 'bindings/v8/custom/V8CustomEventListener.cpp',
+ 'bindings/v8/custom/V8CustomEventListener.h',
+ 'bindings/v8/custom/V8CustomSQLStatementCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLStatementCallback.h',
+ 'bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLStatementErrorCallback.h',
+ 'bindings/v8/custom/V8CustomSQLTransactionCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLTransactionCallback.h',
+ 'bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp',
+ 'bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h',
+ 'bindings/v8/custom/V8CustomVoidCallback.cpp',
+ 'bindings/v8/custom/V8CustomVoidCallback.h',
+ 'bindings/v8/custom/V8CustomXPathNSResolver.cpp',
+ 'bindings/v8/custom/V8CustomXPathNSResolver.h',
+ 'bindings/v8/custom/V8DatabaseCustom.cpp',
+ 'bindings/v8/custom/V8DataGridColumnListCustom.cpp',
+ 'bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp',
+ 'bindings/v8/custom/V8DocumentLocationCustom.cpp',
+ 'bindings/v8/custom/V8DOMParserConstructor.cpp',
+ 'bindings/v8/custom/V8DOMWindowCustom.cpp',
+ 'bindings/v8/custom/V8DocumentCustom.cpp',
+ 'bindings/v8/custom/V8ElementCustom.cpp',
+ 'bindings/v8/custom/V8EventCustom.cpp',
+ 'bindings/v8/custom/V8HTMLAudioElementConstructor.cpp',
+ 'bindings/v8/custom/V8HTMLCanvasElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLCollectionCustom.cpp',
+ 'bindings/v8/custom/V8HTMLDataGridElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLDocumentCustom.cpp',
+ 'bindings/v8/custom/V8HTMLFormElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLFrameElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLIFrameElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLImageElementConstructor.cpp',
+ 'bindings/v8/custom/V8HTMLInputElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLOptionElementConstructor.cpp',
+ 'bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp',
+ 'bindings/v8/custom/V8HTMLPlugInElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp',
+ 'bindings/v8/custom/V8HTMLSelectElementCustom.cpp',
+ 'bindings/v8/custom/V8HTMLSelectElementCustom.h',
+ 'bindings/v8/custom/V8InspectorBackendCustom.cpp',
+ 'bindings/v8/custom/V8LocationCustom.cpp',
+ 'bindings/v8/custom/V8MessageChannelConstructor.cpp',
+ 'bindings/v8/custom/V8MessagePortCustom.cpp',
+ 'bindings/v8/custom/V8NamedNodeMapCustom.cpp',
+ 'bindings/v8/custom/V8NamedNodesCollection.cpp',
+ 'bindings/v8/custom/V8NamedNodesCollection.h',
+ 'bindings/v8/custom/V8NavigatorCustom.cpp',
+ 'bindings/v8/custom/V8NodeCustom.cpp',
+ 'bindings/v8/custom/V8NodeFilterCustom.cpp',
+ 'bindings/v8/custom/V8NodeIteratorCustom.cpp',
+ 'bindings/v8/custom/V8NodeListCustom.cpp',
+ 'bindings/v8/custom/V8StorageCustom.cpp',
+ 'bindings/v8/custom/V8SQLResultSetRowListCustom.cpp',
+ 'bindings/v8/custom/V8SQLTransactionCustom.cpp',
+ 'bindings/v8/custom/V8SVGElementInstanceCustom.cpp',
+ 'bindings/v8/custom/V8SVGLengthCustom.cpp',
+ 'bindings/v8/custom/V8SVGMatrixCustom.cpp',
+ 'bindings/v8/custom/V8SharedWorkerCustom.cpp',
+ 'bindings/v8/custom/V8StyleSheetListCustom.cpp',
+ 'bindings/v8/custom/V8TreeWalkerCustom.cpp',
+ 'bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp',
+ 'bindings/v8/custom/V8WebKitPointConstructor.cpp',
+ 'bindings/v8/custom/V8WorkerContextCustom.cpp',
+ 'bindings/v8/custom/V8WorkerCustom.cpp',
+ 'bindings/v8/custom/V8XMLHttpRequestConstructor.cpp',
+ 'bindings/v8/custom/V8XMLHttpRequestCustom.cpp',
+ 'bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp',
+ 'bindings/v8/custom/V8XMLSerializerConstructor.cpp',
+ 'bindings/v8/custom/V8XPathEvaluatorConstructor.cpp',
+ 'bindings/v8/custom/V8XSLTProcessorCustom.cpp',
+ 'bindings/v8/DOMData.cpp',
+ 'bindings/v8/DOMData.h',
+ 'bindings/v8/DOMDataStore.cpp',
+ 'bindings/v8/DOMDataStore.h',
+ 'bindings/v8/DOMObjectsInclude.h',
+ 'bindings/v8/MainThreadDOMData.cpp',
+ 'bindings/v8/MainThreadDOMData.h',
+ 'bindings/v8/NPV8Object.cpp',
+ 'bindings/v8/NPV8Object.h',
+ 'bindings/v8/ScheduledAction.cpp',
+ 'bindings/v8/ScheduledAction.h',
+ 'bindings/v8/ScopedDOMDataStore.cpp',
+ 'bindings/v8/ScopedDOMDataStore.h',
+ 'bindings/v8/ScriptArray.cpp',
+ 'bindings/v8/ScriptArray.h',
+ 'bindings/v8/ScriptCachedFrameData.h',
+ 'bindings/v8/ScriptCallFrame.cpp',
+ 'bindings/v8/ScriptCallFrame.h',
+ 'bindings/v8/ScriptCallStack.cpp',
+ 'bindings/v8/ScriptCallStack.h',
+ 'bindings/v8/ScriptController.cpp',
+ 'bindings/v8/ScriptController.h',
+ 'bindings/v8/ScriptEventListener.cpp',
+ 'bindings/v8/ScriptEventListener.h',
+ 'bindings/v8/ScriptFunctionCall.cpp',
+ 'bindings/v8/ScriptFunctionCall.h',
+ 'bindings/v8/ScriptInstance.cpp',
+ 'bindings/v8/ScriptInstance.h',
+ 'bindings/v8/ScriptObject.cpp',
+ 'bindings/v8/ScriptObject.h',
+ 'bindings/v8/ScriptObjectQuarantine.cpp',
+ 'bindings/v8/ScriptObjectQuarantine.h',
+ 'bindings/v8/ScriptScope.cpp',
+ 'bindings/v8/ScriptScope.h',
+ 'bindings/v8/ScriptSourceCode.h',
+ 'bindings/v8/ScriptState.h',
+ 'bindings/v8/ScriptState.cpp',
+ 'bindings/v8/ScriptString.h',
+ 'bindings/v8/ScriptValue.cpp',
+ 'bindings/v8/ScriptValue.h',
+ 'bindings/v8/StaticDOMDataStore.cpp',
+ 'bindings/v8/StaticDOMDataStore.h',
+ 'bindings/v8/V8AbstractEventListener.cpp',
+ 'bindings/v8/V8AbstractEventListener.h',
+ 'bindings/v8/V8Binding.cpp',
+ 'bindings/v8/V8Binding.h',
+ 'bindings/v8/V8Collection.cpp',
+ 'bindings/v8/V8Collection.h',
+ 'bindings/v8/V8ConsoleMessage.cpp',
+ 'bindings/v8/V8ConsoleMessage.h',
+ 'bindings/v8/V8DataGridDataSource.cpp',
+ 'bindings/v8/V8DataGridDataSource.h',
+ 'bindings/v8/V8DOMMap.cpp',
+ 'bindings/v8/V8DOMMap.h',
+ 'bindings/v8/V8DOMWrapper.cpp',
+ 'bindings/v8/V8DOMWrapper.h',
+ 'bindings/v8/V8EventListenerList.cpp',
+ 'bindings/v8/V8EventListenerList.h',
+ 'bindings/v8/V8GCController.cpp',
+ 'bindings/v8/V8GCController.h',
+ 'bindings/v8/V8Helpers.cpp',
+ 'bindings/v8/V8Helpers.h',
+ 'bindings/v8/V8HiddenPropertyName.cpp',
+ 'bindings/v8/V8HiddenPropertyName.h',
+ 'bindings/v8/V8Index.cpp',
+ 'bindings/v8/V8Index.h',
+ 'bindings/v8/V8IsolatedWorld.cpp',
+ 'bindings/v8/V8IsolatedWorld.h',
+ 'bindings/v8/V8LazyEventListener.cpp',
+ 'bindings/v8/V8LazyEventListener.h',
+ 'bindings/v8/V8NPObject.cpp',
+ 'bindings/v8/V8NPObject.h',
+ 'bindings/v8/V8NPUtils.cpp',
+ 'bindings/v8/V8NPUtils.h',
+ 'bindings/v8/V8NodeFilterCondition.cpp',
+ 'bindings/v8/V8NodeFilterCondition.h',
+ 'bindings/v8/V8ObjectEventListener.cpp',
+ 'bindings/v8/V8ObjectEventListener.h',
+ 'bindings/v8/V8Proxy.cpp',
+ 'bindings/v8/V8Proxy.h',
+ 'bindings/v8/V8SVGPODTypeWrapper.h',
+ 'bindings/v8/V8Utilities.cpp',
+ 'bindings/v8/V8Utilities.h',
+ 'bindings/v8/V8WorkerContextEventListener.cpp',
+ 'bindings/v8/V8WorkerContextEventListener.h',
+ 'bindings/v8/V8WorkerContextObjectEventListener.cpp',
+ 'bindings/v8/V8WorkerContextObjectEventListener.h',
+ 'bindings/v8/WorkerContextExecutionProxy.h',
+ 'bindings/v8/WorkerContextExecutionProxy.cpp',
+ 'bindings/v8/WorkerScriptController.h',
+ 'bindings/v8/WorkerScriptController.cpp',
+ 'bindings/v8/npruntime.cpp',
+ 'bindings/v8/npruntime_impl.h',
+ 'bindings/v8/npruntime_internal.h',
+ 'bindings/v8/npruntime_priv.h',
+ 'css/CSSBorderImageValue.cpp',
+ 'css/CSSBorderImageValue.h',
+ 'css/CSSCanvasValue.cpp',
+ 'css/CSSCanvasValue.h',
+ 'css/CSSCharsetRule.cpp',
+ 'css/CSSCharsetRule.h',
+ 'css/CSSComputedStyleDeclaration.cpp',
+ 'css/CSSComputedStyleDeclaration.h',
+ 'css/CSSCursorImageValue.cpp',
+ 'css/CSSCursorImageValue.h',
+ 'css/CSSFontFace.cpp',
+ 'css/CSSFontFace.h',
+ 'css/CSSFontFaceRule.cpp',
+ 'css/CSSFontFaceRule.h',
+ 'css/CSSFontFaceSource.cpp',
+ 'css/CSSFontFaceSource.h',
+ 'css/CSSFontFaceSrcValue.cpp',
+ 'css/CSSFontFaceSrcValue.h',
+ 'css/CSSFontSelector.cpp',
+ 'css/CSSFontSelector.h',
+ 'css/CSSFunctionValue.cpp',
+ 'css/CSSFunctionValue.h',
+ 'css/CSSGradientValue.cpp',
+ 'css/CSSGradientValue.h',
+ 'css/CSSHelper.cpp',
+ 'css/CSSHelper.h',
+ 'css/CSSImageGeneratorValue.cpp',
+ 'css/CSSImageGeneratorValue.h',
+ 'css/CSSImageValue.cpp',
+ 'css/CSSImageValue.h',
+ 'css/CSSImportRule.cpp',
+ 'css/CSSImportRule.h',
+ 'css/CSSInheritedValue.cpp',
+ 'css/CSSInheritedValue.h',
+ 'css/CSSInitialValue.cpp',
+ 'css/CSSInitialValue.h',
+ 'css/CSSMediaRule.cpp',
+ 'css/CSSMediaRule.h',
+ 'css/CSSMutableStyleDeclaration.cpp',
+ 'css/CSSMutableStyleDeclaration.h',
+ 'css/CSSNamespace.h',
+ 'css/CSSPageRule.cpp',
+ 'css/CSSPageRule.h',
+ 'css/CSSParser.cpp',
+ 'css/CSSParser.h',
+ 'css/CSSParserValues.cpp',
+ 'css/CSSParserValues.h',
+ 'css/CSSPrimitiveValue.cpp',
+ 'css/CSSPrimitiveValue.h',
+ 'css/CSSPrimitiveValueMappings.h',
+ 'css/CSSProperty.cpp',
+ 'css/CSSProperty.h',
+ 'css/CSSPropertyLonghand.cpp',
+ 'css/CSSPropertyLonghand.h',
+ 'css/CSSQuirkPrimitiveValue.h',
+ 'css/CSSReflectValue.cpp',
+ 'css/CSSReflectValue.h',
+ 'css/CSSReflectionDirection.h',
+ 'css/CSSRule.cpp',
+ 'css/CSSRule.h',
+ 'css/CSSRuleList.cpp',
+ 'css/CSSRuleList.h',
+ 'css/CSSSegmentedFontFace.cpp',
+ 'css/CSSSegmentedFontFace.h',
+ 'css/CSSSelector.cpp',
+ 'css/CSSSelector.h',
+ 'css/CSSSelectorList.cpp',
+ 'css/CSSSelectorList.h',
+ 'css/CSSStyleDeclaration.cpp',
+ 'css/CSSStyleDeclaration.h',
+ 'css/CSSStyleRule.cpp',
+ 'css/CSSStyleRule.h',
+ 'css/CSSStyleSelector.cpp',
+ 'css/CSSStyleSelector.h',
+ 'css/CSSStyleSheet.cpp',
+ 'css/CSSStyleSheet.h',
+ 'css/CSSTimingFunctionValue.cpp',
+ 'css/CSSTimingFunctionValue.h',
+ 'css/CSSUnicodeRangeValue.cpp',
+ 'css/CSSUnicodeRangeValue.h',
+ 'css/CSSUnknownRule.h',
+ 'css/CSSValue.h',
+ 'css/CSSValueList.cpp',
+ 'css/CSSValueList.h',
+ 'css/CSSVariableDependentValue.cpp',
+ 'css/CSSVariableDependentValue.h',
+ 'css/CSSVariablesDeclaration.cpp',
+ 'css/CSSVariablesDeclaration.h',
+ 'css/CSSVariablesRule.cpp',
+ 'css/CSSVariablesRule.h',
+ 'css/Counter.h',
+ 'css/DashboardRegion.h',
+ 'css/FontFamilyValue.cpp',
+ 'css/FontFamilyValue.h',
+ 'css/FontValue.cpp',
+ 'css/FontValue.h',
+ 'css/MediaFeatureNames.cpp',
+ 'css/MediaFeatureNames.h',
+ 'css/MediaList.cpp',
+ 'css/MediaList.h',
+ 'css/MediaQuery.cpp',
+ 'css/MediaQuery.h',
+ 'css/MediaQueryEvaluator.cpp',
+ 'css/MediaQueryEvaluator.h',
+ 'css/MediaQueryExp.cpp',
+ 'css/MediaQueryExp.h',
+ 'css/Pair.h',
+ 'css/Rect.h',
+ 'css/RGBColor.cpp',
+ 'css/RGBColor.h',
+ 'css/SVGCSSComputedStyleDeclaration.cpp',
+ 'css/SVGCSSParser.cpp',
+ 'css/SVGCSSStyleSelector.cpp',
+ 'css/ShadowValue.cpp',
+ 'css/ShadowValue.h',
+ 'css/StyleBase.cpp',
+ 'css/StyleBase.h',
+ 'css/StyleList.cpp',
+ 'css/StyleList.h',
+ 'css/StyleSheet.cpp',
+ 'css/StyleSheet.h',
+ 'css/StyleSheetList.cpp',
+ 'css/StyleSheetList.h',
+ 'css/WebKitCSSKeyframeRule.cpp',
+ 'css/WebKitCSSKeyframeRule.h',
+ 'css/WebKitCSSKeyframesRule.cpp',
+ 'css/WebKitCSSKeyframesRule.h',
+ 'css/WebKitCSSMatrix.cpp',
+ 'css/WebKitCSSMatrix.h',
+ 'css/WebKitCSSTransformValue.cpp',
+ 'css/WebKitCSSTransformValue.h',
+ 'dom/default/PlatformMessagePortChannel.cpp',
+ 'dom/default/PlatformMessagePortChannel.h',
+ 'dom/ActiveDOMObject.cpp',
+ 'dom/ActiveDOMObject.h',
+ 'dom/Attr.cpp',
+ 'dom/Attr.h',
+ 'dom/Attribute.cpp',
+ 'dom/Attribute.h',
+ 'dom/BeforeTextInsertedEvent.cpp',
+ 'dom/BeforeTextInsertedEvent.h',
+ 'dom/BeforeUnloadEvent.cpp',
+ 'dom/BeforeUnloadEvent.h',
+ 'dom/CDATASection.cpp',
+ 'dom/CDATASection.h',
+ 'dom/CSSMappedAttributeDeclaration.cpp',
+ 'dom/CSSMappedAttributeDeclaration.h',
+ 'dom/CharacterData.cpp',
+ 'dom/CharacterData.h',
+ 'dom/CheckedRadioButtons.cpp',
+ 'dom/CheckedRadioButtons.h',
+ 'dom/ChildNodeList.cpp',
+ 'dom/ChildNodeList.h',
+ 'dom/ClassNames.cpp',
+ 'dom/ClassNames.h',
+ 'dom/ClassNodeList.cpp',
+ 'dom/ClassNodeList.h',
+ 'dom/ClientRect.cpp',
+ 'dom/ClientRect.h',
+ 'dom/ClientRectList.cpp',
+ 'dom/ClientRectList.h',
+ 'dom/Clipboard.cpp',
+ 'dom/Clipboard.h',
+ 'dom/ClipboardAccessPolicy.h',
+ 'dom/ClipboardEvent.cpp',
+ 'dom/ClipboardEvent.h',
+ 'dom/Comment.cpp',
+ 'dom/Comment.h',
+ 'dom/ContainerNode.cpp',
+ 'dom/ContainerNode.h',
+ 'dom/ContainerNodeAlgorithms.h',
+ 'dom/DOMCoreException.h',
+ 'dom/DOMImplementation.cpp',
+ 'dom/DOMImplementation.h',
+ 'dom/DocPtr.h',
+ 'dom/Document.cpp',
+ 'dom/Document.h',
+ 'dom/DocumentFragment.cpp',
+ 'dom/DocumentFragment.h',
+ 'dom/DocumentMarker.h',
+ 'dom/DocumentType.cpp',
+ 'dom/DocumentType.h',
+ 'dom/DynamicNodeList.cpp',
+ 'dom/DynamicNodeList.h',
+ 'dom/EditingText.cpp',
+ 'dom/EditingText.h',
+ 'dom/Element.cpp',
+ 'dom/Element.h',
+ 'dom/ElementRareData.h',
+ 'dom/Entity.cpp',
+ 'dom/Entity.h',
+ 'dom/EntityReference.cpp',
+ 'dom/EntityReference.h',
+ 'dom/ErrorEvent.cpp',
+ 'dom/ErrorEvent.h',
+ 'dom/Event.cpp',
+ 'dom/Event.h',
+ 'dom/EventException.h',
+ 'dom/EventListener.h',
+ 'dom/EventNames.cpp',
+ 'dom/EventNames.h',
+ 'dom/EventTarget.cpp',
+ 'dom/EventTarget.h',
+ 'dom/ExceptionBase.cpp',
+ 'dom/ExceptionBase.h',
+ 'dom/ExceptionCode.cpp',
+ 'dom/ExceptionCode.h',
+ 'dom/InputElement.cpp',
+ 'dom/InputElement.h',
+ 'dom/KeyboardEvent.cpp',
+ 'dom/KeyboardEvent.h',
+ 'dom/MappedAttribute.cpp',
+ 'dom/MappedAttribute.h',
+ 'dom/MappedAttributeEntry.h',
+ 'dom/MessageChannel.cpp',
+ 'dom/MessageChannel.h',
+ 'dom/MessageEvent.cpp',
+ 'dom/MessageEvent.h',
+ 'dom/MessagePort.cpp',
+ 'dom/MessagePort.h',
+ 'dom/MessagePortChannel.cpp',
+ 'dom/MessagePortChannel.h',
+ 'dom/MouseEvent.cpp',
+ 'dom/MouseEvent.h',
+ 'dom/MouseRelatedEvent.cpp',
+ 'dom/MouseRelatedEvent.h',
+ 'dom/MutationEvent.cpp',
+ 'dom/MutationEvent.h',
+ 'dom/NameNodeList.cpp',
+ 'dom/NameNodeList.h',
+ 'dom/NamedAttrMap.cpp',
+ 'dom/NamedAttrMap.h',
+ 'dom/NamedMappedAttrMap.cpp',
+ 'dom/NamedMappedAttrMap.h',
+ 'dom/NamedNodeMap.h',
+ 'dom/Node.cpp',
+ 'dom/Node.h',
+ 'dom/NodeFilter.cpp',
+ 'dom/NodeFilter.h',
+ 'dom/NodeFilterCondition.cpp',
+ 'dom/NodeFilterCondition.h',
+ 'dom/NodeIterator.cpp',
+ 'dom/NodeIterator.h',
+ 'dom/NodeList.h',
+ 'dom/NodeRareData.h',
+ 'dom/NodeRenderStyle.h',
+ 'dom/NodeWithIndex.h',
+ 'dom/Notation.cpp',
+ 'dom/Notation.h',
+ 'dom/OptionElement.cpp',
+ 'dom/OptionElement.h',
+ 'dom/OptionGroupElement.cpp',
+ 'dom/OptionGroupElement.h',
+ 'dom/OverflowEvent.cpp',
+ 'dom/OverflowEvent.h',
+ 'dom/Position.cpp',
+ 'dom/Position.h',
+ 'dom/PositionIterator.cpp',
+ 'dom/PositionIterator.h',
+ 'dom/ProcessingInstruction.cpp',
+ 'dom/ProcessingInstruction.h',
+ 'dom/ProgressEvent.cpp',
+ 'dom/ProgressEvent.h',
+ 'dom/QualifiedName.cpp',
+ 'dom/QualifiedName.h',
+ 'dom/Range.cpp',
+ 'dom/Range.h',
+ 'dom/RangeBoundaryPoint.h',
+ 'dom/RangeException.h',
+ 'dom/RegisteredEventListener.cpp',
+ 'dom/RegisteredEventListener.h',
+ 'dom/ScriptElement.cpp',
+ 'dom/ScriptElement.h',
+ 'dom/ScriptExecutionContext.cpp',
+ 'dom/ScriptExecutionContext.h',
+ 'dom/SelectElement.cpp',
+ 'dom/SelectElement.h',
+ 'dom/SelectorNodeList.cpp',
+ 'dom/SelectorNodeList.h',
+ 'dom/StaticNodeList.cpp',
+ 'dom/StaticNodeList.h',
+ 'dom/StaticStringList.cpp',
+ 'dom/StaticStringList.h',
+ 'dom/StyleElement.cpp',
+ 'dom/StyleElement.h',
+ 'dom/StyledElement.cpp',
+ 'dom/StyledElement.h',
+ 'dom/TagNodeList.cpp',
+ 'dom/TagNodeList.h',
+ 'dom/Text.cpp',
+ 'dom/Text.h',
+ 'dom/TextEvent.cpp',
+ 'dom/TextEvent.h',
+ 'dom/Tokenizer.h',
+ 'dom/Traversal.cpp',
+ 'dom/Traversal.h',
+ 'dom/TreeWalker.cpp',
+ 'dom/TreeWalker.h',
+ 'dom/UIEvent.cpp',
+ 'dom/UIEvent.h',
+ 'dom/UIEventWithKeyState.cpp',
+ 'dom/UIEventWithKeyState.h',
+ 'dom/WebKitAnimationEvent.cpp',
+ 'dom/WebKitAnimationEvent.h',
+ 'dom/WebKitTransitionEvent.cpp',
+ 'dom/WebKitTransitionEvent.h',
+ 'dom/WheelEvent.cpp',
+ 'dom/WheelEvent.h',
+ 'dom/XMLTokenizer.cpp',
+ 'dom/XMLTokenizer.h',
+ 'dom/XMLTokenizerLibxml2.cpp',
+ 'dom/XMLTokenizerScope.cpp',
+ 'dom/XMLTokenizerScope.h',
+ 'dom/XMLTokenizerQt.cpp',
+ 'editing/android/EditorAndroid.cpp',
+ 'editing/chromium/EditorChromium.cpp',
+ 'editing/mac/EditorMac.mm',
+ 'editing/mac/SelectionControllerMac.mm',
+ 'editing/qt/EditorQt.cpp',
+ 'editing/wx/EditorWx.cpp',
+ 'editing/AppendNodeCommand.cpp',
+ 'editing/AppendNodeCommand.h',
+ 'editing/ApplyStyleCommand.cpp',
+ 'editing/ApplyStyleCommand.h',
+ 'editing/BreakBlockquoteCommand.cpp',
+ 'editing/BreakBlockquoteCommand.h',
+ 'editing/CompositeEditCommand.cpp',
+ 'editing/CompositeEditCommand.h',
+ 'editing/CreateLinkCommand.cpp',
+ 'editing/CreateLinkCommand.h',
+ 'editing/DeleteButton.cpp',
+ 'editing/DeleteButton.h',
+ 'editing/DeleteButtonController.cpp',
+ 'editing/DeleteButtonController.h',
+ 'editing/DeleteFromTextNodeCommand.cpp',
+ 'editing/DeleteFromTextNodeCommand.h',
+ 'editing/DeleteSelectionCommand.cpp',
+ 'editing/DeleteSelectionCommand.h',
+ 'editing/EditAction.h',
+ 'editing/EditCommand.cpp',
+ 'editing/EditCommand.h',
+ 'editing/Editor.cpp',
+ 'editing/Editor.h',
+ 'editing/EditorCommand.cpp',
+ 'editing/EditorDeleteAction.h',
+ 'editing/EditorInsertAction.h',
+ 'editing/FormatBlockCommand.cpp',
+ 'editing/FormatBlockCommand.h',
+ 'editing/HTMLInterchange.cpp',
+ 'editing/HTMLInterchange.h',
+ 'editing/IndentOutdentCommand.cpp',
+ 'editing/IndentOutdentCommand.h',
+ 'editing/InsertIntoTextNodeCommand.cpp',
+ 'editing/InsertIntoTextNodeCommand.h',
+ 'editing/InsertLineBreakCommand.cpp',
+ 'editing/InsertLineBreakCommand.h',
+ 'editing/InsertListCommand.cpp',
+ 'editing/InsertListCommand.h',
+ 'editing/InsertNodeBeforeCommand.cpp',
+ 'editing/InsertNodeBeforeCommand.h',
+ 'editing/InsertParagraphSeparatorCommand.cpp',
+ 'editing/InsertParagraphSeparatorCommand.h',
+ 'editing/InsertTextCommand.cpp',
+ 'editing/InsertTextCommand.h',
+ 'editing/JoinTextNodesCommand.cpp',
+ 'editing/JoinTextNodesCommand.h',
+ 'editing/MergeIdenticalElementsCommand.cpp',
+ 'editing/MergeIdenticalElementsCommand.h',
+ 'editing/ModifySelectionListLevel.cpp',
+ 'editing/ModifySelectionListLevel.h',
+ 'editing/MoveSelectionCommand.cpp',
+ 'editing/MoveSelectionCommand.h',
+ 'editing/RemoveCSSPropertyCommand.cpp',
+ 'editing/RemoveCSSPropertyCommand.h',
+ 'editing/RemoveFormatCommand.cpp',
+ 'editing/RemoveFormatCommand.h',
+ 'editing/RemoveNodeCommand.cpp',
+ 'editing/RemoveNodeCommand.h',
+ 'editing/RemoveNodePreservingChildrenCommand.cpp',
+ 'editing/RemoveNodePreservingChildrenCommand.h',
+ 'editing/ReplaceNodeWithSpanCommand.cpp',
+ 'editing/ReplaceNodeWithSpanCommand.h',
+ 'editing/ReplaceSelectionCommand.cpp',
+ 'editing/ReplaceSelectionCommand.h',
+ 'editing/SelectionController.cpp',
+ 'editing/SelectionController.h',
+ 'editing/SetNodeAttributeCommand.cpp',
+ 'editing/SetNodeAttributeCommand.h',
+ 'editing/SmartReplace.cpp',
+ 'editing/SmartReplace.h',
+ 'editing/SmartReplaceCF.cpp',
+ 'editing/SmartReplaceICU.cpp',
+ 'editing/SplitElementCommand.cpp',
+ 'editing/SplitElementCommand.h',
+ 'editing/SplitTextNodeCommand.cpp',
+ 'editing/SplitTextNodeCommand.h',
+ 'editing/SplitTextNodeContainingElementCommand.cpp',
+ 'editing/SplitTextNodeContainingElementCommand.h',
+ 'editing/TextAffinity.h',
+ 'editing/TextGranularity.h',
+ 'editing/TextIterator.cpp',
+ 'editing/TextIterator.h',
+ 'editing/TypingCommand.cpp',
+ 'editing/TypingCommand.h',
+ 'editing/UnlinkCommand.cpp',
+ 'editing/UnlinkCommand.h',
+ 'editing/VisiblePosition.cpp',
+ 'editing/VisiblePosition.h',
+ 'editing/VisibleSelection.cpp',
+ 'editing/VisibleSelection.h',
+ 'editing/WrapContentsInDummySpanCommand.cpp',
+ 'editing/WrapContentsInDummySpanCommand.h',
+ 'editing/htmlediting.cpp',
+ 'editing/htmlediting.h',
+ 'editing/markup.cpp',
+ 'editing/markup.h',
+ 'editing/visible_units.cpp',
+ 'editing/visible_units.h',
+ 'history/mac/HistoryItemMac.mm',
+ 'history/BackForwardList.cpp',
+ 'history/BackForwardList.h',
+ 'history/BackForwardListChromium.cpp',
+ 'history/CachedFrame.cpp',
+ 'history/CachedFrame.h',
+ 'history/CachedFramePlatformData.h',
+ 'history/CachedPage.cpp',
+ 'history/CachedPage.h',
+ 'history/HistoryItem.cpp',
+ 'history/HistoryItem.h',
+ 'history/PageCache.cpp',
+ 'history/PageCache.h',
+ 'html/CanvasGradient.cpp',
+ 'html/CanvasGradient.h',
+ 'html/CanvasPattern.cpp',
+ 'html/CanvasPattern.h',
+ 'html/CanvasPixelArray.cpp',
+ 'html/CanvasPixelArray.h',
+ 'html/CanvasRenderingContext2D.cpp',
+ 'html/CanvasRenderingContext2D.h',
+ 'html/CanvasStyle.cpp',
+ 'html/CanvasStyle.h',
+ 'html/CollectionCache.cpp',
+ 'html/CollectionCache.h',
+ 'html/CollectionType.h',
+ 'html/DataGridColumn.cpp',
+ 'html/DataGridColumn.h',
+ 'html/DOMDataGridDataSource.cpp',
+ 'html/DOMDataGridDataSource.h',
+ 'html/DataGridColumnList.cpp',
+ 'html/DataGridColumnList.h',
+ 'html/File.cpp',
+ 'html/File.h',
+ 'html/FileList.cpp',
+ 'html/FileList.h',
+ 'html/FormDataList.cpp',
+ 'html/FormDataList.h',
+ 'html/HTMLAnchorElement.cpp',
+ 'html/HTMLAnchorElement.h',
+ 'html/HTMLAppletElement.cpp',
+ 'html/HTMLAppletElement.h',
+ 'html/HTMLAreaElement.cpp',
+ 'html/HTMLAreaElement.h',
+ 'html/HTMLAudioElement.cpp',
+ 'html/HTMLAudioElement.h',
+ 'html/HTMLBRElement.cpp',
+ 'html/HTMLBRElement.h',
+ 'html/HTMLBaseElement.cpp',
+ 'html/HTMLBaseElement.h',
+ 'html/HTMLBaseFontElement.cpp',
+ 'html/HTMLBaseFontElement.h',
+ 'html/HTMLBlockquoteElement.cpp',
+ 'html/HTMLBlockquoteElement.h',
+ 'html/HTMLBodyElement.cpp',
+ 'html/HTMLBodyElement.h',
+ 'html/HTMLButtonElement.cpp',
+ 'html/HTMLButtonElement.h',
+ 'html/HTMLCanvasElement.cpp',
+ 'html/HTMLCanvasElement.h',
+ 'html/HTMLCollection.cpp',
+ 'html/HTMLCollection.h',
+ 'html/HTMLDListElement.cpp',
+ 'html/HTMLDListElement.h',
+ 'html/HTMLDataGridCellElement.cpp',
+ 'html/HTMLDataGridCellElement.h',
+ 'html/HTMLDataGridColElement.cpp',
+ 'html/HTMLDataGridColElement.h',
+ 'html/HTMLDataGridElement.cpp',
+ 'html/HTMLDataGridElement.h',
+ 'html/HTMLDataGridRowElement.cpp',
+ 'html/HTMLDataGridRowElement.h',
+ 'html/HTMLDirectoryElement.cpp',
+ 'html/HTMLDirectoryElement.h',
+ 'html/HTMLDivElement.cpp',
+ 'html/HTMLDivElement.h',
+ 'html/HTMLDocument.cpp',
+ 'html/HTMLDocument.h',
+ 'html/HTMLElement.cpp',
+ 'html/HTMLElement.h',
+ 'html/HTMLEmbedElement.cpp',
+ 'html/HTMLEmbedElement.h',
+ 'html/HTMLFieldSetElement.cpp',
+ 'html/HTMLFieldSetElement.h',
+ 'html/HTMLFontElement.cpp',
+ 'html/HTMLFontElement.h',
+ 'html/HTMLFormCollection.cpp',
+ 'html/HTMLFormCollection.h',
+ 'html/HTMLFormControlElement.cpp',
+ 'html/HTMLFormControlElement.h',
+ 'html/HTMLFormElement.cpp',
+ 'html/HTMLFormElement.h',
+ 'html/HTMLFrameElement.cpp',
+ 'html/HTMLFrameElement.h',
+ 'html/HTMLFrameElementBase.cpp',
+ 'html/HTMLFrameElementBase.h',
+ 'html/HTMLFrameOwnerElement.cpp',
+ 'html/HTMLFrameOwnerElement.h',
+ 'html/HTMLFrameSetElement.cpp',
+ 'html/HTMLFrameSetElement.h',
+ 'html/HTMLHRElement.cpp',
+ 'html/HTMLHRElement.h',
+ 'html/HTMLHeadElement.cpp',
+ 'html/HTMLHeadElement.h',
+ 'html/HTMLHeadingElement.cpp',
+ 'html/HTMLHeadingElement.h',
+ 'html/HTMLHtmlElement.cpp',
+ 'html/HTMLHtmlElement.h',
+ 'html/HTMLIFrameElement.cpp',
+ 'html/HTMLIFrameElement.h',
+ 'html/HTMLImageElement.cpp',
+ 'html/HTMLImageElement.h',
+ 'html/HTMLImageLoader.cpp',
+ 'html/HTMLImageLoader.h',
+ 'html/HTMLInputElement.cpp',
+ 'html/HTMLInputElement.h',
+ 'html/HTMLIsIndexElement.cpp',
+ 'html/HTMLIsIndexElement.h',
+ 'html/HTMLKeygenElement.cpp',
+ 'html/HTMLKeygenElement.h',
+ 'html/HTMLLIElement.cpp',
+ 'html/HTMLLIElement.h',
+ 'html/HTMLLabelElement.cpp',
+ 'html/HTMLLabelElement.h',
+ 'html/HTMLLegendElement.cpp',
+ 'html/HTMLLegendElement.h',
+ 'html/HTMLLinkElement.cpp',
+ 'html/HTMLLinkElement.h',
+ 'html/HTMLMapElement.cpp',
+ 'html/HTMLMapElement.h',
+ 'html/HTMLMarqueeElement.cpp',
+ 'html/HTMLMarqueeElement.h',
+ 'html/HTMLMediaElement.cpp',
+ 'html/HTMLMediaElement.h',
+ 'html/HTMLMenuElement.cpp',
+ 'html/HTMLMenuElement.h',
+ 'html/HTMLMetaElement.cpp',
+ 'html/HTMLMetaElement.h',
+ 'html/HTMLModElement.cpp',
+ 'html/HTMLModElement.h',
+ 'html/HTMLNameCollection.cpp',
+ 'html/HTMLNameCollection.h',
+ 'html/HTMLOListElement.cpp',
+ 'html/HTMLOListElement.h',
+ 'html/HTMLObjectElement.cpp',
+ 'html/HTMLObjectElement.h',
+ 'html/HTMLOptGroupElement.cpp',
+ 'html/HTMLOptGroupElement.h',
+ 'html/HTMLOptionElement.cpp',
+ 'html/HTMLOptionElement.h',
+ 'html/HTMLOptionsCollection.cpp',
+ 'html/HTMLOptionsCollection.h',
+ 'html/HTMLParagraphElement.cpp',
+ 'html/HTMLParagraphElement.h',
+ 'html/HTMLParamElement.cpp',
+ 'html/HTMLParamElement.h',
+ 'html/HTMLParser.cpp',
+ 'html/HTMLParser.h',
+ 'html/HTMLParserErrorCodes.cpp',
+ 'html/HTMLParserErrorCodes.h',
+ 'html/HTMLPlugInElement.cpp',
+ 'html/HTMLPlugInElement.h',
+ 'html/HTMLPlugInImageElement.cpp',
+ 'html/HTMLPlugInImageElement.h',
+ 'html/HTMLPreElement.cpp',
+ 'html/HTMLPreElement.h',
+ 'html/HTMLQuoteElement.cpp',
+ 'html/HTMLQuoteElement.h',
+ 'html/HTMLScriptElement.cpp',
+ 'html/HTMLScriptElement.h',
+ 'html/HTMLSelectElement.cpp',
+ 'html/HTMLSelectElement.h',
+ 'html/HTMLSourceElement.cpp',
+ 'html/HTMLSourceElement.h',
+ 'html/HTMLStyleElement.cpp',
+ 'html/HTMLStyleElement.h',
+ 'html/HTMLTableCaptionElement.cpp',
+ 'html/HTMLTableCaptionElement.h',
+ 'html/HTMLTableCellElement.cpp',
+ 'html/HTMLTableCellElement.h',
+ 'html/HTMLTableColElement.cpp',
+ 'html/HTMLTableColElement.h',
+ 'html/HTMLTableElement.cpp',
+ 'html/HTMLTableElement.h',
+ 'html/HTMLTablePartElement.cpp',
+ 'html/HTMLTablePartElement.h',
+ 'html/HTMLTableRowElement.cpp',
+ 'html/HTMLTableRowElement.h',
+ 'html/HTMLTableRowsCollection.cpp',
+ 'html/HTMLTableRowsCollection.h',
+ 'html/HTMLTableSectionElement.cpp',
+ 'html/HTMLTableSectionElement.h',
+ 'html/HTMLTextAreaElement.cpp',
+ 'html/HTMLTextAreaElement.h',
+ 'html/HTMLTitleElement.cpp',
+ 'html/HTMLTitleElement.h',
+ 'html/HTMLTokenizer.cpp',
+ 'html/HTMLTokenizer.h',
+ 'html/HTMLUListElement.cpp',
+ 'html/HTMLUListElement.h',
+ 'html/HTMLVideoElement.cpp',
+ 'html/HTMLVideoElement.h',
+ 'html/HTMLViewSourceDocument.cpp',
+ 'html/HTMLViewSourceDocument.h',
+ 'html/ImageData.cpp',
+ 'html/ImageData.h',
+ 'html/MediaError.h',
+ 'html/PreloadScanner.cpp',
+ 'html/PreloadScanner.h',
+ 'html/TextMetrics.h',
+ 'html/TimeRanges.cpp',
+ 'html/TimeRanges.h',
+ 'html/ValidityState.cpp',
+ 'html/ValidityState.h',
+ 'html/VoidCallback.h',
+ 'inspector/InspectorClient.h',
+ 'inspector/ConsoleMessage.cpp',
+ 'inspector/ConsoleMessage.h',
+ 'inspector/InspectorBackend.cpp',
+ 'inspector/InspectorBackend.h',
+ 'inspector/InspectorController.cpp',
+ 'inspector/InspectorController.h',
+ 'inspector/InspectorDatabaseResource.cpp',
+ 'inspector/InspectorDatabaseResource.h',
+ 'inspector/InspectorDOMStorageResource.cpp',
+ 'inspector/InspectorDOMStorageResource.h',
+ 'inspector/InspectorFrontend.cpp',
+ 'inspector/InspectorFrontend.h',
+ 'inspector/InspectorJSONObject.cpp',
+ 'inspector/InspectorJSONObject.h',
+ 'inspector/InspectorResource.cpp',
+ 'inspector/InspectorResource.h',
+ 'inspector/JavaScriptCallFrame.cpp',
+ 'inspector/JavaScriptCallFrame.h',
+ 'inspector/JavaScriptDebugListener.h',
+ 'inspector/JavaScriptDebugServer.cpp',
+ 'inspector/JavaScriptDebugServer.h',
+ 'inspector/JavaScriptProfile.cpp',
+ 'inspector/JavaScriptProfile.h',
+ 'inspector/JavaScriptProfileNode.cpp',
+ 'inspector/JavaScriptProfileNode.h',
+ 'loader/appcache/ApplicationCache.cpp',
+ 'loader/appcache/ApplicationCache.h',
+ 'loader/appcache/ApplicationCacheGroup.cpp',
+ 'loader/appcache/ApplicationCacheGroup.h',
+ 'loader/appcache/ApplicationCacheResource.cpp',
+ 'loader/appcache/ApplicationCacheResource.h',
+ 'loader/appcache/ApplicationCacheStorage.cpp',
+ 'loader/appcache/ApplicationCacheStorage.h',
+ 'loader/appcache/DOMApplicationCache.cpp',
+ 'loader/appcache/DOMApplicationCache.h',
+ 'loader/appcache/ManifestParser.cpp',
+ 'loader/appcache/ManifestParser.h',
+ 'loader/archive/cf/LegacyWebArchive.cpp',
+ 'loader/archive/cf/LegacyWebArchive.h',
+ 'loader/archive/cf/LegacyWebArchiveMac.mm',
+ 'loader/archive/Archive.h',
+ 'loader/archive/ArchiveFactory.cpp',
+ 'loader/archive/ArchiveFactory.h',
+ 'loader/archive/ArchiveResource.cpp',
+ 'loader/archive/ArchiveResource.h',
+ 'loader/archive/ArchiveResourceCollection.cpp',
+ 'loader/archive/ArchiveResourceCollection.h',
+ 'loader/icon/IconDatabase.cpp',
+ 'loader/icon/IconDatabase.h',
+ 'loader/icon/IconDatabaseClient.h',
+ 'loader/icon/IconDatabaseNone.cpp',
+ 'loader/icon/IconFetcher.cpp',
+ 'loader/icon/IconFetcher.h',
+ 'loader/icon/IconLoader.cpp',
+ 'loader/icon/IconLoader.h',
+ 'loader/icon/IconRecord.cpp',
+ 'loader/icon/IconRecord.h',
+ 'loader/icon/PageURLRecord.cpp',
+ 'loader/icon/PageURLRecord.h',
+ 'loader/mac/DocumentLoaderMac.cpp',
+ 'loader/mac/LoaderNSURLExtras.h',
+ 'loader/mac/LoaderNSURLExtras.mm',
+ 'loader/mac/ResourceLoaderMac.mm',
+ 'loader/win/DocumentLoaderWin.cpp',
+ 'loader/win/FrameLoaderWin.cpp',
+ 'loader/Cache.cpp',
+ 'loader/Cache.h',
+ 'loader/CachePolicy.h',
+ 'loader/CachedCSSStyleSheet.cpp',
+ 'loader/CachedCSSStyleSheet.h',
+ 'loader/CachedFont.cpp',
+ 'loader/CachedFont.h',
+ 'loader/CachedImage.cpp',
+ 'loader/CachedImage.h',
+ 'loader/CachedResource.cpp',
+ 'loader/CachedResource.h',
+ 'loader/CachedResourceClient.h',
+ 'loader/CachedResourceClientWalker.cpp',
+ 'loader/CachedResourceClientWalker.h',
+ 'loader/CachedResourceHandle.cpp',
+ 'loader/CachedResourceHandle.h',
+ 'loader/CachedScript.cpp',
+ 'loader/CachedScript.h',
+ 'loader/CachedXBLDocument.cpp',
+ 'loader/CachedXBLDocument.h',
+ 'loader/CachedXSLStyleSheet.cpp',
+ 'loader/CachedXSLStyleSheet.h',
+ 'loader/CrossOriginAccessControl.cpp',
+ 'loader/CrossOriginAccessControl.h',
+ 'loader/CrossOriginPreflightResultCache.cpp',
+ 'loader/CrossOriginPreflightResultCache.h',
+ 'loader/DocLoader.cpp',
+ 'loader/DocLoader.h',
+ 'loader/DocumentLoader.cpp',
+ 'loader/DocumentLoader.h',
+ 'loader/DocumentThreadableLoader.cpp',
+ 'loader/DocumentThreadableLoader.h',
+ 'loader/EmptyClients.h',
+ 'loader/FTPDirectoryDocument.cpp',
+ 'loader/FTPDirectoryDocument.h',
+ 'loader/FTPDirectoryParser.cpp',
+ 'loader/FTPDirectoryParser.h',
+ 'loader/FormState.cpp',
+ 'loader/FormState.h',
+ 'loader/FrameLoader.cpp',
+ 'loader/FrameLoader.h',
+ 'loader/FrameLoaderClient.h',
+ 'loader/FrameLoaderTypes.h',
+ 'loader/ImageDocument.cpp',
+ 'loader/ImageDocument.h',
+ 'loader/ImageLoader.cpp',
+ 'loader/ImageLoader.h',
+ 'loader/MainResourceLoader.cpp',
+ 'loader/MainResourceLoader.h',
+ 'loader/MediaDocument.cpp',
+ 'loader/MediaDocument.h',
+ 'loader/NavigationAction.cpp',
+ 'loader/NavigationAction.h',
+ 'loader/NetscapePlugInStreamLoader.cpp',
+ 'loader/NetscapePlugInStreamLoader.h',
+ 'loader/PlaceholderDocument.cpp',
+ 'loader/PlaceholderDocument.h',
+ 'loader/PluginDocument.cpp',
+ 'loader/PluginDocument.h',
+ 'loader/ProgressTracker.cpp',
+ 'loader/ProgressTracker.h',
+ 'loader/Request.cpp',
+ 'loader/Request.h',
+ 'loader/ResourceLoader.cpp',
+ 'loader/ResourceLoader.h',
+ 'loader/SubresourceLoader.cpp',
+ 'loader/SubresourceLoader.h',
+ 'loader/SubresourceLoaderClient.h',
+ 'loader/SubstituteData.h',
+ 'loader/SubstituteResource.h',
+ 'loader/TextDocument.cpp',
+ 'loader/TextDocument.h',
+ 'loader/TextResourceDecoder.cpp',
+ 'loader/TextResourceDecoder.h',
+ 'loader/ThreadableLoader.cpp',
+ 'loader/ThreadableLoader.h',
+ 'loader/ThreadableLoaderClient.h',
+ 'loader/ThreadableLoaderClientWrapper.h',
+ 'loader/UserStyleSheetLoader.cpp',
+ 'loader/UserStyleSheetLoader.h',
+ 'loader/WorkerThreadableLoader.cpp',
+ 'loader/WorkerThreadableLoader.h',
+ 'loader/loader.cpp',
+ 'loader/loader.h',
+ 'page/animation/AnimationBase.cpp',
+ 'page/animation/AnimationBase.h',
+ 'page/animation/AnimationController.cpp',
+ 'page/animation/AnimationController.h',
+ 'page/animation/AnimationControllerPrivate.h',
+ 'page/animation/CompositeAnimation.cpp',
+ 'page/animation/CompositeAnimation.h',
+ 'page/animation/ImplicitAnimation.cpp',
+ 'page/animation/ImplicitAnimation.h',
+ 'page/animation/KeyframeAnimation.cpp',
+ 'page/animation/KeyframeAnimation.h',
+ 'page/chromium/ChromeClientChromium.h',
+ 'page/chromium/DragControllerChromium.cpp',
+ 'page/chromium/EventHandlerChromium.cpp',
+ 'page/chromium/FrameChromium.cpp',
+ 'page/chromium/FrameChromium.h',
+ 'page/gtk/DragControllerGtk.cpp',
+ 'page/gtk/EventHandlerGtk.cpp',
+ 'page/gtk/FrameGtk.cpp',
+ 'page/mac/ChromeMac.mm',
+ 'page/mac/DragControllerMac.mm',
+ 'page/mac/EventHandlerMac.mm',
+ 'page/mac/FrameMac.mm',
+ 'page/mac/PageMac.cpp',
+ 'page/mac/WebCoreFrameView.h',
+ 'page/mac/WebCoreKeyboardUIMode.h',
+ 'page/mac/WebCoreViewFactory.h',
+ 'page/mac/WebCoreViewFactory.m',
+ 'page/mac/WebDashboardRegion.h',
+ 'page/mac/WebDashboardRegion.m',
+ 'page/qt/DragControllerQt.cpp',
+ 'page/qt/EventHandlerQt.cpp',
+ 'page/qt/FrameQt.cpp',
+ 'page/win/DragControllerWin.cpp',
+ 'page/win/EventHandlerWin.cpp',
+ 'page/win/FrameCGWin.cpp',
+ 'page/win/FrameCairoWin.cpp',
+ 'page/win/FrameWin.cpp',
+ 'page/win/FrameWin.h',
+ 'page/win/PageWin.cpp',
+ 'page/wx/DragControllerWx.cpp',
+ 'page/wx/EventHandlerWx.cpp',
+ 'page/BarInfo.cpp',
+ 'page/BarInfo.h',
+ 'page/Chrome.cpp',
+ 'page/Chrome.h',
+ 'page/ChromeClient.h',
+ 'page/Console.cpp',
+ 'page/Console.h',
+ 'page/ContextMenuClient.h',
+ 'page/ContextMenuController.cpp',
+ 'page/ContextMenuController.h',
+ 'page/Coordinates.cpp',
+ 'page/DOMSelection.cpp',
+ 'page/DOMSelection.h',
+ 'page/DOMTimer.cpp',
+ 'page/DOMTimer.h',
+ 'page/DOMWindow.cpp',
+ 'page/DOMWindow.h',
+ 'page/DragActions.h',
+ 'page/DragClient.h',
+ 'page/DragController.cpp',
+ 'page/DragController.h',
+ 'page/EditorClient.h',
+ 'page/EventHandler.cpp',
+ 'page/EventHandler.h',
+ 'page/FocusController.cpp',
+ 'page/FocusController.h',
+ 'page/FocusDirection.h',
+ 'page/Frame.cpp',
+ 'page/Frame.h',
+ 'page/FrameLoadRequest.h',
+ 'page/FrameTree.cpp',
+ 'page/FrameTree.h',
+ 'page/FrameView.cpp',
+ 'page/FrameView.h',
+ 'page/Geolocation.cpp',
+ 'page/Geolocation.h',
+ 'page/Geoposition.cpp',
+ 'page/Geoposition.h',
+ 'page/History.cpp',
+ 'page/History.h',
+ 'page/Location.cpp',
+ 'page/Location.h',
+ 'page/MouseEventWithHitTestResults.cpp',
+ 'page/MouseEventWithHitTestResults.h',
+ 'page/Navigator.cpp',
+ 'page/Navigator.h',
+ 'page/NavigatorBase.cpp',
+ 'page/NavigatorBase.h',
+ 'page/Page.cpp',
+ 'page/Page.h',
+ 'page/PageGroup.cpp',
+ 'page/PageGroup.h',
+ 'page/PageGroupLoadDeferrer.cpp',
+ 'page/PageGroupLoadDeferrer.h',
+ 'page/PositionCallback.h',
+ 'page/PositionError.h',
+ 'page/PositionErrorCallback.h',
+ 'page/PositionOptions.h',
+ 'page/PrintContext.cpp',
+ 'page/PrintContext.h',
+ 'page/Screen.cpp',
+ 'page/Screen.h',
+ 'page/SecurityOrigin.cpp',
+ 'page/SecurityOrigin.h',
+ 'page/SecurityOriginHash.h',
+ 'page/Settings.cpp',
+ 'page/Settings.h',
+ 'page/WebKitPoint.h',
+ 'page/WindowFeatures.cpp',
+ 'page/WindowFeatures.h',
+ 'page/WorkerNavigator.cpp',
+ 'page/WorkerNavigator.h',
+ 'page/XSSAuditor.cpp',
+ 'page/XSSAuditor.h',
+ 'platform/animation/Animation.cpp',
+ 'platform/animation/Animation.h',
+ 'platform/animation/AnimationList.cpp',
+ 'platform/animation/AnimationList.h',
+ 'platform/animation/TimingFunction.h',
+ 'platform/cf/FileSystemCF.cpp',
+ 'platform/cf/KURLCFNet.cpp',
+ 'platform/cf/SchedulePair.cpp',
+ 'platform/cf/SchedulePair.h',
+ 'platform/cf/SharedBufferCF.cpp',
+ 'platform/chromium/ChromiumBridge.h',
+ 'platform/chromium/ChromiumDataObject.cpp',
+ 'platform/chromium/ChromiumDataObject.h',
+ 'platform/chromium/ClipboardChromium.cpp',
+ 'platform/chromium/ClipboardChromium.h',
+ 'platform/chromium/ClipboardChromiumLinux.cpp',
+ 'platform/chromium/ClipboardChromiumMac.cpp',
+ 'platform/chromium/ClipboardChromiumWin.cpp',
+ 'platform/chromium/ClipboardUtilitiesChromium.cpp',
+ 'platform/chromium/ClipboardUtilitiesChromium.h',
+ 'platform/chromium/ContextMenuChromium.cpp',
+ 'platform/chromium/ContextMenuItemChromium.cpp',
+ 'platform/chromium/CursorChromium.cpp',
+ 'platform/chromium/DragDataChromium.cpp',
+ 'platform/chromium/DragDataRef.h',
+ 'platform/chromium/DragImageChromium.cpp',
+ 'platform/chromium/DragImageRef.h',
+ 'platform/chromium/FileChooserChromium.cpp',
+ 'platform/chromium/FileSystemChromium.cpp',
+ 'platform/chromium/FileSystemChromiumLinux.cpp',
+ 'platform/chromium/FileSystemChromiumMac.mm',
+ 'platform/chromium/FileSystemChromiumWin.cpp',
+ 'platform/chromium/FramelessScrollView.cpp',
+ 'platform/chromium/FramelessScrollView.h',
+ 'platform/chromium/FramelessScrollViewClient.h',
+ 'platform/chromium/KeyCodeConversion.h',
+ 'platform/chromium/KeyCodeConversionGtk.cpp',
+ 'platform/chromium/KeyboardCodesPosix.h',
+ 'platform/chromium/KeyboardCodesWin.h',
+ 'platform/chromium/Language.cpp',
+ 'platform/chromium/LinkHashChromium.cpp',
+ 'platform/chromium/MimeTypeRegistryChromium.cpp',
+ 'platform/chromium/PasteboardChromium.cpp',
+ 'platform/chromium/PasteboardPrivate.h',
+ 'platform/chromium/PlatformCursor.h',
+ 'platform/chromium/PlatformKeyboardEventChromium.cpp',
+ 'platform/chromium/PlatformScreenChromium.cpp',
+ 'platform/chromium/PlatformWidget.h',
+ 'platform/chromium/PopupMenuChromium.cpp',
+ 'platform/chromium/PopupMenuChromium.h',
+ 'platform/chromium/PopupMenuPrivate.h',
+ 'platform/chromium/SSLKeyGeneratorChromium.cpp',
+ 'platform/chromium/ScrollbarThemeChromium.cpp',
+ 'platform/chromium/ScrollbarThemeChromium.h',
+ 'platform/chromium/ScrollbarThemeChromiumLinux.cpp',
+ 'platform/chromium/ScrollbarThemeChromiumWin.cpp',
+ 'platform/chromium/SearchPopupMenuChromium.cpp',
+ 'platform/chromium/SharedTimerChromium.cpp',
+ 'platform/chromium/SoundChromiumPosix.cpp',
+ 'platform/chromium/SoundChromiumWin.cpp',
+ 'platform/chromium/SuddenTerminationChromium.cpp',
+ 'platform/chromium/SystemTimeChromium.cpp',
+ 'platform/chromium/TemporaryLinkStubs.cpp',
+ 'platform/chromium/WidgetChromium.cpp',
+ 'platform/chromium/WindowsVersion.cpp',
+ 'platform/chromium/WindowsVersion.h',
+ 'platform/graphics/cairo/CairoPath.h',
+ 'platform/graphics/cairo/FontCairo.cpp',
+ 'platform/graphics/cairo/GradientCairo.cpp',
+ 'platform/graphics/cairo/GraphicsContextCairo.cpp',
+ 'platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h',
+ 'platform/graphics/cairo/ImageBufferCairo.cpp',
+ 'platform/graphics/cairo/ImageBufferData.h',
+ 'platform/graphics/cairo/ImageCairo.cpp',
+ 'platform/graphics/cairo/ImageSourceCairo.cpp',
+ 'platform/graphics/cairo/PathCairo.cpp',
+ 'platform/graphics/cairo/PatternCairo.cpp',
+ 'platform/graphics/cairo/TransformationMatrixCairo.cpp',
+ 'platform/graphics/cg/ColorCG.cpp',
+ 'platform/graphics/cg/FloatPointCG.cpp',
+ 'platform/graphics/cg/FloatRectCG.cpp',
+ 'platform/graphics/cg/FloatSizeCG.cpp',
+ 'platform/graphics/cg/GradientCG.cpp',
+ 'platform/graphics/cg/GraphicsContextCG.cpp',
+ 'platform/graphics/cg/GraphicsContextPlatformPrivateCG.h',
+ 'platform/graphics/cg/ImageBufferCG.cpp',
+ 'platform/graphics/cg/ImageBufferData.h',
+ 'platform/graphics/cg/ImageCG.cpp',
+ 'platform/graphics/cg/ImageSourceCG.cpp',
+ 'platform/graphics/cg/ImageSourceCG.h',
+ 'platform/graphics/cg/ImageSourceCGMac.mm',
+ 'platform/graphics/cg/ImageSourceCGWin.cpp',
+ 'platform/graphics/cg/IntPointCG.cpp',
+ 'platform/graphics/cg/IntRectCG.cpp',
+ 'platform/graphics/cg/IntSizeCG.cpp',
+ 'platform/graphics/cg/PDFDocumentImage.cpp',
+ 'platform/graphics/cg/PDFDocumentImage.h',
+ 'platform/graphics/cg/PathCG.cpp',
+ 'platform/graphics/cg/PatternCG.cpp',
+ 'platform/graphics/cg/TransformationMatrixCG.cpp',
+ 'platform/graphics/chromium/FontCacheChromiumWin.cpp',
+ 'platform/graphics/chromium/FontCacheLinux.cpp',
+ 'platform/graphics/chromium/FontChromiumWin.cpp',
+ 'platform/graphics/chromium/FontCustomPlatformData.cpp',
+ 'platform/graphics/chromium/FontCustomPlatformData.h',
+ 'platform/graphics/chromium/FontLinux.cpp',
+ 'platform/graphics/chromium/FontPlatformData.h',
+ 'platform/graphics/chromium/FontPlatformDataChromiumWin.cpp',
+ 'platform/graphics/chromium/FontPlatformDataChromiumWin.h',
+ 'platform/graphics/chromium/FontPlatformDataLinux.cpp',
+ 'platform/graphics/chromium/FontPlatformDataLinux.h',
+ 'platform/graphics/chromium/FontUtilsChromiumWin.cpp',
+ 'platform/graphics/chromium/FontUtilsChromiumWin.h',
+ 'platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp',
+ 'platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp',
+ 'platform/graphics/chromium/IconChromiumLinux.cpp',
+ 'platform/graphics/chromium/IconChromiumMac.cpp',
+ 'platform/graphics/chromium/IconChromiumWin.cpp',
+ 'platform/graphics/chromium/ImageBufferData.h',
+ 'platform/graphics/chromium/ImageChromiumMac.mm',
+ 'platform/graphics/chromium/MediaPlayerPrivateChromium.h',
+ 'platform/graphics/chromium/PlatformIcon.h',
+ 'platform/graphics/chromium/SimpleFontDataChromiumWin.cpp',
+ 'platform/graphics/chromium/SimpleFontDataLinux.cpp',
+ 'platform/graphics/chromium/TransparencyWin.cpp',
+ 'platform/graphics/chromium/TransparencyWin.h',
+ 'platform/graphics/chromium/UniscribeHelper.cpp',
+ 'platform/graphics/chromium/UniscribeHelper.h',
+ 'platform/graphics/chromium/UniscribeHelperTextRun.cpp',
+ 'platform/graphics/chromium/UniscribeHelperTextRun.h',
+ 'platform/graphics/filters/FEBlend.cpp',
+ 'platform/graphics/filters/FEBlend.h',
+ 'platform/graphics/filters/FEColorMatrix.cpp',
+ 'platform/graphics/filters/FEColorMatrix.h',
+ 'platform/graphics/filters/FEComponentTransfer.cpp',
+ 'platform/graphics/filters/FEComponentTransfer.h',
+ 'platform/graphics/filters/FEComposite.cpp',
+ 'platform/graphics/filters/FEComposite.h',
+ 'platform/graphics/filters/SourceAlpha.cpp',
+ 'platform/graphics/filters/SourceAlpha.h',
+ 'platform/graphics/filters/SourceGraphic.cpp',
+ 'platform/graphics/filters/SourceGraphic.h',
+ 'platform/graphics/gtk/ColorGtk.cpp',
+ 'platform/graphics/gtk/FontCacheGtk.cpp',
+ 'platform/graphics/gtk/FontCustomPlatformData.cpp',
+ 'platform/graphics/gtk/FontCustomPlatformData.h',
+ 'platform/graphics/gtk/FontCustomPlatformDataPango.cpp',
+ 'platform/graphics/gtk/FontGtk.cpp',
+ 'platform/graphics/gtk/FontPlatformData.h',
+ 'platform/graphics/gtk/FontPlatformDataGtk.cpp',
+ 'platform/graphics/gtk/FontPlatformDataPango.cpp',
+ 'platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp',
+ 'platform/graphics/gtk/GlyphPageTreeNodePango.cpp',
+ 'platform/graphics/gtk/IconGtk.cpp',
+ 'platform/graphics/gtk/ImageGtk.cpp',
+ 'platform/graphics/gtk/IntPointGtk.cpp',
+ 'platform/graphics/gtk/IntRectGtk.cpp',
+ 'platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp',
+ 'platform/graphics/gtk/MediaPlayerPrivateGStreamer.h',
+ 'platform/graphics/gtk/SimpleFontDataGtk.cpp',
+ 'platform/graphics/gtk/SimpleFontDataPango.cpp',
+ 'platform/graphics/gtk/VideoSinkGStreamer.cpp',
+ 'platform/graphics/gtk/VideoSinkGStreamer.h',
+ 'platform/graphics/mac/ColorMac.h',
+ 'platform/graphics/mac/ColorMac.mm',
+ 'platform/graphics/mac/CoreTextController.cpp',
+ 'platform/graphics/mac/CoreTextController.h',
+ 'platform/graphics/mac/FloatPointMac.mm',
+ 'platform/graphics/mac/FloatRectMac.mm',
+ 'platform/graphics/mac/FloatSizeMac.mm',
+ 'platform/graphics/mac/FontCacheMac.mm',
+ 'platform/graphics/mac/FontCustomPlatformData.cpp',
+ 'platform/graphics/mac/FontCustomPlatformData.h',
+ 'platform/graphics/mac/FontMac.mm',
+ 'platform/graphics/mac/FontMacATSUI.mm',
+ 'platform/graphics/mac/FontMacCoreText.cpp',
+ 'platform/graphics/mac/FontPlatformData.h',
+ 'platform/graphics/mac/FontPlatformDataMac.mm',
+ 'platform/graphics/mac/GlyphPageTreeNodeMac.cpp',
+ 'platform/graphics/mac/GraphicsContextMac.mm',
+ 'platform/graphics/mac/GraphicsLayerCA.h',
+ 'platform/graphics/mac/GraphicsLayerCA.mm',
+ 'platform/graphics/mac/IconMac.mm',
+ 'platform/graphics/mac/ImageMac.mm',
+ 'platform/graphics/mac/IntPointMac.mm',
+ 'platform/graphics/mac/IntRectMac.mm',
+ 'platform/graphics/mac/IntSizeMac.mm',
+ 'platform/graphics/mac/MediaPlayerPrivateQTKit.h',
+ 'platform/graphics/mac/MediaPlayerPrivateQTKit.mm',
+ 'platform/graphics/mac/MediaPlayerProxy.h',
+ 'platform/graphics/mac/SimpleFontDataMac.mm',
+ 'platform/graphics/mac/WebLayer.h',
+ 'platform/graphics/mac/WebLayer.mm',
+ 'platform/graphics/mac/WebTiledLayer.h',
+ 'platform/graphics/mac/WebTiledLayer.mm',
+ 'platform/graphics/MediaPlayer.cpp',
+ 'platform/graphics/opentype/OpenTypeUtilities.cpp',
+ 'platform/graphics/opentype/OpenTypeUtilities.h',
+ 'platform/graphics/qt/ColorQt.cpp',
+ 'platform/graphics/qt/FloatPointQt.cpp',
+ 'platform/graphics/qt/FloatRectQt.cpp',
+ 'platform/graphics/qt/FontCacheQt.cpp',
+ 'platform/graphics/qt/FontCustomPlatformData.cpp',
+ 'platform/graphics/qt/FontCustomPlatformData.h',
+ 'platform/graphics/qt/FontFallbackListQt.cpp',
+ 'platform/graphics/qt/FontPlatformData.h',
+ 'platform/graphics/qt/FontPlatformDataQt.cpp',
+ 'platform/graphics/qt/FontQt.cpp',
+ 'platform/graphics/qt/FontQt43.cpp',
+ 'platform/graphics/qt/GlyphPageTreeNodeQt.cpp',
+ 'platform/graphics/qt/GradientQt.cpp',
+ 'platform/graphics/qt/GraphicsContextQt.cpp',
+ 'platform/graphics/qt/IconQt.cpp',
+ 'platform/graphics/qt/ImageBufferData.h',
+ 'platform/graphics/qt/ImageBufferQt.cpp',
+ 'platform/graphics/qt/ImageDecoderQt.cpp',
+ 'platform/graphics/qt/ImageDecoderQt.h',
+ 'platform/graphics/qt/ImageQt.cpp',
+ 'platform/graphics/qt/ImageSourceQt.cpp',
+ 'platform/graphics/qt/IntPointQt.cpp',
+ 'platform/graphics/qt/IntRectQt.cpp',
+ 'platform/graphics/qt/IntSizeQt.cpp',
+ 'platform/graphics/qt/MediaPlayerPrivatePhonon.cpp',
+ 'platform/graphics/qt/MediaPlayerPrivatePhonon.h',
+ 'platform/graphics/qt/PathQt.cpp',
+ 'platform/graphics/qt/PatternQt.cpp',
+ 'platform/graphics/qt/SimpleFontDataQt.cpp',
+ 'platform/graphics/qt/StillImageQt.cpp',
+ 'platform/graphics/qt/StillImageQt.h',
+ 'platform/graphics/qt/TransformationMatrixQt.cpp',
+ 'platform/graphics/skia/BitmapImageSingleFrameSkia.h',
+ 'platform/graphics/skia/FloatPointSkia.cpp',
+ 'platform/graphics/skia/FloatRectSkia.cpp',
+ 'platform/graphics/skia/GradientSkia.cpp',
+ 'platform/graphics/skia/GraphicsContextPlatformPrivate.h',
+ 'platform/graphics/skia/GraphicsContextSkia.cpp',
+ 'platform/graphics/skia/ImageBufferSkia.cpp',
+ 'platform/graphics/skia/ImageSkia.cpp',
+ 'platform/graphics/skia/ImageSourceSkia.cpp',
+ 'platform/graphics/skia/ImageSourceSkia.h',
+ 'platform/graphics/skia/IntPointSkia.cpp',
+ 'platform/graphics/skia/IntRectSkia.cpp',
+ 'platform/graphics/skia/NativeImageSkia.cpp',
+ 'platform/graphics/skia/NativeImageSkia.h',
+ 'platform/graphics/skia/PathSkia.cpp',
+ 'platform/graphics/skia/PatternSkia.cpp',
+ 'platform/graphics/skia/PlatformContextSkia.cpp',
+ 'platform/graphics/skia/PlatformContextSkia.h',
+ 'platform/graphics/skia/PlatformGraphics.h',
+ 'platform/graphics/skia/SkiaFontWin.cpp',
+ 'platform/graphics/skia/SkiaFontWin.h',
+ 'platform/graphics/skia/SkiaUtils.cpp',
+ 'platform/graphics/skia/SkiaUtils.h',
+ 'platform/graphics/skia/TransformationMatrixSkia.cpp',
+ 'platform/graphics/transforms/IdentityTransformOperation.h',
+ 'platform/graphics/transforms/Matrix3DTransformOperation.cpp',
+ 'platform/graphics/transforms/Matrix3DTransformOperation.h',
+ 'platform/graphics/transforms/MatrixTransformOperation.cpp',
+ 'platform/graphics/transforms/MatrixTransformOperation.h',
+ 'platform/graphics/transforms/PerspectiveTransformOperation.cpp',
+ 'platform/graphics/transforms/PerspectiveTransformOperation.h',
+ 'platform/graphics/transforms/RotateTransformOperation.cpp',
+ 'platform/graphics/transforms/RotateTransformOperation.h',
+ 'platform/graphics/transforms/ScaleTransformOperation.cpp',
+ 'platform/graphics/transforms/ScaleTransformOperation.h',
+ 'platform/graphics/transforms/SkewTransformOperation.cpp',
+ 'platform/graphics/transforms/SkewTransformOperation.h',
+ 'platform/graphics/transforms/TransformOperation.h',
+ 'platform/graphics/transforms/TransformOperations.cpp',
+ 'platform/graphics/transforms/TransformOperations.h',
+ 'platform/graphics/transforms/TransformationMatrix.cpp',
+ 'platform/graphics/transforms/TransformationMatrix.h',
+ 'platform/graphics/transforms/TranslateTransformOperation.cpp',
+ 'platform/graphics/transforms/TranslateTransformOperation.h',
+ 'platform/graphics/win/ColorSafari.cpp',
+ 'platform/graphics/win/FontCGWin.cpp',
+ 'platform/graphics/win/FontCacheWin.cpp',
+ 'platform/graphics/win/FontCustomPlatformData.cpp',
+ 'platform/graphics/win/FontCustomPlatformData.h',
+ 'platform/graphics/win/FontCustomPlatformDataCairo.cpp',
+ 'platform/graphics/win/FontCustomPlatformDataCairo.h',
+ 'platform/graphics/win/FontDatabase.cpp',
+ 'platform/graphics/win/FontDatabase.h',
+ 'platform/graphics/win/FontPlatformData.h',
+ 'platform/graphics/win/FontPlatformDataCGWin.cpp',
+ 'platform/graphics/win/FontPlatformDataCairoWin.cpp',
+ 'platform/graphics/win/FontPlatformDataWin.cpp',
+ 'platform/graphics/win/FontWin.cpp',
+ 'platform/graphics/win/GlyphPageTreeNodeCGWin.cpp',
+ 'platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp',
+ 'platform/graphics/win/GraphicsContextCGWin.cpp',
+ 'platform/graphics/win/GraphicsContextCairoWin.cpp',
+ 'platform/graphics/win/GraphicsContextWin.cpp',
+ 'platform/graphics/win/IconWin.cpp',
+ 'platform/graphics/win/ImageCGWin.cpp',
+ 'platform/graphics/win/ImageCairoWin.cpp',
+ 'platform/graphics/win/ImageWin.cpp',
+ 'platform/graphics/win/IntPointWin.cpp',
+ 'platform/graphics/win/IntRectWin.cpp',
+ 'platform/graphics/win/IntSizeWin.cpp',
+ 'platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp',
+ 'platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h',
+ 'platform/graphics/win/QTMovieWin.cpp',
+ 'platform/graphics/win/QTMovieWin.h',
+ 'platform/graphics/win/QTMovieWinTimer.cpp',
+ 'platform/graphics/win/QTMovieWinTimer.h',
+ 'platform/graphics/win/SimpleFontDataCGWin.cpp',
+ 'platform/graphics/win/SimpleFontDataCairoWin.cpp',
+ 'platform/graphics/win/SimpleFontDataWin.cpp',
+ 'platform/graphics/win/UniscribeController.cpp',
+ 'platform/graphics/win/UniscribeController.h',
+ 'platform/graphics/wx/ColorWx.cpp',
+ 'platform/graphics/wx/FloatRectWx.cpp',
+ 'platform/graphics/wx/FontCacheWx.cpp',
+ 'platform/graphics/wx/FontPlatformData.h',
+ 'platform/graphics/wx/FontPlatformDataWx.cpp',
+ 'platform/graphics/wx/FontWx.cpp',
+ 'platform/graphics/wx/GlyphMapWx.cpp',
+ 'platform/graphics/wx/GradientWx.cpp',
+ 'platform/graphics/wx/GraphicsContextWx.cpp',
+ 'platform/graphics/wx/ImageBufferData.h',
+ 'platform/graphics/wx/ImageBufferWx.cpp',
+ 'platform/graphics/wx/ImageSourceWx.cpp',
+ 'platform/graphics/wx/ImageWx.cpp',
+ 'platform/graphics/wx/IntPointWx.cpp',
+ 'platform/graphics/wx/IntRectWx.cpp',
+ 'platform/graphics/wx/PathWx.cpp',
+ 'platform/graphics/wx/PenWx.cpp',
+ 'platform/graphics/wx/SimpleFontDataWx.cpp',
+ 'platform/graphics/wx/TransformationMatrixWx.cpp',
+ 'platform/graphics/BitmapImage.cpp',
+ 'platform/graphics/BitmapImage.h',
+ 'platform/graphics/Color.cpp',
+ 'platform/graphics/Color.h',
+ 'platform/graphics/DashArray.h',
+ 'platform/graphics/FloatPoint.cpp',
+ 'platform/graphics/FloatPoint.h',
+ 'platform/graphics/FloatPoint3D.cpp',
+ 'platform/graphics/FloatPoint3D.h',
+ 'platform/graphics/FloatQuad.cpp',
+ 'platform/graphics/FloatQuad.h',
+ 'platform/graphics/FloatRect.cpp',
+ 'platform/graphics/FloatRect.h',
+ 'platform/graphics/FloatSize.cpp',
+ 'platform/graphics/FloatSize.h',
+ 'platform/graphics/Font.cpp',
+ 'platform/graphics/Font.h',
+ 'platform/graphics/FontCache.cpp',
+ 'platform/graphics/FontCache.h',
+ 'platform/graphics/FontData.cpp',
+ 'platform/graphics/FontData.h',
+ 'platform/graphics/FontDescription.cpp',
+ 'platform/graphics/FontDescription.h',
+ 'platform/graphics/FontFallbackList.cpp',
+ 'platform/graphics/FontFallbackList.h',
+ 'platform/graphics/FontFamily.cpp',
+ 'platform/graphics/FontFamily.h',
+ 'platform/graphics/FontFastPath.cpp',
+ 'platform/graphics/FontRenderingMode.h',
+ 'platform/graphics/FontSelector.h',
+ 'platform/graphics/FontTraitsMask.h',
+ 'platform/graphics/GeneratedImage.cpp',
+ 'platform/graphics/GeneratedImage.h',
+ 'platform/graphics/Generator.h',
+ 'platform/graphics/GlyphBuffer.h',
+ 'platform/graphics/GlyphPageTreeNode.cpp',
+ 'platform/graphics/GlyphPageTreeNode.h',
+ 'platform/graphics/GlyphWidthMap.cpp',
+ 'platform/graphics/GlyphWidthMap.h',
+ 'platform/graphics/Gradient.cpp',
+ 'platform/graphics/Gradient.h',
+ 'platform/graphics/GraphicsContext.cpp',
+ 'platform/graphics/GraphicsContext.h',
+ 'platform/graphics/GraphicsContextPrivate.h',
+ 'platform/graphics/GraphicsLayer.cpp',
+ 'platform/graphics/GraphicsLayer.h',
+ 'platform/graphics/GraphicsLayerClient.h',
+ 'platform/graphics/GraphicsTypes.cpp',
+ 'platform/graphics/GraphicsTypes.h',
+ 'platform/graphics/Icon.h',
+ 'platform/graphics/Image.cpp',
+ 'platform/graphics/Image.h',
+ 'platform/graphics/ImageBuffer.h',
+ 'platform/graphics/ImageObserver.h',
+ 'platform/graphics/ImageSource.h',
+ 'platform/graphics/IntPoint.h',
+ 'platform/graphics/IntRect.cpp',
+ 'platform/graphics/IntRect.h',
+ 'platform/graphics/IntSize.h',
+ 'platform/graphics/IntSizeHash.h',
+ 'platform/graphics/MediaPlayer.cpp',
+ 'platform/graphics/MediaPlayer.h',
+ 'platform/graphics/MediaPlayerPrivate.h',
+ 'platform/graphics/Path.cpp',
+ 'platform/graphics/Path.h',
+ 'platform/graphics/PathTraversalState.cpp',
+ 'platform/graphics/PathTraversalState.h',
+ 'platform/graphics/Pattern.cpp',
+ 'platform/graphics/Pattern.h',
+ 'platform/graphics/Pen.cpp',
+ 'platform/graphics/Pen.h',
+ 'platform/graphics/SegmentedFontData.cpp',
+ 'platform/graphics/SegmentedFontData.h',
+ 'platform/graphics/SimpleFontData.cpp',
+ 'platform/graphics/SimpleFontData.h',
+ 'platform/graphics/StringTruncator.cpp',
+ 'platform/graphics/StringTruncator.h',
+ 'platform/graphics/StrokeStyleApplier.h',
+ 'platform/graphics/TextRun.h',
+ 'platform/graphics/UnitBezier.h',
+ 'platform/graphics/WidthIterator.cpp',
+ 'platform/graphics/WidthIterator.h',
+ 'platform/gtk/ClipboardGtk.cpp',
+ 'platform/gtk/ClipboardGtk.h',
+ 'platform/gtk/ContextMenuGtk.cpp',
+ 'platform/gtk/ContextMenuItemGtk.cpp',
+ 'platform/gtk/CursorGtk.cpp',
+ 'platform/gtk/CursorGtk.h',
+ 'platform/gtk/DragDataGtk.cpp',
+ 'platform/gtk/DragImageGtk.cpp',
+ 'platform/gtk/EventLoopGtk.cpp',
+ 'platform/gtk/FileChooserGtk.cpp',
+ 'platform/gtk/FileSystemGtk.cpp',
+ 'platform/gtk/GeolocationServiceGtk.cpp',
+ 'platform/gtk/GeolocationServiceGtk.h',
+ 'platform/gtk/KURLGtk.cpp',
+ 'platform/gtk/KeyEventGtk.cpp',
+ 'platform/gtk/KeyboardCodes.h',
+ 'platform/gtk/Language.cpp',
+ 'platform/gtk/LocalizedStringsGtk.cpp',
+ 'platform/gtk/LoggingGtk.cpp',
+ 'platform/gtk/MIMETypeRegistryGtk.cpp',
+ 'platform/gtk/MouseEventGtk.cpp',
+ 'platform/gtk/PasteboardGtk.cpp',
+ 'platform/gtk/PasteboardHelper.h',
+ 'platform/gtk/PlatformScreenGtk.cpp',
+ 'platform/gtk/PopupMenuGtk.cpp',
+ 'platform/gtk/RenderThemeGtk.cpp',
+ 'platform/gtk/RenderThemeGtk.h',
+ 'platform/gtk/ScrollViewGtk.cpp',
+ 'platform/gtk/ScrollbarGtk.cpp',
+ 'platform/gtk/ScrollbarGtk.h',
+ 'platform/gtk/ScrollbarThemeGtk.cpp',
+ 'platform/gtk/ScrollbarThemeGtk.h',
+ 'platform/gtk/SearchPopupMenuGtk.cpp',
+ 'platform/gtk/SharedBufferGtk.cpp',
+ 'platform/gtk/SharedTimerGtk.cpp',
+ 'platform/gtk/SoundGtk.cpp',
+ 'platform/gtk/TemporaryLinkStubs.cpp',
+ 'platform/gtk/WheelEventGtk.cpp',
+ 'platform/gtk/WidgetGtk.cpp',
+ 'platform/gtk/gtkdrawing.h',
+ 'platform/gtk/guriescape.h',
+ 'platform/image-decoders/ImageDecoder.h',
+ 'platform/image-decoders/bmp/BMPImageDecoder.cpp',
+ 'platform/image-decoders/bmp/BMPImageDecoder.h',
+ 'platform/image-decoders/bmp/BMPImageReader.cpp',
+ 'platform/image-decoders/bmp/BMPImageReader.h',
+ 'platform/image-decoders/gif/GIFImageDecoder.cpp',
+ 'platform/image-decoders/gif/GIFImageDecoder.h',
+ 'platform/image-decoders/gif/GIFImageReader.cpp',
+ 'platform/image-decoders/gif/GIFImageReader.h',
+ 'platform/image-decoders/ico/ICOImageDecoder.cpp',
+ 'platform/image-decoders/ico/ICOImageDecoder.h',
+ 'platform/image-decoders/jpeg/JPEGImageDecoder.cpp',
+ 'platform/image-decoders/jpeg/JPEGImageDecoder.h',
+ 'platform/image-decoders/png/PNGImageDecoder.cpp',
+ 'platform/image-decoders/png/PNGImageDecoder.h',
+ 'platform/image-decoders/xbm/XBMImageDecoder.cpp',
+ 'platform/image-decoders/xbm/XBMImageDecoder.h',
+ 'platform/image-decoders/zlib/crc32.h',
+ 'platform/image-decoders/zlib/deflate.h',
+ 'platform/image-decoders/zlib/inffast.h',
+ 'platform/image-decoders/zlib/inffixed.h',
+ 'platform/image-decoders/zlib/inflate.h',
+ 'platform/image-decoders/zlib/inftrees.h',
+ 'platform/image-decoders/zlib/mozzconf.h',
+ 'platform/image-decoders/zlib/trees.h',
+ 'platform/image-decoders/zlib/zconf.h',
+ 'platform/image-decoders/zlib/zlib.h',
+ 'platform/image-decoders/zlib/zutil.h',
+ 'platform/image-decoders/skia/ImageDecoderSkia.cpp',
+ 'platform/image-encoders/skia/PNGImageEncoder.cpp',
+ 'platform/image-encoders/skia/PNGImageEncoder.h',
+ 'platform/mac/AutodrainedPool.mm',
+ 'platform/mac/BlockExceptions.h',
+ 'platform/mac/BlockExceptions.mm',
+ 'platform/mac/ClipboardMac.h',
+ 'platform/mac/ClipboardMac.mm',
+ 'platform/mac/ContextMenuItemMac.mm',
+ 'platform/mac/ContextMenuMac.mm',
+ 'platform/mac/CookieJar.mm',
+ 'platform/mac/CursorMac.mm',
+ 'platform/mac/DragDataMac.mm',
+ 'platform/mac/DragImageMac.mm',
+ 'platform/mac/EventLoopMac.mm',
+ 'platform/mac/FileChooserMac.mm',
+ 'platform/mac/FileSystemMac.mm',
+ 'platform/mac/FoundationExtras.h',
+ 'platform/mac/KURLMac.mm',
+ 'platform/mac/KeyEventMac.mm',
+ 'platform/mac/Language.mm',
+ 'platform/mac/LocalCurrentGraphicsContext.h',
+ 'platform/mac/LocalCurrentGraphicsContext.mm',
+ 'platform/mac/LocalizedStringsMac.mm',
+ 'platform/mac/LoggingMac.mm',
+ 'platform/mac/MIMETypeRegistryMac.mm',
+ 'platform/mac/PasteboardHelper.h',
+ 'platform/mac/PasteboardMac.mm',
+ 'platform/mac/PlatformMouseEventMac.mm',
+ 'platform/mac/PlatformScreenMac.mm',
+ 'platform/mac/PopupMenuMac.mm',
+ 'platform/mac/PurgeableBufferMac.cpp',
+ 'platform/mac/SSLKeyGeneratorMac.mm',
+ 'platform/mac/SchedulePairMac.mm',
+ 'platform/mac/ScrollViewMac.mm',
+ 'platform/mac/ScrollbarThemeMac.h',
+ 'platform/mac/ScrollbarThemeMac.mm',
+ 'platform/mac/SearchPopupMenuMac.mm',
+ 'platform/mac/SharedBufferMac.mm',
+ 'platform/mac/SharedTimerMac.mm',
+ 'platform/mac/SoftLinking.h',
+ 'platform/mac/SoundMac.mm',
+ 'platform/mac/SystemTimeMac.cpp',
+ 'platform/mac/ThemeMac.h',
+ 'platform/mac/ThemeMac.mm',
+ 'platform/mac/ThreadCheck.mm',
+ 'platform/mac/WebCoreKeyGenerator.h',
+ 'platform/mac/WebCoreKeyGenerator.m',
+ 'platform/mac/WebCoreNSStringExtras.h',
+ 'platform/mac/WebCoreNSStringExtras.mm',
+ 'platform/mac/WebCoreObjCExtras.h',
+ 'platform/mac/WebCoreObjCExtras.mm',
+ 'platform/mac/WebCoreSystemInterface.h',
+ 'platform/mac/WebCoreSystemInterface.mm',
+ 'platform/mac/WebCoreView.h',
+ 'platform/mac/WebCoreView.m',
+ 'platform/mac/WebFontCache.h',
+ 'platform/mac/WebFontCache.mm',
+ 'platform/mac/WheelEventMac.mm',
+ 'platform/mac/WidgetMac.mm',
+ 'platform/network/cf/AuthenticationCF.cpp',
+ 'platform/network/cf/AuthenticationCF.h',
+ 'platform/network/cf/AuthenticationChallenge.h',
+ 'platform/network/cf/DNSCFNet.cpp',
+ 'platform/network/cf/FormDataStreamCFNet.cpp',
+ 'platform/network/cf/FormDataStreamCFNet.h',
+ 'platform/network/cf/ResourceError.h',
+ 'platform/network/cf/ResourceErrorCF.cpp',
+ 'platform/network/cf/ResourceHandleCFNet.cpp',
+ 'platform/network/cf/ResourceRequest.h',
+ 'platform/network/cf/ResourceRequestCFNet.cpp',
+ 'platform/network/cf/ResourceRequestCFNet.h',
+ 'platform/network/cf/ResourceResponse.h',
+ 'platform/network/cf/ResourceResponseCFNet.cpp',
+ 'platform/network/cf/ResourceResponseCFNet.h',
+ 'platform/network/chromium/AuthenticationChallenge.h',
+ 'platform/network/chromium/AuthenticationChallengeChromium.cpp',
+ 'platform/network/chromium/CookieJarChromium.cpp',
+ 'platform/network/chromium/DNSChromium.cpp',
+ 'platform/network/chromium/NetworkStateNotifierChromium.cpp',
+ 'platform/network/chromium/NetworkStateNotifierPrivate.h',
+ 'platform/network/chromium/ResourceError.h',
+ 'platform/network/chromium/ResourceRequest.h',
+ 'platform/network/chromium/ResourceResponse.h',
+ 'platform/network/curl/AuthenticationChallenge.h',
+ 'platform/network/curl/CookieJarCurl.cpp',
+ 'platform/network/curl/DNSCurl.cpp',
+ 'platform/network/curl/FormDataStreamCurl.cpp',
+ 'platform/network/curl/FormDataStreamCurl.h',
+ 'platform/network/curl/ResourceError.h',
+ 'platform/network/curl/ResourceHandleCurl.cpp',
+ 'platform/network/curl/ResourceHandleManager.cpp',
+ 'platform/network/curl/ResourceHandleManager.h',
+ 'platform/network/curl/ResourceRequest.h',
+ 'platform/network/curl/ResourceResponse.h',
+ 'platform/network/mac/AuthenticationChallenge.h',
+ 'platform/network/mac/AuthenticationMac.h',
+ 'platform/network/mac/AuthenticationMac.mm',
+ 'platform/network/mac/FormDataStreamMac.h',
+ 'platform/network/mac/FormDataStreamMac.mm',
+ 'platform/network/mac/NetworkStateNotifierMac.cpp',
+ 'platform/network/mac/ResourceError.h',
+ 'platform/network/mac/ResourceErrorMac.mm',
+ 'platform/network/mac/ResourceHandleMac.mm',
+ 'platform/network/mac/ResourceRequest.h',
+ 'platform/network/mac/ResourceRequestMac.mm',
+ 'platform/network/mac/ResourceResponse.h',
+ 'platform/network/mac/ResourceResponseMac.mm',
+ 'platform/network/mac/WebCoreURLResponse.h',
+ 'platform/network/mac/WebCoreURLResponse.mm',
+ 'platform/network/qt/AuthenticationChallenge.h',
+ 'platform/network/qt/QNetworkReplyHandler.cpp',
+ 'platform/network/qt/QNetworkReplyHandler.h',
+ 'platform/network/qt/ResourceError.h',
+ 'platform/network/qt/ResourceHandleQt.cpp',
+ 'platform/network/qt/ResourceRequest.h',
+ 'platform/network/qt/ResourceRequestQt.cpp',
+ 'platform/network/qt/ResourceResponse.h',
+ 'platform/network/soup/AuthenticationChallenge.h',
+ 'platform/network/soup/CookieJarSoup.cpp',
+ 'platform/network/soup/CookieJarSoup.h',
+ 'platform/network/soup/DNSSoup.cpp',
+ 'platform/network/soup/ResourceError.h',
+ 'platform/network/soup/ResourceHandleSoup.cpp',
+ 'platform/network/soup/ResourceRequest.h',
+ 'platform/network/soup/ResourceResponse.h',
+ 'platform/network/soup/webkit-soup-auth-dialog.c',
+ 'platform/network/soup/webkit-soup-auth-dialog.h',
+ 'platform/network/win/CookieJarCFNetWin.cpp',
+ 'platform/network/win/CookieJarWin.cpp',
+ 'platform/network/win/CookieStorageWin.cpp',
+ 'platform/network/win/CookieStorageWin.h',
+ 'platform/network/win/NetworkStateNotifierWin.cpp',
+ 'platform/network/win/ResourceHandleWin.cpp',
+ 'platform/network/win/ResourceHandleWin.h',
+ 'platform/network/AuthenticationChallengeBase.cpp',
+ 'platform/network/AuthenticationChallengeBase.h',
+ 'platform/network/Credential.cpp',
+ 'platform/network/Credential.h',
+ 'platform/network/DNS.h',
+ 'platform/network/FormData.cpp',
+ 'platform/network/FormData.h',
+ 'platform/network/FormDataBuilder.cpp',
+ 'platform/network/FormDataBuilder.h',
+ 'platform/network/HTTPHeaderMap.cpp',
+ 'platform/network/HTTPHeaderMap.h',
+ 'platform/network/HTTPParsers.cpp',
+ 'platform/network/HTTPParsers.h',
+ 'platform/network/NetworkStateNotifier.cpp',
+ 'platform/network/NetworkStateNotifier.h',
+ 'platform/network/ProtectionSpace.cpp',
+ 'platform/network/ProtectionSpace.h',
+ 'platform/network/ResourceErrorBase.cpp',
+ 'platform/network/ResourceErrorBase.h',
+ 'platform/network/ResourceHandleClient.h',
+ 'platform/network/ResourceHandleInternal.h',
+ 'platform/network/ResourceRequestBase.cpp',
+ 'platform/network/ResourceRequestBase.h',
+ 'platform/network/ResourceResponseBase.cpp',
+ 'platform/network/ResourceResponseBase.h',
+ 'platform/posix/FileSystemPOSIX.cpp',
+ 'platform/qt/ClipboardQt.cpp',
+ 'platform/qt/ClipboardQt.h',
+ 'platform/qt/ContextMenuItemQt.cpp',
+ 'platform/qt/ContextMenuQt.cpp',
+ 'platform/qt/CookieJarQt.cpp',
+ 'platform/qt/CursorQt.cpp',
+ 'platform/qt/DragDataQt.cpp',
+ 'platform/qt/DragImageQt.cpp',
+ 'platform/qt/EventLoopQt.cpp',
+ 'platform/qt/FileChooserQt.cpp',
+ 'platform/qt/FileSystemQt.cpp',
+ 'platform/qt/KURLQt.cpp',
+ 'platform/qt/KeyboardCodes.h',
+ 'platform/qt/Localizations.cpp',
+ 'platform/qt/LoggingQt.cpp',
+ 'platform/qt/MIMETypeRegistryQt.cpp',
+ 'platform/qt/MenuEventProxy.h',
+ 'platform/qt/PasteboardQt.cpp',
+ 'platform/qt/PlatformKeyboardEventQt.cpp',
+ 'platform/qt/PlatformMouseEventQt.cpp',
+ 'platform/qt/PlatformScreenQt.cpp',
+ 'platform/qt/PopupMenuQt.cpp',
+ 'platform/qt/QWebPopup.cpp',
+ 'platform/qt/QWebPopup.h',
+ 'platform/qt/RenderThemeQt.cpp',
+ 'platform/qt/RenderThemeQt.h',
+ 'platform/qt/ScreenQt.cpp',
+ 'platform/qt/ScrollViewQt.cpp',
+ 'platform/qt/ScrollbarQt.cpp',
+ 'platform/qt/ScrollbarThemeQt.cpp',
+ 'platform/qt/ScrollbarThemeQt.h',
+ 'platform/qt/SearchPopupMenuQt.cpp',
+ 'platform/qt/SharedBufferQt.cpp',
+ 'platform/qt/SharedTimerQt.cpp',
+ 'platform/qt/SoundQt.cpp',
+ 'platform/qt/TemporaryLinkStubs.cpp',
+ 'platform/qt/WheelEventQt.cpp',
+ 'platform/qt/WidgetQt.cpp',
+ 'platform/sql/SQLValue.cpp',
+ 'platform/sql/SQLValue.h',
+ 'platform/sql/SQLiteAuthorizer.cpp',
+ 'platform/sql/SQLiteDatabase.cpp',
+ 'platform/sql/SQLiteDatabase.h',
+ 'platform/sql/SQLiteFileSystem.cpp',
+ 'platform/sql/SQLiteFileSystem.h',
+ 'platform/sql/SQLiteStatement.cpp',
+ 'platform/sql/SQLiteStatement.h',
+ 'platform/sql/SQLiteTransaction.cpp',
+ 'platform/sql/SQLiteTransaction.h',
+ 'platform/sql/chromium/SQLiteFileSystemChromium.cpp',
+ 'platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp',
+ 'platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp',
+ 'platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp',
+ 'platform/symbian/FloatPointSymbian.cpp',
+ 'platform/symbian/FloatRectSymbian.cpp',
+ 'platform/symbian/IntPointSymbian.cpp',
+ 'platform/symbian/IntRectSymbian.cpp',
+ 'platform/symbian/IntSizeSymbian.cpp',
+ 'platform/text/cf/StringCF.cpp',
+ 'platform/text/cf/StringImplCF.cpp',
+ 'platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp',
+ 'platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp',
+ 'platform/text/mac/CharsetData.h',
+ 'platform/text/mac/ShapeArabic.c',
+ 'platform/text/mac/ShapeArabic.h',
+ 'platform/text/mac/StringImplMac.mm',
+ 'platform/text/mac/StringMac.mm',
+ 'platform/text/mac/TextBoundaries.mm',
+ 'platform/text/mac/TextBreakIteratorInternalICUMac.mm',
+ 'platform/text/mac/TextCodecMac.cpp',
+ 'platform/text/mac/TextCodecMac.h',
+ 'platform/text/qt/StringQt.cpp',
+ 'platform/text/qt/TextBoundaries.cpp',
+ 'platform/text/qt/TextBreakIteratorQt.cpp',
+ 'platform/text/qt/TextCodecQt.cpp',
+ 'platform/text/qt/TextCodecQt.h',
+ 'platform/text/symbian/StringImplSymbian.cpp',
+ 'platform/text/symbian/StringSymbian.cpp',
+ 'platform/text/win/TextBreakIteratorInternalICUWin.cpp',
+ 'platform/text/wx/StringWx.cpp',
+ 'platform/text/AtomicString.cpp',
+ 'platform/text/AtomicString.h',
+ 'platform/text/AtomicStringHash.h',
+ 'platform/text/AtomicStringImpl.h',
+ 'platform/text/Base64.cpp',
+ 'platform/text/Base64.h',
+ 'platform/text/BidiContext.cpp',
+ 'platform/text/BidiContext.h',
+ 'platform/text/BidiResolver.h',
+ 'platform/text/CString.cpp',
+ 'platform/text/CString.h',
+ 'platform/text/CharacterNames.h',
+ 'platform/text/ParserUtilities.h',
+ 'platform/text/PlatformString.h',
+ 'platform/text/RegularExpression.cpp',
+ 'platform/text/RegularExpression.h',
+ 'platform/text/SegmentedString.cpp',
+ 'platform/text/SegmentedString.h',
+ 'platform/text/String.cpp',
+ 'platform/text/StringBuffer.h',
+ 'platform/text/StringBuilder.cpp',
+ 'platform/text/StringBuilder.h',
+ 'platform/text/StringHash.h',
+ 'platform/text/StringImpl.cpp',
+ 'platform/text/StringImpl.h',
+ 'platform/text/TextBoundaries.h',
+ 'platform/text/TextBoundariesICU.cpp',
+ 'platform/text/TextBreakIterator.h',
+ 'platform/text/TextBreakIteratorICU.cpp',
+ 'platform/text/TextBreakIteratorInternalICU.h',
+ 'platform/text/TextCodec.cpp',
+ 'platform/text/TextCodec.h',
+ 'platform/text/TextCodecICU.cpp',
+ 'platform/text/TextCodecICU.h',
+ 'platform/text/TextCodecLatin1.cpp',
+ 'platform/text/TextCodecLatin1.h',
+ 'platform/text/TextCodecUTF16.cpp',
+ 'platform/text/TextCodecUTF16.h',
+ 'platform/text/TextCodecUserDefined.cpp',
+ 'platform/text/TextCodecUserDefined.h',
+ 'platform/text/TextDirection.h',
+ 'platform/text/TextEncoding.cpp',
+ 'platform/text/TextEncoding.h',
+ 'platform/text/TextEncodingDetector.h',
+ 'platform/text/TextEncodingDetectorICU.cpp',
+ 'platform/text/TextEncodingRegistry.cpp',
+ 'platform/text/TextEncodingRegistry.h',
+ 'platform/text/TextStream.cpp',
+ 'platform/text/TextStream.h',
+ 'platform/text/UnicodeRange.cpp',
+ 'platform/text/UnicodeRange.h',
+ 'platform/win/BString.cpp',
+ 'platform/win/BString.h',
+ 'platform/win/COMPtr.h',
+ 'platform/win/ClipboardUtilitiesWin.cpp',
+ 'platform/win/ClipboardUtilitiesWin.h',
+ 'platform/win/ClipboardWin.cpp',
+ 'platform/win/ClipboardWin.h',
+ 'platform/win/ContextMenuItemWin.cpp',
+ 'platform/win/ContextMenuWin.cpp',
+ 'platform/win/CursorWin.cpp',
+ 'platform/win/DragDataWin.cpp',
+ 'platform/win/DragImageCGWin.cpp',
+ 'platform/win/DragImageCairoWin.cpp',
+ 'platform/win/DragImageWin.cpp',
+ 'platform/win/EditorWin.cpp',
+ 'platform/win/EventLoopWin.cpp',
+ 'platform/win/FileChooserWin.cpp',
+ 'platform/win/FileSystemWin.cpp',
+ 'platform/win/GDIObjectCounter.cpp',
+ 'platform/win/GDIObjectCounter.h',
+ 'platform/win/KeyEventWin.cpp',
+ 'platform/win/Language.cpp',
+ 'platform/win/LoggingWin.cpp',
+ 'platform/win/MIMETypeRegistryWin.cpp',
+ 'platform/win/PasteboardWin.cpp',
+ 'platform/win/PlatformMouseEventWin.cpp',
+ 'platform/win/PlatformScreenWin.cpp',
+ 'platform/win/PlatformScrollBar.h',
+ 'platform/win/PlatformScrollBarWin.cpp',
+ 'platform/win/PopupMenuWin.cpp',
+ 'platform/win/ScrollbarThemeSafari.cpp',
+ 'platform/win/ScrollbarThemeSafari.h',
+ 'platform/win/ScrollbarThemeWin.cpp',
+ 'platform/win/ScrollbarThemeWin.h',
+ 'platform/win/SearchPopupMenuWin.cpp',
+ 'platform/win/SharedBufferWin.cpp',
+ 'platform/win/SharedTimerWin.cpp',
+ 'platform/win/SoftLinking.h',
+ 'platform/win/SoundWin.cpp',
+ 'platform/win/SystemTimeWin.cpp',
+ 'platform/win/TemporaryLinkStubs.cpp',
+ 'platform/win/WCDataObject.cpp',
+ 'platform/win/WCDataObject.h',
+ 'platform/win/WebCoreTextRenderer.cpp',
+ 'platform/win/WebCoreTextRenderer.h',
+ 'platform/win/WheelEventWin.cpp',
+ 'platform/win/WidgetWin.cpp',
+ 'platform/win/WindowMessageBroadcaster.cpp',
+ 'platform/win/WindowMessageBroadcaster.h',
+ 'platform/win/WindowMessageListener.h',
+ 'platform/wx/wxcode/gtk/fontprops.cpp',
+ 'platform/wx/wxcode/gtk/non-kerned-drawing.cpp',
+ 'platform/wx/wxcode/mac/carbon/fontprops.cpp',
+ 'platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp',
+ 'platform/wx/wxcode/win/fontprops.cpp',
+ 'platform/wx/wxcode/win/non-kerned-drawing.cpp',
+ 'platform/wx/wxcode/fontprops.cpp',
+ 'platform/wx/wxcode/fontprops.h',
+ 'platform/wx/wxcode/non-kerned-drawing.h',
+ 'platform/wx/ClipboardWx.cpp',
+ 'platform/wx/ClipboardWx.h',
+ 'platform/wx/ContextMenuItemWx.cpp',
+ 'platform/wx/ContextMenuWx.cpp',
+ 'platform/wx/CursorWx.cpp',
+ 'platform/wx/DragDataWx.cpp',
+ 'platform/wx/DragImageWx.cpp',
+ 'platform/wx/EventLoopWx.cpp',
+ 'platform/wx/FileSystemWx.cpp',
+ 'platform/wx/KeyEventWin.cpp',
+ 'platform/wx/KeyboardCodes.h',
+ 'platform/wx/KeyboardEventWx.cpp',
+ 'platform/wx/LocalizedStringsWx.cpp',
+ 'platform/wx/LoggingWx.cpp',
+ 'platform/wx/MimeTypeRegistryWx.cpp',
+ 'platform/wx/MouseEventWx.cpp',
+ 'platform/wx/MouseWheelEventWx.cpp',
+ 'platform/wx/PasteboardWx.cpp',
+ 'platform/wx/PopupMenuWx.cpp',
+ 'platform/wx/RenderThemeWx.cpp',
+ 'platform/wx/ScreenWx.cpp',
+ 'platform/wx/ScrollViewWx.cpp',
+ 'platform/wx/SharedTimerWx.cpp',
+ 'platform/wx/SoundWx.cpp',
+ 'platform/wx/TemporaryLinkStubs.cpp',
+ 'platform/wx/WidgetWx.cpp',
+ 'platform/Arena.cpp',
+ 'platform/Arena.h',
+ 'platform/AutodrainedPool.h',
+ 'platform/ContentType.cpp',
+ 'platform/ContentType.h',
+ 'platform/ContextMenu.cpp',
+ 'platform/ContextMenu.h',
+ 'platform/ContextMenuItem.h',
+ 'platform/CookieJar.h',
+ 'platform/CrossThreadCopier.h',
+ 'platform/CrossThreadCopier.cpp',
+ 'platform/Cursor.h',
+ 'platform/DeprecatedPtrList.h',
+ 'platform/DeprecatedPtrListImpl.cpp',
+ 'platform/DeprecatedPtrListImpl.h',
+ 'platform/DragData.cpp',
+ 'platform/DragData.h',
+ 'platform/DragImage.cpp',
+ 'platform/DragImage.h',
+ 'platform/EventLoop.h',
+ 'platform/FileChooser.cpp',
+ 'platform/FileChooser.h',
+ 'platform/FileSystem.h',
+ 'platform/FloatConversion.h',
+ 'platform/GeolocationService.cpp',
+ 'platform/GeolocationService.h',
+ 'platform/HostWindow.h',
+ 'platform/KeyboardCodes.h',
+ 'platform/KURL.cpp',
+ 'platform/KURL.h',
+ 'platform/KURLGoogle.cpp',
+ 'platform/KURLGooglePrivate.h',
+ 'platform/KURLHash.h',
+ 'platform/Language.h',
+ 'platform/Length.cpp',
+ 'platform/Length.h',
+ 'platform/LengthBox.h',
+ 'platform/LengthSize.h',
+ 'platform/LinkHash.cpp',
+ 'platform/LinkHash.h',
+ 'platform/LocalizedStrings.h',
+ 'platform/Logging.cpp',
+ 'platform/Logging.h',
+ 'platform/MIMETypeRegistry.cpp',
+ 'platform/MIMETypeRegistry.h',
+ 'platform/NotImplemented.h',
+ 'platform/Pasteboard.h',
+ 'platform/PlatformKeyboardEvent.h',
+ 'platform/PlatformMenuDescription.h',
+ 'platform/PlatformMouseEvent.h',
+ 'platform/PlatformScreen.h',
+ 'platform/PlatformWheelEvent.h',
+ 'platform/PopupMenu.h',
+ 'platform/PopupMenuClient.h',
+ 'platform/PopupMenuStyle.h',
+ 'platform/PurgeableBuffer.h',
+ 'platform/SSLKeyGenerator.h',
+ 'platform/ScrollTypes.h',
+ 'platform/ScrollView.cpp',
+ 'platform/ScrollView.h',
+ 'platform/Scrollbar.cpp',
+ 'platform/Scrollbar.h',
+ 'platform/ScrollbarClient.h',
+ 'platform/ScrollbarTheme.h',
+ 'platform/ScrollbarThemeComposite.cpp',
+ 'platform/ScrollbarThemeComposite.h',
+ 'platform/SearchPopupMenu.h',
+ 'platform/SharedBuffer.cpp',
+ 'platform/SharedBuffer.h',
+ 'platform/SharedTimer.h',
+ 'platform/Sound.h',
+ 'platform/StaticConstructors.h',
+ 'platform/SystemTime.h',
+ 'platform/Theme.cpp',
+ 'platform/Theme.h',
+ 'platform/ThemeTypes.h',
+ 'platform/ThreadCheck.h',
+ 'platform/ThreadGlobalData.cpp',
+ 'platform/ThreadGlobalData.h',
+ 'platform/ThreadTimers.cpp',
+ 'platform/ThreadTimers.h',
+ 'platform/Timer.cpp',
+ 'platform/Timer.h',
+ 'platform/TreeShared.h',
+ 'platform/Widget.cpp',
+ 'platform/Widget.h',
+ 'plugins/chromium/PluginDataChromium.cpp',
+ 'plugins/gtk/PluginDataGtk.cpp',
+ 'plugins/gtk/PluginPackageGtk.cpp',
+ 'plugins/gtk/PluginViewGtk.cpp',
+ 'plugins/gtk/gtk2xtbin.h',
+ 'plugins/gtk/xembed.h',
+ 'plugins/mac/PluginDataMac.mm',
+ 'plugins/mac/PluginPackageMac.cpp',
+ 'plugins/mac/PluginViewMac.cpp',
+ 'plugins/qt/PluginDataQt.cpp',
+ 'plugins/qt/PluginPackageQt.cpp',
+ 'plugins/qt/PluginViewQt.cpp',
+ 'plugins/win/PluginDataWin.cpp',
+ 'plugins/win/PluginDatabaseWin.cpp',
+ 'plugins/win/PluginMessageThrottlerWin.cpp',
+ 'plugins/win/PluginMessageThrottlerWin.h',
+ 'plugins/win/PluginPackageWin.cpp',
+ 'plugins/win/PluginViewWin.cpp',
+ 'plugins/wx/PluginDataWx.cpp',
+ 'plugins/wx/PluginPackageWx.cpp',
+ 'plugins/wx/PluginViewWx.cpp',
+ 'plugins/MimeType.cpp',
+ 'plugins/MimeType.h',
+ 'plugins/MimeTypeArray.cpp',
+ 'plugins/MimeTypeArray.h',
+ 'plugins/Plugin.cpp',
+ 'plugins/Plugin.h',
+ 'plugins/PluginArray.cpp',
+ 'plugins/PluginArray.h',
+ 'plugins/PluginData.cpp',
+ 'plugins/PluginData.h',
+ 'plugins/PluginDatabase.cpp',
+ 'plugins/PluginDatabase.h',
+ 'plugins/PluginDebug.cpp',
+ 'plugins/PluginDebug.h',
+ 'plugins/PluginInfoStore.cpp',
+ 'plugins/PluginInfoStore.h',
+ 'plugins/PluginMainThreadScheduler.cpp',
+ 'plugins/PluginMainThreadScheduler.h',
+ 'plugins/PluginPackage.cpp',
+ 'plugins/PluginPackage.h',
+ 'plugins/PluginQuirkSet.h',
+ 'plugins/PluginStream.cpp',
+ 'plugins/PluginStream.h',
+ 'plugins/PluginView.cpp',
+ 'plugins/PluginView.h',
+ 'plugins/npapi.cpp',
+ 'plugins/npfunctions.h',
+ 'rendering/style/BindingURI.cpp',
+ 'rendering/style/BindingURI.h',
+ 'rendering/style/BorderData.h',
+ 'rendering/style/BorderValue.h',
+ 'rendering/style/CollapsedBorderValue.h',
+ 'rendering/style/ContentData.cpp',
+ 'rendering/style/ContentData.h',
+ 'rendering/style/CounterContent.h',
+ 'rendering/style/CounterDirectives.cpp',
+ 'rendering/style/CounterDirectives.h',
+ 'rendering/style/CursorData.h',
+ 'rendering/style/CursorList.h',
+ 'rendering/style/DataRef.h',
+ 'rendering/style/FillLayer.cpp',
+ 'rendering/style/FillLayer.h',
+ 'rendering/style/KeyframeList.cpp',
+ 'rendering/style/KeyframeList.h',
+ 'rendering/style/NinePieceImage.cpp',
+ 'rendering/style/NinePieceImage.h',
+ 'rendering/style/OutlineValue.h',
+ 'rendering/style/RenderStyle.cpp',
+ 'rendering/style/RenderStyle.h',
+ 'rendering/style/RenderStyleConstants.h',
+ 'rendering/style/SVGRenderStyle.cpp',
+ 'rendering/style/SVGRenderStyle.h',
+ 'rendering/style/SVGRenderStyleDefs.cpp',
+ 'rendering/style/SVGRenderStyleDefs.h',
+ 'rendering/style/ShadowData.cpp',
+ 'rendering/style/ShadowData.h',
+ 'rendering/style/StyleBackgroundData.cpp',
+ 'rendering/style/StyleBackgroundData.h',
+ 'rendering/style/StyleBoxData.cpp',
+ 'rendering/style/StyleBoxData.h',
+ 'rendering/style/StyleCachedImage.cpp',
+ 'rendering/style/StyleCachedImage.h',
+ 'rendering/style/StyleDashboardRegion.h',
+ 'rendering/style/StyleFlexibleBoxData.cpp',
+ 'rendering/style/StyleFlexibleBoxData.h',
+ 'rendering/style/StyleGeneratedImage.cpp',
+ 'rendering/style/StyleGeneratedImage.h',
+ 'rendering/style/StyleImage.h',
+ 'rendering/style/StyleInheritedData.cpp',
+ 'rendering/style/StyleInheritedData.h',
+ 'rendering/style/StyleMarqueeData.cpp',
+ 'rendering/style/StyleMarqueeData.h',
+ 'rendering/style/StyleMultiColData.cpp',
+ 'rendering/style/StyleMultiColData.h',
+ 'rendering/style/StyleRareInheritedData.cpp',
+ 'rendering/style/StyleRareInheritedData.h',
+ 'rendering/style/StyleRareNonInheritedData.cpp',
+ 'rendering/style/StyleRareNonInheritedData.h',
+ 'rendering/style/StyleReflection.h',
+ 'rendering/style/StyleSurroundData.cpp',
+ 'rendering/style/StyleSurroundData.h',
+ 'rendering/style/StyleTransformData.cpp',
+ 'rendering/style/StyleTransformData.h',
+ 'rendering/style/StyleVisualData.cpp',
+ 'rendering/style/StyleVisualData.h',
+ 'rendering/AutoTableLayout.cpp',
+ 'rendering/AutoTableLayout.h',
+ 'rendering/CounterNode.cpp',
+ 'rendering/CounterNode.h',
+ 'rendering/EllipsisBox.cpp',
+ 'rendering/EllipsisBox.h',
+ 'rendering/FixedTableLayout.cpp',
+ 'rendering/FixedTableLayout.h',
+ 'rendering/GapRects.h',
+ 'rendering/HitTestRequest.h',
+ 'rendering/HitTestResult.cpp',
+ 'rendering/HitTestResult.h',
+ 'rendering/InlineBox.cpp',
+ 'rendering/InlineBox.h',
+ 'rendering/InlineFlowBox.cpp',
+ 'rendering/InlineFlowBox.h',
+ 'rendering/InlineRunBox.h',
+ 'rendering/InlineTextBox.cpp',
+ 'rendering/InlineTextBox.h',
+ 'rendering/LayoutState.cpp',
+ 'rendering/LayoutState.h',
+ 'rendering/MediaControlElements.cpp',
+ 'rendering/MediaControlElements.h',
+ 'rendering/PointerEventsHitRules.cpp',
+ 'rendering/PointerEventsHitRules.h',
+ 'rendering/RenderApplet.cpp',
+ 'rendering/RenderApplet.h',
+ 'rendering/RenderArena.cpp',
+ 'rendering/RenderArena.h',
+ 'rendering/RenderBR.cpp',
+ 'rendering/RenderBR.h',
+ 'rendering/RenderBlock.cpp',
+ 'rendering/RenderBlock.h',
+ 'rendering/RenderBlockLineLayout.cpp',
+ 'rendering/RenderBox.cpp',
+ 'rendering/RenderBox.h',
+ 'rendering/RenderBoxModelObject.cpp',
+ 'rendering/RenderBoxModelObject.h',
+ 'rendering/RenderButton.cpp',
+ 'rendering/RenderButton.h',
+ 'rendering/RenderCounter.cpp',
+ 'rendering/RenderCounter.h',
+ 'rendering/RenderDataGrid.cpp',
+ 'rendering/RenderDataGrid.h',
+ 'rendering/RenderFieldset.cpp',
+ 'rendering/RenderFieldset.h',
+ 'rendering/RenderFileUploadControl.cpp',
+ 'rendering/RenderFileUploadControl.h',
+ 'rendering/RenderFlexibleBox.cpp',
+ 'rendering/RenderFlexibleBox.h',
+ 'rendering/RenderForeignObject.cpp',
+ 'rendering/RenderForeignObject.h',
+ 'rendering/RenderFrame.cpp',
+ 'rendering/RenderFrame.h',
+ 'rendering/RenderFrameSet.cpp',
+ 'rendering/RenderFrameSet.h',
+ 'rendering/RenderHTMLCanvas.cpp',
+ 'rendering/RenderHTMLCanvas.h',
+ 'rendering/RenderImage.cpp',
+ 'rendering/RenderImage.h',
+ 'rendering/RenderImageGeneratedContent.cpp',
+ 'rendering/RenderImageGeneratedContent.h',
+ 'rendering/RenderInline.cpp',
+ 'rendering/RenderInline.h',
+ 'rendering/RenderLayer.cpp',
+ 'rendering/RenderLayer.h',
+ 'rendering/RenderLayerBacking.cpp',
+ 'rendering/RenderLayerBacking.h',
+ 'rendering/RenderLayerCompositor.cpp',
+ 'rendering/RenderLayerCompositor.h',
+ 'rendering/RenderLineBoxList.cpp',
+ 'rendering/RenderLineBoxList.h',
+ 'rendering/RenderListBox.cpp',
+ 'rendering/RenderListBox.h',
+ 'rendering/RenderListItem.cpp',
+ 'rendering/RenderListItem.h',
+ 'rendering/RenderListMarker.cpp',
+ 'rendering/RenderListMarker.h',
+ 'rendering/RenderMarquee.cpp',
+ 'rendering/RenderMarquee.h',
+ 'rendering/RenderMedia.cpp',
+ 'rendering/RenderMedia.h',
+ 'rendering/RenderMenuList.cpp',
+ 'rendering/RenderMenuList.h',
+ 'rendering/RenderObject.cpp',
+ 'rendering/RenderObject.h',
+ 'rendering/RenderObjectChildList.cpp',
+ 'rendering/RenderObjectChildList.h',
+ 'rendering/RenderPart.cpp',
+ 'rendering/RenderPart.h',
+ 'rendering/RenderPartObject.cpp',
+ 'rendering/RenderPartObject.h',
+ 'rendering/RenderPath.cpp',
+ 'rendering/RenderPath.h',
+ 'rendering/RenderReplaced.cpp',
+ 'rendering/RenderReplaced.h',
+ 'rendering/RenderReplica.cpp',
+ 'rendering/RenderReplica.h',
+ 'rendering/RenderSVGBlock.cpp',
+ 'rendering/RenderSVGBlock.h',
+ 'rendering/RenderSVGContainer.cpp',
+ 'rendering/RenderSVGContainer.h',
+ 'rendering/RenderSVGGradientStop.cpp',
+ 'rendering/RenderSVGGradientStop.h',
+ 'rendering/RenderSVGHiddenContainer.cpp',
+ 'rendering/RenderSVGHiddenContainer.h',
+ 'rendering/RenderSVGImage.cpp',
+ 'rendering/RenderSVGImage.h',
+ 'rendering/RenderSVGInline.cpp',
+ 'rendering/RenderSVGInline.h',
+ 'rendering/RenderSVGInlineText.cpp',
+ 'rendering/RenderSVGInlineText.h',
+ 'rendering/RenderSVGModelObject.cpp',
+ 'rendering/RenderSVGModelObject.h',
+ 'rendering/RenderSVGRoot.cpp',
+ 'rendering/RenderSVGRoot.h',
+ 'rendering/RenderSVGTSpan.cpp',
+ 'rendering/RenderSVGTSpan.h',
+ 'rendering/RenderSVGText.cpp',
+ 'rendering/RenderSVGText.h',
+ 'rendering/RenderSVGTextPath.cpp',
+ 'rendering/RenderSVGTextPath.h',
+ 'rendering/RenderSVGTransformableContainer.cpp',
+ 'rendering/RenderSVGTransformableContainer.h',
+ 'rendering/RenderSVGViewportContainer.cpp',
+ 'rendering/RenderSVGViewportContainer.h',
+ 'rendering/RenderScrollbar.cpp',
+ 'rendering/RenderScrollbar.h',
+ 'rendering/RenderScrollbarPart.cpp',
+ 'rendering/RenderScrollbarPart.h',
+ 'rendering/RenderScrollbarTheme.cpp',
+ 'rendering/RenderScrollbarTheme.h',
+ 'rendering/RenderSelectionInfo.h',
+ 'rendering/RenderSlider.cpp',
+ 'rendering/RenderSlider.h',
+ 'rendering/RenderTable.cpp',
+ 'rendering/RenderTable.h',
+ 'rendering/RenderTableCell.cpp',
+ 'rendering/RenderTableCell.h',
+ 'rendering/RenderTableCol.cpp',
+ 'rendering/RenderTableCol.h',
+ 'rendering/RenderTableRow.cpp',
+ 'rendering/RenderTableRow.h',
+ 'rendering/RenderTableSection.cpp',
+ 'rendering/RenderTableSection.h',
+ 'rendering/RenderText.cpp',
+ 'rendering/RenderText.h',
+ 'rendering/RenderTextControl.cpp',
+ 'rendering/RenderTextControl.h',
+ 'rendering/RenderTextControlMultiLine.cpp',
+ 'rendering/RenderTextControlMultiLine.h',
+ 'rendering/RenderTextControlSingleLine.cpp',
+ 'rendering/RenderTextControlSingleLine.h',
+ 'rendering/RenderTextFragment.cpp',
+ 'rendering/RenderTextFragment.h',
+ 'rendering/RenderTheme.cpp',
+ 'rendering/RenderTheme.h',
+ 'rendering/RenderThemeChromiumSkia.cpp',
+ 'rendering/RenderThemeChromiumSkia.h',
+ 'rendering/RenderThemeChromiumLinux.cpp',
+ 'rendering/RenderThemeChromiumLinux.h',
+ 'rendering/RenderThemeChromiumMac.h',
+ 'rendering/RenderThemeChromiumMac.mm',
+ 'rendering/RenderThemeChromiumWin.cpp',
+ 'rendering/RenderThemeChromiumWin.h',
+ 'rendering/RenderThemeMac.h',
+ 'rendering/RenderThemeMac.mm',
+ 'rendering/RenderThemeSafari.cpp',
+ 'rendering/RenderThemeSafari.h',
+ 'rendering/RenderThemeWin.cpp',
+ 'rendering/RenderThemeWin.h',
+ 'rendering/RenderTreeAsText.cpp',
+ 'rendering/RenderTreeAsText.h',
+ 'rendering/RenderVideo.cpp',
+ 'rendering/RenderVideo.h',
+ 'rendering/RenderView.cpp',
+ 'rendering/RenderView.h',
+ 'rendering/RenderWidget.cpp',
+ 'rendering/RenderWidget.h',
+ 'rendering/RenderWordBreak.cpp',
+ 'rendering/RenderWordBreak.h',
+ 'rendering/RootInlineBox.cpp',
+ 'rendering/RootInlineBox.h',
+ 'rendering/ScrollBehavior.cpp',
+ 'rendering/ScrollBehavior.h',
+ 'rendering/SVGCharacterLayoutInfo.cpp',
+ 'rendering/SVGCharacterLayoutInfo.h',
+ 'rendering/SVGInlineFlowBox.cpp',
+ 'rendering/SVGInlineFlowBox.h',
+ 'rendering/SVGInlineTextBox.cpp',
+ 'rendering/SVGInlineTextBox.h',
+ 'rendering/SVGRenderSupport.cpp',
+ 'rendering/SVGRenderSupport.h',
+ 'rendering/SVGRenderTreeAsText.cpp',
+ 'rendering/SVGRenderTreeAsText.h',
+ 'rendering/SVGRootInlineBox.cpp',
+ 'rendering/SVGRootInlineBox.h',
+ 'rendering/TableLayout.h',
+ 'rendering/TextControlInnerElements.cpp',
+ 'rendering/TextControlInnerElements.h',
+ 'rendering/TransformState.cpp',
+ 'rendering/TransformState.h',
+ 'rendering/break_lines.cpp',
+ 'rendering/break_lines.h',
+ 'storage/ChangeVersionWrapper.cpp',
+ 'storage/ChangeVersionWrapper.h',
+ 'storage/Database.cpp',
+ 'storage/Database.h',
+ 'storage/DatabaseAuthorizer.cpp',
+ 'storage/DatabaseAuthorizer.h',
+ 'storage/DatabaseDetails.h',
+ 'storage/DatabaseTask.cpp',
+ 'storage/DatabaseTask.h',
+ 'storage/DatabaseThread.cpp',
+ 'storage/DatabaseThread.h',
+ 'storage/DatabaseTracker.cpp',
+ 'storage/DatabaseTracker.h',
+ 'storage/DatabaseTrackerClient.h',
+ 'storage/LocalStorageTask.cpp',
+ 'storage/LocalStorageTask.h',
+ 'storage/LocalStorageThread.cpp',
+ 'storage/LocalStorageThread.h',
+ 'storage/OriginQuotaManager.cpp',
+ 'storage/OriginQuotaManager.h',
+ 'storage/OriginUsageRecord.cpp',
+ 'storage/OriginUsageRecord.h',
+ 'storage/SQLError.h',
+ 'storage/SQLResultSet.cpp',
+ 'storage/SQLResultSet.h',
+ 'storage/SQLResultSetRowList.cpp',
+ 'storage/SQLResultSetRowList.h',
+ 'storage/SQLStatement.cpp',
+ 'storage/SQLStatement.h',
+ 'storage/SQLStatementCallback.h',
+ 'storage/SQLStatementErrorCallback.h',
+ 'storage/SQLTransaction.cpp',
+ 'storage/SQLTransaction.h',
+ 'storage/SQLTransactionCallback.h',
+ 'storage/SQLTransactionErrorCallback.h',
+ 'storage/Storage.cpp',
+ 'storage/Storage.h',
+ 'storage/StorageArea.h',
+ 'storage/StorageAreaImpl.cpp',
+ 'storage/StorageAreaImpl.h',
+ 'storage/StorageAreaSync.cpp',
+ 'storage/StorageAreaSync.h',
+ 'storage/StorageEvent.cpp',
+ 'storage/StorageEvent.h',
+ 'storage/StorageMap.cpp',
+ 'storage/StorageMap.h',
+ 'storage/StorageNamespace.cpp',
+ 'storage/StorageNamespace.h',
+ 'storage/StorageNamespaceImpl.cpp',
+ 'storage/StorageNamespaceImpl.h',
+ 'storage/StorageSyncManager.cpp',
+ 'storage/StorageSyncManager.h',
+ 'svg/animation/SMILTime.cpp',
+ 'svg/animation/SMILTime.h',
+ 'svg/animation/SMILTimeContainer.cpp',
+ 'svg/animation/SMILTimeContainer.h',
+ 'svg/animation/SVGSMILElement.cpp',
+ 'svg/animation/SVGSMILElement.h',
+ 'svg/graphics/filters/SVGDistantLightSource.h',
+ 'svg/graphics/filters/SVGFEConvolveMatrix.cpp',
+ 'svg/graphics/filters/SVGFEConvolveMatrix.h',
+ 'svg/graphics/filters/SVGFEDiffuseLighting.cpp',
+ 'svg/graphics/filters/SVGFEDiffuseLighting.h',
+ 'svg/graphics/filters/SVGFEDisplacementMap.cpp',
+ 'svg/graphics/filters/SVGFEDisplacementMap.h',
+ 'svg/graphics/filters/SVGFEFlood.cpp',
+ 'svg/graphics/filters/SVGFEFlood.h',
+ 'svg/graphics/filters/SVGFEGaussianBlur.cpp',
+ 'svg/graphics/filters/SVGFEGaussianBlur.h',
+ 'svg/graphics/filters/SVGFEImage.cpp',
+ 'svg/graphics/filters/SVGFEImage.h',
+ 'svg/graphics/filters/SVGFEMerge.cpp',
+ 'svg/graphics/filters/SVGFEMerge.h',
+ 'svg/graphics/filters/SVGFEMorphology.cpp',
+ 'svg/graphics/filters/SVGFEMorphology.h',
+ 'svg/graphics/filters/SVGFEOffset.cpp',
+ 'svg/graphics/filters/SVGFEOffset.h',
+ 'svg/graphics/filters/SVGFESpecularLighting.cpp',
+ 'svg/graphics/filters/SVGFESpecularLighting.h',
+ 'svg/graphics/filters/SVGFETile.cpp',
+ 'svg/graphics/filters/SVGFETile.h',
+ 'svg/graphics/filters/SVGFETurbulence.cpp',
+ 'svg/graphics/filters/SVGFETurbulence.h',
+ 'svg/graphics/filters/SVGFilterEffect.cpp',
+ 'svg/graphics/filters/SVGFilterEffect.h',
+ 'svg/graphics/filters/SVGLightSource.cpp',
+ 'svg/graphics/filters/SVGLightSource.h',
+ 'svg/graphics/filters/SVGPointLightSource.h',
+ 'svg/graphics/filters/SVGSpotLightSource.h',
+ 'svg/graphics/SVGImage.cpp',
+ 'svg/graphics/SVGImage.h',
+ 'svg/graphics/SVGPaintServer.cpp',
+ 'svg/graphics/SVGPaintServer.h',
+ 'svg/graphics/SVGPaintServerGradient.cpp',
+ 'svg/graphics/SVGPaintServerGradient.h',
+ 'svg/graphics/SVGPaintServerLinearGradient.cpp',
+ 'svg/graphics/SVGPaintServerLinearGradient.h',
+ 'svg/graphics/SVGPaintServerPattern.cpp',
+ 'svg/graphics/SVGPaintServerPattern.h',
+ 'svg/graphics/SVGPaintServerRadialGradient.cpp',
+ 'svg/graphics/SVGPaintServerRadialGradient.h',
+ 'svg/graphics/SVGPaintServerSolid.cpp',
+ 'svg/graphics/SVGPaintServerSolid.h',
+ 'svg/graphics/SVGResource.cpp',
+ 'svg/graphics/SVGResource.h',
+ 'svg/graphics/SVGResourceClipper.cpp',
+ 'svg/graphics/SVGResourceClipper.h',
+ 'svg/graphics/SVGResourceFilter.cpp',
+ 'svg/graphics/SVGResourceFilter.h',
+ 'svg/graphics/SVGResourceListener.h',
+ 'svg/graphics/SVGResourceMarker.cpp',
+ 'svg/graphics/SVGResourceMarker.h',
+ 'svg/graphics/SVGResourceMasker.cpp',
+ 'svg/graphics/SVGResourceMasker.h',
+ 'svg/ColorDistance.cpp',
+ 'svg/ColorDistance.h',
+ 'svg/ElementTimeControl.h',
+ 'svg/Filter.cpp',
+ 'svg/Filter.h',
+ 'svg/FilterBuilder.h',
+ 'svg/FilterBuilder.cpp',
+ 'svg/FilterEffect.cpp',
+ 'svg/FilterEffect.h',
+ 'svg/GradientAttributes.h',
+ 'svg/LinearGradientAttributes.h',
+ 'svg/PatternAttributes.h',
+ 'svg/RadialGradientAttributes.h',
+ 'svg/SVGAElement.cpp',
+ 'svg/SVGAElement.h',
+ 'svg/SVGAllInOne.cpp',
+ 'svg/SVGAltGlyphElement.cpp',
+ 'svg/SVGAltGlyphElement.h',
+ 'svg/SVGAngle.cpp',
+ 'svg/SVGAngle.h',
+ 'svg/SVGAnimateColorElement.cpp',
+ 'svg/SVGAnimateColorElement.h',
+ 'svg/SVGAnimateElement.cpp',
+ 'svg/SVGAnimateElement.h',
+ 'svg/SVGAnimateMotionElement.cpp',
+ 'svg/SVGAnimateMotionElement.h',
+ 'svg/SVGAnimateTransformElement.cpp',
+ 'svg/SVGAnimateTransformElement.h',
+ 'svg/SVGAnimatedPathData.cpp',
+ 'svg/SVGAnimatedPathData.h',
+ 'svg/SVGAnimatedPoints.cpp',
+ 'svg/SVGAnimatedPoints.h',
+ 'svg/SVGAnimatedProperty.h',
+ 'svg/SVGAnimatedTemplate.h',
+ 'svg/SVGAnimationElement.cpp',
+ 'svg/SVGAnimationElement.h',
+ 'svg/SVGCircleElement.cpp',
+ 'svg/SVGCircleElement.h',
+ 'svg/SVGClipPathElement.cpp',
+ 'svg/SVGClipPathElement.h',
+ 'svg/SVGColor.cpp',
+ 'svg/SVGColor.h',
+ 'svg/SVGComponentTransferFunctionElement.cpp',
+ 'svg/SVGComponentTransferFunctionElement.h',
+ 'svg/SVGCursorElement.cpp',
+ 'svg/SVGCursorElement.h',
+ 'svg/SVGDefinitionSrcElement.cpp',
+ 'svg/SVGDefinitionSrcElement.h',
+ 'svg/SVGDefsElement.cpp',
+ 'svg/SVGDefsElement.h',
+ 'svg/SVGDescElement.cpp',
+ 'svg/SVGDescElement.h',
+ 'svg/SVGDocument.cpp',
+ 'svg/SVGDocument.h',
+ 'svg/SVGDocumentExtensions.cpp',
+ 'svg/SVGDocumentExtensions.h',
+ 'svg/SVGElement.cpp',
+ 'svg/SVGElement.h',
+ 'svg/SVGElementInstance.cpp',
+ 'svg/SVGElementInstance.h',
+ 'svg/SVGElementInstanceList.cpp',
+ 'svg/SVGElementInstanceList.h',
+ 'svg/SVGEllipseElement.cpp',
+ 'svg/SVGEllipseElement.h',
+ 'svg/SVGException.h',
+ 'svg/SVGExternalResourcesRequired.cpp',
+ 'svg/SVGExternalResourcesRequired.h',
+ 'svg/SVGFEBlendElement.cpp',
+ 'svg/SVGFEBlendElement.h',
+ 'svg/SVGFEColorMatrixElement.cpp',
+ 'svg/SVGFEColorMatrixElement.h',
+ 'svg/SVGFEComponentTransferElement.cpp',
+ 'svg/SVGFEComponentTransferElement.h',
+ 'svg/SVGFECompositeElement.cpp',
+ 'svg/SVGFECompositeElement.h',
+ 'svg/SVGFEDiffuseLightingElement.cpp',
+ 'svg/SVGFEDiffuseLightingElement.h',
+ 'svg/SVGFEDisplacementMapElement.cpp',
+ 'svg/SVGFEDisplacementMapElement.h',
+ 'svg/SVGFEDistantLightElement.cpp',
+ 'svg/SVGFEDistantLightElement.h',
+ 'svg/SVGFEFloodElement.cpp',
+ 'svg/SVGFEFloodElement.h',
+ 'svg/SVGFEFuncAElement.cpp',
+ 'svg/SVGFEFuncAElement.h',
+ 'svg/SVGFEFuncBElement.cpp',
+ 'svg/SVGFEFuncBElement.h',
+ 'svg/SVGFEFuncGElement.cpp',
+ 'svg/SVGFEFuncGElement.h',
+ 'svg/SVGFEFuncRElement.cpp',
+ 'svg/SVGFEFuncRElement.h',
+ 'svg/SVGFEGaussianBlurElement.cpp',
+ 'svg/SVGFEGaussianBlurElement.h',
+ 'svg/SVGFEImageElement.cpp',
+ 'svg/SVGFEImageElement.h',
+ 'svg/SVGFELightElement.cpp',
+ 'svg/SVGFELightElement.h',
+ 'svg/SVGFEMergeElement.cpp',
+ 'svg/SVGFEMergeElement.h',
+ 'svg/SVGFEMergeNodeElement.cpp',
+ 'svg/SVGFEMergeNodeElement.h',
+ 'svg/SVGFEOffsetElement.cpp',
+ 'svg/SVGFEOffsetElement.h',
+ 'svg/SVGFEPointLightElement.cpp',
+ 'svg/SVGFEPointLightElement.h',
+ 'svg/SVGFESpecularLightingElement.cpp',
+ 'svg/SVGFESpecularLightingElement.h',
+ 'svg/SVGFESpotLightElement.cpp',
+ 'svg/SVGFESpotLightElement.h',
+ 'svg/SVGFETileElement.cpp',
+ 'svg/SVGFETileElement.h',
+ 'svg/SVGFETurbulenceElement.cpp',
+ 'svg/SVGFETurbulenceElement.h',
+ 'svg/SVGFilterElement.cpp',
+ 'svg/SVGFilterElement.h',
+ 'svg/SVGFilterPrimitiveStandardAttributes.cpp',
+ 'svg/SVGFilterPrimitiveStandardAttributes.h',
+ 'svg/SVGFitToViewBox.cpp',
+ 'svg/SVGFitToViewBox.h',
+ 'svg/SVGFont.cpp',
+ 'svg/SVGFontData.cpp',
+ 'svg/SVGFontData.h',
+ 'svg/SVGFontElement.cpp',
+ 'svg/SVGFontElement.h',
+ 'svg/SVGFontFaceElement.cpp',
+ 'svg/SVGFontFaceElement.h',
+ 'svg/SVGFontFaceFormatElement.cpp',
+ 'svg/SVGFontFaceFormatElement.h',
+ 'svg/SVGFontFaceNameElement.cpp',
+ 'svg/SVGFontFaceNameElement.h',
+ 'svg/SVGFontFaceSrcElement.cpp',
+ 'svg/SVGFontFaceSrcElement.h',
+ 'svg/SVGFontFaceUriElement.cpp',
+ 'svg/SVGFontFaceUriElement.h',
+ 'svg/SVGForeignObjectElement.cpp',
+ 'svg/SVGForeignObjectElement.h',
+ 'svg/SVGGElement.cpp',
+ 'svg/SVGGElement.h',
+ 'svg/SVGGlyphElement.cpp',
+ 'svg/SVGGlyphElement.h',
+ 'svg/SVGGlyphMap.h',
+ 'svg/SVGGradientElement.cpp',
+ 'svg/SVGGradientElement.h',
+ 'svg/SVGHKernElement.cpp',
+ 'svg/SVGHKernElement.h',
+ 'svg/SVGImageElement.cpp',
+ 'svg/SVGImageElement.h',
+ 'svg/SVGImageLoader.cpp',
+ 'svg/SVGImageLoader.h',
+ 'svg/SVGLangSpace.cpp',
+ 'svg/SVGLangSpace.h',
+ 'svg/SVGLength.cpp',
+ 'svg/SVGLength.h',
+ 'svg/SVGLengthList.cpp',
+ 'svg/SVGLengthList.h',
+ 'svg/SVGLineElement.cpp',
+ 'svg/SVGLineElement.h',
+ 'svg/SVGLinearGradientElement.cpp',
+ 'svg/SVGLinearGradientElement.h',
+ 'svg/SVGList.h',
+ 'svg/SVGListTraits.h',
+ 'svg/SVGLocatable.cpp',
+ 'svg/SVGLocatable.h',
+ 'svg/SVGMPathElement.cpp',
+ 'svg/SVGMPathElement.h',
+ 'svg/SVGMarkerElement.cpp',
+ 'svg/SVGMarkerElement.h',
+ 'svg/SVGMaskElement.cpp',
+ 'svg/SVGMaskElement.h',
+ 'svg/SVGMetadataElement.cpp',
+ 'svg/SVGMetadataElement.h',
+ 'svg/SVGMissingGlyphElement.cpp',
+ 'svg/SVGMissingGlyphElement.h',
+ 'svg/SVGNumberList.cpp',
+ 'svg/SVGNumberList.h',
+ 'svg/SVGPaint.cpp',
+ 'svg/SVGPaint.h',
+ 'svg/SVGParserUtilities.cpp',
+ 'svg/SVGParserUtilities.h',
+ 'svg/SVGPathElement.cpp',
+ 'svg/SVGPathElement.h',
+ 'svg/SVGPathSeg.h',
+ 'svg/SVGPathSegArc.cpp',
+ 'svg/SVGPathSegArc.h',
+ 'svg/SVGPathSegClosePath.cpp',
+ 'svg/SVGPathSegClosePath.h',
+ 'svg/SVGPathSegCurvetoCubic.cpp',
+ 'svg/SVGPathSegCurvetoCubic.h',
+ 'svg/SVGPathSegCurvetoCubicSmooth.cpp',
+ 'svg/SVGPathSegCurvetoCubicSmooth.h',
+ 'svg/SVGPathSegCurvetoQuadratic.cpp',
+ 'svg/SVGPathSegCurvetoQuadratic.h',
+ 'svg/SVGPathSegCurvetoQuadraticSmooth.cpp',
+ 'svg/SVGPathSegCurvetoQuadraticSmooth.h',
+ 'svg/SVGPathSegLineto.cpp',
+ 'svg/SVGPathSegLineto.h',
+ 'svg/SVGPathSegLinetoHorizontal.cpp',
+ 'svg/SVGPathSegLinetoHorizontal.h',
+ 'svg/SVGPathSegLinetoVertical.cpp',
+ 'svg/SVGPathSegLinetoVertical.h',
+ 'svg/SVGPathSegList.cpp',
+ 'svg/SVGPathSegList.h',
+ 'svg/SVGPathSegMoveto.cpp',
+ 'svg/SVGPathSegMoveto.h',
+ 'svg/SVGPatternElement.cpp',
+ 'svg/SVGPatternElement.h',
+ 'svg/SVGPointList.cpp',
+ 'svg/SVGPointList.h',
+ 'svg/SVGPolyElement.cpp',
+ 'svg/SVGPolyElement.h',
+ 'svg/SVGPolygonElement.cpp',
+ 'svg/SVGPolygonElement.h',
+ 'svg/SVGPolylineElement.cpp',
+ 'svg/SVGPolylineElement.h',
+ 'svg/SVGPreserveAspectRatio.cpp',
+ 'svg/SVGPreserveAspectRatio.h',
+ 'svg/SVGRadialGradientElement.cpp',
+ 'svg/SVGRadialGradientElement.h',
+ 'svg/SVGRectElement.cpp',
+ 'svg/SVGRectElement.h',
+ 'svg/SVGRenderingIntent.h',
+ 'svg/SVGSVGElement.cpp',
+ 'svg/SVGSVGElement.h',
+ 'svg/SVGScriptElement.cpp',
+ 'svg/SVGScriptElement.h',
+ 'svg/SVGSetElement.cpp',
+ 'svg/SVGSetElement.h',
+ 'svg/SVGStopElement.cpp',
+ 'svg/SVGStopElement.h',
+ 'svg/SVGStringList.cpp',
+ 'svg/SVGStringList.h',
+ 'svg/SVGStylable.cpp',
+ 'svg/SVGStylable.h',
+ 'svg/SVGStyleElement.cpp',
+ 'svg/SVGStyleElement.h',
+ 'svg/SVGStyledElement.cpp',
+ 'svg/SVGStyledElement.h',
+ 'svg/SVGStyledLocatableElement.cpp',
+ 'svg/SVGStyledLocatableElement.h',
+ 'svg/SVGStyledTransformableElement.cpp',
+ 'svg/SVGStyledTransformableElement.h',
+ 'svg/SVGSwitchElement.cpp',
+ 'svg/SVGSwitchElement.h',
+ 'svg/SVGSymbolElement.cpp',
+ 'svg/SVGSymbolElement.h',
+ 'svg/SVGTRefElement.cpp',
+ 'svg/SVGTRefElement.h',
+ 'svg/SVGTSpanElement.cpp',
+ 'svg/SVGTSpanElement.h',
+ 'svg/SVGTests.cpp',
+ 'svg/SVGTests.h',
+ 'svg/SVGTextContentElement.cpp',
+ 'svg/SVGTextContentElement.h',
+ 'svg/SVGTextElement.cpp',
+ 'svg/SVGTextElement.h',
+ 'svg/SVGTextPathElement.cpp',
+ 'svg/SVGTextPathElement.h',
+ 'svg/SVGTextPositioningElement.cpp',
+ 'svg/SVGTextPositioningElement.h',
+ 'svg/SVGTitleElement.cpp',
+ 'svg/SVGTitleElement.h',
+ 'svg/SVGTransform.cpp',
+ 'svg/SVGTransform.h',
+ 'svg/SVGTransformDistance.cpp',
+ 'svg/SVGTransformDistance.h',
+ 'svg/SVGTransformList.cpp',
+ 'svg/SVGTransformList.h',
+ 'svg/SVGTransformable.cpp',
+ 'svg/SVGTransformable.h',
+ 'svg/SVGURIReference.cpp',
+ 'svg/SVGURIReference.h',
+ 'svg/SVGUnitTypes.h',
+ 'svg/SVGUseElement.cpp',
+ 'svg/SVGUseElement.h',
+ 'svg/SVGViewElement.cpp',
+ 'svg/SVGViewElement.h',
+ 'svg/SVGViewSpec.cpp',
+ 'svg/SVGViewSpec.h',
+ 'svg/SVGZoomAndPan.cpp',
+ 'svg/SVGZoomAndPan.h',
+ 'svg/SVGZoomEvent.cpp',
+ 'svg/SVGZoomEvent.h',
+ 'svg/SynchronizableTypeWrapper.h',
+ 'workers/AbstractWorker.cpp',
+ 'workers/AbstractWorker.h',
+ 'workers/DedicatedWorkerContext.cpp',
+ 'workers/DedicatedWorkerContext.h',
+ 'workers/GenericWorkerTask.h',
+ 'workers/SharedWorker.cpp',
+ 'workers/SharedWorker.h',
+ 'workers/Worker.cpp',
+ 'workers/Worker.h',
+ 'workers/WorkerContext.cpp',
+ 'workers/WorkerContext.h',
+ 'workers/WorkerContextProxy.h',
+ 'workers/WorkerLoaderProxy.h',
+ 'workers/WorkerLocation.cpp',
+ 'workers/WorkerLocation.h',
+ 'workers/WorkerMessagingProxy.cpp',
+ 'workers/WorkerMessagingProxy.h',
+ 'workers/WorkerObjectProxy.h',
+ 'workers/WorkerRunLoop.cpp',
+ 'workers/WorkerRunLoop.h',
+ 'workers/WorkerScriptLoader.cpp',
+ 'workers/WorkerScriptLoader.h',
+ 'workers/WorkerScriptLoaderClient.h',
+ 'workers/WorkerThread.cpp',
+ 'workers/WorkerThread.h',
+ 'xml/DOMParser.cpp',
+ 'xml/DOMParser.h',
+ 'xml/NativeXPathNSResolver.cpp',
+ 'xml/NativeXPathNSResolver.h',
+ 'xml/XMLHttpRequest.cpp',
+ 'xml/XMLHttpRequest.h',
+ 'xml/XMLHttpRequestException.h',
+ 'xml/XMLHttpRequestProgressEvent.h',
+ 'xml/XMLHttpRequestUpload.cpp',
+ 'xml/XMLHttpRequestUpload.h',
+ 'xml/XMLSerializer.cpp',
+ 'xml/XMLSerializer.h',
+ 'xml/XPathEvaluator.cpp',
+ 'xml/XPathEvaluator.h',
+ 'xml/XPathException.h',
+ 'xml/XPathExpression.cpp',
+ 'xml/XPathExpression.h',
+ 'xml/XPathExpressionNode.cpp',
+ 'xml/XPathExpressionNode.h',
+ 'xml/XPathFunctions.cpp',
+ 'xml/XPathFunctions.h',
+ 'xml/XPathNSResolver.cpp',
+ 'xml/XPathNSResolver.h',
+ 'xml/XPathNamespace.cpp',
+ 'xml/XPathNamespace.h',
+ 'xml/XPathNodeSet.cpp',
+ 'xml/XPathNodeSet.h',
+ 'xml/XPathParser.cpp',
+ 'xml/XPathParser.h',
+ 'xml/XPathPath.cpp',
+ 'xml/XPathPath.h',
+ 'xml/XPathPredicate.cpp',
+ 'xml/XPathPredicate.h',
+ 'xml/XPathResult.cpp',
+ 'xml/XPathResult.h',
+ 'xml/XPathStep.cpp',
+ 'xml/XPathStep.h',
+ 'xml/XPathUtil.cpp',
+ 'xml/XPathUtil.h',
+ 'xml/XPathValue.cpp',
+ 'xml/XPathValue.h',
+ 'xml/XPathVariableReference.cpp',
+ 'xml/XPathVariableReference.h',
+ 'xml/XSLImportRule.cpp',
+ 'xml/XSLImportRule.h',
+ 'xml/XSLStyleSheet.cpp',
+ 'xml/XSLStyleSheet.h',
+ 'xml/XSLTExtensions.cpp',
+ 'xml/XSLTExtensions.h',
+ 'xml/XSLTProcessor.cpp',
+ 'xml/XSLTProcessor.h',
+ 'xml/XSLTUnicodeSort.cpp',
+ 'xml/XSLTUnicodeSort.h',
+ ],
+ }
+}
diff --git a/src/3rdparty/webkit/WebCore/WebCore.order b/src/3rdparty/webkit/WebCore/WebCore.order
index ddce440..31b178c 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.order
+++ b/src/3rdparty/webkit/WebCore/WebCore.order
@@ -3793,7 +3793,6 @@ __ZN7WebCore7UIEventD0Ev
__ZN7WebCore5EventD2Ev
__ZN7WebCore13ContainerNode8setFocusEb
__ZN7WebCore4Node8setFocusEb
-__ZN7WebCore14focusRingColorEv
+[WebCoreControlTintObserver controlTintDidChange]
__ZN7WebCore26usesTestModeFocusRingColorEv
__ZNK7WebCore14SVGRenderStyle17inheritedNotEqualEPKS0_
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index 486c9d0..e49ab13 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -34,15 +34,9 @@ unix {
lessThan(QT_MINOR_VERSION, 4): QMAKE_PKGCONFIG_REQUIRES += QtXml
}
-include($$OUTPUT_DIR/config.pri)
-
CONFIG -= warn_on
*-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing
-# Disable a few warnings on Windows. The warnings are also
-# disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
-win32-*: QMAKE_CXXFLAGS += -wd4291 -wd4344
-
unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections
unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
@@ -58,6 +52,12 @@ freebsd-*: DEFINES += HAVE_PTHREAD_NP_H
DEFINES += BUILD_WEBKIT
+# Remove whole program optimizations due to miscompilations
+win32-msvc2005|win32-msvc2008:{
+ QMAKE_CFLAGS_RELEASE -= -GL
+ QMAKE_CXXFLAGS_RELEASE -= -GL
+}
+
win32-*: DEFINES += _HAS_TR1=0
wince* {
# DEFINES += ENABLE_SVG=0 ENABLE_XPATH=0 ENABLE_XBL=0 \
@@ -76,6 +76,9 @@ win32-g++ {
QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
}
+# Assume that symbian OS always comes with sqlite
+symbian:!CONFIG(QTDIR_build): CONFIG += system-sqlite
+
# Try to locate sqlite3 source
CONFIG(QTDIR_build) {
SQLITE3SRCDIR = $$QT_SOURCE_TREE/src/3rdparty/sqlite/
@@ -100,6 +103,7 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
!contains(DEFINES, ENABLE_OFFLINE_WEB_APPLICATIONS=.): DEFINES += ENABLE_OFFLINE_WEB_APPLICATIONS=1
!contains(DEFINES, ENABLE_DOM_STORAGE=.): DEFINES += ENABLE_DOM_STORAGE=1
!contains(DEFINES, ENABLE_ICONDATABASE=.): DEFINES += ENABLE_ICONDATABASE=1
+!contains(DEFINES, ENABLE_CHANNEL_MESSAGING=.): DEFINES += ENABLE_CHANNEL_MESSAGING=1
# turn on SQLITE support if any of the dependent features are turned on
!contains(DEFINES, ENABLE_SQLITE=.) {
@@ -116,8 +120,10 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
!contains(DEFINES, ENABLE_XSLT=.): DEFINES += ENABLE_XSLT=0
#!contains(DEFINES, ENABLE_XBL=.): DEFINES += ENABLE_XBL=1
!contains(DEFINES, ENABLE_WML=.): DEFINES += ENABLE_WML=0
+!contains(DEFINES, ENABLE_SHARED_WORKERS=.): DEFINES += ENABLE_SHARED_WORKERS=0
!contains(DEFINES, ENABLE_WORKERS=.): DEFINES += ENABLE_WORKERS=1
!contains(DEFINES, ENABLE_XHTMLMP=.): DEFINES += ENABLE_XHTMLMP=0
+!contains(DEFINES, ENABLE_DATAGRID=.): DEFINES += ENABLE_DATAGRID=1
# SVG support
!contains(DEFINES, ENABLE_SVG=0) {
@@ -131,6 +137,9 @@ contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
DEFINES += ENABLE_SVG_FONTS=0 ENABLE_SVG_FOREIGN_OBJECT=0 ENABLE_SVG_ANIMATION=0 ENABLE_SVG_AS_IMAGE=0 ENABLE_SVG_USE=0
}
+# HTML5 ruby support
+!contains(DEFINES, ENABLE_RUBY=.): DEFINES += ENABLE_RUBY=1
+
# HTML5 media support
!contains(DEFINES, ENABLE_VIDEO=.) {
contains(QT_CONFIG, phonon):DEFINES += ENABLE_VIDEO=1
@@ -154,65 +163,62 @@ CONFIG(compute_defaults) {
error("Done computing defaults")
}
-# Ensure that we pick up WebCore's config.h over JavaScriptCore's
-INCLUDEPATH = $$PWD $$INCLUDEPATH
-
-include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
-
RESOURCES += \
$$PWD/../WebCore/inspector/front-end/WebKit.qrc \
$$PWD/../WebCore/WebCore.qrc
-INCLUDEPATH += \
- $$PWD/platform/qt \
- $$PWD/platform/network/qt \
+
+include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
+
+INCLUDEPATH = \
+ $$PWD \
+ $$PWD/accessibility \
+ $$PWD/bindings/js \
+ $$PWD/bridge \
+ $$PWD/bridge/c \
+ $$PWD/css \
+ $$PWD/dom \
+ $$PWD/dom/default \
+ $$PWD/editing \
+ $$PWD/history \
+ $$PWD/html \
+ $$PWD/inspector \
+ $$PWD/loader \
+ $$PWD/loader/appcache \
+ $$PWD/loader/archive \
+ $$PWD/loader/icon \
+ $$PWD/page \
+ $$PWD/page/animation \
+ $$PWD/platform \
+ $$PWD/platform/animation \
+ $$PWD/platform/graphics \
$$PWD/platform/graphics/filters \
$$PWD/platform/graphics/transforms \
- $$PWD/platform/graphics/qt \
+ $$PWD/platform/image-decoders \
+ $$PWD/platform/network \
+ $$PWD/platform/sql \
+ $$PWD/platform/text \
+ $$PWD/plugins \
+ $$PWD/rendering \
+ $$PWD/rendering/style \
+ $$PWD/storage \
+ $$PWD/svg \
+ $$PWD/svg/animation \
+ $$PWD/svg/graphics \
+ $$PWD/svg/graphics/filters \
+ $$PWD/wml \
+ $$PWD/workers \
+ $$PWD/xml \
+ $$GENERATED_SOURCES_DIR \
+ $$INCLUDEPATH
+
+INCLUDEPATH = \
+ $$PWD/bridge/qt \
$$PWD/page/qt \
+ $$PWD/platform/graphics/qt \
+ $$PWD/platform/network/qt \
+ $$PWD/platform/qt \
$$PWD/../WebKit/qt/WebCoreSupport \
-
-# Make sure storage/ appears before JavaScriptCore/. Both provide LocalStorage.h
-# but the header from the former include path is included across directories while
-# LocalStorage.h is included only from files within the same directory
-INCLUDEPATH = $$PWD/storage $$INCLUDEPATH
-
-INCLUDEPATH += $$PWD/accessibility \
- $$PWD/ForwardingHeaders \
- $$PWD/platform \
- $$PWD/platform/animation \
- $$PWD/platform/network \
- $$PWD/platform/graphics \
- $$PWD/svg/animation \
- $$PWD/svg/graphics \
- $$PWD/svg/graphics/filters \
- $$PWD/platform/sql \
- $$PWD/platform/text \
- $$PWD/loader \
- $$PWD/loader/appcache \
- $$PWD/loader/archive \
- $$PWD/loader/icon \
- $$PWD/css \
- $$PWD/dom \
- $$PWD/dom/default \
- $$PWD/page \
- $$PWD/page/animation \
- $$PWD/editing \
- $$PWD/rendering \
- $$PWD/rendering/style \
- $$PWD/history \
- $$PWD/inspector \
- $$PWD/xml \
- $$PWD/html \
- $$PWD/wml \
- $$PWD/workers \
- $$PWD/bindings/js \
- $$PWD/svg \
- $$PWD/platform/image-decoders \
- $$PWD/plugins \
- $$PWD/bridge \
- $$PWD/bridge/c \
- $$PWD/bridge/qt
-INCLUDEPATH *= $$GENERATED_SOURCES_DIR
+ $$INCLUDEPATH
QT += network
lessThan(QT_MINOR_VERSION, 4): QT += xml
@@ -246,7 +252,7 @@ SVGCSSPROPERTIES = $$PWD/css/SVGCSSPropertyNames.in
SVGCSSVALUES = $$PWD/css/SVGCSSValueKeywords.in
STYLESHEETS_EMBED = \
- $$PWD/css/html4.css \
+ $$PWD/css/html.css \
$$PWD/css/quirks.css \
$$PWD/css/svg.css \
$$PWD/css/view-source.css \
@@ -255,7 +261,6 @@ STYLESHEETS_EMBED = \
DOMLUT_FILES += \
bindings/js/JSDOMWindowBase.cpp \
- bindings/js/JSRGBColor.cpp \
bindings/js/JSWorkerContextBase.cpp
IDL_BINDINGS += \
@@ -276,6 +281,7 @@ IDL_BINDINGS += \
css/CSSVariablesDeclaration.idl \
css/CSSVariablesRule.idl \
css/MediaList.idl \
+ css/RGBColor.idl \
css/Rect.idl \
css/StyleSheet.idl \
css/StyleSheetList.idl \
@@ -298,6 +304,7 @@ IDL_BINDINGS += \
dom/Element.idl \
dom/Entity.idl \
dom/EntityReference.idl \
+ dom/ErrorEvent.idl \
dom/Event.idl \
dom/EventException.idl \
# dom/EventListener.idl \
@@ -404,8 +411,9 @@ IDL_BINDINGS += \
html/ImageData.idl \
html/MediaError.idl \
html/TextMetrics.idl \
+ html/ValidityState.idl \
html/VoidCallback.idl \
- inspector/InspectorController.idl \
+ inspector/InspectorBackend.idl \
page/BarInfo.idl \
page/Console.idl \
page/Coordinates.idl \
@@ -492,8 +500,8 @@ SOURCES += \
bindings/js/JSImageConstructor.cpp \
bindings/js/JSImageDataCustom.cpp \
bindings/js/JSInspectedObjectWrapper.cpp \
+ bindings/js/JSInspectorBackendCustom.cpp \
bindings/js/JSInspectorCallbackWrapper.cpp \
- bindings/js/JSInspectorControllerCustom.cpp \
bindings/js/JSLocationCustom.cpp \
bindings/js/JSNamedNodeMapCustom.cpp \
bindings/js/JSNamedNodesCollection.cpp \
@@ -505,7 +513,6 @@ SOURCES += \
bindings/js/JSNodeListCustom.cpp \
bindings/js/JSOptionConstructor.cpp \
bindings/js/JSQuarantinedObjectWrapper.cpp \
- bindings/js/JSRGBColor.cpp \
bindings/js/JSStyleSheetCustom.cpp \
bindings/js/JSStyleSheetListCustom.cpp \
bindings/js/JSTextCustom.cpp \
@@ -525,6 +532,7 @@ SOURCES += \
bindings/js/JSEventListener.cpp \
bindings/js/JSLazyEventListener.cpp \
bindings/js/JSPluginElementFunctions.cpp \
+ bindings/js/ScriptArray.cpp \
bindings/js/ScriptCachedFrameData.cpp \
bindings/js/ScriptCallFrame.cpp \
bindings/js/ScriptCallStack.cpp \
@@ -597,6 +605,7 @@ SOURCES += \
css/MediaQuery.cpp \
css/MediaQueryEvaluator.cpp \
css/MediaQueryExp.cpp \
+ css/RGBColor.cpp \
css/ShadowValue.cpp \
css/StyleBase.cpp \
css/StyleList.cpp \
@@ -633,6 +642,7 @@ SOURCES += \
dom/Element.cpp \
dom/Entity.cpp \
dom/EntityReference.cpp \
+ dom/ErrorEvent.cpp \
dom/Event.cpp \
dom/EventNames.cpp \
dom/EventTarget.cpp \
@@ -748,6 +758,7 @@ SOURCES += \
html/CollectionCache.cpp \
html/DataGridColumn.cpp \
html/DataGridColumnList.cpp \
+ html/DOMDataGridDataSource.cpp \
html/File.cpp \
html/FileList.cpp \
html/FormDataList.cpp \
@@ -833,7 +844,9 @@ SOURCES += \
html/HTMLViewSourceDocument.cpp \
html/ImageData.cpp \
html/PreloadScanner.cpp \
+ html/ValidityState.cpp \
inspector/ConsoleMessage.cpp \
+ inspector/InspectorBackend.cpp \
inspector/InspectorDatabaseResource.cpp \
inspector/InspectorDOMStorageResource.cpp \
inspector/InspectorController.cpp \
@@ -870,6 +883,7 @@ SOURCES += \
loader/MediaDocument.cpp \
loader/NavigationAction.cpp \
loader/NetscapePlugInStreamLoader.cpp \
+ loader/PlaceholderDocument.cpp \
loader/PluginDocument.cpp \
loader/ProgressTracker.cpp \
loader/Request.cpp \
@@ -987,7 +1001,6 @@ SOURCES += \
platform/Scrollbar.cpp \
platform/ScrollbarThemeComposite.cpp \
platform/ScrollView.cpp \
-# platform/SearchPopupMenu.cpp \
platform/text/SegmentedString.cpp \
platform/SharedBuffer.cpp \
platform/text/String.cpp \
@@ -1007,12 +1020,12 @@ SOURCES += \
platform/text/UnicodeRange.cpp \
platform/Widget.cpp \
plugins/PluginDatabase.cpp \
+ plugins/PluginDebug.cpp \
plugins/PluginInfoStore.cpp \
plugins/PluginPackage.cpp \
plugins/PluginStream.cpp \
plugins/PluginView.cpp \
rendering/AutoTableLayout.cpp \
- rendering/bidi.cpp \
rendering/break_lines.cpp \
rendering/CounterNode.cpp \
rendering/EllipsisBox.cpp \
@@ -1025,6 +1038,7 @@ SOURCES += \
rendering/RenderApplet.cpp \
rendering/RenderArena.cpp \
rendering/RenderBlock.cpp \
+ rendering/RenderBlockLineLayout.cpp \
rendering/RenderBox.cpp \
rendering/RenderBoxModelObject.cpp \
rendering/RenderBR.cpp \
@@ -1104,20 +1118,953 @@ SOURCES += \
xml/XMLSerializer.cpp
HEADERS += \
- $$PWD/platform/graphics/qt/StillImageQt.h \
- $$PWD/platform/qt/QWebPopup.h \
- $$PWD/../WebKit/qt/Api/qwebpluginfactory.h \
+ accessibility/AccessibilityARIAGridCell.h \
+ accessibility/AccessibilityARIAGrid.h \
+ accessibility/AccessibilityARIAGridRow.h \
+ accessibility/AccessibilityImageMapLink.h \
+ accessibility/AccessibilityListBox.h \
+ accessibility/AccessibilityListBoxOption.h \
+ accessibility/AccessibilityList.h \
+ accessibility/AccessibilityObject.h \
+ accessibility/AccessibilityRenderObject.h \
+ accessibility/AccessibilityTableCell.h \
+ accessibility/AccessibilityTableColumn.h \
+ accessibility/AccessibilityTable.h \
+ accessibility/AccessibilityTableHeaderContainer.h \
+ accessibility/AccessibilityTableRow.h \
+ accessibility/AXObjectCache.h \
+ bindings/js/CachedScriptSourceProvider.h \
+ bindings/js/DOMObjectWithSVGContext.h \
+ bindings/js/GCController.h \
+ bindings/js/JSAudioConstructor.h \
+ bindings/js/JSCSSStyleDeclarationCustom.h \
+ bindings/js/JSCustomPositionCallback.h \
+ bindings/js/JSCustomPositionErrorCallback.h \
+ bindings/js/JSCustomSQLStatementCallback.h \
+ bindings/js/JSCustomSQLStatementErrorCallback.h \
+ bindings/js/JSCustomSQLTransactionCallback.h \
+ bindings/js/JSCustomSQLTransactionErrorCallback.h \
+ bindings/js/JSCustomVoidCallback.h \
+ bindings/js/JSCustomXPathNSResolver.h \
+ bindings/js/JSDataGridDataSource.h \
+ bindings/js/JSDOMBinding.h \
+ bindings/js/JSDOMGlobalObject.h \
+ bindings/js/JSDOMWindowBase.h \
+ bindings/js/JSDOMWindowBase.h \
+ bindings/js/JSDOMWindowCustom.h \
+ bindings/js/JSDOMWindowShell.h \
+ bindings/js/JSEventListener.h \
+ bindings/js/JSEventTarget.h \
+ bindings/js/JSHistoryCustom.h \
+ bindings/js/JSHTMLAllCollection.h \
+ bindings/js/JSHTMLAppletElementCustom.h \
+ bindings/js/JSHTMLEmbedElementCustom.h \
+ bindings/js/JSHTMLInputElementCustom.h \
+ bindings/js/JSHTMLObjectElementCustom.h \
+ bindings/js/JSHTMLSelectElementCustom.h \
+ bindings/js/JSImageConstructor.h \
+ bindings/js/JSInspectedObjectWrapper.h \
+ bindings/js/JSInspectorCallbackWrapper.h \
+ bindings/js/JSLazyEventListener.h \
+ bindings/js/JSLocationCustom.h \
+ bindings/js/JSMessageChannelConstructor.h \
+ bindings/js/JSNamedNodesCollection.h \
+ bindings/js/JSNodeFilterCondition.h \
+ bindings/js/JSOptionConstructor.h \
+ bindings/js/JSPluginElementFunctions.h \
+ bindings/js/JSQuarantinedObjectWrapper.h \
+ bindings/js/JSSharedWorkerConstructor.h \
+ bindings/js/JSStorageCustom.h \
+ bindings/js/JSWebKitCSSMatrixConstructor.h \
+ bindings/js/JSWebKitPointConstructor.h \
+ bindings/js/JSWorkerConstructor.h \
+ bindings/js/JSWorkerContextBase.h \
+ bindings/js/JSWorkerContextBase.h \
+ bindings/js/JSXMLHttpRequestConstructor.h \
+ bindings/js/JSXSLTProcessorConstructor.h \
+ bindings/js/ScheduledAction.h \
+ bindings/js/ScriptArray.h \
+ bindings/js/ScriptCachedFrameData.h \
+ bindings/js/ScriptCallFrame.h \
+ bindings/js/ScriptCallStack.h \
+ bindings/js/ScriptController.h \
+ bindings/js/ScriptEventListener.h \
+ bindings/js/ScriptFunctionCall.h \
+ bindings/js/ScriptObject.h \
+ bindings/js/ScriptObjectQuarantine.h \
+ bindings/js/ScriptSourceCode.h \
+ bindings/js/ScriptSourceProvider.h \
+ bindings/js/ScriptState.h \
+ bindings/js/ScriptValue.h \
+ bindings/js/StringSourceProvider.h \
+ bindings/js/WorkerScriptController.h \
+ bridge/c/c_class.h \
+ bridge/c/c_instance.h \
+ bridge/c/c_runtime.h \
+ bridge/c/c_utility.h \
+ bridge/IdentifierRep.h \
+ bridge/NP_jsobject.h \
+ bridge/npruntime.h \
+ bridge/qt/qt_class.h \
+ bridge/qt/qt_instance.h \
+ bridge/qt/qt_runtime.h \
+ bridge/runtime_array.h \
+ bridge/runtime.h \
+ bridge/runtime_method.h \
+ bridge/runtime_object.h \
+ bridge/runtime_root.h \
+ css/CSSBorderImageValue.h \
+ css/CSSCanvasValue.h \
+ css/CSSCharsetRule.h \
+ css/CSSComputedStyleDeclaration.h \
+ css/CSSCursorImageValue.h \
+ css/CSSFontFace.h \
+ css/CSSFontFaceRule.h \
+ css/CSSFontFaceSource.h \
+ css/CSSFontFaceSrcValue.h \
+ css/CSSFontSelector.h \
+ css/CSSFunctionValue.h \
+ css/CSSGradientValue.h \
+ css/CSSHelper.h \
+ css/CSSImageGeneratorValue.h \
+ css/CSSImageValue.h \
+ css/CSSImportRule.h \
+ css/CSSInheritedValue.h \
+ css/CSSInitialValue.h \
+ css/CSSMediaRule.h \
+ css/CSSMutableStyleDeclaration.h \
+ css/CSSPageRule.h \
+ css/CSSParser.h \
+ css/CSSParserValues.h \
+ css/CSSPrimitiveValue.h \
+ css/CSSProperty.h \
+ css/CSSPropertyLonghand.h \
+ css/CSSReflectValue.h \
+ css/CSSRule.h \
+ css/CSSRuleList.h \
+ css/CSSSegmentedFontFace.h \
+ css/CSSSelector.h \
+ css/CSSSelectorList.h \
+ css/CSSStyleDeclaration.h \
+ css/CSSStyleRule.h \
+ css/CSSStyleSelector.h \
+ css/CSSStyleSheet.h \
+ css/CSSTimingFunctionValue.h \
+ css/CSSUnicodeRangeValue.h \
+ css/CSSValueList.h \
+ css/CSSVariableDependentValue.h \
+ css/CSSVariablesDeclaration.h \
+ css/CSSVariablesRule.h \
+ css/FontFamilyValue.h \
+ css/FontValue.h \
+ css/MediaFeatureNames.h \
+ css/MediaList.h \
+ css/MediaQueryEvaluator.h \
+ css/MediaQueryExp.h \
+ css/MediaQuery.h \
+ css/RGBColor.h \
+ css/ShadowValue.h \
+ css/StyleBase.h \
+ css/StyleList.h \
+ css/StyleSheet.h \
+ css/StyleSheetList.h \
+ css/WebKitCSSKeyframeRule.h \
+ css/WebKitCSSKeyframesRule.h \
+ css/WebKitCSSMatrix.h \
+ css/WebKitCSSTransformValue.h \
+ dom/ActiveDOMObject.h \
+ dom/Attr.h \
+ dom/Attribute.h \
+ dom/BeforeTextInsertedEvent.h \
+ dom/BeforeUnloadEvent.h \
+ dom/CDATASection.h \
+ dom/CharacterData.h \
+ dom/CheckedRadioButtons.h \
+ dom/ChildNodeList.h \
+ dom/ClassNames.h \
+ dom/ClassNodeList.h \
+ dom/ClientRect.h \
+ dom/ClientRectList.h \
+ dom/ClipboardEvent.h \
+ dom/Clipboard.h \
+ dom/Comment.h \
+ dom/ContainerNode.h \
+ dom/CSSMappedAttributeDeclaration.h \
+ dom/default/PlatformMessagePortChannel.h \
+ dom/DocumentFragment.h \
+ dom/Document.h \
+ dom/DocumentType.h \
+ dom/DOMImplementation.h \
+ dom/DynamicNodeList.h \
+ dom/EditingText.h \
+ dom/Element.h \
+ dom/Entity.h \
+ dom/EntityReference.h \
+ dom/Event.h \
+ dom/EventNames.h \
+ dom/EventTarget.h \
+ dom/ExceptionBase.h \
+ dom/ExceptionCode.h \
+ dom/InputElement.h \
+ dom/KeyboardEvent.h \
+ dom/MappedAttribute.h \
+ dom/MessageChannel.h \
+ dom/MessageEvent.h \
+ dom/MessagePortChannel.h \
+ dom/MessagePort.h \
+ dom/MouseEvent.h \
+ dom/MouseRelatedEvent.h \
+ dom/MutationEvent.h \
+ dom/NamedAttrMap.h \
+ dom/NamedMappedAttrMap.h \
+ dom/NameNodeList.h \
+ dom/NodeFilterCondition.h \
+ dom/NodeFilter.h \
+ dom/Node.h \
+ dom/NodeIterator.h \
+ dom/Notation.h \
+ dom/OptionElement.h \
+ dom/OptionGroupElement.h \
+ dom/OverflowEvent.h \
+ dom/Position.h \
+ dom/PositionIterator.h \
+ dom/ProcessingInstruction.h \
+ dom/ProgressEvent.h \
+ dom/QualifiedName.h \
+ dom/Range.h \
+ dom/RegisteredEventListener.h \
+ dom/ScriptElement.h \
+ dom/ScriptExecutionContext.h \
+ dom/SelectElement.h \
+ dom/SelectorNodeList.h \
+ dom/StaticNodeList.h \
+ dom/StyledElement.h \
+ dom/StyleElement.h \
+ dom/TagNodeList.h \
+ dom/TextEvent.h \
+ dom/Text.h \
+ dom/Traversal.h \
+ dom/TreeWalker.h \
+ dom/UIEvent.h \
+ dom/UIEventWithKeyState.h \
+ dom/WebKitAnimationEvent.h \
+ dom/WebKitTransitionEvent.h \
+ dom/WheelEvent.h \
+ dom/XMLTokenizer.h \
+ dom/XMLTokenizerScope.h \
+ editing/AppendNodeCommand.h \
+ editing/ApplyStyleCommand.h \
+ editing/BreakBlockquoteCommand.h \
+ editing/CompositeEditCommand.h \
+ editing/CreateLinkCommand.h \
+ editing/DeleteButtonController.h \
+ editing/DeleteButton.h \
+ editing/DeleteFromTextNodeCommand.h \
+ editing/DeleteSelectionCommand.h \
+ editing/EditCommand.h \
+ editing/Editor.h \
+ editing/FormatBlockCommand.h \
+ editing/htmlediting.h \
+ editing/HTMLInterchange.h \
+ editing/IndentOutdentCommand.h \
+ editing/InsertIntoTextNodeCommand.h \
+ editing/InsertLineBreakCommand.h \
+ editing/InsertListCommand.h \
+ editing/InsertNodeBeforeCommand.h \
+ editing/InsertParagraphSeparatorCommand.h \
+ editing/InsertTextCommand.h \
+ editing/JoinTextNodesCommand.h \
+ editing/markup.h \
+ editing/MergeIdenticalElementsCommand.h \
+ editing/ModifySelectionListLevel.h \
+ editing/MoveSelectionCommand.h \
+ editing/RemoveCSSPropertyCommand.h \
+ editing/RemoveFormatCommand.h \
+ editing/RemoveNodeCommand.h \
+ editing/RemoveNodePreservingChildrenCommand.h \
+ editing/ReplaceNodeWithSpanCommand.h \
+ editing/ReplaceSelectionCommand.h \
+ editing/SelectionController.h \
+ editing/SetNodeAttributeCommand.h \
+ editing/SmartReplace.h \
+ editing/SplitElementCommand.h \
+ editing/SplitTextNodeCommand.h \
+ editing/SplitTextNodeContainingElementCommand.h \
+ editing/TextIterator.h \
+ editing/TypingCommand.h \
+ editing/UnlinkCommand.h \
+ editing/VisiblePosition.h \
+ editing/VisibleSelection.h \
+ editing/visible_units.h \
+ editing/WrapContentsInDummySpanCommand.h \
+ history/BackForwardList.h \
+ history/CachedFrame.h \
+ history/CachedPage.h \
+ history/HistoryItem.h \
+ history/PageCache.h \
+ html/CanvasGradient.h \
+ html/CanvasPattern.h \
+ html/CanvasPixelArray.h \
+ html/CanvasRenderingContext2D.h \
+ html/CanvasStyle.h \
+ html/CollectionCache.h \
+ html/DataGridColumn.h \
+ html/DataGridColumnList.h \
+ html/DOMDataGridDataSource.h \
+ html/File.h \
+ html/FileList.h \
+ html/FormDataList.h \
+ html/HTMLAnchorElement.h \
+ html/HTMLAppletElement.h \
+ html/HTMLAreaElement.h \
+ html/HTMLAudioElement.h \
+ html/HTMLBaseElement.h \
+ html/HTMLBaseFontElement.h \
+ html/HTMLBlockquoteElement.h \
+ html/HTMLBodyElement.h \
+ html/HTMLBRElement.h \
+ html/HTMLButtonElement.h \
+ html/HTMLCanvasElement.h \
+ html/HTMLCollection.h \
+ html/HTMLDataGridCellElement.h \
+ html/HTMLDataGridColElement.h \
+ html/HTMLDataGridElement.h \
+ html/HTMLDataGridRowElement.h \
+ html/HTMLDirectoryElement.h \
+ html/HTMLDivElement.h \
+ html/HTMLDListElement.h \
+ html/HTMLDocument.h \
+ html/HTMLElement.h \
+ html/HTMLEmbedElement.h \
+ html/HTMLFieldSetElement.h \
+ html/HTMLFontElement.h \
+ html/HTMLFormCollection.h \
+ html/HTMLFormControlElement.h \
+ html/HTMLFormElement.h \
+ html/HTMLFrameElementBase.h \
+ html/HTMLFrameElement.h \
+ html/HTMLFrameOwnerElement.h \
+ html/HTMLFrameSetElement.h \
+ html/HTMLHeadElement.h \
+ html/HTMLHeadingElement.h \
+ html/HTMLHRElement.h \
+ html/HTMLHtmlElement.h \
+ html/HTMLIFrameElement.h \
+ html/HTMLImageElement.h \
+ html/HTMLImageLoader.h \
+ html/HTMLInputElement.h \
+ html/HTMLIsIndexElement.h \
+ html/HTMLKeygenElement.h \
+ html/HTMLLabelElement.h \
+ html/HTMLLegendElement.h \
+ html/HTMLLIElement.h \
+ html/HTMLLinkElement.h \
+ html/HTMLMapElement.h \
+ html/HTMLMarqueeElement.h \
+ html/HTMLMediaElement.h \
+ html/HTMLMenuElement.h \
+ html/HTMLMetaElement.h \
+ html/HTMLModElement.h \
+ html/HTMLNameCollection.h \
+ html/HTMLNoScriptElement.h \
+ html/HTMLObjectElement.h \
+ html/HTMLOListElement.h \
+ html/HTMLOptGroupElement.h \
+ html/HTMLOptionElement.h \
+ html/HTMLOptionsCollection.h \
+ html/HTMLParagraphElement.h \
+ html/HTMLParamElement.h \
+ html/HTMLParserErrorCodes.h \
+ html/HTMLParser.h \
+ html/HTMLPlugInElement.h \
+ html/HTMLPlugInImageElement.h \
+ html/HTMLPreElement.h \
+ html/HTMLQuoteElement.h \
+ html/HTMLScriptElement.h \
+ html/HTMLSelectElement.h \
+ html/HTMLSourceElement.h \
+ html/HTMLStyleElement.h \
+ html/HTMLTableCaptionElement.h \
+ html/HTMLTableCellElement.h \
+ html/HTMLTableColElement.h \
+ html/HTMLTableElement.h \
+ html/HTMLTablePartElement.h \
+ html/HTMLTableRowElement.h \
+ html/HTMLTableRowsCollection.h \
+ html/HTMLTableSectionElement.h \
+ html/HTMLTextAreaElement.h \
+ html/HTMLTitleElement.h \
+ html/HTMLTokenizer.h \
+ html/HTMLUListElement.h \
+ html/HTMLVideoElement.h \
+ html/HTMLViewSourceDocument.h \
+ html/ImageData.h \
+ html/PreloadScanner.h \
+ html/TimeRanges.h \
+ html/ValidityState.h \
+ inspector/ConsoleMessage.h \
+ inspector/InspectorBackend.h \
+ inspector/InspectorController.h \
+ inspector/InspectorDatabaseResource.h \
+ inspector/InspectorDOMStorageResource.h \
+ inspector/InspectorFrontend.h \
+ inspector/InspectorJSONObject.h \
+ inspector/InspectorResource.h \
+ inspector/JavaScriptCallFrame.h \
+ inspector/JavaScriptDebugServer.h \
+ inspector/JavaScriptProfile.h \
+ inspector/JavaScriptProfileNode.h \
+ loader/appcache/ApplicationCacheGroup.h \
+ loader/appcache/ApplicationCache.h \
+ loader/appcache/ApplicationCacheResource.h \
+ loader/appcache/ApplicationCacheStorage.h \
+ loader/appcache/DOMApplicationCache.h \
+ loader/appcache/ManifestParser.h \
+ loader/archive/ArchiveFactory.h \
+ loader/archive/ArchiveResourceCollection.h \
+ loader/archive/ArchiveResource.h \
+ loader/CachedCSSStyleSheet.h \
+ loader/CachedFont.h \
+ loader/CachedImage.h \
+ loader/CachedResourceClientWalker.h \
+ loader/CachedResource.h \
+ loader/CachedResourceHandle.h \
+ loader/CachedScript.h \
+ loader/CachedXSLStyleSheet.h \
+ loader/Cache.h \
+ loader/CrossOriginAccessControl.h \
+ loader/CrossOriginPreflightResultCache.h \
+ loader/DocLoader.h \
+ loader/DocumentLoader.h \
+ loader/DocumentThreadableLoader.h \
+ loader/FormState.h \
+ loader/FrameLoader.h \
+ loader/FTPDirectoryDocument.h \
+ loader/FTPDirectoryParser.h \
+ loader/icon/IconDatabase.h \
+ loader/icon/IconLoader.h \
+ loader/icon/IconRecord.h \
+ loader/icon/PageURLRecord.h \
+ loader/ImageDocument.h \
+ loader/ImageLoader.h \
+ loader/loader.h \
+ loader/MainResourceLoader.h \
+ loader/MediaDocument.h \
+ loader/NavigationAction.h \
+ loader/NetscapePlugInStreamLoader.h \
+ loader/PlaceholderDocument.h \
+ loader/PluginDocument.h \
+ loader/ProgressTracker.h \
+ loader/Request.h \
+ loader/ResourceLoader.h \
+ loader/SubresourceLoader.h \
+ loader/TextDocument.h \
+ loader/TextResourceDecoder.h \
+ loader/ThreadableLoader.h \
+ loader/UserStyleSheetLoader.h \
+ loader/WorkerThreadableLoader.h \
+ page/animation/AnimationBase.h \
+ page/animation/AnimationController.h \
+ page/animation/CompositeAnimation.h \
+ page/animation/ImplicitAnimation.h \
+ page/animation/KeyframeAnimation.h \
+ page/BarInfo.h \
+ page/Chrome.h \
+ page/Console.h \
+ page/ContextMenuController.h \
+ page/Coordinates.h \
+ page/DOMSelection.h \
+ page/DOMTimer.h \
+ page/DOMWindow.h \
+ page/DragController.h \
+ page/EventHandler.h \
+ page/FocusController.h \
+ page/Frame.h \
+ page/FrameTree.h \
+ page/FrameView.h \
+ page/Geolocation.h \
+ page/Geoposition.h \
+ page/History.h \
+ page/Location.h \
+ page/MouseEventWithHitTestResults.h \
+ page/NavigatorBase.h \
+ page/Navigator.h \
+ page/PageGroup.h \
+ page/PageGroupLoadDeferrer.h \
+ page/Page.h \
+ page/PrintContext.h \
+ page/Screen.h \
+ page/SecurityOrigin.h \
+ page/Settings.h \
+ page/WindowFeatures.h \
+ page/WorkerNavigator.h \
+ page/XSSAuditor.h \
+ platform/animation/Animation.h \
+ platform/animation/AnimationList.h \
+ platform/Arena.h \
+ platform/ContentType.h \
+ platform/ContextMenu.h \
+ platform/CrossThreadCopier.h \
+ platform/DeprecatedPtrListImpl.h \
+ platform/DragData.h \
+ platform/DragImage.h \
+ platform/FileChooser.h \
+ platform/GeolocationService.h \
+ platform/graphics/BitmapImage.h \
+ platform/graphics/Color.h \
+ platform/graphics/filters/FEBlend.h \
+ platform/graphics/filters/FEColorMatrix.h \
+ platform/graphics/filters/FEComponentTransfer.h \
+ platform/graphics/filters/FEComposite.h \
+ platform/graphics/filters/FilterEffect.h \
+ platform/graphics/filters/SourceAlpha.h \
+ platform/graphics/filters/SourceGraphic.h \
+ platform/graphics/FloatPoint3D.h \
+ platform/graphics/FloatPoint.h \
+ platform/graphics/FloatQuad.h \
+ platform/graphics/FloatRect.h \
+ platform/graphics/FloatSize.h \
+ platform/graphics/FontData.h \
+ platform/graphics/FontDescription.h \
+ platform/graphics/FontFamily.h \
+ platform/graphics/Font.h \
+ platform/graphics/GeneratedImage.h \
+ platform/graphics/Gradient.h \
+ platform/graphics/GraphicsContext.h \
+ platform/graphics/GraphicsTypes.h \
+ platform/graphics/Image.h \
+ platform/graphics/IntRect.h \
+ platform/graphics/MediaPlayer.h \
+ platform/graphics/Path.h \
+ platform/graphics/PathTraversalState.h \
+ platform/graphics/Pattern.h \
+ platform/graphics/Pen.h \
+ platform/graphics/qt/FontCustomPlatformData.h \
+ platform/graphics/qt/ImageDecoderQt.h \
+ platform/graphics/qt/StillImageQt.h \
+ platform/graphics/SegmentedFontData.h \
+ platform/graphics/SimpleFontData.h \
+ platform/graphics/transforms/Matrix3DTransformOperation.h \
+ platform/graphics/transforms/MatrixTransformOperation.h \
+ platform/graphics/transforms/PerspectiveTransformOperation.h \
+ platform/graphics/transforms/RotateTransformOperation.h \
+ platform/graphics/transforms/ScaleTransformOperation.h \
+ platform/graphics/transforms/SkewTransformOperation.h \
+ platform/graphics/transforms/TransformationMatrix.h \
+ platform/graphics/transforms/TransformOperations.h \
+ platform/graphics/transforms/TranslateTransformOperation.h \
+ platform/KURL.h \
+ platform/Length.h \
+ platform/LinkHash.h \
+ platform/Logging.h \
+ platform/MIMETypeRegistry.h \
+ platform/network/AuthenticationChallengeBase.h \
+ platform/network/Credential.h \
+ platform/network/FormDataBuilder.h \
+ platform/network/FormData.h \
+ platform/network/HTTPHeaderMap.h \
+ platform/network/HTTPParsers.h \
+ platform/network/NetworkStateNotifier.h \
+ platform/network/ProtectionSpace.h \
+ platform/network/qt/QNetworkReplyHandler.h \
+ platform/network/ResourceErrorBase.h \
+ platform/network/ResourceHandle.h \
+ platform/network/ResourceRequestBase.h \
+ platform/network/ResourceResponseBase.h \
+ platform/qt/ClipboardQt.h \
+ platform/qt/QWebPopup.h \
+ platform/qt/RenderThemeQt.h \
+ platform/qt/ScrollbarThemeQt.h \
+ platform/Scrollbar.h \
+ platform/ScrollbarThemeComposite.h \
+ platform/ScrollView.h \
+ platform/SharedBuffer.h \
+ platform/sql/SQLiteDatabase.h \
+ platform/sql/SQLiteFileSystem.h \
+ platform/sql/SQLiteStatement.h \
+ platform/sql/SQLiteTransaction.h \
+ platform/sql/SQLValue.h \
+ platform/text/AtomicString.h \
+ platform/text/Base64.h \
+ platform/text/BidiContext.h \
+ platform/text/CString.h \
+ platform/text/qt/TextCodecQt.h \
+ platform/text/RegularExpression.h \
+ platform/text/SegmentedString.h \
+ platform/text/StringBuilder.h \
+ platform/text/StringImpl.h \
+ platform/text/TextCodec.h \
+ platform/text/TextCodecLatin1.h \
+ platform/text/TextCodecUserDefined.h \
+ platform/text/TextCodecUTF16.h \
+ platform/text/TextEncoding.h \
+ platform/text/TextEncodingRegistry.h \
+ platform/text/TextStream.h \
+ platform/text/UnicodeRange.h \
+ platform/ThreadGlobalData.h \
+ platform/ThreadTimers.h \
+ platform/Timer.h \
+ platform/Widget.h \
+ plugins/MimeTypeArray.h \
+ plugins/MimeType.h \
+ plugins/PluginArray.h \
+ plugins/PluginDatabase.h \
+ plugins/PluginData.h \
+ plugins/PluginDebug.h \
+ plugins/Plugin.h \
+ plugins/PluginInfoStore.h \
+ plugins/PluginMainThreadScheduler.h \
+ plugins/PluginPackage.h \
+ plugins/PluginStream.h \
+ plugins/PluginView.h \
+ plugins/win/PluginMessageThrottlerWin.h \
+ rendering/AutoTableLayout.h \
+ rendering/break_lines.h \
+ rendering/CounterNode.h \
+ rendering/EllipsisBox.h \
+ rendering/FixedTableLayout.h \
+ rendering/HitTestResult.h \
+ rendering/InlineBox.h \
+ rendering/InlineFlowBox.h \
+ rendering/InlineTextBox.h \
+ rendering/LayoutState.h \
+ rendering/MediaControlElements.h \
+ rendering/PointerEventsHitRules.h \
+ rendering/RenderApplet.h \
+ rendering/RenderArena.h \
+ rendering/RenderBlock.h \
+ rendering/RenderBox.h \
+ rendering/RenderBoxModelObject.h \
+ rendering/RenderBR.h \
+ rendering/RenderButton.h \
+ rendering/RenderCounter.h \
+ rendering/RenderDataGrid.h \
+ rendering/RenderFieldset.h \
+ rendering/RenderFileUploadControl.h \
+ rendering/RenderFlexibleBox.h \
+ rendering/RenderForeignObject.h \
+ rendering/RenderFrame.h \
+ rendering/RenderFrameSet.h \
+ rendering/RenderHTMLCanvas.h \
+ rendering/RenderImageGeneratedContent.h \
+ rendering/RenderImage.h \
+ rendering/RenderInline.h \
+ rendering/RenderLayer.h \
+ rendering/RenderLineBoxList.h \
+ rendering/RenderListBox.h \
+ rendering/RenderListItem.h \
+ rendering/RenderListMarker.h \
+ rendering/RenderMarquee.h \
+ rendering/RenderMedia.h \
+ rendering/RenderMenuList.h \
+ rendering/RenderObjectChildList.h \
+ rendering/RenderObject.h \
+ rendering/RenderPart.h \
+ rendering/RenderPartObject.h \
+ rendering/RenderPath.h \
+ rendering/RenderReplaced.h \
+ rendering/RenderReplica.h \
+ rendering/RenderScrollbar.h \
+ rendering/RenderScrollbarPart.h \
+ rendering/RenderScrollbarTheme.h \
+ rendering/RenderSlider.h \
+ rendering/RenderSVGBlock.h \
+ rendering/RenderSVGContainer.h \
+ rendering/RenderSVGGradientStop.h \
+ rendering/RenderSVGHiddenContainer.h \
+ rendering/RenderSVGImage.h \
+ rendering/RenderSVGInline.h \
+ rendering/RenderSVGInlineText.h \
+ rendering/RenderSVGModelObject.h \
+ rendering/RenderSVGRoot.h \
+ rendering/RenderSVGText.h \
+ rendering/RenderSVGTextPath.h \
+ rendering/RenderSVGTransformableContainer.h \
+ rendering/RenderSVGTSpan.h \
+ rendering/RenderSVGViewportContainer.h \
+ rendering/RenderTableCell.h \
+ rendering/RenderTableCol.h \
+ rendering/RenderTable.h \
+ rendering/RenderTableRow.h \
+ rendering/RenderTableSection.h \
+ rendering/RenderTextControl.h \
+ rendering/RenderTextControlMultiLine.h \
+ rendering/RenderTextControlSingleLine.h \
+ rendering/RenderTextFragment.h \
+ rendering/RenderText.h \
+ rendering/RenderTheme.h \
+ rendering/RenderTreeAsText.h \
+ rendering/RenderVideo.h \
+ rendering/RenderView.h \
+ rendering/RenderWidget.h \
+ rendering/RenderWordBreak.h \
+ rendering/RootInlineBox.h \
+ rendering/ScrollBehavior.h \
+ rendering/style/BindingURI.h \
+ rendering/style/ContentData.h \
+ rendering/style/CounterDirectives.h \
+ rendering/style/CursorData.h \
+ rendering/style/CursorList.h \
+ rendering/style/FillLayer.h \
+ rendering/style/KeyframeList.h \
+ rendering/style/NinePieceImage.h \
+ rendering/style/RenderStyle.h \
+ rendering/style/ShadowData.h \
+ rendering/style/StyleBackgroundData.h \
+ rendering/style/StyleBoxData.h \
+ rendering/style/StyleCachedImage.h \
+ rendering/style/StyleFlexibleBoxData.h \
+ rendering/style/StyleGeneratedImage.h \
+ rendering/style/StyleInheritedData.h \
+ rendering/style/StyleMarqueeData.h \
+ rendering/style/StyleMultiColData.h \
+ rendering/style/StyleRareInheritedData.h \
+ rendering/style/StyleRareNonInheritedData.h \
+ rendering/style/StyleReflection.h \
+ rendering/style/StyleSurroundData.h \
+ rendering/style/StyleTransformData.h \
+ rendering/style/StyleVisualData.h \
+ rendering/style/SVGRenderStyleDefs.h \
+ rendering/style/SVGRenderStyle.h \
+ rendering/SVGCharacterLayoutInfo.h \
+ rendering/SVGInlineFlowBox.h \
+ rendering/SVGInlineTextBox.h \
+ rendering/SVGRenderSupport.h \
+ rendering/SVGRenderTreeAsText.h \
+ rendering/SVGRootInlineBox.h \
+ rendering/TextControlInnerElements.h \
+ rendering/TransformState.h \
+ svg/animation/SMILTimeContainer.h \
+ svg/animation/SMILTime.h \
+ svg/animation/SVGSMILElement.h \
+ svg/ColorDistance.h \
+ svg/graphics/filters/SVGFEConvolveMatrix.h \
+ svg/graphics/filters/SVGFEDiffuseLighting.h \
+ svg/graphics/filters/SVGFEDisplacementMap.h \
+ svg/graphics/filters/SVGFEFlood.h \
+ svg/graphics/filters/SVGFEGaussianBlur.h \
+ svg/graphics/filters/SVGFEImage.h \
+ svg/graphics/filters/SVGFEMerge.h \
+ svg/graphics/filters/SVGFEMorphology.h \
+ svg/graphics/filters/SVGFEOffset.h \
+ svg/graphics/filters/SVGFESpecularLighting.h \
+ svg/graphics/filters/SVGFETile.h \
+ svg/graphics/filters/SVGFETurbulence.h \
+ svg/graphics/filters/SVGFilterBuilder.h \
+ svg/graphics/filters/SVGFilter.h \
+ svg/graphics/filters/SVGLightSource.h \
+ svg/graphics/SVGImage.h \
+ svg/graphics/SVGPaintServerGradient.h \
+ svg/graphics/SVGPaintServer.h \
+ svg/graphics/SVGPaintServerLinearGradient.h \
+ svg/graphics/SVGPaintServerPattern.h \
+ svg/graphics/SVGPaintServerRadialGradient.h \
+ svg/graphics/SVGPaintServerSolid.h \
+ svg/graphics/SVGResourceClipper.h \
+ svg/graphics/SVGResourceFilter.h \
+ svg/graphics/SVGResource.h \
+ svg/graphics/SVGResourceMarker.h \
+ svg/graphics/SVGResourceMasker.h \
+ svg/SVGAElement.h \
+ svg/SVGAltGlyphElement.h \
+ svg/SVGAngle.h \
+ svg/SVGAnimateColorElement.h \
+ svg/SVGAnimatedPathData.h \
+ svg/SVGAnimatedPoints.h \
+ svg/SVGAnimateElement.h \
+ svg/SVGAnimateMotionElement.h \
+ svg/SVGAnimateTransformElement.h \
+ svg/SVGAnimationElement.h \
+ svg/SVGCircleElement.h \
+ svg/SVGClipPathElement.h \
+ svg/SVGColor.h \
+ svg/SVGComponentTransferFunctionElement.h \
+ svg/SVGCursorElement.h \
+ svg/SVGDefinitionSrcElement.h \
+ svg/SVGDefsElement.h \
+ svg/SVGDescElement.h \
+ svg/SVGDocumentExtensions.h \
+ svg/SVGDocument.h \
+ svg/SVGElement.h \
+ svg/SVGElementInstance.h \
+ svg/SVGElementInstanceList.h \
+ svg/SVGEllipseElement.h \
+ svg/SVGExternalResourcesRequired.h \
+ svg/SVGFEBlendElement.h \
+ svg/SVGFEColorMatrixElement.h \
+ svg/SVGFEComponentTransferElement.h \
+ svg/SVGFECompositeElement.h \
+ svg/SVGFEDiffuseLightingElement.h \
+ svg/SVGFEDisplacementMapElement.h \
+ svg/SVGFEDistantLightElement.h \
+ svg/SVGFEFloodElement.h \
+ svg/SVGFEFuncAElement.h \
+ svg/SVGFEFuncBElement.h \
+ svg/SVGFEFuncGElement.h \
+ svg/SVGFEFuncRElement.h \
+ svg/SVGFEGaussianBlurElement.h \
+ svg/SVGFEImageElement.h \
+ svg/SVGFELightElement.h \
+ svg/SVGFEMergeElement.h \
+ svg/SVGFEMergeNodeElement.h \
+ svg/SVGFEOffsetElement.h \
+ svg/SVGFEPointLightElement.h \
+ svg/SVGFESpecularLightingElement.h \
+ svg/SVGFESpotLightElement.h \
+ svg/SVGFETileElement.h \
+ svg/SVGFETurbulenceElement.h \
+ svg/SVGFilterElement.h \
+ svg/SVGFilterPrimitiveStandardAttributes.h \
+ svg/SVGFitToViewBox.h \
+ svg/SVGFontData.h \
+ svg/SVGFontElement.h \
+ svg/SVGFontFaceElement.h \
+ svg/SVGFontFaceFormatElement.h \
+ svg/SVGFontFaceNameElement.h \
+ svg/SVGFontFaceSrcElement.h \
+ svg/SVGFontFaceUriElement.h \
+ svg/SVGForeignObjectElement.h \
+ svg/SVGGElement.h \
+ svg/SVGGlyphElement.h \
+ svg/SVGGradientElement.h \
+ svg/SVGHKernElement.h \
+ svg/SVGImageElement.h \
+ svg/SVGImageLoader.h \
+ svg/SVGLangSpace.h \
+ svg/SVGLength.h \
+ svg/SVGLengthList.h \
+ svg/SVGLinearGradientElement.h \
+ svg/SVGLineElement.h \
+ svg/SVGLocatable.h \
+ svg/SVGMarkerElement.h \
+ svg/SVGMaskElement.h \
+ svg/SVGMetadataElement.h \
+ svg/SVGMissingGlyphElement.h \
+ svg/SVGMPathElement.h \
+ svg/SVGNumberList.h \
+ svg/SVGPaint.h \
+ svg/SVGParserUtilities.h \
+ svg/SVGPathElement.h \
+ svg/SVGPathSegArc.h \
+ svg/SVGPathSegClosePath.h \
+ svg/SVGPathSegCurvetoCubic.h \
+ svg/SVGPathSegCurvetoCubicSmooth.h \
+ svg/SVGPathSegCurvetoQuadratic.h \
+ svg/SVGPathSegCurvetoQuadraticSmooth.h \
+ svg/SVGPathSegLineto.h \
+ svg/SVGPathSegLinetoHorizontal.h \
+ svg/SVGPathSegLinetoVertical.h \
+ svg/SVGPathSegList.h \
+ svg/SVGPathSegMoveto.h \
+ svg/SVGPatternElement.h \
+ svg/SVGPointList.h \
+ svg/SVGPolyElement.h \
+ svg/SVGPolygonElement.h \
+ svg/SVGPolylineElement.h \
+ svg/SVGPreserveAspectRatio.h \
+ svg/SVGRadialGradientElement.h \
+ svg/SVGRectElement.h \
+ svg/SVGScriptElement.h \
+ svg/SVGSetElement.h \
+ svg/SVGStopElement.h \
+ svg/SVGStringList.h \
+ svg/SVGStylable.h \
+ svg/SVGStyledElement.h \
+ svg/SVGStyledLocatableElement.h \
+ svg/SVGStyledTransformableElement.h \
+ svg/SVGStyleElement.h \
+ svg/SVGSVGElement.h \
+ svg/SVGSwitchElement.h \
+ svg/SVGSymbolElement.h \
+ svg/SVGTests.h \
+ svg/SVGTextContentElement.h \
+ svg/SVGTextElement.h \
+ svg/SVGTextPathElement.h \
+ svg/SVGTextPositioningElement.h \
+ svg/SVGTitleElement.h \
+ svg/SVGTransformable.h \
+ svg/SVGTransformDistance.h \
+ svg/SVGTransform.h \
+ svg/SVGTransformList.h \
+ svg/SVGTRefElement.h \
+ svg/SVGTSpanElement.h \
+ svg/SVGURIReference.h \
+ svg/SVGUseElement.h \
+ svg/SVGViewElement.h \
+ svg/SVGViewSpec.h \
+ svg/SVGZoomAndPan.h \
+ svg/SVGZoomEvent.h \
+ wml/WMLAccessElement.h \
+ wml/WMLAElement.h \
+ wml/WMLAnchorElement.h \
+ wml/WMLBRElement.h \
+ wml/WMLCardElement.h \
+ wml/WMLDocument.h \
+ wml/WMLDoElement.h \
+ wml/WMLElement.h \
+ wml/WMLErrorHandling.h \
+ wml/WMLEventHandlingElement.h \
+ wml/WMLFieldSetElement.h \
+ wml/WMLFormControlElement.h \
+ wml/WMLGoElement.h \
+ wml/WMLImageElement.h \
+ wml/WMLImageLoader.h \
+ wml/WMLInputElement.h \
+ wml/WMLInsertedLegendElement.h \
+ wml/WMLIntrinsicEvent.h \
+ wml/WMLIntrinsicEventHandler.h \
+ wml/WMLMetaElement.h \
+ wml/WMLNoopElement.h \
+ wml/WMLOnEventElement.h \
+ wml/WMLOptGroupElement.h \
+ wml/WMLOptionElement.h \
+ wml/WMLPageState.h \
+ wml/WMLPElement.h \
+ wml/WMLPostfieldElement.h \
+ wml/WMLPrevElement.h \
+ wml/WMLRefreshElement.h \
+ wml/WMLSelectElement.h \
+ wml/WMLSetvarElement.h \
+ wml/WMLTableElement.h \
+ wml/WMLTaskElement.h \
+ wml/WMLTemplateElement.h \
+ wml/WMLTimerElement.h \
+ wml/WMLVariables.h \
+ workers/AbstractWorker.h \
+ workers/SharedWorker.h \
+ workers/WorkerContext.h \
+ workers/Worker.h \
+ workers/WorkerLocation.h \
+ workers/WorkerMessagingProxy.h \
+ workers/WorkerRunLoop.h \
+ workers/WorkerScriptLoader.h \
+ workers/WorkerThread.h \
+ xml/DOMParser.h \
+ xml/NativeXPathNSResolver.h \
+ xml/XMLHttpRequest.h \
+ xml/XMLHttpRequestUpload.h \
+ xml/XMLSerializer.h \
+ xml/XPathEvaluator.h \
+ xml/XPathExpression.h \
+ xml/XPathExpressionNode.h \
+ xml/XPathFunctions.h \
+ xml/XPathNamespace.h \
+ xml/XPathNodeSet.h \
+ xml/XPathNSResolver.h \
+ xml/XPathParser.h \
+ xml/XPathPath.h \
+ xml/XPathPredicate.h \
+ xml/XPathResult.h \
+ xml/XPathStep.h \
+ xml/XPathUtil.h \
+ xml/XPathValue.h \
+ xml/XPathVariableReference.h \
+ xml/XSLImportRule.h \
+ xml/XSLStyleSheet.h \
+ xml/XSLTExtensions.h \
+ xml/XSLTProcessor.h \
+ xml/XSLTUnicodeSort.h \
$$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
- $$PWD/platform/network/qt/QNetworkReplyHandler.h \
- $$PWD/rendering/style/CursorData.h \
- $$PWD/rendering/style/CursorList.h \
- $$PWD/rendering/style/StyleInheritedData.h \
- $$PWD/rendering/style/StyleRareInheritedData.h \
- $$PWD/rendering/style/StyleRareNonInheritedData.h \
- $$PWD/rendering/style/StyleReflection.h \
- $$PWD/../WebKit/qt/Api/qwebsecurityorigin.h \
- $$PWD/../WebKit/qt/Api/qwebdatabase.h
-
SOURCES += \
accessibility/qt/AccessibilityObjectQt.cpp \
@@ -1293,35 +2240,43 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
plugins/PluginViewNone.cpp
}
+contains(DEFINES, ENABLE_CHANNEL_MESSAGING=1) {
+ FEATURE_DEFINES_JAVASCRIPT += ENABLE_CHANNEL_MESSAGING=1
+}
+
contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=0) {
DASHBOARDSUPPORTCSSPROPERTIES -= $$PWD/css/DashboardSupportCSSPropertyNames.in
}
+contains(DEFINES, ENABLE_DATAGRID=1) {
+ FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATAGRID=1
+}
+
contains(DEFINES, ENABLE_SQLITE=1) {
- # somewhat copied from src/plugins/sqldrivers/sqlite/sqlite.pro
- CONFIG(QTDIR_build):system-sqlite {
- LIBS *= $$QT_LFLAGS_SQLITE
- QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
- } else {
- exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
- # we have source - use it
- CONFIG(release, debug|release):DEFINES *= NDEBUG
- DEFINES += SQLITE_CORE SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE
- contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
- DEFINES+=SQLITE_THREADSAFE=0
- }
+ !system-sqlite:exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
+ # Build sqlite3 into WebCore from source
+ # somewhat copied from $$QT_SOURCE_TREE/src/plugins/sqldrivers/sqlite/sqlite.pro
INCLUDEPATH += $${SQLITE3SRCDIR}
SOURCES += $${SQLITE3SRCDIR}/sqlite3.c
+ DEFINES += SQLITE_CORE SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE
+ CONFIG(release, debug|release): DEFINES *= NDEBUG
+ contains(DEFINES, ENABLE_SINGLE_THREADED=1): DEFINES += SQLITE_THREADSAFE=0
+ } else {
+ # Use sqlite3 from the underlying OS
+ CONFIG(QTDIR_build) {
+ QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
+ LIBS *= $$QT_LFLAGS_SQLITE
} else {
- # fall back to platform library
- INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/sqlite/
- LIBS += -lsqlite3
+ INCLUDEPATH += $${SQLITE3SRCDIR}
+ symbian: LIBS += -lsqlite3.lib
+ else: LIBS += -lsqlite3
}
}
SOURCES += \
platform/sql/SQLiteAuthorizer.cpp \
platform/sql/SQLiteDatabase.cpp \
+ platform/sql/SQLiteFileSystem.cpp \
platform/sql/SQLiteStatement.cpp \
platform/sql/SQLiteTransaction.cpp \
platform/sql/SQLValue.cpp \
@@ -1364,14 +2319,28 @@ contains(DEFINES, ENABLE_DOM_STORAGE=1) {
FEATURE_DEFINES_JAVASCRIPT += ENABLE_DOM_STORAGE=1
HEADERS += \
+ storage/ChangeVersionWrapper.h \
+ storage/DatabaseAuthorizer.h \
+ storage/Database.h \
+ storage/DatabaseTask.h \
+ storage/DatabaseThread.h \
+ storage/DatabaseTracker.h \
storage/LocalStorageTask.h \
storage/LocalStorageThread.h \
- storage/Storage.h \
+ storage/OriginQuotaManager.h \
+ storage/OriginUsageRecord.h \
+ storage/SQLResultSet.h \
+ storage/SQLResultSetRowList.h \
+ storage/SQLStatement.h \
+ storage/SQLTransaction.h \
storage/StorageArea.h \
+ storage/StorageAreaImpl.h \
storage/StorageAreaSync.h \
storage/StorageEvent.h \
+ storage/Storage.h \
storage/StorageMap.h \
storage/StorageNamespace.h \
+ storage/StorageNamespaceImpl.h \
storage/StorageSyncManager.h
SOURCES += \
@@ -1380,10 +2349,12 @@ contains(DEFINES, ENABLE_DOM_STORAGE=1) {
storage/LocalStorageThread.cpp \
storage/Storage.cpp \
storage/StorageArea.cpp \
+ storage/StorageAreaImpl.cpp \
storage/StorageAreaSync.cpp \
storage/StorageEvent.cpp \
storage/StorageMap.cpp \
storage/StorageNamespace.cpp \
+ storage/StorageNamespaceImpl.cpp \
storage/StorageSyncManager.cpp
IDL_BINDINGS += \
@@ -1406,11 +2377,15 @@ contains(DEFINES, ENABLE_WORKERS=1) {
IDL_BINDINGS += \
page/WorkerNavigator.idl \
+ workers/AbstractWorker.idl \
+ workers/DedicatedWorkerContext.idl \
workers/Worker.idl \
workers/WorkerContext.idl \
workers/WorkerLocation.idl
SOURCES += \
+ bindings/js/JSAbstractWorkerCustom.cpp \
+ bindings/js/JSDedicatedWorkerContextCustom.cpp \
bindings/js/JSWorkerConstructor.cpp \
bindings/js/JSWorkerContextBase.cpp \
bindings/js/JSWorkerContextCustom.cpp \
@@ -1418,6 +2393,8 @@ contains(DEFINES, ENABLE_WORKERS=1) {
bindings/js/WorkerScriptController.cpp \
loader/WorkerThreadableLoader.cpp \
page/WorkerNavigator.cpp \
+ workers/AbstractWorker.cpp \
+ workers/DedicatedWorkerContext.cpp \
workers/Worker.cpp \
workers/WorkerContext.cpp \
workers/WorkerLocation.cpp \
@@ -1427,6 +2404,18 @@ contains(DEFINES, ENABLE_WORKERS=1) {
workers/WorkerScriptLoader.cpp
}
+contains(DEFINES, SHARED_WORKERS=1) {
+ FEATURE_DEFINES_JAVASCRIPT += ENABLE_SHARED_WORKERS=1
+
+ IDL_BINDINGS += \
+ workers/SharedWorker.idl
+
+ SOURCES += \
+ bindings/js/JSSharedWorkerConstructor.cpp \
+ bindings/js/JSSharedWorkerCustom.cpp \
+ workers/SharedWorker.cpp
+}
+
contains(DEFINES, ENABLE_VIDEO=1) {
FEATURE_DEFINES_JAVASCRIPT += ENABLE_VIDEO=1
@@ -1988,6 +2977,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssprops.input = WALDOCSSPROPS
cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES $$SVGCSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
cssprops.CONFIG = target_predeps no_link
+ cssprops.variable_out =
cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES SVGCSSPROPERTIES
addExtraCompilerWithHeader(cssprops)
@@ -1996,6 +2986,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssvalues.input = WALDOCSSVALUES
cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$SVGCSSVALUES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
cssvalues.CONFIG = target_predeps no_link
+ cssvalues.variable_out =
cssvalues.depend = ${QMAKE_FILE_NAME} SVGCSSVALUES
addExtraCompilerWithHeader(cssvalues)
} else {
@@ -2004,6 +2995,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssprops.input = WALDOCSSPROPS
cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
cssprops.CONFIG = target_predeps no_link
+ cssprops.variable_out =
cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES
addExtraCompilerWithHeader(cssprops)
@@ -2012,6 +3004,7 @@ contains(DEFINES, ENABLE_SVG=1) {
cssvalues.input = WALDOCSSVALUES
cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
cssvalues.CONFIG = target_predeps no_link
+ cssvalues.variable_out =
cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}${QMAKE_FILE_BASE}.h
addExtraCompiler(cssvalues)
}
@@ -2068,6 +3061,7 @@ tokenizer.commands = flex -t < ${QMAKE_FILE_NAME} | perl $$PWD/css/maketokenizer
tokenizer.dependency_type = TYPE_C
tokenizer.input = TOKENIZER
tokenizer.CONFIG += target_predeps no_link
+tokenizer.variable_out =
addExtraCompiler(tokenizer)
# GENERATOR 4: CSS grammar
@@ -2122,6 +3116,7 @@ entities.commands = gperf -a -L ANSI-C -C -G -c -o -t --key-positions="*" -N fin
entities.input = ENTITIES_GPERF
entities.dependency_type = TYPE_C
entities.CONFIG = target_predeps no_link
+entities.variable_out =
entities.clean = ${QMAKE_FILE_OUT}
addExtraCompiler(entities)
@@ -2131,6 +3126,7 @@ doctypestrings.input = DOCTYPESTRINGS
doctypestrings.commands = perl -e \"print \'$${LITERAL_HASH}include <string.h>\';\" > ${QMAKE_FILE_OUT} && echo // bogus >> ${QMAKE_FILE_OUT} && gperf -CEot -L ANSI-C --key-positions="*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
doctypestrings.dependency_type = TYPE_C
doctypestrings.CONFIG += target_predeps no_link
+doctypestrings.variable_out =
doctypestrings.clean = ${QMAKE_FILE_OUT}
addExtraCompiler(doctypestrings)
@@ -2139,6 +3135,7 @@ colordata.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}ColorData.c
colordata.commands = perl -e \"print \'$${LITERAL_HASH}include <string.h>\';\" > ${QMAKE_FILE_OUT} && echo // bogus >> ${QMAKE_FILE_OUT} && gperf -CDEot -L ANSI-C --key-positions="*" -N findColor -D -s 2 < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
colordata.input = COLORDAT_GPERF
colordata.CONFIG = target_predeps no_link
+colordata.variable_out =
addExtraCompiler(colordata)
# GENERATOR 9:
@@ -2168,8 +3165,6 @@ HEADERS += $$WEBKIT_API_HEADERS
target.path = $$[QT_INSTALL_LIBS]
headers.files = $$WEBKIT_API_HEADERS
headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
- prf.files = $$PWD/../WebKit/qt/Api/qtwebkit.prf
- prf.path = $$[QT_INSTALL_PREFIX]/mkspecs/features
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
@@ -2182,7 +3177,7 @@ HEADERS += $$WEBKIT_API_HEADERS
}
- INSTALLS += target headers prf
+ INSTALLS += target headers
unix {
CONFIG += create_pc create_prl
diff --git a/src/3rdparty/webkit/WebCore/WebCorePrefix.h b/src/3rdparty/webkit/WebCore/WebCorePrefix.h
index e857ecc..c0d1e70 100644
--- a/src/3rdparty/webkit/WebCore/WebCorePrefix.h
+++ b/src/3rdparty/webkit/WebCore/WebCorePrefix.h
@@ -18,8 +18,8 @@
*
*/
-/* This prefix file is for use on Mac OS X and Windows only. It should contain only:
- * 1) files to precompile on Mac OS X and Windows for faster builds
+/* This prefix file should contain only:
+ * 1) files to precompile for faster builds
* 2) in one case at least: OS-X-specific performance bug workarounds
* 3) the special trick to catch us using new or delete without including "config.h"
* The project should be able to build without this header, although we rarely test that.
@@ -45,9 +45,11 @@
#define WINVER 0x0500
#endif
+#ifndef WTF_USE_CURL
#ifndef _WINSOCKAPI_
#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
#endif
+#endif
// If we don't define these, they get defined in windef.h.
// We want to use std::min and std::max
@@ -65,7 +67,13 @@
#if defined(__APPLE__)
#include <regex.h>
#endif
+
+// On Linux this causes conflicts with libpng because there are two impls. of
+// longjmp - see here: https://bugs.launchpad.net/ubuntu/+source/libpng/+bug/218409
+#ifndef BUILDING_WX__
#include <setjmp.h>
+#endif
+
#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
@@ -97,8 +105,16 @@
#include <time.h>
+#ifndef BUILDING_WX__
#include <CoreFoundation/CoreFoundation.h>
+#ifdef WIN_CAIRO
+#include <ConditionalMacros.h>
+#include <windows.h>
+#include <stdio.h>
+#else
#include <CoreServices/CoreServices.h>
+#endif
+#endif
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp
index a6cd62d..f1d829c 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp
@@ -80,31 +80,6 @@ void AccessibilityObject::detach()
#endif
}
-AccessibilityObject* AccessibilityObject::firstChild() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::lastChild() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::previousSibling() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::nextSibling() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::parentObject() const
-{
- return 0;
-}
-
AccessibilityObject* AccessibilityObject::parentObjectUnignored() const
{
AccessibilityObject* parent;
@@ -113,31 +88,6 @@ AccessibilityObject* AccessibilityObject::parentObjectUnignored() const
return parent;
}
-AccessibilityObject* AccessibilityObject::parentObjectIfExists() const
-{
- return 0;
-}
-
-int AccessibilityObject::layoutCount() const
-{
- return 0;
-}
-
-String AccessibilityObject::text() const
-{
- return String();
-}
-
-String AccessibilityObject::helpText() const
-{
- return String();
-}
-
-String AccessibilityObject::textUnderElement() const
-{
- return String();
-}
-
bool AccessibilityObject::isARIAInput(AccessibilityRole ariaRole)
{
return ariaRole == RadioButtonRole || ariaRole == CheckBoxRole || ariaRole == TextFieldRole;
@@ -148,145 +98,12 @@ bool AccessibilityObject::isARIAControl(AccessibilityRole ariaRole)
return isARIAInput(ariaRole) || ariaRole == TextAreaRole || ariaRole == ButtonRole
|| ariaRole == ComboBoxRole || ariaRole == SliderRole;
}
-
-int AccessibilityObject::intValue() const
-{
- return 0;
-}
-
-String AccessibilityObject::stringValue() const
-{
- return String();
-}
-
-String AccessibilityObject::ariaAccessiblityName(const String&) const
-{
- return String();
-}
-
-String AccessibilityObject::ariaLabeledByAttribute() const
-{
- return String();
-}
-
-String AccessibilityObject::title() const
-{
- return String();
-}
-
-String AccessibilityObject::ariaDescribedByAttribute() const
-{
- return String();
-}
-
-String AccessibilityObject::accessibilityDescription() const
-{
- return String();
-}
-
-IntRect AccessibilityObject::boundingBoxRect() const
-{
- return IntRect();
-}
-
-IntRect AccessibilityObject::elementRect() const
-{
- return IntRect();
-}
-
-IntSize AccessibilityObject::size() const
-{
- return IntSize();
-}
IntPoint AccessibilityObject::clickPoint() const
{
IntRect rect = elementRect();
return IntPoint(rect.x() + rect.width() / 2, rect.y() + rect.height() / 2);
}
-
-void AccessibilityObject::linkedUIElements(AccessibilityChildrenVector&) const
-{
- return;
-}
-
-AccessibilityObject* AccessibilityObject::titleUIElement() const
-{
- return 0;
-}
-
-int AccessibilityObject::textLength() const
-{
- return 0;
-}
-
-PassRefPtr<Range> AccessibilityObject::ariaSelectedTextDOMRange() const
-{
- return 0;
-}
-
-String AccessibilityObject::selectedText() const
-{
- return String();
-}
-
-const AtomicString& AccessibilityObject::accessKey() const
-{
- return nullAtom;
-}
-
-VisibleSelection AccessibilityObject::selection() const
-{
- return VisibleSelection();
-}
-
-PlainTextRange AccessibilityObject::selectedTextRange() const
-{
- return PlainTextRange();
-}
-
-unsigned AccessibilityObject::selectionStart() const
-{
- return selectedTextRange().start;
-}
-
-unsigned AccessibilityObject::selectionEnd() const
-{
- return selectedTextRange().length;
-}
-
-void AccessibilityObject::setSelectedText(const String&)
-{
- // TODO: set selected text (ReplaceSelectionCommand). <rdar://problem/4712125>
- notImplemented();
-}
-
-void AccessibilityObject::setSelectedTextRange(const PlainTextRange&)
-{
-}
-
-void AccessibilityObject::makeRangeVisible(const PlainTextRange&)
-{
- // TODO: make range visible (scrollRectToVisible). <rdar://problem/4712101>
- notImplemented();
-}
-
-KURL AccessibilityObject::url() const
-{
- return KURL();
-}
-
-void AccessibilityObject::setFocused(bool)
-{
-}
-
-void AccessibilityObject::setValue(const String&)
-{
-}
-
-void AccessibilityObject::setSelected(bool)
-{
-}
bool AccessibilityObject::press() const
{
@@ -314,53 +131,6 @@ String AccessibilityObject::language() const
return parent->language();
}
-AXObjectCache* AccessibilityObject::axObjectCache() const
-{
- return 0;
-}
-
-Widget* AccessibilityObject::widget() const
-{
- return 0;
-}
-
-Widget* AccessibilityObject::widgetForAttachmentView() const
-{
- return 0;
-}
-
-Element* AccessibilityObject::anchorElement() const
-{
- return 0;
-}
-
-Element* AccessibilityObject::actionElement() const
-{
- return 0;
-}
-
-// This function is like a cross-platform version of - (WebCoreTextMarkerRange*)textMarkerRange. It returns
-// a Range that we can convert to a WebCoreRange in the Obj-C file
-VisiblePositionRange AccessibilityObject::visiblePositionRange() const
-{
- return VisiblePositionRange();
-}
-
-VisiblePositionRange AccessibilityObject::visiblePositionRangeForLine(unsigned) const
-{
- return VisiblePositionRange();
-}
-
-VisiblePosition AccessibilityObject::visiblePositionForIndex(int) const
-{
- return VisiblePosition();
-}
-
-int AccessibilityObject::indexForVisiblePosition(const VisiblePosition&) const
-{
- return 0;
-}
-
VisiblePositionRange AccessibilityObject::visiblePositionRangeForUnorderedPositions(const VisiblePosition& visiblePos1, const VisiblePosition& visiblePos2) const
{
if (visiblePos1.isNull() || visiblePos2.isNull())
@@ -619,11 +389,6 @@ String AccessibilityObject::stringForVisiblePositionRange(const VisiblePositionR
return String::adopt(resultVector);
}
-IntRect AccessibilityObject::boundsForVisiblePositionRange(const VisiblePositionRange&) const
-{
- return IntRect();
-}
-
int AccessibilityObject::lengthForVisiblePositionRange(const VisiblePositionRange& visiblePositionRange) const
{
// FIXME: Multi-byte support
@@ -651,25 +416,6 @@ int AccessibilityObject::lengthForVisiblePositionRange(const VisiblePositionRang
return length;
}
-void AccessibilityObject::setSelectedVisiblePositionRange(const VisiblePositionRange&) const
-{
-}
-
-VisiblePosition AccessibilityObject::visiblePositionForPoint(const IntPoint&) const
-{
- return VisiblePosition();
-}
-
-VisiblePosition AccessibilityObject::nextVisiblePosition(const VisiblePosition& visiblePos) const
-{
- return visiblePos.next();
-}
-
-VisiblePosition AccessibilityObject::previousVisiblePosition(const VisiblePosition& visiblePos) const
-{
- return visiblePos.previous();
-}
-
VisiblePosition AccessibilityObject::nextWordEnd(const VisiblePosition& visiblePos) const
{
if (visiblePos.isNull())
@@ -818,12 +564,6 @@ VisiblePosition AccessibilityObject::previousParagraphStartPosition(const Visibl
return startOfParagraph(previousPos);
}
-// NOTE: Consider providing this utility method as AX API
-VisiblePosition AccessibilityObject::visiblePositionForIndex(unsigned, bool) const
-{
- return VisiblePosition();
-}
-
AccessibilityObject* AccessibilityObject::accessibilityObjectForPosition(const VisiblePosition& visiblePos) const
{
if (visiblePos.isNull())
@@ -869,19 +609,6 @@ PlainTextRange AccessibilityObject::plainTextRangeForVisiblePositionRange(const
return PlainTextRange(index1, index2 - index1);
}
-// NOTE: Consider providing this utility method as AX API
-int AccessibilityObject::index(const VisiblePosition&) const
-{
- return -1;
-}
-
-// Given a line number, the range of characters of the text associated with this accessibility
-// object that contains the line number.
-PlainTextRange AccessibilityObject::doAXRangeForLine(unsigned) const
-{
- return PlainTextRange();
-}
-
// The composed character range in the text associated with this accessibility object that
// is specified by the given screen coordinates. This parameterized attribute returns the
// complete range of characters (including surrogate pairs of multi-byte glyphs) at the given
@@ -897,14 +624,6 @@ PlainTextRange AccessibilityObject::doAXRangeForPosition(const IntPoint& point)
return PlainTextRange(i, 1);
}
-// The composed character range in the text associated with this accessibility object that
-// is specified by the given index value. This parameterized attribute returns the complete
-// range of characters (including surrogate pairs of multi-byte glyphs) at the given index.
-PlainTextRange AccessibilityObject::doAXRangeForIndex(unsigned) const
-{
- return PlainTextRange();
-}
-
// Given a character index, the range of text associated with this accessibility object
// over which the style in effect at that character index applies.
PlainTextRange AccessibilityObject::doAXStyleRangeForIndex(unsigned index) const
@@ -913,21 +632,6 @@ PlainTextRange AccessibilityObject::doAXStyleRangeForIndex(unsigned index) const
return plainTextRangeForVisiblePositionRange(range);
}
-// A substring of the text associated with this accessibility object that is
-// specified by the given character range.
-String AccessibilityObject::doAXStringForRange(const PlainTextRange&) const
-{
- return String();
-}
-
-// The bounding rectangle of the text associated with this accessibility object that is
-// specified by the given range. This is the bounding rectangle a sighted user would see
-// on the display screen, in pixels.
-IntRect AccessibilityObject::doAXBoundsForRange(const PlainTextRange&) const
-{
- return IntRect();
-}
-
// Given an indexed character, the line number of the text associated with this accessibility
// object that contains the character.
unsigned AccessibilityObject::doAXLineForIndex(unsigned index)
@@ -945,41 +649,6 @@ FrameView* AccessibilityObject::documentFrameView() const
return 0;
return object->documentFrameView();
-}
-
-AccessibilityObject* AccessibilityObject::doAccessibilityHitTest(const IntPoint&) const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::focusedUIElement() const
-{
- return 0;
-}
-
-AccessibilityObject* AccessibilityObject::observableObject() const
-{
- return 0;
-}
-
-AccessibilityRole AccessibilityObject::roleValue() const
-{
- return UnknownRole;
-}
-
-AccessibilityRole AccessibilityObject::ariaRoleAttribute() const
-{
- return UnknownRole;
-}
-
-bool AccessibilityObject::isPresentationalChildOfAriaRole() const
-{
- return false;
-}
-
-bool AccessibilityObject::ariaRoleHasPresentationalChildren() const
-{
- return false;
}
void AccessibilityObject::clearChildren()
@@ -988,33 +657,6 @@ void AccessibilityObject::clearChildren()
m_children.clear();
}
-void AccessibilityObject::childrenChanged()
-{
- return;
-}
-
-void AccessibilityObject::addChildren()
-{
-}
-
-void AccessibilityObject::selectedChildren(AccessibilityChildrenVector&)
-{
-}
-
-void AccessibilityObject::visibleChildren(AccessibilityChildrenVector&)
-{
-}
-
-unsigned AccessibilityObject::axObjectID() const
-{
- return m_id;
-}
-
-void AccessibilityObject::setAXObjectID(unsigned axObjectID)
-{
- m_id = axObjectID;
-}
-
const String& AccessibilityObject::actionVerb() const
{
// FIXME: Need to add verbs for select elements.
@@ -1043,9 +685,5 @@ const String& AccessibilityObject::actionVerb() const
return noAction;
}
}
-
-void AccessibilityObject::updateBackingStore()
-{
-}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
index 8939092..319ace9 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h
@@ -30,7 +30,10 @@
#ifndef AccessibilityObject_h
#define AccessibilityObject_h
+#include "IntRect.h"
+#include "Range.h"
#include "VisiblePosition.h"
+#include "VisibleSelection.h"
#include <wtf/Platform.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
@@ -151,7 +154,8 @@ enum AccessibilityRole {
ListBoxOptionRole,
TableHeaderContainerRole,
DefinitionListTermRole,
- DefinitionListDefinitionRole
+ DefinitionListDefinitionRole,
+ AnnotationRole
};
struct VisiblePositionRange {
@@ -192,6 +196,7 @@ protected:
AccessibilityObject();
public:
virtual ~AccessibilityObject();
+ virtual void detach();
typedef Vector<RefPtr<AccessibilityObject> > AccessibilityChildrenVector;
@@ -251,93 +256,96 @@ public:
bool accessibilityShouldUseUniqueId() const { return true; };
virtual bool accessibilityIsIgnored() const { return true; };
- virtual int intValue() const;
+ virtual int intValue() const { return 0; }
virtual float valueForRange() const { return 0.0f; }
virtual float maxValueForRange() const { return 0.0f; }
virtual float minValueForRange() const { return 0.0f; }
- virtual int layoutCount() const;
+ virtual int layoutCount() const { return 0; }
static bool isARIAControl(AccessibilityRole);
static bool isARIAInput(AccessibilityRole);
- unsigned axObjectID() const;
- virtual AccessibilityObject* doAccessibilityHitTest(const IntPoint&) const;
- virtual AccessibilityObject* focusedUIElement() const;
- virtual AccessibilityObject* firstChild() const;
- virtual AccessibilityObject* lastChild() const;
- virtual AccessibilityObject* previousSibling() const;
- virtual AccessibilityObject* nextSibling() const;
- virtual AccessibilityObject* parentObject() const;
+ virtual AccessibilityObject* doAccessibilityHitTest(const IntPoint&) const { return 0; }
+ virtual AccessibilityObject* focusedUIElement() const { return 0; }
+
+ virtual AccessibilityObject* firstChild() const { return 0; }
+ virtual AccessibilityObject* lastChild() const { return 0; }
+ virtual AccessibilityObject* previousSibling() const { return 0; }
+ virtual AccessibilityObject* nextSibling() const { return 0; }
+ virtual AccessibilityObject* parentObject() const = 0;
virtual AccessibilityObject* parentObjectUnignored() const;
- virtual AccessibilityObject* parentObjectIfExists() const;
- virtual AccessibilityObject* observableObject() const;
- virtual void linkedUIElements(AccessibilityChildrenVector&) const;
- virtual AccessibilityObject* titleUIElement() const;
+ virtual AccessibilityObject* parentObjectIfExists() const { return 0; }
+
+ virtual AccessibilityObject* observableObject() const { return 0; }
+ virtual void linkedUIElements(AccessibilityChildrenVector&) const { }
+ virtual AccessibilityObject* titleUIElement() const { return 0; }
virtual bool exposesTitleUIElement() const { return true; }
- virtual AccessibilityRole ariaRoleAttribute() const;
- virtual bool isPresentationalChildOfAriaRole() const;
- virtual bool ariaRoleHasPresentationalChildren() const;
- virtual AccessibilityRole roleValue() const;
- virtual AXObjectCache* axObjectCache() const;
+ virtual AccessibilityRole ariaRoleAttribute() const { return UnknownRole; }
+ virtual bool isPresentationalChildOfAriaRole() const { return false; }
+ virtual bool ariaRoleHasPresentationalChildren() const { return false; }
+ virtual AccessibilityRole roleValue() const { return UnknownRole; }
+ virtual String ariaAccessiblityName(const String&) const { return String(); }
+ virtual String ariaLabeledByAttribute() const { return String(); }
+ virtual String ariaDescribedByAttribute() const { return String(); }
+ virtual String accessibilityDescription() const { return String(); }
+ virtual PassRefPtr<Range> ariaSelectedTextDOMRange() const { return 0; }
+
+ virtual AXObjectCache* axObjectCache() const { return 0; }
+ unsigned axObjectID() const { return m_id; }
+ void setAXObjectID(unsigned axObjectID) { m_id = axObjectID; }
- virtual Element* anchorElement() const;
- virtual Element* actionElement() const;
- virtual IntRect boundingBoxRect() const;
- virtual IntRect elementRect() const;
- virtual IntSize size() const;
- IntPoint clickPoint() const;
+ virtual Element* anchorElement() const { return 0; }
+ virtual Element* actionElement() const { return 0; }
+ virtual IntRect boundingBoxRect() const { return IntRect(); }
+ virtual IntRect elementRect() const = 0;
+ virtual IntSize size() const = 0;
+ virtual IntPoint clickPoint() const;
+
+ virtual PlainTextRange selectedTextRange() const { return PlainTextRange(); }
+ unsigned selectionStart() const { return selectedTextRange().start; }
+ unsigned selectionEnd() const { return selectedTextRange().length; }
- virtual KURL url() const;
- virtual PlainTextRange selectedTextRange() const;
- virtual VisibleSelection selection() const;
- unsigned selectionStart() const;
- unsigned selectionEnd() const;
- virtual String stringValue() const;
- virtual String ariaAccessiblityName(const String&) const;
- virtual String ariaLabeledByAttribute() const;
- virtual String title() const;
- virtual String ariaDescribedByAttribute() const;
- virtual String accessibilityDescription() const;
- virtual String helpText() const;
- virtual String textUnderElement() const;
- virtual String text() const;
- virtual int textLength() const;
- virtual PassRefPtr<Range> ariaSelectedTextDOMRange() const;
- virtual String selectedText() const;
- virtual const AtomicString& accessKey() const;
+ virtual KURL url() const { return KURL(); }
+ virtual VisibleSelection selection() const { return VisibleSelection(); }
+ virtual String stringValue() const { return String(); }
+ virtual String title() const { return String(); }
+ virtual String helpText() const { return String(); }
+ virtual String textUnderElement() const { return String(); }
+ virtual String text() const { return String(); }
+ virtual int textLength() const { return 0; }
+ virtual String selectedText() const { return String(); }
+ virtual const AtomicString& accessKey() const { return nullAtom; }
const String& actionVerb() const;
- virtual Widget* widget() const;
- virtual Widget* widgetForAttachmentView() const;
+ virtual Widget* widget() const { return 0; }
+ virtual Widget* widgetForAttachmentView() const { return 0; }
virtual Document* document() const { return 0; }
virtual FrameView* topDocumentFrameView() const { return 0; }
virtual FrameView* documentFrameView() const;
virtual String language() const;
-
- void setAXObjectID(unsigned);
- virtual void setFocused(bool);
- virtual void setSelectedText(const String&);
- virtual void setSelectedTextRange(const PlainTextRange&);
- virtual void setValue(const String&);
- virtual void setSelected(bool);
-
- virtual void detach();
- virtual void makeRangeVisible(const PlainTextRange&);
+
+ virtual void setFocused(bool) { }
+ virtual void setSelectedText(const String&) { }
+ virtual void setSelectedTextRange(const PlainTextRange&) { }
+ virtual void setValue(const String&) { }
+ virtual void setSelected(bool) { }
+
+ virtual void makeRangeVisible(const PlainTextRange&) { }
virtual bool press() const;
bool performDefaultAction() const { return press(); }
- virtual void childrenChanged();
+ virtual void childrenChanged() { }
virtual const AccessibilityChildrenVector& children() { return m_children; }
- virtual void addChildren();
+ virtual void addChildren() { }
virtual bool canHaveChildren() const { return true; }
- virtual bool hasChildren() const { return m_haveChildren; };
- virtual void selectedChildren(AccessibilityChildrenVector&);
- virtual void visibleChildren(AccessibilityChildrenVector&);
+ virtual bool hasChildren() const { return m_haveChildren; }
+ virtual void selectedChildren(AccessibilityChildrenVector&) { }
+ virtual void visibleChildren(AccessibilityChildrenVector&) { }
virtual bool shouldFocusActiveDescendant() const { return false; }
virtual AccessibilityObject* activeDescendant() const { return 0; }
virtual void handleActiveDescendantChanged() { }
- virtual VisiblePositionRange visiblePositionRange() const;
- virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const;
+ virtual VisiblePositionRange visiblePositionRange() const { return VisiblePositionRange(); }
+ virtual VisiblePositionRange visiblePositionRangeForLine(unsigned) const { return VisiblePositionRange(); }
VisiblePositionRange visiblePositionRangeForUnorderedPositions(const VisiblePosition&, const VisiblePosition&) const;
VisiblePositionRange positionOfLeftWord(const VisiblePosition&) const;
@@ -350,13 +358,13 @@ public:
VisiblePositionRange visiblePositionRangeForRange(const PlainTextRange&) const;
String stringForVisiblePositionRange(const VisiblePositionRange&) const;
- virtual IntRect boundsForVisiblePositionRange(const VisiblePositionRange&) const;
+ virtual IntRect boundsForVisiblePositionRange(const VisiblePositionRange&) const { return IntRect(); }
int lengthForVisiblePositionRange(const VisiblePositionRange&) const;
- virtual void setSelectedVisiblePositionRange(const VisiblePositionRange&) const;
+ virtual void setSelectedVisiblePositionRange(const VisiblePositionRange&) const { }
- virtual VisiblePosition visiblePositionForPoint(const IntPoint&) const;
- VisiblePosition nextVisiblePosition(const VisiblePosition&) const;
- VisiblePosition previousVisiblePosition(const VisiblePosition&) const;
+ virtual VisiblePosition visiblePositionForPoint(const IntPoint&) const { return VisiblePosition(); }
+ VisiblePosition nextVisiblePosition(const VisiblePosition& visiblePos) const { return visiblePos.next(); }
+ VisiblePosition previousVisiblePosition(const VisiblePosition& visiblePos) const { return visiblePos.previous(); }
VisiblePosition nextWordEnd(const VisiblePosition&) const;
VisiblePosition previousWordStart(const VisiblePosition&) const;
VisiblePosition nextLineEndPosition(const VisiblePosition&) const;
@@ -365,23 +373,24 @@ public:
VisiblePosition previousSentenceStartPosition(const VisiblePosition&) const;
VisiblePosition nextParagraphEndPosition(const VisiblePosition&) const;
VisiblePosition previousParagraphStartPosition(const VisiblePosition&) const;
- virtual VisiblePosition visiblePositionForIndex(unsigned indexValue, bool lastIndexOK) const;
+ virtual VisiblePosition visiblePositionForIndex(unsigned, bool /*
+lastIndexOK */) const { return VisiblePosition(); }
- virtual VisiblePosition visiblePositionForIndex(int) const;
- virtual int indexForVisiblePosition(const VisiblePosition&) const;
+ virtual VisiblePosition visiblePositionForIndex(int) const { return VisiblePosition(); }
+ virtual int indexForVisiblePosition(const VisiblePosition&) const { return 0; }
AccessibilityObject* accessibilityObjectForPosition(const VisiblePosition&) const;
int lineForPosition(const VisiblePosition&) const;
PlainTextRange plainTextRangeForVisiblePositionRange(const VisiblePositionRange&) const;
- virtual int index(const VisiblePosition&) const;
+ virtual int index(const VisiblePosition&) const { return -1; }
- virtual PlainTextRange doAXRangeForLine(unsigned) const;
+ virtual PlainTextRange doAXRangeForLine(unsigned) const { return PlainTextRange(); }
PlainTextRange doAXRangeForPosition(const IntPoint&) const;
- virtual PlainTextRange doAXRangeForIndex(unsigned) const;
+ virtual PlainTextRange doAXRangeForIndex(unsigned) const { return PlainTextRange(); }
PlainTextRange doAXStyleRangeForIndex(unsigned) const;
- virtual String doAXStringForRange(const PlainTextRange&) const;
- virtual IntRect doAXBoundsForRange(const PlainTextRange&) const;
+ virtual String doAXStringForRange(const PlainTextRange&) const { return String(); }
+ virtual IntRect doAXBoundsForRange(const PlainTextRange&) const { return IntRect(); }
unsigned doAXLineForIndex(unsigned);
@@ -407,7 +416,7 @@ public:
// allows for an AccessibilityObject to update its render tree or perform
// other operations update type operations
- virtual void updateBackingStore();
+ virtual void updateBackingStore() { }
protected:
unsigned m_id;
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
index 9c10267..65a1a7d 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -55,6 +55,7 @@
#include "LocalizedStrings.h"
#include "NodeList.h"
#include "Page.h"
+#include "RenderButton.h"
#include "RenderFieldset.h"
#include "RenderFileUploadControl.h"
#include "RenderHTMLCanvas.h"
@@ -773,6 +774,9 @@ String AccessibilityRenderObject::stringValue() const
if (m_renderer->isListMarker())
return static_cast<RenderListMarker*>(m_renderer)->text();
+ if (m_renderer->isRenderButton())
+ return static_cast<RenderButton*>(m_renderer)->text();
+
if (isWebArea()) {
if (m_renderer->document()->frame())
return String();
@@ -966,6 +970,10 @@ String AccessibilityRenderObject::accessibilityDescription() const
if (!m_renderer)
return String();
+ String ariaLabel = getAttribute(aria_labelAttr).string();
+ if (!ariaLabel.isEmpty())
+ return ariaLabel;
+
String ariaDescription = ariaDescribedByAttribute();
if (!ariaDescription.isEmpty())
return ariaDescription;
@@ -1063,6 +1071,21 @@ IntSize AccessibilityRenderObject::size() const
return rect.size();
}
+IntPoint AccessibilityRenderObject::clickPoint() const
+{
+ // use the default position unless this is an editable web area, in which case we use the selection bounds.
+ if (!isWebArea() || isReadOnly())
+ return AccessibilityObject::clickPoint();
+
+ VisibleSelection visSelection = selection();
+ VisiblePositionRange range = VisiblePositionRange(visSelection.visibleStart(), visSelection.visibleEnd());
+ IntRect bounds = boundsForVisiblePositionRange(range);
+#if PLATFORM(MAC)
+ bounds.setLocation(m_renderer->document()->view()->screenToContents(bounds.location()));
+#endif
+ return IntPoint(bounds.x() + (bounds.width() / 2), bounds.y() - (bounds.height() / 2));
+}
+
AccessibilityObject* AccessibilityRenderObject::internalLinkElement() const
{
Element* element = anchorElement();
@@ -1290,13 +1313,13 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
return false;
}
- // check for one-dimensional image
- RenderImage* image = toRenderImage(m_renderer);
- if (image->height() <= 1 || image->width() <= 1)
- return true;
-
- // check whether rendered image was stretched from one-dimensional file image
if (isNativeImage()) {
+ // check for one-dimensional image
+ RenderImage* image = toRenderImage(m_renderer);
+ if (image->height() <= 1 || image->width() <= 1)
+ return true;
+
+ // check whether rendered image was stretched from one-dimensional file image
if (image->cachedImage()) {
IntSize imageSize = image->cachedImage()->imageSize(image->view()->zoomFactor());
return imageSize.height() <= 1 || imageSize.width() <= 1;
@@ -2154,12 +2177,13 @@ AccessibilityObject* AccessibilityRenderObject::observableObject() const
typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap;
-struct RoleEntry {
- String ariaRole;
- AccessibilityRole webcoreRole;
-};
static const ARIARoleMap& createARIARoleMap()
{
+ struct RoleEntry {
+ String ariaRole;
+ AccessibilityRole webcoreRole;
+ };
+
const RoleEntry roles[] = {
{ "button", ButtonRole },
{ "checkbox", CheckBoxRole },
@@ -2184,7 +2208,8 @@ static const ARIARoleMap& createARIARoleMap()
{ "range", SliderRole },
{ "slider", SliderRole },
{ "spinbutton", ProgressIndicatorRole },
- { "textbox", TextAreaRole }
+ { "textbox", TextAreaRole },
+ { "toolbar", ToolbarRole }
};
ARIARoleMap& roleMap = *new ARIARoleMap;
@@ -2304,6 +2329,9 @@ AccessibilityRole AccessibilityRenderObject::roleValue() const
if (node && node->hasTagName(dtTag))
return DefinitionListTermRole;
+ if (node && (node->hasTagName(rpTag) || node->hasTagName(rtTag)))
+ return AnnotationRole;
+
if (m_renderer->isBlockFlow() || (node && node->hasTagName(labelTag)))
return GroupRole;
diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
index 4fa325f..4f8e247 100644
--- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h
@@ -147,6 +147,7 @@ public:
virtual IntRect boundingBoxRect() const;
virtual IntRect elementRect() const;
virtual IntSize size() const;
+ virtual IntPoint clickPoint() const;
void setRenderer(RenderObject* renderer) { m_renderer = renderer; }
RenderObject* renderer() const { return m_renderer; }
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h b/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h
index e943fa5..1cdd8aa 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/CachedScriptSourceProvider.h
@@ -29,11 +29,12 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedScript.h"
+#include "ScriptSourceProvider.h"
#include <parser/SourceCode.h>
namespace WebCore {
- class CachedScriptSourceProvider : public JSC::SourceProvider, public CachedResourceClient {
+ class CachedScriptSourceProvider : public ScriptSourceProvider, public CachedResourceClient {
public:
static PassRefPtr<CachedScriptSourceProvider> create(CachedScript* cachedScript) { return adoptRef(new CachedScriptSourceProvider(cachedScript)); }
@@ -45,10 +46,11 @@ namespace WebCore {
JSC::UString getRange(int start, int end) const { return JSC::UString(m_cachedScript->script().characters() + start, end - start); }
const UChar* data() const { return m_cachedScript->script().characters(); }
int length() const { return m_cachedScript->script().length(); }
+ const String& source() const { return m_cachedScript->script(); }
private:
CachedScriptSourceProvider(CachedScript* cachedScript)
- : SourceProvider(cachedScript->url())
+ : ScriptSourceProvider(cachedScript->url())
, m_cachedScript(cachedScript)
{
m_cachedScript->addClient(this);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h b/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h
new file mode 100644
index 0000000..570548d
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/DOMObjectWithSVGContext.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2009 Google, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DOMObjectWithSVGContext_h
+#define DOMObjectWithSVGContext_h
+
+#if ENABLE(SVG)
+
+#include "JSDOMBinding.h"
+#include "SVGElement.h"
+
+namespace WebCore {
+
+ // FIXME: This class (and file) should be removed once all SVG bindings
+ // have moved context() onto the various impl() pointers.
+ class DOMObjectWithSVGContext : public DOMObject {
+ public:
+ SVGElement* context() const { return m_context.get(); }
+
+ protected:
+ DOMObjectWithSVGContext(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject*, SVGElement* context)
+ : DOMObject(structure)
+ , m_context(context)
+ {
+ // No space to store the JSDOMGlobalObject w/o hitting the CELL_SIZE limit.
+ }
+
+ protected: // FIXME: Many custom bindings use m_context directly. Making this protected to temporariliy reduce code churn.
+ RefPtr<SVGElement> m_context;
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(SVG)
+#endif // DOMObjectWithSVGContext_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp
index db295c2..59bcfa3 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/GCController.cpp
@@ -44,7 +44,7 @@ namespace WebCore {
static void* collect(void*)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSDOMWindow::commonJSGlobalData()->heap.collect();
return 0;
}
@@ -70,13 +70,13 @@ void GCController::garbageCollectSoon()
void GCController::gcTimerFired(Timer<GCController>*)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSDOMWindow::commonJSGlobalData()->heap.collect();
}
void GCController::garbageCollectNow()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSDOMWindow::commonJSGlobalData()->heap.collect();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/GCController.h b/src/3rdparty/webkit/WebCore/bindings/js/GCController.h
index 452019a..4c25407 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/GCController.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/GCController.h
@@ -31,7 +31,7 @@
namespace WebCore {
- class GCController : Noncopyable {
+ class GCController : public Noncopyable {
friend GCController& gcController();
public:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
new file mode 100644
index 0000000..3146413
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAbstractWorkerCustom.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSAbstractWorker.h"
+
+#include "AbstractWorker.h"
+#include "JSDOMGlobalObject.h"
+#include "JSEventListener.h"
+#include "JSEventTarget.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSAbstractWorker::mark()
+{
+ Base::mark();
+
+ markIfNotNull(m_impl->onerror());
+
+ typedef AbstractWorker::EventListenersMap EventListenersMap;
+ typedef AbstractWorker::ListenerVector ListenerVector;
+ EventListenersMap& eventListeners = m_impl->eventListeners();
+ for (EventListenersMap::iterator mapIter = eventListeners.begin(); mapIter != eventListeners.end(); ++mapIter) {
+ for (ListenerVector::iterator vecIter = mapIter->second.begin(); vecIter != mapIter->second.end(); ++vecIter)
+ (*vecIter)->markJSFunction();
+ }
+}
+
+JSValue JSAbstractWorker::addEventListener(ExecState* exec, const ArgList& args)
+{
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
+ if (!globalObject)
+ return jsUndefined();
+ RefPtr<JSEventListener> listener = globalObject->findOrCreateJSEventListener(args.at(1));
+ if (!listener)
+ return jsUndefined();
+ impl()->addEventListener(args.at(0).toString(exec), listener.release(), args.at(2).toBoolean(exec));
+ return jsUndefined();
+}
+
+JSValue JSAbstractWorker::removeEventListener(ExecState* exec, const ArgList& args)
+{
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
+ if (!globalObject)
+ return jsUndefined();
+ JSEventListener* listener = globalObject->findJSEventListener(args.at(1));
+ if (!listener)
+ return jsUndefined();
+ impl()->removeEventListener(args.at(0).toString(exec), listener, args.at(2).toBoolean(exec));
+ return jsUndefined();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp
index 4f3c8ee..abd5ad5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAttrCustom.cpp
@@ -47,7 +47,7 @@ void JSAttr::setValue(ExecState* exec, JSValue value)
Element* ownerElement = imp->ownerElement();
if (ownerElement && (ownerElement->hasTagName(iframeTag) || ownerElement->hasTagName(frameTag))) {
- if (equalIgnoringCase(imp->name(), "src") && protocolIsJavaScript(parseURL(attrValue))) {
+ if (equalIgnoringCase(imp->name(), "src") && protocolIsJavaScript(deprecatedParseURL(attrValue))) {
if (!checkNodeSecurity(exec, static_cast<HTMLFrameElementBase*>(ownerElement)->contentDocument()))
return;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp
index 74bcad5..87a3880 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.cpp
@@ -42,35 +42,27 @@ namespace WebCore {
const ClassInfo JSAudioConstructor::s_info = { "AudioConstructor", 0, 0, 0 };
JSAudioConstructor::JSAudioConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSAudioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorWithDocument(JSAudioConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- ASSERT(globalObject->scriptExecutionContext());
- ASSERT(globalObject->scriptExecutionContext()->isDocument());
-
- putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
}
-Document* JSAudioConstructor::document() const
-{
- return static_cast<Document*>(m_globalObject->scriptExecutionContext());
-}
-
static JSObject* constructAudio(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSAudioConstructor* jsAudio = static_cast<JSAudioConstructor*>(constructor);
// FIXME: Why doesn't this need the call toJS on the document like JSImageConstructor?
-
- Document* document = static_cast<JSAudioConstructor*>(constructor)->document();
+ Document* document = jsAudio->document();
if (!document)
return throwError(exec, ReferenceError, "Audio constructor associated document is unavailable");
RefPtr<HTMLAudioElement> audio = new HTMLAudioElement(HTMLNames::audioTag, document);
+ audio->setAutobuffer(true);
if (args.size() > 0) {
audio->setSrc(args.at(0).toString(exec));
audio->scheduleLoad();
}
- return asObject(toJS(exec, audio.release()));
+ return asObject(toJS(exec, jsAudio->globalObject(), audio.release()));
}
ConstructType JSAudioConstructor::getConstructData(ConstructData& constructData)
@@ -79,13 +71,6 @@ ConstructType JSAudioConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-void JSAudioConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
-
} // namespace WebCore
#endif // ENABLE(VIDEO)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h
index 0a3a7ea..3496897 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSAudioConstructor.h
@@ -34,21 +34,15 @@
namespace WebCore {
- class JSAudioConstructor : public DOMObject {
+ class JSAudioConstructor : public DOMConstructorWithDocument {
public:
JSAudioConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- Document* document() const;
-
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp
index 44a8957..c2738cc 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCDATASectionCustom.cpp
@@ -32,12 +32,12 @@ using namespace JSC;
namespace WebCore {
-JSValue toJSNewlyCreated(ExecState* exec, CDATASection* section)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, CDATASection* section)
{
if (!section)
return jsNull();
-
- return CREATE_DOM_NODE_WRAPPER(exec, CDATASection, section);
+
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, CDATASection, section);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp
index 2c20431..1b96c06 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSRuleCustom.cpp
@@ -49,46 +49,45 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, CSSRule* rule)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, CSSRule* rule)
{
if (!rule)
return jsNull();
DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), rule);
-
if (wrapper)
return wrapper;
switch (rule->type()) {
case CSSRule::STYLE_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSStyleRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSStyleRule, rule);
break;
case CSSRule::MEDIA_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSMediaRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSMediaRule, rule);
break;
case CSSRule::FONT_FACE_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSFontFaceRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSFontFaceRule, rule);
break;
case CSSRule::PAGE_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSPageRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSPageRule, rule);
break;
case CSSRule::IMPORT_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSImportRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSImportRule, rule);
break;
case CSSRule::CHARSET_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSCharsetRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSCharsetRule, rule);
break;
case CSSRule::VARIABLES_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSVariablesRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSVariablesRule, rule);
break;
case CSSRule::WEBKIT_KEYFRAME_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSKeyframeRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitCSSKeyframeRule, rule);
break;
case CSSRule::WEBKIT_KEYFRAMES_RULE:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSKeyframesRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitCSSKeyframesRule, rule);
break;
default:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSRule, rule);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSRule, rule);
}
return wrapper;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp
index ad0cee1..87a5760 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCSSValueCustom.cpp
@@ -44,7 +44,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, CSSValue* value)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, CSSValue* value)
{
if (!value)
return jsNull();
@@ -55,19 +55,19 @@ JSValue toJS(ExecState* exec, CSSValue* value)
return wrapper;
if (value->isWebKitCSSTransformValue())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSTransformValue, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitCSSTransformValue, value);
else if (value->isValueList())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSValueList, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSValueList, value);
#if ENABLE(SVG)
else if (value->isSVGPaint())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, SVGPaint, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGPaint, value);
else if (value->isSVGColor())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, SVGColor, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGColor, value);
#endif
else if (value->isPrimitiveValue())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSPrimitiveValue, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSPrimitiveValue, value);
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSValue, value);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSValue, value);
return wrapper;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
index 6f9efd9..6abed99 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionCallback.cpp
@@ -48,11 +48,12 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise
if (!m_frame->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -67,10 +68,10 @@ void JSCustomPositionCallback::handleEvent(Geoposition* geoposition, bool& raise
}
RefPtr<JSCustomPositionCallback> protect(this);
-
+
MarkedArgumentBuffer args;
- args.append(toJS(exec, geoposition));
-
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), geoposition));
+
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
globalObject->globalData()->timeoutChecker.stop();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp
index cc6cd55..cda5738 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomPositionErrorCallback.cpp
@@ -48,11 +48,12 @@ void JSCustomPositionErrorCallback::handleEvent(PositionError* positionError)
if (!m_frame->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -69,7 +70,7 @@ void JSCustomPositionErrorCallback::handleEvent(PositionError* positionError)
RefPtr<JSCustomPositionErrorCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, positionError));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), positionError));
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
index 107a491..d0943de 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
@@ -54,10 +54,11 @@ void JSCustomSQLStatementCallback::handleEvent(SQLTransaction* transaction, SQLR
if (!m_frame->script()->isEnabled())
return;
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -74,8 +75,8 @@ void JSCustomSQLStatementCallback::handleEvent(SQLTransaction* transaction, SQLR
RefPtr<JSCustomSQLStatementCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, transaction));
- args.append(toJS(exec, resultSet));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), resultSet));
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
index 018dabd..6c831ac 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
@@ -54,11 +54,12 @@ bool JSCustomSQLStatementErrorCallback::handleEvent(SQLTransaction* transaction,
if (!m_frame->script()->isEnabled())
return true;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue handleEventFunction = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData handleEventCallData;
@@ -77,8 +78,8 @@ bool JSCustomSQLStatementErrorCallback::handleEvent(SQLTransaction* transaction,
RefPtr<JSCustomSQLStatementErrorCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, transaction));
- args.append(toJS(exec, error));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), error));
JSValue result;
globalObject->globalData()->timeoutChecker.start();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
index a41ac78..3d42f81 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
@@ -94,11 +94,12 @@ void JSCustomSQLTransactionCallback::handleEvent(SQLTransaction* transaction, bo
if (!m_data->frame()->script()->isEnabled())
return;
-
+
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_data->frame()->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue handleEventFunction = m_data->callback()->get(exec, Identifier(exec, "handleEvent"));
CallData handleEventCallData;
@@ -117,7 +118,7 @@ void JSCustomSQLTransactionCallback::handleEvent(SQLTransaction* transaction, bo
RefPtr<JSCustomSQLTransactionCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, transaction));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), transaction));
globalObject->globalData()->timeoutChecker.start();
if (handleEventCallType != CallTypeNone)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
index 324e2bb..2d41bb8 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
@@ -54,10 +54,11 @@ void JSCustomSQLTransactionErrorCallback::handleEvent(SQLError* error)
if (!m_frame->script()->isEnabled())
return;
+ // FIXME: This is likely the wrong globalObject (for prototype chains at least)
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
@@ -74,7 +75,7 @@ void JSCustomSQLTransactionErrorCallback::handleEvent(SQLError* error)
RefPtr<JSCustomSQLTransactionErrorCallback> protect(this);
MarkedArgumentBuffer args;
- args.append(toJS(exec, error));
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), error));
globalObject->globalData()->timeoutChecker.start();
call(exec, function, callType, callData, m_callback, args);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp
index f3f76c4..b4e525b 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomVoidCallback.cpp
@@ -55,7 +55,7 @@ void JSCustomVoidCallback::handleEvent()
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSValue function = m_callback->get(exec, Identifier(exec, "handleEvent"));
CallData callData;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
index 6361e70..4476be5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
@@ -72,7 +72,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
if (!m_frame->script()->isEnabled())
return String();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSGlobalObject* globalObject = m_frame->script()->globalObject();
ExecState* exec = globalObject->globalExec();
@@ -84,7 +84,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
callType = m_customResolver->getCallData(callData);
if (callType == CallTypeNone) {
// FIXME: Pass actual line number and source URL.
- m_frame->domWindow()->console()->addMessage(JSMessageSource, ErrorMessageLevel, "XPathNSResolver does not have a lookupNamespaceURI method.", 0, String());
+ m_frame->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, "XPathNSResolver does not have a lookupNamespaceURI method.", 0, String());
return String();
}
function = m_customResolver;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
index 7e8d9ce..a7fae78 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
@@ -44,7 +44,7 @@ namespace WebCore {
void JSDOMApplicationCache::mark()
{
- DOMObject::mark();
+ Base::mark();
markIfNotNull(m_impl->onchecking());
markIfNotNull(m_impl->onerror());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
index 55f0e91..910da12 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.cpp
@@ -32,6 +32,7 @@
#include "EventException.h"
#include "ExceptionCode.h"
#include "Frame.h"
+#include "HTMLAudioElement.h"
#include "HTMLImageElement.h"
#include "HTMLScriptElement.h"
#include "HTMLNames.h"
@@ -288,6 +289,10 @@ static inline bool isObservableThroughDOM(JSNode* jsNode)
return true;
if (node->hasTagName(scriptTag) && !static_cast<HTMLScriptElement*>(node)->haveFiredLoadEvent())
return true;
+#if ENABLE(VIDEO)
+ if (node->hasTagName(audioTag) && !static_cast<HTMLAudioElement*>(node)->paused())
+ return true;
+#endif
}
return false;
@@ -450,31 +455,36 @@ void setDOMException(ExecState* exec, ExceptionCode ec)
if (!ec || exec->hadException())
return;
+ // FIXME: All callers to setDOMException need to pass in the right global object
+ // for now, we're going to assume the lexicalGlobalObject. Which is wrong in cases like this:
+ // frames[0].document.createElement(null, null); // throws an exception which should have the subframes prototypes.
+ JSDOMGlobalObject* globalObject = deprecatedGlobalObjectForPrototype(exec);
+
ExceptionCodeDescription description;
getExceptionCodeDescription(ec, description);
JSValue errorObject;
switch (description.type) {
case DOMExceptionType:
- errorObject = toJS(exec, DOMCoreException::create(description));
+ errorObject = toJS(exec, globalObject, DOMCoreException::create(description));
break;
case RangeExceptionType:
- errorObject = toJS(exec, RangeException::create(description));
+ errorObject = toJS(exec, globalObject, RangeException::create(description));
break;
case EventExceptionType:
- errorObject = toJS(exec, EventException::create(description));
+ errorObject = toJS(exec, globalObject, EventException::create(description));
break;
case XMLHttpRequestExceptionType:
- errorObject = toJS(exec, XMLHttpRequestException::create(description));
+ errorObject = toJS(exec, globalObject, XMLHttpRequestException::create(description));
break;
#if ENABLE(SVG)
case SVGExceptionType:
- errorObject = toJS(exec, SVGException::create(description).get(), 0);
+ errorObject = toJS(exec, globalObject, SVGException::create(description).get(), 0);
break;
#endif
#if ENABLE(XPATH)
case XPathExceptionType:
- errorObject = toJS(exec, XPathException::create(description));
+ errorObject = toJS(exec, globalObject, XPathException::create(description));
break;
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
index 1378c91..3975940 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMBinding.h
@@ -2,6 +2,7 @@
* Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
* Copyright (C) 2003, 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2007 Samuel Weinig <sam@webkit.org>
+ * Copyright (C) 2009 Google, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -22,6 +23,7 @@
#define JSDOMBinding_h
#include "JSDOMGlobalObject.h"
+#include "Document.h" // For DOMConstructorWithDocument
#include <runtime/Completion.h>
#include <runtime/Lookup.h>
#include <runtime/JSFunction.h>
@@ -59,6 +61,73 @@ namespace WebCore {
#endif
};
+ // FIXME: This class should colapse into DOMObject once all DOMObjects are
+ // updated to store a globalObject pointer.
+ class DOMObjectWithGlobalPointer : public DOMObject {
+ public:
+ JSDOMGlobalObject* globalObject() const { return m_globalObject; }
+
+ ScriptExecutionContext* scriptExecutionContext() const
+ {
+ // FIXME: Should never be 0, but can be due to bug 27640.
+ return m_globalObject->scriptExecutionContext();
+ }
+
+ protected:
+ DOMObjectWithGlobalPointer(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject)
+ : DOMObject(structure)
+ , m_globalObject(globalObject)
+ {
+ // FIXME: This ASSERT is valid, but fires in fast/dom/gc-6.html when trying to create
+ // new JavaScript objects on detached windows due to DOMWindow::document()
+ // needing to reach through the frame to get to the Document*. See bug 27640.
+ // ASSERT(globalObject->scriptExecutionContext());
+ }
+ virtual ~DOMObjectWithGlobalPointer() {}
+
+ void mark()
+ {
+ DOMObject::mark();
+ if (!m_globalObject->marked())
+ m_globalObject->mark();
+ }
+
+ private:
+ JSDOMGlobalObject* m_globalObject;
+ };
+
+ // Base class for all constructor objects in the JSC bindings.
+ class DOMConstructorObject : public DOMObjectWithGlobalPointer {
+ public:
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasStandardGetOwnPropertySlot | JSC::ImplementsHasInstance));
+ }
+
+ protected:
+ DOMConstructorObject(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ {
+ }
+ };
+
+ // Constructors using this base class depend on being in a Document and
+ // can never be used from a WorkerContext.
+ class DOMConstructorWithDocument : public DOMConstructorObject {
+ public:
+ Document* document() const
+ {
+ return static_cast<Document*>(scriptExecutionContext());
+ }
+
+ protected:
+ DOMConstructorWithDocument(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(structure, globalObject)
+ {
+ ASSERT(globalObject->scriptExecutionContext()->isDocument());
+ }
+ };
+
DOMObject* getCachedDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle);
void cacheDOMObjectWrapper(JSC::JSGlobalData&, void* objectHandle, DOMObject* wrapper);
void forgetDOMObject(JSC::JSGlobalData&, void* objectHandle);
@@ -80,74 +149,86 @@ namespace WebCore {
JSC::JSObject* getCachedDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*);
void cacheDOMConstructor(JSC::ExecState*, const JSC::ClassInfo*, JSC::JSObject* constructor);
+ inline JSDOMGlobalObject* deprecatedGlobalObjectForPrototype(JSC::ExecState* exec)
+ {
+ // FIXME: Callers to this function should be using the global object
+ // from which the object is being created, instead of assuming the lexical one.
+ // e.g. subframe.document.body should use the subframe's global object, not the lexical one.
+ return static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject());
+ }
+
template<class WrapperClass> inline JSC::Structure* getDOMStructure(JSC::ExecState* exec, JSDOMGlobalObject* globalObject)
{
if (JSC::Structure* structure = getCachedDOMStructure(globalObject, &WrapperClass::s_info))
return structure;
return cacheDOMStructure(globalObject, WrapperClass::createStructure(WrapperClass::createPrototype(exec, globalObject)), &WrapperClass::s_info);
}
- template<class WrapperClass> inline JSC::Structure* getDOMStructure(JSC::ExecState* exec)
+ template<class WrapperClass> inline JSC::Structure* deprecatedGetDOMStructure(JSC::ExecState* exec)
{
- return getDOMStructure<WrapperClass>(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()));
+ // FIXME: This function is wrong. It uses the wrong global object for creating the prototype structure.
+ return getDOMStructure<WrapperClass>(exec, deprecatedGlobalObjectForPrototype(exec));
}
template<class WrapperClass> inline JSC::JSObject* getDOMPrototype(JSC::ExecState* exec, JSC::JSGlobalObject* globalObject)
{
return static_cast<JSC::JSObject*>(asObject(getDOMStructure<WrapperClass>(exec, static_cast<JSDOMGlobalObject*>(globalObject))->storedPrototype()));
}
- #define CREATE_DOM_OBJECT_WRAPPER(exec, className, object) createDOMObjectWrapper<JS##className>(exec, static_cast<className*>(object))
- template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object)
+ #define CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, className, object) createDOMObjectWrapper<JS##className>(exec, globalObject, static_cast<className*>(object))
+ template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object)
{
ASSERT(object);
ASSERT(!getCachedDOMObjectWrapper(exec->globalData(), object));
- WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec), object);
+ // FIXME: new (exec) could use a different globalData than the globalData this wrapper is cached on.
+ WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec, globalObject), globalObject, object);
cacheDOMObjectWrapper(exec->globalData(), object, wrapper);
return wrapper;
}
- template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object)
+ template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object)
{
if (!object)
return JSC::jsNull();
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), object))
return wrapper;
- return createDOMObjectWrapper<WrapperClass>(exec, object);
+ return createDOMObjectWrapper<WrapperClass>(exec, globalObject, object);
}
#if ENABLE(SVG)
- #define CREATE_SVG_OBJECT_WRAPPER(exec, className, object, context) createDOMObjectWrapper<JS##className>(exec, static_cast<className*>(object), context)
- template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object, SVGElement* context)
+ #define CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, className, object, context) createDOMObjectWrapper<JS##className>(exec, globalObject, static_cast<className*>(object), context)
+ template<class WrapperClass, class DOMClass> inline DOMObject* createDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object, SVGElement* context)
{
ASSERT(object);
ASSERT(!getCachedDOMObjectWrapper(exec->globalData(), object));
- WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec), object, context);
+ WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec, globalObject), globalObject, object, context);
cacheDOMObjectWrapper(exec->globalData(), object, wrapper);
return wrapper;
}
- template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, DOMClass* object, SVGElement* context)
+ template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMObjectWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* object, SVGElement* context)
{
if (!object)
return JSC::jsNull();
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), object))
return wrapper;
- return createDOMObjectWrapper<WrapperClass>(exec, object, context);
+ return createDOMObjectWrapper<WrapperClass>(exec, globalObject, object, context);
}
#endif
- #define CREATE_DOM_NODE_WRAPPER(exec, className, object) createDOMNodeWrapper<JS##className>(exec, static_cast<className*>(object))
- template<class WrapperClass, class DOMClass> inline JSNode* createDOMNodeWrapper(JSC::ExecState* exec, DOMClass* node)
+ #define CREATE_DOM_NODE_WRAPPER(exec, globalObject, className, object) createDOMNodeWrapper<JS##className>(exec, globalObject, static_cast<className*>(object))
+ template<class WrapperClass, class DOMClass> inline JSNode* createDOMNodeWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* node)
{
ASSERT(node);
ASSERT(!getCachedDOMNodeWrapper(node->document(), node));
- WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec), node);
+ WrapperClass* wrapper = new (exec) WrapperClass(getDOMStructure<WrapperClass>(exec, globalObject), globalObject, node);
+ // FIXME: The entire function can be removed, once we fix caching.
+ // This function is a one-off hack to make Nodes cache in the right global object.
cacheDOMNodeWrapper(node->document(), node, wrapper);
return wrapper;
}
- template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMNodeWrapper(JSC::ExecState* exec, DOMClass* node)
+ template<class WrapperClass, class DOMClass> inline JSC::JSValue getDOMNodeWrapper(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMClass* node)
{
if (!node)
return JSC::jsNull();
if (JSNode* wrapper = getCachedDOMNodeWrapper(node->document(), node))
return wrapper;
- return createDOMNodeWrapper<WrapperClass>(exec, node);
+ return createDOMNodeWrapper<WrapperClass>(exec, globalObject, node);
}
const JSC::HashTable* getHashTableForGlobalData(JSC::JSGlobalData&, const JSC::HashTable* staticTable);
@@ -174,7 +255,28 @@ namespace WebCore {
JSC::UString valueToStringWithNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null
JSC::UString valueToStringWithUndefinedOrNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null or undefined
- template <typename T> inline JSC::JSValue toJS(JSC::ExecState* exec, PassRefPtr<T> ptr) { return toJS(exec, ptr.get()); }
+ // FIXME: These are a stop-gap until all toJS calls can be converted to pass a globalObject
+ template <typename T>
+ inline JSC::JSValue toJS(JSC::ExecState* exec, T* ptr)
+ {
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), ptr);
+ }
+ template <typename T>
+ inline JSC::JSValue toJS(JSC::ExecState* exec, PassRefPtr<T> ptr)
+ {
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), ptr.get());
+ }
+ template <typename T>
+ inline JSC::JSValue toJSNewlyCreated(JSC::ExecState* exec, T* ptr)
+ {
+ return toJSNewlyCreated(exec, deprecatedGlobalObjectForPrototype(exec), ptr);
+ }
+
+ template <typename T>
+ inline JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<T> ptr)
+ {
+ return toJS(exec, globalObject, ptr.get());
+ }
bool checkNodeSecurity(JSC::ExecState*, Node*);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
index 8e4e820..bc6c1f2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMGlobalObject.h
@@ -67,6 +67,9 @@ namespace WebCore {
JSListenersMap& jsEventListeners();
+ // Make binding code generation easier.
+ JSDOMGlobalObject* globalObject() { return this; }
+
void setCurrentEvent(Event*);
Event* currentEvent() const;
@@ -89,16 +92,6 @@ namespace WebCore {
};
template<class ConstructorClass>
- inline JSC::JSObject* getDOMConstructor(JSC::ExecState* exec)
- {
- if (JSC::JSObject* constructor = getCachedDOMConstructor(exec, &ConstructorClass::s_info))
- return constructor;
- JSC::JSObject* constructor = new (exec) ConstructorClass(exec);
- cacheDOMConstructor(exec, &ConstructorClass::s_info, constructor);
- return constructor;
- }
-
- template<class ConstructorClass>
inline JSC::JSObject* getDOMConstructor(JSC::ExecState* exec, const JSDOMGlobalObject* globalObject)
{
if (JSC::JSObject* constructor = globalObject->constructors().get(&ConstructorClass::s_info))
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
index 0eefebe..df6068a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.cpp
@@ -63,7 +63,7 @@ void JSDOMWindowBase::updateDocument()
{
ASSERT(d()->impl->document());
ExecState* exec = globalExec();
- symbolTablePutWithAttributes(Identifier(exec, "document"), toJS(exec, d()->impl->document()), DontDelete | ReadOnly);
+ symbolTablePutWithAttributes(Identifier(exec, "document"), toJS(exec, this, d()->impl->document()), DontDelete | ReadOnly);
}
ScriptExecutionContext* JSDOMWindowBase::scriptExecutionContext() const
@@ -99,7 +99,7 @@ void JSDOMWindowBase::printErrorMessage(const String& message) const
if (settings->privateBrowsingEnabled())
return;
- impl()->console()->addMessage(JSMessageSource, ErrorMessageLevel, message, 1, String()); // FIXME: provide a real line number and source URL.
+ impl()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message, 1, String()); // FIXME: provide a real line number and source URL.
}
ExecState* JSDOMWindowBase::globalExec()
@@ -172,6 +172,13 @@ JSGlobalData* JSDOMWindowBase::commonJSGlobalData()
return globalData;
}
+// JSDOMGlobalObject* is ignored, accesing a window in any context will
+// use that DOMWindow's prototype chain.
+JSValue toJS(ExecState* exec, JSDOMGlobalObject*, DOMWindow* domWindow)
+{
+ return toJS(exec, domWindow);
+}
+
JSValue toJS(ExecState*, DOMWindow* domWindow)
{
if (!domWindow)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
index 113344f..84cc81f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h
@@ -89,6 +89,9 @@ namespace WebCore {
};
// Returns a JSDOMWindow or jsNull()
+ // JSDOMGlobalObject* is ignored, accesing a window in any context will
+ // use that DOMWindow's prototype chain.
+ JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMWindow*);
JSC::JSValue toJS(JSC::ExecState*, DOMWindow*);
// Returns JSDOMWindow or 0
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 22013eb..33ac7bb 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -45,6 +45,7 @@
#include "JSMessageChannelConstructor.h"
#include "JSMessagePort.h"
#include "JSOptionConstructor.h"
+#include "JSSharedWorkerConstructor.h"
#include "JSWebKitCSSMatrixConstructor.h"
#include "JSWebKitPointConstructor.h"
#include "JSWorkerConstructor.h"
@@ -358,7 +359,8 @@ JSValue JSDOMWindow::history(ExecState* exec) const
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), history))
return wrapper;
- JSHistory* jsHistory = new (exec) JSHistory(getDOMStructure<JSHistory>(exec, const_cast<JSDOMWindow*>(this)), history);
+ JSDOMWindow* window = const_cast<JSDOMWindow*>(this);
+ JSHistory* jsHistory = new (exec) JSHistory(getDOMStructure<JSHistory>(exec, window), window, history);
cacheDOMObjectWrapper(exec->globalData(), history, jsHistory);
return jsHistory;
}
@@ -369,7 +371,8 @@ JSValue JSDOMWindow::location(ExecState* exec) const
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), location))
return wrapper;
- JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, const_cast<JSDOMWindow*>(this)), location);
+ JSDOMWindow* window = const_cast<JSDOMWindow*>(this);
+ JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, window), window, location);
cacheDOMObjectWrapper(exec->globalData(), location, jsLocation);
return jsLocation;
}
@@ -442,12 +445,12 @@ JSValue JSDOMWindow::audio(ExecState* exec) const
JSValue JSDOMWindow::webKitPoint(ExecState* exec) const
{
- return getDOMConstructor<JSWebKitPointConstructor>(exec);
+ return getDOMConstructor<JSWebKitPointConstructor>(exec, this);
}
JSValue JSDOMWindow::webKitCSSMatrix(ExecState* exec) const
{
- return getDOMConstructor<JSWebKitCSSMatrixConstructor>(exec);
+ return getDOMConstructor<JSWebKitCSSMatrixConstructor>(exec, this);
}
JSValue JSDOMWindow::xmlHttpRequest(ExecState* exec) const
@@ -458,7 +461,7 @@ JSValue JSDOMWindow::xmlHttpRequest(ExecState* exec) const
#if ENABLE(XSLT)
JSValue JSDOMWindow::xsltProcessor(ExecState* exec) const
{
- return getDOMConstructor<JSXSLTProcessorConstructor>(exec);
+ return getDOMConstructor<JSXSLTProcessorConstructor>(exec, this);
}
#endif
@@ -472,7 +475,14 @@ JSValue JSDOMWindow::messageChannel(ExecState* exec) const
#if ENABLE(WORKERS)
JSValue JSDOMWindow::worker(ExecState* exec) const
{
- return getDOMConstructor<JSWorkerConstructor>(exec);
+ return getDOMConstructor<JSWorkerConstructor>(exec, this);
+}
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+JSValue JSDOMWindow::sharedWorker(ExecState* exec) const
+{
+ return getDOMConstructor<JSSharedWorkerConstructor>(exec, this);
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp
index af49df4..91b3d15 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridColumnList.h"
#include "AtomicString.h"
@@ -43,7 +46,9 @@ bool JSDataGridColumnList::canGetItemsForName(ExecState*, DataGridColumnList* im
JSValue JSDataGridColumnList::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
JSDataGridColumnList* thisObj = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
- return toJS(exec, thisObj->impl()->itemWithName(propertyName));
+ return toJS(exec, thisObj->globalObject(), thisObj->impl()->itemWithName(propertyName));
}
} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp
index e75b10b..02b4214 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridDataSource.h"
#include "Document.h"
@@ -47,34 +50,6 @@ JSDataGridDataSource::~JSDataGridDataSource()
{
}
-void JSDataGridDataSource::initialize(HTMLDataGridElement* datagrid)
-{
- if (!m_frame->script()->isEnabled())
- return;
-
- JSLock lock(false);
- RefPtr<JSDataGridDataSource> protect(this);
-
- ExecState* exec = m_frame->script()->globalObject()->globalExec();
-
- if (!jsDataSource().isObject())
- return;
-
- JSValue initializeFunction = jsDataSource().get(exec, Identifier(exec, "initialize"));
- CallData callData;
- CallType callType = initializeFunction.getCallData(callData);
- if (callType == CallTypeNone)
- return;
-
- MarkedArgumentBuffer args;
- args.append(toJS(exec, datagrid));
-
- JSDOMWindowBase::commonJSGlobalData()->timeoutChecker.start();
- call(exec, initializeFunction, callType, callData, m_dataSource, args);
- JSDOMWindowBase::commonJSGlobalData()->timeoutChecker.stop();
-
- if (exec->hadException())
- reportCurrentException(exec);
-}
-
} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h
index 2537b00..077ef8f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridDataSource.h
@@ -26,6 +26,8 @@
#ifndef JSDataGridDataSource_h
#define JSDataGridDataSource_h
+#if ENABLE(DATAGRID)
+
#include "DataGridDataSource.h"
#include <runtime/JSValue.h>
#include <runtime/Protect.h>
@@ -49,8 +51,6 @@ public:
virtual bool isJSDataGridDataSource() const { return true; }
JSC::JSValue jsDataSource() const { return m_dataSource.get(); }
- virtual void initialize(HTMLDataGridElement*);
-
private:
JSDataGridDataSource(JSC::JSValue, Frame*);
@@ -72,4 +72,5 @@ inline const JSDataGridDataSource* asJSDataGridDataSource(const DataGridDataSour
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
#endif // JSDataGridDataSource_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
new file mode 100644
index 0000000..c45a6a3
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDedicatedWorkerContextCustom.cpp
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSDedicatedWorkerContext.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSDedicatedWorkerContext::mark()
+{
+ Base::mark();
+
+ markIfNotNull(impl()->onmessage());
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp
index 956327a..493aaea 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDocumentCustom.cpp
@@ -56,8 +56,7 @@ JSValue JSDocument::location(ExecState* exec) const
if (DOMObject* wrapper = getCachedDOMObjectWrapper(exec->globalData(), location))
return wrapper;
- JSDOMWindow* window = static_cast<JSDOMWindow*>(exec->lexicalGlobalObject());
- JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, window), location);
+ JSLocation* jsLocation = new (exec) JSLocation(getDOMStructure<JSLocation>(exec, globalObject()), globalObject(), location);
cacheDOMObjectWrapper(exec->globalData(), location, jsLocation);
return jsLocation;
}
@@ -80,7 +79,7 @@ void JSDocument::setLocation(ExecState* exec, JSValue value)
frame->loader()->scheduleLocationChange(str, activeFrame->loader()->outgoingReferrer(), !activeFrame->script()->anyPageIsProcessingUserGesture(), false, userGesture);
}
-JSValue toJS(ExecState* exec, Document* document)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Document* document)
{
if (!document)
return jsNull();
@@ -90,13 +89,13 @@ JSValue toJS(ExecState* exec, Document* document)
return wrapper;
if (document->isHTMLDocument())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLDocument, document);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLDocument, document);
#if ENABLE(SVG)
else if (document->isSVGDocument())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, SVGDocument, document);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGDocument, document);
#endif
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, Document, document);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, Document, document);
// Make sure the document is kept around by the window object, and works right with the
// back/forward cache.
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp
index b12c185..47793d0 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSElementCustom.cpp
@@ -53,7 +53,7 @@ using namespace HTMLNames;
static inline bool allowSettingSrcToJavascriptURL(ExecState* exec, Element* element, const String& name, const String& value)
{
- if ((element->hasTagName(iframeTag) || element->hasTagName(frameTag)) && equalIgnoringCase(name, "src") && protocolIsJavaScript(parseURL(value))) {
+ if ((element->hasTagName(iframeTag) || element->hasTagName(frameTag)) && equalIgnoringCase(name, "src") && protocolIsJavaScript(deprecatedParseURL(value))) {
HTMLFrameElementBase* frame = static_cast<HTMLFrameElementBase*>(element);
if (!checkNodeSecurity(exec, frame->contentDocument()))
return false;
@@ -89,7 +89,7 @@ JSValue JSElement::setAttributeNode(ExecState* exec, const ArgList& args)
if (!allowSettingSrcToJavascriptURL(exec, imp, newAttr->name(), newAttr->value()))
return jsUndefined();
- JSValue result = toJS(exec, WTF::getPtr(imp->setAttributeNode(newAttr, ec)));
+ JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setAttributeNode(newAttr, ec)));
setDOMException(exec, ec);
return result;
}
@@ -123,12 +123,12 @@ JSValue JSElement::setAttributeNodeNS(ExecState* exec, const ArgList& args)
if (!allowSettingSrcToJavascriptURL(exec, imp, newAttr->name(), newAttr->value()))
return jsUndefined();
- JSValue result = toJS(exec, WTF::getPtr(imp->setAttributeNodeNS(newAttr, ec)));
+ JSValue result = toJS(exec, globalObject(), WTF::getPtr(imp->setAttributeNodeNS(newAttr, ec)));
setDOMException(exec, ec);
return result;
}
-JSValue toJSNewlyCreated(ExecState* exec, Element* element)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Element* element)
{
if (!element)
return jsNull();
@@ -137,15 +137,15 @@ JSValue toJSNewlyCreated(ExecState* exec, Element* element)
JSNode* wrapper;
if (element->isHTMLElement())
- wrapper = createJSHTMLWrapper(exec, static_cast<HTMLElement*>(element));
+ wrapper = createJSHTMLWrapper(exec, globalObject, static_cast<HTMLElement*>(element));
#if ENABLE(SVG)
else if (element->isSVGElement())
- wrapper = createJSSVGWrapper(exec, static_cast<SVGElement*>(element));
+ wrapper = createJSSVGWrapper(exec, globalObject, static_cast<SVGElement*>(element));
#endif
else
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Element, element);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Element, element);
return wrapper;
}
-
+
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp
index 03b97d8..257c259 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventCustom.cpp
@@ -32,6 +32,7 @@
#include "Clipboard.h"
#include "Event.h"
#include "JSClipboard.h"
+#include "JSErrorEvent.h"
#include "JSKeyboardEvent.h"
#include "JSMessageEvent.h"
#include "JSMouseEvent.h"
@@ -44,6 +45,7 @@
#include "JSWebKitTransitionEvent.h"
#include "JSWheelEvent.h"
#include "JSXMLHttpRequestProgressEvent.h"
+#include "ErrorEvent.h"
#include "KeyboardEvent.h"
#include "MessageEvent.h"
#include "MouseEvent.h"
@@ -74,12 +76,12 @@ namespace WebCore {
JSValue JSEvent::clipboardData(ExecState* exec) const
{
- return impl()->isClipboardEvent() ? toJS(exec, impl()->clipboardData()) : jsUndefined();
+ return impl()->isClipboardEvent() ? toJS(exec, globalObject(), impl()->clipboardData()) : jsUndefined();
}
-JSValue toJS(ExecState* exec, Event* event)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Event* event)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (!event)
return jsNull();
@@ -90,41 +92,45 @@ JSValue toJS(ExecState* exec, Event* event)
if (event->isUIEvent()) {
if (event->isKeyboardEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, KeyboardEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, KeyboardEvent, event);
else if (event->isTextEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, TextEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, TextEvent, event);
else if (event->isMouseEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, MouseEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MouseEvent, event);
else if (event->isWheelEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WheelEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WheelEvent, event);
#if ENABLE(SVG)
else if (event->isSVGZoomEvent())
- wrapper = CREATE_SVG_OBJECT_WRAPPER(exec, SVGZoomEvent, event, 0);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, SVGZoomEvent, event);
#endif
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, UIEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, UIEvent, event);
} else if (event->isMutationEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, MutationEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MutationEvent, event);
else if (event->isOverflowEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, OverflowEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, OverflowEvent, event);
else if (event->isMessageEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, MessageEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, MessageEvent, event);
else if (event->isProgressEvent()) {
if (event->isXMLHttpRequestProgressEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, XMLHttpRequestProgressEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, XMLHttpRequestProgressEvent, event);
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, ProgressEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ProgressEvent, event);
}
#if ENABLE(DOM_STORAGE)
else if (event->isStorageEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, StorageEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, StorageEvent, event);
#endif
else if (event->isWebKitAnimationEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitAnimationEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitAnimationEvent, event);
else if (event->isWebKitTransitionEvent())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, WebKitTransitionEvent, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, WebKitTransitionEvent, event);
+#if ENABLE(WORKERS)
+ else if (event->isErrorEvent())
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ErrorEvent, event);
+#endif
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, Event, event);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, Event, event);
return wrapper;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
index b9ed685..a659d3e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.cpp
@@ -61,7 +61,7 @@ void JSEventListener::markJSFunction()
void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSObject* jsFunction = this->jsFunction();
if (!jsFunction)
@@ -71,6 +71,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
// Null check as clearGlobalObject() can clear this and we still get called back by
// xmlhttprequest objects. See http://bugs.webkit.org/show_bug.cgi?id=13275
// FIXME: Is this check still necessary? Requests are supposed to be stopped before clearGlobalObject() is called.
+ ASSERT(globalObject);
if (!globalObject)
return;
@@ -107,7 +108,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
ref();
MarkedArgumentBuffer args;
- args.append(toJS(exec, event));
+ args.append(toJS(exec, globalObject, event));
Event* savedEvent = globalObject->currentEvent();
globalObject->setCurrentEvent(event);
@@ -127,7 +128,7 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
if (isWindowEvent)
thisValue = globalObject->toThisObject(exec);
else
- thisValue = toJS(exec, event->currentTarget());
+ thisValue = toJS(exec, globalObject, event->currentTarget());
globalObject->globalData()->timeoutChecker.start();
retval = call(exec, jsFunction, callType, callData, thisValue, args);
}
@@ -153,6 +154,53 @@ void JSEventListener::handleEvent(Event* event, bool isWindowEvent)
}
}
+bool JSEventListener::reportError(const String& message, const String& url, int lineNumber)
+{
+ JSLock lock(SilenceAssertionsOnly);
+
+ JSObject* jsFunction = this->jsFunction();
+ if (!jsFunction)
+ return false;
+
+ JSDOMGlobalObject* globalObject = m_globalObject;
+ if (!globalObject)
+ return false;
+
+ ExecState* exec = globalObject->globalExec();
+
+ CallData callData;
+ CallType callType = jsFunction->getCallData(callData);
+
+ if (callType == CallTypeNone)
+ return false;
+
+ MarkedArgumentBuffer args;
+ args.append(jsString(exec, message));
+ args.append(jsString(exec, url));
+ args.append(jsNumber(exec, lineNumber));
+
+ // If this event handler is the first JavaScript to execute, then the
+ // dynamic global object should be set to the global object of the
+ // window in which the event occurred.
+ JSGlobalData* globalData = globalObject->globalData();
+ DynamicGlobalObjectScope globalObjectScope(exec, globalData->dynamicGlobalObject ? globalData->dynamicGlobalObject : globalObject);
+
+ JSValue thisValue = globalObject->toThisObject(exec);
+
+ globalObject->globalData()->timeoutChecker.start();
+ JSValue returnValue = call(exec, jsFunction, callType, callData, thisValue, args);
+ globalObject->globalData()->timeoutChecker.stop();
+
+ // If an error occurs while handling the script error, it should be bubbled up.
+ if (exec->hadException()) {
+ exec->clearException();
+ return false;
+ }
+
+ bool bubbleEvent;
+ return returnValue.getBoolean(bubbleEvent) && !bubbleEvent;
+}
+
bool JSEventListener::virtualisAttribute() const
{
return m_isAttribute;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
index ce34832..2497750 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventListener.h
@@ -45,6 +45,7 @@ namespace WebCore {
private:
virtual void markJSFunction();
virtual void handleEvent(Event*, bool isWindowEvent);
+ virtual bool reportError(const String& message, const String& url, int lineNumber);
virtual bool virtualisAttribute() const;
void clearJSFunctionInline();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
index 2058098..b75cccf 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.cpp
@@ -50,17 +50,22 @@
#endif
#if ENABLE(WORKERS)
+#include "DedicatedWorkerContext.h"
+#include "JSDedicatedWorkerContext.h"
#include "JSWorker.h"
-#include "JSWorkerContext.h"
#include "Worker.h"
-#include "WorkerContext.h"
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+#include "JSSharedWorker.h"
+#include "SharedWorker.h"
#endif
using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, EventTarget* target)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, EventTarget* target)
{
if (!target)
return jsNull();
@@ -68,39 +73,42 @@ JSValue toJS(ExecState* exec, EventTarget* target)
#if ENABLE(SVG)
// SVGElementInstance supports both toSVGElementInstance and toNode since so much mouse handling code depends on toNode returning a valid node.
if (SVGElementInstance* instance = target->toSVGElementInstance())
- return toJS(exec, instance);
+ return toJS(exec, globalObject, instance);
#endif
if (Node* node = target->toNode())
- return toJS(exec, node);
+ return toJS(exec, globalObject, node);
if (DOMWindow* domWindow = target->toDOMWindow())
- return toJS(exec, domWindow);
+ return toJS(exec, globalObject, domWindow);
if (XMLHttpRequest* xhr = target->toXMLHttpRequest())
- // XMLHttpRequest is always created via JS, so we don't need to use cacheDOMObject() here.
- return getCachedDOMObjectWrapper(exec->globalData(), xhr);
+ return toJS(exec, globalObject, xhr);
if (XMLHttpRequestUpload* upload = target->toXMLHttpRequestUpload())
- return toJS(exec, upload);
+ return toJS(exec, globalObject, upload);
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
if (DOMApplicationCache* cache = target->toDOMApplicationCache())
- // DOMApplicationCache is always created via JS, so we don't need to use cacheDOMObject() here.
- return getCachedDOMObjectWrapper(exec->globalData(), cache);
+ return toJS(exec, globalObject, cache);
#endif
if (MessagePort* messagePort = target->toMessagePort())
- return toJS(exec, messagePort);
+ return toJS(exec, globalObject, messagePort);
#if ENABLE(WORKERS)
if (Worker* worker = target->toWorker())
- return toJS(exec, worker);
+ return toJS(exec, globalObject, worker);
- if (WorkerContext* workerContext = target->toWorkerContext())
+ if (DedicatedWorkerContext* workerContext = target->toDedicatedWorkerContext())
return toJSDOMGlobalObject(workerContext);
#endif
+#if ENABLE(SHARED_WORKERS)
+ if (SharedWorker* sharedWorker = target->toSharedWorker())
+ return toJS(exec, globalObject, sharedWorker);
+#endif
+
ASSERT_NOT_REACHED();
return jsNull();
}
@@ -129,7 +137,11 @@ EventTarget* toEventTarget(JSC::JSValue value)
#if ENABLE(WORKERS)
CONVERT_TO_EVENT_TARGET(Worker)
- CONVERT_TO_EVENT_TARGET(WorkerContext)
+ CONVERT_TO_EVENT_TARGET(DedicatedWorkerContext)
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+ CONVERT_TO_EVENT_TARGET(SharedWorker)
#endif
return 0;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h
index 05df056..ddd8232 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSEventTarget.h
@@ -35,8 +35,9 @@ namespace JSC {
namespace WebCore {
class EventTarget;
+ class JSDOMGlobalObject;
- JSC::JSValue toJS(JSC::ExecState*, EventTarget*);
+ JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, EventTarget*);
EventTarget* toEventTarget(JSC::JSValue);
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
index d559d3b..7363e5c 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLAllCollection.h
@@ -35,8 +35,8 @@ namespace WebCore {
class JSHTMLAllCollection : public JSHTMLCollection {
public:
- JSHTMLAllCollection(PassRefPtr<JSC::Structure> structure, PassRefPtr<HTMLCollection> collection)
- : JSHTMLCollection(structure, collection)
+ JSHTMLAllCollection(PassRefPtr<JSC::Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> collection)
+ : JSHTMLCollection(structure, globalObject, collection)
{
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
index 4100468..dd9af74 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
@@ -35,18 +35,18 @@ using namespace JSC;
namespace WebCore {
-static JSValue getNamedItems(ExecState* exec, HTMLCollection* impl, const Identifier& propertyName)
+static JSValue getNamedItems(ExecState* exec, JSHTMLCollection* collection, const Identifier& propertyName)
{
Vector<RefPtr<Node> > namedItems;
- impl->namedItems(propertyName, namedItems);
+ collection->impl()->namedItems(propertyName, namedItems);
if (namedItems.isEmpty())
return jsUndefined();
if (namedItems.size() == 1)
- return toJS(exec, namedItems[0].get());
+ return toJS(exec, collection->globalObject(), namedItems[0].get());
- return new (exec) JSNamedNodesCollection(exec, namedItems);
+ return new (exec) JSNamedNodesCollection(exec, collection->globalObject(), namedItems);
}
// HTMLCollections are strange objects, they support both get and call,
@@ -57,7 +57,8 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
return jsUndefined();
// Do not use thisObj here. It can be the JSHTMLDocument, in the document.forms(i) case.
- HTMLCollection* collection = static_cast<JSHTMLCollection*>(function)->impl();
+ JSHTMLCollection* jsCollection = static_cast<JSHTMLCollection*>(function);
+ HTMLCollection* collection = jsCollection->impl();
// Also, do we need the TypeError test here ?
@@ -67,10 +68,10 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
UString string = args.at(0).toString(exec);
unsigned index = string.toUInt32(&ok, false);
if (ok)
- return toJS(exec, collection->item(index));
+ return toJS(exec, jsCollection->globalObject(), collection->item(index));
// Support for document.images('<name>') etc.
- return getNamedItems(exec, collection, Identifier(exec, string));
+ return getNamedItems(exec, jsCollection, Identifier(exec, string));
}
// The second arg, if set, is the index of the item we want
@@ -82,7 +83,7 @@ static JSValue JSC_HOST_CALL callHTMLCollection(ExecState* exec, JSObject* funct
Node* node = collection->namedItem(pstr);
while (node) {
if (!index)
- return toJS(exec, node);
+ return toJS(exec, jsCollection->globalObject(), node);
node = collection->nextNamedItem(pstr);
--index;
}
@@ -97,15 +98,17 @@ CallType JSHTMLCollection::getCallData(CallData& callData)
return CallTypeHost;
}
-bool JSHTMLCollection::canGetItemsForName(ExecState* exec, HTMLCollection* thisObj, const Identifier& propertyName)
+bool JSHTMLCollection::canGetItemsForName(ExecState*, HTMLCollection* collection, const Identifier& propertyName)
{
- return !getNamedItems(exec, thisObj, propertyName).isUndefined();
+ Vector<RefPtr<Node> > namedItems;
+ collection->namedItems(propertyName, namedItems);
+ return !namedItems.isEmpty();
}
JSValue JSHTMLCollection::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
JSHTMLCollection* thisObj = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
- return getNamedItems(exec, thisObj->impl(), propertyName);
+ return getNamedItems(exec, thisObj, propertyName);
}
JSValue JSHTMLCollection::item(ExecState* exec, const ArgList& args)
@@ -113,16 +116,16 @@ JSValue JSHTMLCollection::item(ExecState* exec, const ArgList& args)
bool ok;
uint32_t index = args.at(0).toString(exec).toUInt32(&ok, false);
if (ok)
- return toJS(exec, impl()->item(index));
- return getNamedItems(exec, impl(), Identifier(exec, args.at(0).toString(exec)));
+ return toJS(exec, globalObject(), impl()->item(index));
+ return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
}
JSValue JSHTMLCollection::namedItem(ExecState* exec, const ArgList& args)
{
- return getNamedItems(exec, impl(), Identifier(exec, args.at(0).toString(exec)));
+ return getNamedItems(exec, this, Identifier(exec, args.at(0).toString(exec)));
}
-JSValue toJS(ExecState* exec, HTMLCollection* collection)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, HTMLCollection* collection)
{
if (!collection)
return jsNull();
@@ -134,14 +137,14 @@ JSValue toJS(ExecState* exec, HTMLCollection* collection)
switch (collection->type()) {
case SelectOptions:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLOptionsCollection, collection);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLOptionsCollection, collection);
break;
case DocAll:
typedef HTMLCollection HTMLAllCollection;
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLAllCollection, collection);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLAllCollection, collection);
break;
default:
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, HTMLCollection, collection);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, HTMLCollection, collection);
break;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp
index 5aa0904..a30f5e4 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLDataGridElementCustom.cpp
@@ -24,6 +24,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridElement.h"
#include "Document.h"
@@ -44,7 +47,14 @@ JSValue JSHTMLDataGridElement::dataSource(ExecState*) const
void JSHTMLDataGridElement::setDataSource(ExecState*, JSValue value)
{
+ if (value.isNull()) {
+ static_cast<HTMLDataGridElement*>(impl())->setDataSource(0);
+ return;
+ }
+
static_cast<HTMLDataGridElement*>(impl())->setDataSource(JSDataGridDataSource::create(value, impl()->document()->frame()));
}
} // namespace WebCore
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp
index 3345764..4194657 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLElementCustom.cpp
@@ -38,14 +38,14 @@ void JSHTMLElement::pushEventHandlerScope(ExecState* exec, ScopeChain& scope) co
HTMLElement* element = impl();
// The document is put on first, fall back to searching it only after the element and form.
- scope.push(asObject(toJS(exec, element->ownerDocument())));
+ scope.push(asObject(toJS(exec, globalObject(), element->ownerDocument())));
// The form is next, searched before the document, but after the element itself.
if (HTMLFormElement* form = element->form())
- scope.push(asObject(toJS(exec, form)));
+ scope.push(asObject(toJS(exec, globalObject(), form)));
// The element is on top, searched first.
- scope.push(asObject(toJS(exec, element)));
+ scope.push(asObject(toJS(exec, globalObject(), element)));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp
index 8bf543c..ffa2d57 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFormElementCustom.cpp
@@ -45,7 +45,8 @@ bool JSHTMLFormElement::canGetItemsForName(ExecState*, HTMLFormElement* form, co
JSValue JSHTMLFormElement::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
{
- HTMLFormElement* form = static_cast<HTMLFormElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ JSHTMLElement* jsForm = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
+ HTMLFormElement* form = static_cast<HTMLFormElement*>(jsForm->impl());
Vector<RefPtr<Node> > namedItems;
form->getNamedElements(propertyName, namedItems);
@@ -53,7 +54,7 @@ JSValue JSHTMLFormElement::nameGetter(ExecState* exec, const Identifier& propert
if (namedItems.size() == 1)
return toJS(exec, namedItems[0].get());
if (namedItems.size() > 1)
- return new (exec) JSNamedNodesCollection(exec, namedItems);
+ return new (exec) JSNamedNodesCollection(exec, jsForm->globalObject(), namedItems);
return jsUndefined();
}
@@ -62,7 +63,7 @@ JSValue JSHTMLFormElement::submit(ExecState* exec, const ArgList&)
Frame* activeFrame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!activeFrame)
return jsUndefined();
- static_cast<HTMLFormElement*>(impl())->submit(0, false, !activeFrame->script()->anyPageIsProcessingUserGesture(), false);
+ static_cast<HTMLFormElement*>(impl())->submit(0, false, !activeFrame->script()->anyPageIsProcessingUserGesture());
return jsUndefined();
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp
index 0a5d1f1..c8aea9f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLFrameElementCustom.cpp
@@ -40,7 +40,7 @@ namespace WebCore {
static inline bool allowSettingJavascriptURL(ExecState* exec, HTMLFrameElement* imp, const String& value)
{
- if (protocolIsJavaScript(parseURL(value))) {
+ if (protocolIsJavaScript(deprecatedParseURL(value))) {
if (!checkNodeSecurity(exec, imp->contentDocument()))
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp
index afff977..8e32381 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLIFrameElementCustom.cpp
@@ -44,7 +44,7 @@ void JSHTMLIFrameElement::setSrc(ExecState* exec, JSValue value)
String srcValue = valueToStringWithNullCheck(exec, value);
- if (protocolIsJavaScript(parseURL(srcValue))) {
+ if (protocolIsJavaScript(deprecatedParseURL(srcValue))) {
if (!checkNodeSecurity(exec, imp->contentDocument()))
return;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
index 460ba08..7bca2db 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
@@ -91,7 +91,7 @@ JSValue JSHTMLOptionsCollection::add(ExecState* exec, const ArgList& args)
JSValue JSHTMLOptionsCollection::remove(ExecState* exec, const ArgList& args)
{
HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(impl());
- JSHTMLSelectElement* base = static_cast<JSHTMLSelectElement*>(asObject(toJS(exec, imp->base())));
+ JSHTMLSelectElement* base = static_cast<JSHTMLSelectElement*>(asObject(toJS(exec, globalObject(), imp->base())));
return base->remove(exec, args);
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp
index 4a27bb4..faaaf41 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.cpp
@@ -35,18 +35,9 @@ ASSERT_CLASS_FITS_IN_CELL(JSImageConstructor);
const ClassInfo JSImageConstructor::s_info = { "ImageConstructor", 0, 0, 0 };
JSImageConstructor::JSImageConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSImageConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorWithDocument(JSImageConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- ASSERT(globalObject->scriptExecutionContext());
- ASSERT(globalObject->scriptExecutionContext()->isDocument());
-
- putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
-}
-
-Document* JSImageConstructor::document() const
-{
- return static_cast<Document*>(m_globalObject->scriptExecutionContext());
+ putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, globalObject), None);
}
static JSObject* constructImage(ExecState* exec, JSObject* constructor, const ArgList& args)
@@ -64,21 +55,22 @@ static JSObject* constructImage(ExecState* exec, JSObject* constructor, const Ar
height = args.at(1).toInt32(exec);
}
- Document* document = static_cast<JSImageConstructor*>(constructor)->document();
+ JSImageConstructor* jsConstructor = static_cast<JSImageConstructor*>(constructor);
+ Document* document = jsConstructor->document();
if (!document)
return throwError(exec, ReferenceError, "Image constructor associated document is unavailable");
// Calling toJS on the document causes the JS document wrapper to be
// added to the window object. This is done to ensure that JSDocument::mark
// will be called (which will cause the image element to be marked if necessary).
- toJS(exec, document);
+ toJS(exec, jsConstructor->globalObject(), document);
RefPtr<HTMLImageElement> image = new HTMLImageElement(HTMLNames::imgTag, document);
if (widthSet)
image->setWidth(width);
if (heightSet)
image->setHeight(height);
- return asObject(toJS(exec, image.release()));
+ return asObject(toJS(exec, jsConstructor->globalObject(), image.release()));
}
ConstructType JSImageConstructor::getConstructData(ConstructData& constructData)
@@ -87,11 +79,4 @@ ConstructType JSImageConstructor::getConstructData(ConstructData& constructData)
return ConstructTypeHost;
}
-void JSImageConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h
index 8dc7add..0525f5e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSImageConstructor.h
@@ -25,19 +25,14 @@
namespace WebCore {
- class JSImageConstructor : public DOMObject {
+ class JSImageConstructor : public DOMConstructorWithDocument {
public:
JSImageConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- Document* document() const;
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp
index 32fe58b..fa3b1d5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSImageDataCustom.cpp
@@ -36,7 +36,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, ImageData* imageData)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, ImageData* imageData)
{
if (!imageData)
return jsNull();
@@ -45,7 +45,7 @@ JSValue toJS(ExecState* exec, ImageData* imageData)
if (wrapper)
return wrapper;
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, ImageData, imageData);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, ImageData, imageData);
Identifier dataName(exec, "data");
DEFINE_STATIC_LOCAL(RefPtr<Structure>, cpaStructure, (JSByteArray::createStructure(jsNull())));
static const ClassInfo cpaClassInfo = { "CanvasPixelArray", 0, 0, 0 };
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
new file mode 100644
index 0000000..b2eb2d1
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorBackendCustom.cpp
@@ -0,0 +1,283 @@
+/*
+ * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "JSInspectorBackend.h"
+
+#include "Console.h"
+#if ENABLE(DATABASE)
+#include "Database.h"
+#include "JSDatabase.h"
+#endif
+#include "ExceptionCode.h"
+#include "Frame.h"
+#include "FrameLoader.h"
+#include "InspectorBackend.h"
+#include "InspectorController.h"
+#include "InspectorResource.h"
+#include "JSDOMWindow.h"
+#include "JSInspectedObjectWrapper.h"
+#include "JSInspectorCallbackWrapper.h"
+#include "JSNode.h"
+#include "JSRange.h"
+#include "Node.h"
+#include "Page.h"
+#include "TextIterator.h"
+#include "VisiblePosition.h"
+#include <runtime/JSArray.h>
+#include <runtime/JSLock.h>
+#include <wtf/Vector.h>
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include "JavaScriptCallFrame.h"
+#include "JavaScriptDebugServer.h"
+#include "JavaScriptProfile.h"
+#include "JSJavaScriptCallFrame.h"
+#include <profiler/Profile.h>
+#include <profiler/Profiler.h>
+#endif
+
+using namespace JSC;
+
+namespace WebCore {
+
+JSValue JSInspectorBackend::highlightDOMNode(JSC::ExecState*, const JSC::ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
+ if (!wrapper)
+ return jsUndefined();
+
+ Node* node = toNode(wrapper->unwrappedObject());
+ if (!node)
+ return jsUndefined();
+
+ impl()->highlight(node);
+
+ return jsUndefined();
+}
+
+JSValue JSInspectorBackend::search(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 2)
+ return jsUndefined();
+
+ Node* node = toNode(args.at(0));
+ if (!node)
+ return jsUndefined();
+
+ String target = args.at(1).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+
+ MarkedArgumentBuffer result;
+ RefPtr<Range> searchRange(rangeOfContents(node));
+
+ ExceptionCode ec = 0;
+ do {
+ RefPtr<Range> resultRange(findPlainText(searchRange.get(), target, true, false));
+ if (resultRange->collapsed(ec))
+ break;
+
+ // A non-collapsed result range can in some funky whitespace cases still not
+ // advance the range's start position (4509328). Break to avoid infinite loop.
+ VisiblePosition newStart = endVisiblePosition(resultRange.get(), DOWNSTREAM);
+ if (newStart == startVisiblePosition(searchRange.get(), DOWNSTREAM))
+ break;
+
+ result.append(toJS(exec, resultRange.get()));
+
+ setStart(searchRange.get(), newStart);
+ } while (true);
+
+ return constructArray(exec, result);
+}
+
+#if ENABLE(DATABASE)
+JSValue JSInspectorBackend::databaseTableNames(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
+ if (!wrapper)
+ return jsUndefined();
+
+ Database* database = toDatabase(wrapper->unwrappedObject());
+ if (!database)
+ return jsUndefined();
+
+ MarkedArgumentBuffer result;
+
+ Vector<String> tableNames = database->tableNames();
+ unsigned length = tableNames.size();
+ for (unsigned i = 0; i < length; ++i)
+ result.append(jsString(exec, tableNames[i]));
+
+ return constructArray(exec, result);
+}
+#endif
+
+JSValue JSInspectorBackend::inspectedWindow(ExecState*, const ArgList&)
+{
+ InspectorController* ic = impl()->inspectorController();
+ if (!ic)
+ return jsUndefined();
+ JSDOMWindow* inspectedWindow = toJSDOMWindow(ic->inspectedPage()->mainFrame());
+ return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), inspectedWindow);
+}
+
+JSValue JSInspectorBackend::setting(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ String key = args.at(0).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+
+ InspectorController* ic = impl()->inspectorController();
+ if (!ic)
+ return jsUndefined();
+ const InspectorController::Setting& setting = ic->setting(key);
+
+ switch (setting.type()) {
+ default:
+ case InspectorController::Setting::NoType:
+ return jsUndefined();
+ case InspectorController::Setting::StringType:
+ return jsString(exec, setting.string());
+ case InspectorController::Setting::DoubleType:
+ return jsNumber(exec, setting.doubleValue());
+ case InspectorController::Setting::IntegerType:
+ return jsNumber(exec, setting.integerValue());
+ case InspectorController::Setting::BooleanType:
+ return jsBoolean(setting.booleanValue());
+ case InspectorController::Setting::StringVectorType: {
+ MarkedArgumentBuffer stringsArray;
+ const Vector<String>& strings = setting.stringVector();
+ const unsigned length = strings.size();
+ for (unsigned i = 0; i < length; ++i)
+ stringsArray.append(jsString(exec, strings[i]));
+ return constructArray(exec, stringsArray);
+ }
+ }
+}
+
+JSValue JSInspectorBackend::setSetting(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 2)
+ return jsUndefined();
+
+ String key = args.at(0).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+
+ InspectorController::Setting setting;
+
+ JSValue value = args.at(1);
+ if (value.isUndefined() || value.isNull()) {
+ // Do nothing. The setting is already NoType.
+ ASSERT(setting.type() == InspectorController::Setting::NoType);
+ } else if (value.isString())
+ setting.set(value.toString(exec));
+ else if (value.isNumber())
+ setting.set(value.toNumber(exec));
+ else if (value.isBoolean())
+ setting.set(value.toBoolean(exec));
+ else {
+ JSArray* jsArray = asArray(value);
+ if (!jsArray)
+ return jsUndefined();
+ Vector<String> strings;
+ for (unsigned i = 0; i < jsArray->length(); ++i) {
+ String item = jsArray->get(exec, i).toString(exec);
+ if (exec->hadException())
+ return jsUndefined();
+ strings.append(item);
+ }
+ setting.set(strings);
+ }
+
+ if (exec->hadException())
+ return jsUndefined();
+
+ InspectorController* ic = impl()->inspectorController();
+ if (ic)
+ ic->setSetting(key, setting);
+
+ return jsUndefined();
+}
+
+JSValue JSInspectorBackend::wrapCallback(ExecState* exec, const ArgList& args)
+{
+ if (args.size() < 1)
+ return jsUndefined();
+
+ return JSInspectorCallbackWrapper::wrap(exec, args.at(0));
+}
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+JSValue JSInspectorBackend::currentCallFrame(ExecState* exec, const ArgList&)
+{
+ JavaScriptCallFrame* callFrame = impl()->currentCallFrame();
+ if (!callFrame || !callFrame->isValid())
+ return jsUndefined();
+
+ // FIXME: I am not sure if this is actually needed. Can we just use exec?
+ ExecState* globalExec = callFrame->scopeChain()->globalObject()->globalExec();
+
+ JSLock lock(SilenceAssertionsOnly);
+ return JSInspectedObjectWrapper::wrap(globalExec, toJS(exec, callFrame));
+}
+
+JSValue JSInspectorBackend::profiles(JSC::ExecState* exec, const JSC::ArgList&)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ MarkedArgumentBuffer result;
+ InspectorController* ic = impl()->inspectorController();
+ if (!ic)
+ return jsUndefined();
+ const Vector<RefPtr<Profile> >& profiles = ic->profiles();
+
+ for (size_t i = 0; i < profiles.size(); ++i)
+ result.append(toJS(exec, profiles[i].get()));
+
+ return constructArray(exec, result);
+}
+
+#endif
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp
deleted file mode 100644
index b06c9e9..0000000
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSInspectorControllerCustom.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
- * Copyright (C) 2009 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "JSInspectorController.h"
-
-#include "Console.h"
-#if ENABLE(DATABASE)
-#include "Database.h"
-#include "JSDatabase.h"
-#endif
-#include "ExceptionCode.h"
-#include "Frame.h"
-#include "FrameLoader.h"
-#include "InspectorController.h"
-#include "InspectorResource.h"
-#include "JSDOMWindow.h"
-#include "JSInspectedObjectWrapper.h"
-#include "JSInspectorCallbackWrapper.h"
-#include "JSNode.h"
-#include "JSRange.h"
-#include "Node.h"
-#include "Page.h"
-#include "TextIterator.h"
-#include "VisiblePosition.h"
-#include <runtime/JSArray.h>
-#include <runtime/JSLock.h>
-#include <wtf/Vector.h>
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-#include "JavaScriptCallFrame.h"
-#include "JavaScriptDebugServer.h"
-#include "JavaScriptProfile.h"
-#include "JSJavaScriptCallFrame.h"
-#include <profiler/Profile.h>
-#include <profiler/Profiler.h>
-#endif
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue JSInspectorController::highlightDOMNode(JSC::ExecState*, const JSC::ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
- if (!wrapper)
- return jsUndefined();
-
- Node* node = toNode(wrapper->unwrappedObject());
- if (!node)
- return jsUndefined();
-
- impl()->highlight(node);
-
- return jsUndefined();
-}
-
-JSValue JSInspectorController::getResourceDocumentNode(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- bool ok = false;
- unsigned identifier = args.at(0).toUInt32(exec, ok);
- if (!ok)
- return jsUndefined();
-
- RefPtr<InspectorResource> resource = impl()->resources().get(identifier);
- ASSERT(resource);
- if (!resource)
- return jsUndefined();
-
- Frame* frame = resource->frame();
- Document* document = frame->document();
-
- if (document->isPluginDocument() || document->isImageDocument() || document->isMediaDocument())
- return jsUndefined();
-
- ExecState* resourceExec = toJSDOMWindowShell(frame)->window()->globalExec();
-
- JSLock lock(false);
- return JSInspectedObjectWrapper::wrap(resourceExec, toJS(resourceExec, document));
-}
-
-JSValue JSInspectorController::search(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 2)
- return jsUndefined();
-
- Node* node = toNode(args.at(0));
- if (!node)
- return jsUndefined();
-
- String target = args.at(1).toString(exec);
- if (exec->hadException())
- return jsUndefined();
-
- MarkedArgumentBuffer result;
- RefPtr<Range> searchRange(rangeOfContents(node));
-
- ExceptionCode ec = 0;
- do {
- RefPtr<Range> resultRange(findPlainText(searchRange.get(), target, true, false));
- if (resultRange->collapsed(ec))
- break;
-
- // A non-collapsed result range can in some funky whitespace cases still not
- // advance the range's start position (4509328). Break to avoid infinite loop.
- VisiblePosition newStart = endVisiblePosition(resultRange.get(), DOWNSTREAM);
- if (newStart == startVisiblePosition(searchRange.get(), DOWNSTREAM))
- break;
-
- result.append(toJS(exec, resultRange.get()));
-
- setStart(searchRange.get(), newStart);
- } while (true);
-
- return constructArray(exec, result);
-}
-
-#if ENABLE(DATABASE)
-JSValue JSInspectorController::databaseTableNames(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- JSQuarantinedObjectWrapper* wrapper = JSQuarantinedObjectWrapper::asWrapper(args.at(0));
- if (!wrapper)
- return jsUndefined();
-
- Database* database = toDatabase(wrapper->unwrappedObject());
- if (!database)
- return jsUndefined();
-
- MarkedArgumentBuffer result;
-
- Vector<String> tableNames = database->tableNames();
- unsigned length = tableNames.size();
- for (unsigned i = 0; i < length; ++i)
- result.append(jsString(exec, tableNames[i]));
-
- return constructArray(exec, result);
-}
-#endif
-
-JSValue JSInspectorController::inspectedWindow(ExecState*, const ArgList&)
-{
- JSDOMWindow* inspectedWindow = toJSDOMWindow(impl()->inspectedPage()->mainFrame());
- return JSInspectedObjectWrapper::wrap(inspectedWindow->globalExec(), inspectedWindow);
-}
-
-JSValue JSInspectorController::setting(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- String key = args.at(0).toString(exec);
- if (exec->hadException())
- return jsUndefined();
-
- const InspectorController::Setting& setting = impl()->setting(key);
-
- switch (setting.type()) {
- default:
- case InspectorController::Setting::NoType:
- return jsUndefined();
- case InspectorController::Setting::StringType:
- return jsString(exec, setting.string());
- case InspectorController::Setting::DoubleType:
- return jsNumber(exec, setting.doubleValue());
- case InspectorController::Setting::IntegerType:
- return jsNumber(exec, setting.integerValue());
- case InspectorController::Setting::BooleanType:
- return jsBoolean(setting.booleanValue());
- case InspectorController::Setting::StringVectorType: {
- MarkedArgumentBuffer stringsArray;
- const Vector<String>& strings = setting.stringVector();
- const unsigned length = strings.size();
- for (unsigned i = 0; i < length; ++i)
- stringsArray.append(jsString(exec, strings[i]));
- return constructArray(exec, stringsArray);
- }
- }
-}
-
-JSValue JSInspectorController::setSetting(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 2)
- return jsUndefined();
-
- String key = args.at(0).toString(exec);
- if (exec->hadException())
- return jsUndefined();
-
- InspectorController::Setting setting;
-
- JSValue value = args.at(1);
- if (value.isUndefined() || value.isNull()) {
- // Do nothing. The setting is already NoType.
- ASSERT(setting.type() == InspectorController::Setting::NoType);
- } else if (value.isString())
- setting.set(value.toString(exec));
- else if (value.isNumber())
- setting.set(value.toNumber(exec));
- else if (value.isBoolean())
- setting.set(value.toBoolean(exec));
- else {
- JSArray* jsArray = asArray(value);
- if (!jsArray)
- return jsUndefined();
- Vector<String> strings;
- for (unsigned i = 0; i < jsArray->length(); ++i) {
- String item = jsArray->get(exec, i).toString(exec);
- if (exec->hadException())
- return jsUndefined();
- strings.append(item);
- }
- setting.set(strings);
- }
-
- if (exec->hadException())
- return jsUndefined();
-
- impl()->setSetting(key, setting);
-
- return jsUndefined();
-}
-
-JSValue JSInspectorController::wrapCallback(ExecState* exec, const ArgList& args)
-{
- if (args.size() < 1)
- return jsUndefined();
-
- return JSInspectorCallbackWrapper::wrap(exec, args.at(0));
-}
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-JSValue JSInspectorController::currentCallFrame(ExecState* exec, const ArgList&)
-{
- JavaScriptCallFrame* callFrame = impl()->currentCallFrame();
- if (!callFrame || !callFrame->isValid())
- return jsUndefined();
-
- // FIXME: I am not sure if this is actually needed. Can we just use exec?
- ExecState* globalExec = callFrame->scopeChain()->globalObject()->globalExec();
-
- JSLock lock(false);
- return JSInspectedObjectWrapper::wrap(globalExec, toJS(exec, callFrame));
-}
-
-JSValue JSInspectorController::profiles(JSC::ExecState* exec, const JSC::ArgList&)
-{
- JSLock lock(false);
- MarkedArgumentBuffer result;
- const Vector<RefPtr<Profile> >& profiles = impl()->profiles();
-
- for (size_t i = 0; i < profiles.size(); ++i)
- result.append(toJS(exec, profiles[i].get()));
-
- return constructArray(exec, result);
-}
-
-#endif
-
-} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
index f7c74ae..7caff2b 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSLazyEventListener.cpp
@@ -77,7 +77,11 @@ void JSLazyEventListener::parseCode() const
if (m_parsed)
return;
- if (m_globalObject->scriptExecutionContext()->isDocument()) {
+ ScriptExecutionContext* executionContext = m_globalObject->scriptExecutionContext();
+ ASSERT(executionContext);
+ if (!executionContext)
+ return;
+ if (executionContext->isDocument()) {
JSDOMWindow* window = static_cast<JSDOMWindow*>(m_globalObject);
Frame* frame = window->impl()->frame();
if (!frame)
@@ -93,7 +97,7 @@ void JSLazyEventListener::parseCode() const
ExecState* exec = m_globalObject->globalExec();
MarkedArgumentBuffer args;
- UString sourceURL(m_globalObject->scriptExecutionContext()->url().string());
+ UString sourceURL(executionContext->url().string());
args.append(jsNontrivialString(exec, m_eventParameterName));
args.append(jsString(exec, m_code));
@@ -113,7 +117,7 @@ void JSLazyEventListener::parseCode() const
// (and the document, and the form - see JSHTMLElement::eventHandlerScope)
ScopeChain scope = listenerAsFunction->scope();
- JSValue thisObj = toJS(exec, m_originalNode);
+ JSValue thisObj = toJS(exec, m_globalObject, m_originalNode);
if (thisObj.isObject()) {
static_cast<JSNode*>(asObject(thisObj))->pushEventHandlerScope(exec, scope);
listenerAsFunction->setScope(scope);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp
index 495bd53..25a5cb2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.cpp
@@ -38,21 +38,15 @@ namespace WebCore {
const ClassInfo JSMessageChannelConstructor::s_info = { "MessageChannelConstructor", 0, 0, 0 };
JSMessageChannelConstructor::JSMessageChannelConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSMessageChannelConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorObject(JSMessageChannelConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMessageChannelPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMessageChannelPrototype::self(exec, globalObject), None);
}
JSMessageChannelConstructor::~JSMessageChannelConstructor()
{
}
-ScriptExecutionContext* JSMessageChannelConstructor::scriptExecutionContext() const
-{
- return m_globalObject->scriptExecutionContext();
-}
-
ConstructType JSMessageChannelConstructor::getConstructData(ConstructData& constructData)
{
constructData.native.function = construct;
@@ -61,18 +55,12 @@ ConstructType JSMessageChannelConstructor::getConstructData(ConstructData& const
JSObject* JSMessageChannelConstructor::construct(ExecState* exec, JSObject* constructor, const ArgList&)
{
- ScriptExecutionContext* context = static_cast<JSMessageChannelConstructor*>(constructor)->scriptExecutionContext();
+ JSMessageChannelConstructor* jsConstructor = static_cast<JSMessageChannelConstructor*>(constructor);
+ ScriptExecutionContext* context = jsConstructor->scriptExecutionContext();
if (!context)
return throwError(exec, ReferenceError, "MessageChannel constructor associated document is unavailable");
- return asObject(toJS(exec, MessageChannel::create(context)));
-}
-
-void JSMessageChannelConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
+ return asObject(toJS(exec, jsConstructor->globalObject(), MessageChannel::create(context)));
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h
index 90c29a3..d958760 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelConstructor.h
@@ -30,23 +30,16 @@
namespace WebCore {
- class JSMessageChannelConstructor : public DOMObject {
+ class JSMessageChannelConstructor : public DOMConstructorObject {
public:
JSMessageChannelConstructor(JSC::ExecState*, JSDOMGlobalObject*);
virtual ~JSMessageChannelConstructor();
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
- ScriptExecutionContext* scriptExecutionContext() const;
-
virtual bool implementsHasInstance() const { return true; }
static JSC::JSObject* construct(JSC::ExecState*, JSC::JSObject*, const JSC::ArgList&);
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
-
- virtual void mark();
-
- private:
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
index 70329e2..d3b5878 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessageChannelCustom.cpp
@@ -34,7 +34,7 @@ namespace WebCore {
void JSMessageChannel::mark()
{
- DOMObject::mark();
+ Base::mark();
if (MessagePort* port = m_impl->port1()) {
DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
index bfac375..71472d5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSMessagePortCustom.cpp
@@ -40,7 +40,7 @@ namespace WebCore {
void JSMessagePort::mark()
{
- DOMObject::mark();
+ Base::mark();
markIfNotNull(m_impl->onmessage());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp
index 93a8937..f36a7d6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.cpp
@@ -42,8 +42,8 @@ const ClassInfo JSNamedNodesCollection::s_info = { "Collection", 0, 0, 0 };
// Such a collection is usually very short-lived, it only exists
// for constructs like document.forms.<name>[1],
// so it shouldn't be a problem that it's storing all the nodes (with the same name). (David)
-JSNamedNodesCollection::JSNamedNodesCollection(ExecState* exec, const Vector<RefPtr<Node> >& nodes)
- : DOMObject(getDOMStructure<JSNamedNodesCollection>(exec))
+JSNamedNodesCollection::JSNamedNodesCollection(ExecState* exec, JSDOMGlobalObject* globalObject, const Vector<RefPtr<Node> >& nodes)
+ : DOMObjectWithGlobalPointer(getDOMStructure<JSNamedNodesCollection>(exec, globalObject), globalObject)
, m_nodes(new Vector<RefPtr<Node> >(nodes))
{
}
@@ -86,7 +86,7 @@ bool JSNamedNodesCollection::getOwnPropertySlot(ExecState* exec, const Identifie
}
}
- return DOMObject::getOwnPropertySlot(exec, propertyName, slot);
+ return DOMObjectWithGlobalPointer::getOwnPropertySlot(exec, propertyName, slot);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h
index 3bbc102..cd6c2cb 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNamedNodesCollection.h
@@ -35,9 +35,9 @@ namespace WebCore {
// Internal class, used for the collection return by e.g. document.forms.myinput
// when multiple nodes have the same name.
- class JSNamedNodesCollection : public DOMObject {
+ class JSNamedNodesCollection : public DOMObjectWithGlobalPointer {
public:
- JSNamedNodesCollection(JSC::ExecState*, const Vector<RefPtr<Node> >&);
+ JSNamedNodesCollection(JSC::ExecState*, JSDOMGlobalObject*, const Vector<RefPtr<Node> >&);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
index 79ac6b7..2f080b8 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeCustom.cpp
@@ -146,7 +146,7 @@ void JSNode::mark()
// the document, we need to mark the document, but we don't need to explicitly
// mark any other nodes.
if (node->inDocument()) {
- DOMObject::mark();
+ Base::mark();
markEventListeners(node->eventListeners());
if (Document* doc = node->ownerDocument())
if (DOMObject* docWrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), doc))
@@ -164,7 +164,7 @@ void JSNode::mark()
// Nodes in a subtree are marked by the tree's root, so, if the root is already
// marking the tree, we don't need to explicitly mark any other nodes.
if (root->inSubtreeMark()) {
- DOMObject::mark();
+ Base::mark();
markEventListeners(node->eventListeners());
return;
}
@@ -192,7 +192,7 @@ void JSNode::mark()
ASSERT(marked());
}
-static ALWAYS_INLINE JSValue createWrapper(ExecState* exec, Node* node)
+static ALWAYS_INLINE JSValue createWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, Node* node)
{
ASSERT(node);
ASSERT(!getCachedDOMNodeWrapper(node->document(), node));
@@ -201,63 +201,63 @@ static ALWAYS_INLINE JSValue createWrapper(ExecState* exec, Node* node)
switch (node->nodeType()) {
case Node::ELEMENT_NODE:
if (node->isHTMLElement())
- wrapper = createJSHTMLWrapper(exec, static_cast<HTMLElement*>(node));
+ wrapper = createJSHTMLWrapper(exec, globalObject, static_cast<HTMLElement*>(node));
#if ENABLE(SVG)
else if (node->isSVGElement())
- wrapper = createJSSVGWrapper(exec, static_cast<SVGElement*>(node));
+ wrapper = createJSSVGWrapper(exec, globalObject, static_cast<SVGElement*>(node));
#endif
else
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Element, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Element, node);
break;
case Node::ATTRIBUTE_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Attr, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Attr, node);
break;
case Node::TEXT_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Text, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Text, node);
break;
case Node::CDATA_SECTION_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, CDATASection, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, CDATASection, node);
break;
case Node::ENTITY_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Entity, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Entity, node);
break;
case Node::PROCESSING_INSTRUCTION_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, ProcessingInstruction, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, ProcessingInstruction, node);
break;
case Node::COMMENT_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Comment, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Comment, node);
break;
case Node::DOCUMENT_NODE:
// we don't want to cache the document itself in the per-document dictionary
- return toJS(exec, static_cast<Document*>(node));
+ return toJS(exec, globalObject, static_cast<Document*>(node));
case Node::DOCUMENT_TYPE_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, DocumentType, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, DocumentType, node);
break;
case Node::NOTATION_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Notation, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Notation, node);
break;
case Node::DOCUMENT_FRAGMENT_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, DocumentFragment, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, DocumentFragment, node);
break;
case Node::ENTITY_REFERENCE_NODE:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, EntityReference, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, EntityReference, node);
break;
default:
- wrapper = CREATE_DOM_NODE_WRAPPER(exec, Node, node);
+ wrapper = CREATE_DOM_NODE_WRAPPER(exec, globalObject, Node, node);
}
return wrapper;
}
-JSValue toJSNewlyCreated(ExecState* exec, Node* node)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Node* node)
{
if (!node)
return jsNull();
- return createWrapper(exec, node);
+ return createWrapper(exec, globalObject, node);
}
-JSValue toJS(ExecState* exec, Node* node)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Node* node)
{
if (!node)
return jsNull();
@@ -266,7 +266,7 @@ JSValue toJS(ExecState* exec, Node* node)
if (wrapper)
return wrapper;
- return createWrapper(exec, node);
+ return createWrapper(exec, globalObject, node);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
index f5d4d5c..2595af5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCondition.cpp
@@ -44,7 +44,7 @@ void JSNodeFilterCondition::mark()
short JSNodeFilterCondition::acceptNode(JSC::ExecState* exec, Node* filterNode) const
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
CallData callData;
CallType callType = m_filter.getCallData(callData);
@@ -61,7 +61,9 @@ short JSNodeFilterCondition::acceptNode(JSC::ExecState* exec, Node* filterNode)
return NodeFilter::FILTER_REJECT;
MarkedArgumentBuffer args;
- args.append(toJS(exec, filterNode));
+ // FIXME: The node should have the prototype chain that came from its document, not
+ // whatever prototype chain might be on the window this filter came from. Bug 27662
+ args.append(toJS(exec, deprecatedGlobalObjectForPrototype(exec), filterNode));
if (exec->hadException())
return NodeFilter::FILTER_REJECT;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp
index ecc12d5..a48a59d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeFilterCustom.cpp
@@ -38,7 +38,7 @@ namespace WebCore {
void JSNodeFilter::mark()
{
impl()->mark();
- DOMObject::mark();
+ Base::mark();
}
JSValue JSNodeFilter::acceptNode(ExecState* exec, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp
index 8fff82e..a2b9658 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSNodeIteratorCustom.cpp
@@ -34,7 +34,7 @@ void JSNodeIterator::mark()
if (NodeFilter* filter = m_impl->filter())
filter->mark();
- DOMObject::mark();
+ Base::mark();
}
JSValue JSNodeIterator::nextNode(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp
index 9e818ff..2b8bd5d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.cpp
@@ -35,24 +35,16 @@ ASSERT_CLASS_FITS_IN_CELL(JSOptionConstructor);
const ClassInfo JSOptionConstructor::s_info = { "OptionConstructor", 0, 0, 0 };
JSOptionConstructor::JSOptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSOptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorWithDocument(JSOptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- ASSERT(globalObject->scriptExecutionContext());
- ASSERT(globalObject->scriptExecutionContext()->isDocument());
-
- putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 4), ReadOnly|DontDelete|DontEnum);
}
-Document* JSOptionConstructor::document() const
-{
- return static_cast<Document*>(m_globalObject->scriptExecutionContext());
-}
-
static JSObject* constructHTMLOptionElement(ExecState* exec, JSObject* constructor, const ArgList& args)
{
- Document* document = static_cast<JSOptionConstructor*>(constructor)->document();
+ JSOptionConstructor* jsConstructor = static_cast<JSOptionConstructor*>(constructor);
+ Document* document = jsConstructor->document();
if (!document)
return throwError(exec, ReferenceError, "Option constructor associated document is unavailable");
@@ -76,7 +68,7 @@ static JSObject* constructHTMLOptionElement(ExecState* exec, JSObject* construct
return 0;
}
- return asObject(toJS(exec, element.release()));
+ return asObject(toJS(exec, jsConstructor->globalObject(), element.release()));
}
ConstructType JSOptionConstructor::getConstructData(ConstructData& constructData)
@@ -85,11 +77,5 @@ ConstructType JSOptionConstructor::getConstructData(ConstructData& constructData
return ConstructTypeHost;
}
-void JSOptionConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h
index 3c87c28..246e7fa 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSOptionConstructor.h
@@ -26,19 +26,14 @@
namespace WebCore {
- class JSOptionConstructor : public DOMObject {
+ class JSOptionConstructor : public DOMConstructorWithDocument {
public:
JSOptionConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- Document* document() const;
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp
deleted file mode 100644
index f7c87e2..0000000
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2006 James G. Speth (speth@end.com)
- * Copyright (C) 2006 Samuel Weinig (sam@webkit.org)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "config.h"
-#include "JSRGBColor.h"
-
-#include "CSSPrimitiveValue.h"
-#include "JSCSSPrimitiveValue.h"
-
-using namespace JSC;
-
-static JSValue jsRGBColorRed(ExecState*, const Identifier&, const PropertySlot&);
-static JSValue jsRGBColorGreen(ExecState*, const Identifier&, const PropertySlot&);
-static JSValue jsRGBColorBlue(ExecState*, const Identifier&, const PropertySlot&);
-
-/*
-@begin JSRGBColorTable
- red jsRGBColorRed DontDelete|ReadOnly
- green jsRGBColorGreen DontDelete|ReadOnly
- blue jsRGBColorBlue DontDelete|ReadOnly
-@end
-*/
-
-#include "JSRGBColor.lut.h"
-
-namespace WebCore {
-
-ASSERT_CLASS_FITS_IN_CELL(JSRGBColor);
-
-const ClassInfo JSRGBColor::s_info = { "RGBColor", 0, &JSRGBColorTable, 0 };
-
-JSRGBColor::JSRGBColor(ExecState* exec, unsigned color)
- : DOMObject(getDOMStructure<JSRGBColor>(exec))
- , m_color(color)
-{
-}
-
-bool JSRGBColor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSRGBColor, DOMObject>(exec, &JSRGBColorTable, this, propertyName, slot);
-}
-
-JSValue getJSRGBColor(ExecState* exec, unsigned color)
-{
- return new (exec) JSRGBColor(exec, color);
-}
-
-} // namespace WebCore
-
-using namespace WebCore;
-
-JSValue jsRGBColorRed(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return toJS(exec, CSSPrimitiveValue::create((static_cast<JSRGBColor*>(asObject(slot.slotBase()))->impl() >> 16) & 0xFF, CSSPrimitiveValue::CSS_NUMBER));
-}
-
-JSValue jsRGBColorGreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return toJS(exec, CSSPrimitiveValue::create((static_cast<JSRGBColor*>(asObject(slot.slotBase()))->impl() >> 8) & 0xFF, CSSPrimitiveValue::CSS_NUMBER));
-}
-
-JSValue jsRGBColorBlue(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return toJS(exec, CSSPrimitiveValue::create(static_cast<JSRGBColor*>(asObject(slot.slotBase()))->impl() & 0xFF, CSSPrimitiveValue::CSS_NUMBER));
-}
-
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h
deleted file mode 100644
index cc2870f..0000000
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSRGBColor.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
- * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef JSRGBColor_h
-#define JSRGBColor_h
-
-#include "Color.h"
-#include "JSDOMBinding.h"
-
-namespace WebCore {
-
- // FIXME: JSRGBColor should have a proper prototype and a constructor.
- class JSRGBColor : public DOMObject {
- public:
- JSRGBColor(JSC::ExecState*, unsigned color);
-
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
-
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
-
- unsigned impl() const { return m_color; }
-
- static JSC::ObjectPrototype* createPrototype(JSC::ExecState*, JSC::JSGlobalObject* globalObject)
- {
- return globalObject->objectPrototype();
- }
-
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
- }
-
- private:
- unsigned m_color;
- };
-
- JSC::JSValue getJSRGBColor(JSC::ExecState*, unsigned color);
-
-} // namespace WebCore
-
-#endif // JSRGBColor_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
index 2922740..055368e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGElementInstanceCustom.cpp
@@ -39,7 +39,7 @@ namespace WebCore {
void JSSVGElementInstance::mark()
{
- DOMObject::mark();
+ Base::mark();
// Mark the wrapper for our corresponding element, so it can mark its event handlers.
JSNode* correspondingWrapper = getCachedDOMNodeWrapper(impl()->correspondingElement()->document(), impl()->correspondingElement());
@@ -75,9 +75,9 @@ void JSSVGElementInstance::pushEventHandlerScope(ExecState*, ScopeChain&) const
{
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGElementInstance* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGElementInstance* object)
{
- JSValue result = getDOMObjectWrapper<JSSVGElementInstance>(exec, object);
+ JSValue result = getDOMObjectWrapper<JSSVGElementInstance>(exec, globalObject, object);
// Ensure that our corresponding element has a JavaScript wrapper to keep its event handlers alive.
if (object)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp
index fc1e266..35390b2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGMatrixCustom.cpp
@@ -32,7 +32,7 @@ namespace WebCore {
JSValue JSSVGMatrix::inverse(ExecState* exec, const ArgList&)
{
TransformationMatrix imp(*impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.inverse()).get(), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.inverse()).get(), m_context.get());
if (!imp.isInvertible())
setDOMException(exec, SVGException::SVG_MATRIX_NOT_INVERTABLE);
@@ -47,7 +47,7 @@ JSValue JSSVGMatrix::rotateFromVector(ExecState* exec, const ArgList& args)
float x = args.at(0).toFloat(exec);
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotateFromVector(x, y)).get(), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotateFromVector(x, y)).get(), m_context.get());
if (x == 0.0 || y == 0.0)
setDOMException(exec, SVGException::SVG_INVALID_VALUE_ERR);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp
index cb4687c..42fa878 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegCustom.cpp
@@ -59,7 +59,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, SVGPathSeg* object, SVGElement* context)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, SVGPathSeg* object, SVGElement* context)
{
if (!object)
return jsNull();
@@ -69,46 +69,46 @@ JSValue toJS(ExecState* exec, SVGPathSeg* object, SVGElement* context)
switch (object->pathSegType()) {
case SVGPathSeg::PATHSEG_CLOSEPATH:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegClosePath, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegClosePath, object, context);
case SVGPathSeg::PATHSEG_MOVETO_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegMovetoAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegMovetoAbs, object, context);
case SVGPathSeg::PATHSEG_MOVETO_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegMovetoRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegMovetoRel, object, context);
case SVGPathSeg::PATHSEG_LINETO_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoAbs, object, context);
case SVGPathSeg::PATHSEG_LINETO_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticRel, object, context);
case SVGPathSeg::PATHSEG_ARC_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegArcAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegArcAbs, object, context);
case SVGPathSeg::PATHSEG_ARC_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegArcRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegArcRel, object, context);
case SVGPathSeg::PATHSEG_LINETO_HORIZONTAL_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoHorizontalAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoHorizontalAbs, object, context);
case SVGPathSeg::PATHSEG_LINETO_HORIZONTAL_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoHorizontalRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoHorizontalRel, object, context);
case SVGPathSeg::PATHSEG_LINETO_VERTICAL_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoVerticalAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoVerticalAbs, object, context);
case SVGPathSeg::PATHSEG_LINETO_VERTICAL_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegLinetoVerticalRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegLinetoVerticalRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicSmoothAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicSmoothAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoCubicSmoothRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoCubicSmoothRel, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticSmoothAbs, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticSmoothAbs, object, context);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSegCurvetoQuadraticSmoothRel, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSegCurvetoQuadraticSmoothRel, object, context);
case SVGPathSeg::PATHSEG_UNKNOWN:
default:
- return CREATE_SVG_OBJECT_WRAPPER(exec, SVGPathSeg, object, context);
+ return CREATE_SVG_OBJECT_WRAPPER(exec, globalObject, SVGPathSeg, object, context);
}
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
index b6fc116..b71f3a6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
@@ -57,7 +57,7 @@ JSValue JSSVGPathSegList::initialize(ExecState* exec, const ArgList& args)
SVGPathSeg* obj = WTF::getPtr(imp->initialize(newItem, ec));
- JSC::JSValue result = toJS(exec, obj, m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), obj, m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -78,7 +78,7 @@ JSValue JSSVGPathSegList::getItem(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
SVGPathSeg* obj = WTF::getPtr(imp->getItem(index, ec));
- JSC::JSValue result = toJS(exec, obj, m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), obj, m_context.get());
setDOMException(exec, ec);
return result;
}
@@ -97,7 +97,7 @@ JSValue JSSVGPathSegList::insertItemBefore(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertItemBefore(newItem, index, ec)), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->insertItemBefore(newItem, index, ec)), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -118,7 +118,7 @@ JSValue JSSVGPathSegList::replaceItem(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->replaceItem(newItem, index, ec)), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->replaceItem(newItem, index, ec)), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -140,7 +140,7 @@ JSValue JSSVGPathSegList::removeItem(ExecState* exec, const ArgList& args)
RefPtr<SVGPathSeg> obj(imp->removeItem(index, ec));
- JSC::JSValue result = toJS(exec, obj.get(), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), obj.get(), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
@@ -154,7 +154,7 @@ JSValue JSSVGPathSegList::appendItem(ExecState* exec, const ArgList& args)
SVGPathSegList* imp = static_cast<SVGPathSegList*>(impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->appendItem(newItem, ec)), m_context.get());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->appendItem(newItem, ec)), m_context.get());
setDOMException(exec, ec);
m_context->svgAttributeChanged(imp->associatedAttributeName());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp
index a18c2a2..1969fe2 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGPointListCustom.cpp
@@ -39,7 +39,7 @@ static JSValue finishGetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
setDOMException(exec, ec);
return jsUndefined();
}
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), list->associatedAttributeName()).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), list->associatedAttributeName()).get(), context);
}
static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGPointList* list, PassRefPtr<PODListItem > item)
@@ -50,7 +50,7 @@ static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
}
const QualifiedName& attributeName = list->associatedAttributeName();
context->svgAttributeChanged(attributeName);
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), attributeName).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<FloatPoint>::create(item.get(), attributeName).get(), context);
}
static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGPointList* list, PassRefPtr<PODListItem> item)
@@ -60,7 +60,7 @@ static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SV
return jsUndefined();
}
context->svgAttributeChanged(list->associatedAttributeName());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(*item).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<FloatPoint>::create(*item).get(), context);
}
JSValue JSSVGPointList::clear(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp
index 58b25ad..1a9110a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSVGTransformListCustom.cpp
@@ -39,7 +39,7 @@ static JSValue finishGetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
setDOMException(exec, ec);
return jsUndefined();
}
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), list->associatedAttributeName()).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), list->associatedAttributeName()).get(), context);
}
static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGTransformList* list, PassRefPtr<PODListItem> item)
@@ -50,7 +50,7 @@ static JSValue finishSetter(ExecState* exec, ExceptionCode& ec, SVGElement* cont
}
const QualifiedName& attributeName = list->associatedAttributeName();
context->svgAttributeChanged(attributeName);
- return toJS(exec, JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), attributeName).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGPODTypeWrapperCreatorForList<SVGTransform>::create(item.get(), attributeName).get(), context);
}
static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SVGElement* context, SVGTransformList* list, PassRefPtr<PODListItem> item)
@@ -60,7 +60,7 @@ static JSValue finishSetterReadOnlyResult(ExecState* exec, ExceptionCode& ec, SV
return jsUndefined();
}
context->svgAttributeChanged(list->associatedAttributeName());
- return toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(*item).get(), context);
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGTransform>::create(*item).get(), context);
}
JSValue JSSVGTransformList::clear(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp
new file mode 100644
index 0000000..a312225
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.cpp
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "JSSharedWorkerConstructor.h"
+
+#include "JSDOMWindowCustom.h"
+#include "JSSharedWorker.h"
+#include "SharedWorker.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+const ClassInfo JSSharedWorkerConstructor::s_info = { "SharedWorkerConstructor", 0, 0, 0 };
+
+JSSharedWorkerConstructor::JSSharedWorkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSharedWorkerConstructor::createStructure(globalObject->objectPrototype()))
+{
+ putDirect(exec->propertyNames().prototype, JSSharedWorkerPrototype::self(exec, globalObject), None);
+ // Host functions have a length property describing the number of expected arguments.
+ putDirect(exec->propertyNames().length, jsNumber(exec, 2), ReadOnly|DontDelete|DontEnum);
+}
+
+static JSObject* constructSharedWorker(ExecState* exec, JSObject*, const ArgList& args)
+{
+ if (args.size() < 2)
+ return throwError(exec, SyntaxError, "Not enough arguments");
+
+ UString scriptURL = args.at(0).toString(exec);
+ UString name = args.at(1).toString(exec);
+ if (exec->hadException())
+ return 0;
+
+ ScriptExecutionContext* context = static_cast<JSDOMGlobalObject*>(exec->dynamicGlobalObject())->scriptExecutionContext();
+ ExceptionCode ec = 0;
+ RefPtr<SharedWorker> worker = SharedWorker::create(scriptURL, name, context, ec);
+ setDOMException(exec, ec);
+
+ // FIXME: toJS() creates an object whose prototype is derived from lexicalGlobalScope, which is incorrect (Bug 27088)
+ return asObject(toJS(exec, worker.release()));
+}
+
+ConstructType JSSharedWorkerConstructor::getConstructData(ConstructData& constructData)
+{
+ constructData.native.function = constructSharedWorker;
+ return ConstructTypeHost;
+}
+
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h
new file mode 100644
index 0000000..87baa38
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerConstructor.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JSSharedWorkerConstructor_h
+#define JSSharedWorkerConstructor_h
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "JSDOMBinding.h"
+
+namespace WebCore {
+
+ class JSSharedWorkerConstructor : public DOMConstructorObject {
+ public:
+ JSSharedWorkerConstructor(JSC::ExecState*, JSDOMGlobalObject*);
+
+ static const JSC::ClassInfo s_info;
+
+ private:
+ virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
+
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
+
+#endif // JSSharedWorkerConstructor_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
new file mode 100644
index 0000000..8553298
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSSharedWorkerCustom.cpp
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "JSSharedWorker.h"
+
+#include "JSDOMGlobalObject.h"
+#include "SharedWorker.h"
+
+using namespace JSC;
+
+namespace WebCore {
+
+void JSSharedWorker::mark()
+{
+ Base::mark();
+
+ if (MessagePort* port = impl()->port()) {
+ DOMObject* wrapper = getCachedDOMObjectWrapper(*Heap::heap(this)->globalData(), port);
+ if (wrapper && !wrapper->marked())
+ wrapper->mark();
+ }
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(SHARED_WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp
index f8146bd..00dacee 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSStyleSheetCustom.cpp
@@ -35,7 +35,7 @@ using namespace JSC;
namespace WebCore {
-JSValue toJS(ExecState* exec, StyleSheet* styleSheet)
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, StyleSheet* styleSheet)
{
if (!styleSheet)
return jsNull();
@@ -45,9 +45,9 @@ JSValue toJS(ExecState* exec, StyleSheet* styleSheet)
return wrapper;
if (styleSheet->isCSSStyleSheet())
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, CSSStyleSheet, styleSheet);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, CSSStyleSheet, styleSheet);
else
- wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, StyleSheet, styleSheet);
+ wrapper = CREATE_DOM_OBJECT_WRAPPER(exec, globalObject, StyleSheet, styleSheet);
return wrapper;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp
index 9e66826..2dc886d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSTextCustom.cpp
@@ -32,12 +32,12 @@ using namespace JSC;
namespace WebCore {
-JSValue toJSNewlyCreated(ExecState* exec, Text* text)
+JSValue toJSNewlyCreated(ExecState* exec, JSDOMGlobalObject* globalObject, Text* text)
{
if (!text)
return jsNull();
- return CREATE_DOM_NODE_WRAPPER(exec, Text, text);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, Text, text);
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp
index 6369017..58eea72 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSTreeWalkerCustom.cpp
@@ -34,7 +34,7 @@ void JSTreeWalker::mark()
if (NodeFilter* filter = m_impl->filter())
filter->mark();
- DOMObject::mark();
+ Base::mark();
}
JSValue JSTreeWalker::parentNode(ExecState* exec, const ArgList&)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
index c7fe4a5..bc05250 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.cpp
@@ -35,15 +35,16 @@ namespace WebCore {
const ClassInfo JSWebKitCSSMatrixConstructor::s_info = { "WebKitCSSMatrixConstructor", 0, 0, 0 };
-JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor(ExecState* exec)
- : DOMObject(JSWebKitCSSMatrixConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitCSSMatrixConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitCSSMatrixPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitCSSMatrixPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
}
-static JSObject* constructWebKitCSSMatrix(ExecState* exec, JSObject*, const ArgList& args)
+static JSObject* constructWebKitCSSMatrix(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSWebKitCSSMatrixConstructor* jsConstructor = static_cast<JSWebKitCSSMatrixConstructor*>(constructor);
String s;
if (args.size() >= 1)
s = args.at(0).toString(exec);
@@ -51,7 +52,7 @@ static JSObject* constructWebKitCSSMatrix(ExecState* exec, JSObject*, const ArgL
ExceptionCode ec = 0;
RefPtr<WebKitCSSMatrix> matrix = WebKitCSSMatrix::create(s, ec);
setDOMException(exec, ec);
- return CREATE_DOM_OBJECT_WRAPPER(exec, WebKitCSSMatrix, matrix.get());
+ return CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), WebKitCSSMatrix, matrix.get());
}
ConstructType JSWebKitCSSMatrixConstructor::getConstructData(ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
index d0e0bd1..65b9050 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitCSSMatrixConstructor.h
@@ -31,9 +31,9 @@
namespace WebCore {
-class JSWebKitCSSMatrixConstructor : public DOMObject {
+class JSWebKitCSSMatrixConstructor : public DOMConstructorObject {
public:
- JSWebKitCSSMatrixConstructor(JSC::ExecState*);
+ JSWebKitCSSMatrixConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp
index c7d4e36..27cc1db 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.cpp
@@ -36,15 +36,17 @@ using namespace JSC;
const ClassInfo JSWebKitPointConstructor::s_info = { "WebKitPointConstructor", 0, 0, 0 };
-JSWebKitPointConstructor::JSWebKitPointConstructor(ExecState* exec)
- : DOMObject(JSWebKitPointConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSWebKitPointConstructor::JSWebKitPointConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWebKitPointConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWebKitPointPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWebKitPointPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 2), ReadOnly|DontDelete|DontEnum);
}
-static JSObject* constructWebKitPoint(ExecState* exec, JSObject*, const ArgList& args)
+static JSObject* constructWebKitPoint(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSWebKitPointConstructor* jsConstructor = static_cast<JSWebKitPointConstructor*>(constructor);
+
float x = 0;
float y = 0;
if (args.size() >= 2) {
@@ -55,7 +57,7 @@ static JSObject* constructWebKitPoint(ExecState* exec, JSObject*, const ArgList&
if (isnan(y))
y = 0;
}
- return asObject(toJS(exec, WebKitPoint::create(x, y)));
+ return asObject(toJS(exec, jsConstructor->globalObject(), WebKitPoint::create(x, y)));
}
JSC::ConstructType JSWebKitPointConstructor::getConstructData(JSC::ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h
index a5bb5c1..44c253d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWebKitPointConstructor.h
@@ -31,9 +31,9 @@
namespace WebCore {
-class JSWebKitPointConstructor : public DOMObject {
+class JSWebKitPointConstructor : public DOMConstructorObject {
public:
- JSWebKitPointConstructor(JSC::ExecState*);
+ JSWebKitPointConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp
index 8ea6718..e1686f7 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.cpp
@@ -41,15 +41,17 @@ namespace WebCore {
const ClassInfo JSWorkerConstructor::s_info = { "WorkerConstructor", 0, 0, 0 };
-JSWorkerConstructor::JSWorkerConstructor(ExecState* exec)
- : DOMObject(JSWorkerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSWorkerConstructor::JSWorkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSWorkerConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSWorkerPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSWorkerPrototype::self(exec, globalObject), None);
putDirect(exec->propertyNames().length, jsNumber(exec, 1), ReadOnly|DontDelete|DontEnum);
}
-static JSObject* constructWorker(ExecState* exec, JSObject*, const ArgList& args)
+static JSObject* constructWorker(ExecState* exec, JSObject* constructor, const ArgList& args)
{
+ JSWorkerConstructor* jsConstructor = static_cast<JSWorkerConstructor*>(constructor);
+
if (args.size() == 0)
return throwError(exec, SyntaxError, "Not enough arguments");
@@ -57,13 +59,12 @@ static JSObject* constructWorker(ExecState* exec, JSObject*, const ArgList& args
if (exec->hadException())
return 0;
+ // See section 4.8.2 step 14 of WebWorkers for why this is the lexicalGlobalObject.
DOMWindow* window = asJSDOMWindow(exec->lexicalGlobalObject())->impl();
-
- ExceptionCode ec = 0;
- RefPtr<Worker> worker = Worker::create(scriptURL, window->document(), ec);
- setDOMException(exec, ec);
- return asObject(toJS(exec, worker.release()));
+ RefPtr<Worker> worker = Worker::create(scriptURL, window->document());
+
+ return asObject(toJS(exec, jsConstructor->globalObject(), worker.release()));
}
ConstructType JSWorkerConstructor::getConstructData(ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h
index d1df7eb..c845fa6 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h
@@ -32,9 +32,9 @@
namespace WebCore {
- class JSWorkerConstructor : public DOMObject {
+ class JSWorkerConstructor : public DOMConstructorObject {
public:
- JSWorkerConstructor(JSC::ExecState*);
+ JSWorkerConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp
index c71f45b..622da70 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp
@@ -31,6 +31,7 @@
#include "JSWorkerContextBase.h"
+#include "JSDedicatedWorkerContext.h"
#include "JSWorkerContext.h"
#include "WorkerContext.h"
@@ -57,6 +58,11 @@ ScriptExecutionContext* JSWorkerContextBase::scriptExecutionContext() const
return m_impl.get();
}
+JSValue toJS(ExecState* exec, JSDOMGlobalObject*, WorkerContext* workerContext)
+{
+ return toJS(exec, workerContext);
+}
+
JSValue toJS(ExecState*, WorkerContext* workerContext)
{
if (!workerContext)
@@ -67,6 +73,22 @@ JSValue toJS(ExecState*, WorkerContext* workerContext)
return script->workerContextWrapper();
}
+JSDedicatedWorkerContext* toJSDedicatedWorkerContext(JSValue value)
+{
+ if (!value.isObject())
+ return 0;
+ const ClassInfo* classInfo = asObject(value)->classInfo();
+ if (classInfo == &JSDedicatedWorkerContext::s_info)
+ return static_cast<JSDedicatedWorkerContext*>(asObject(value));
+ return 0;
+}
+
+JSWorkerContext* toJSWorkerContext(JSValue value)
+{
+ // When we support shared workers, we'll add code to test for SharedWorkerContext too.
+ return toJSDedicatedWorkerContext(value);
+}
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h
index dcbc5c3..f7ad17f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h
@@ -33,6 +33,8 @@
namespace WebCore {
+ class JSDedicatedWorkerContext;
+ class JSWorkerContext;
class WorkerContext;
class JSWorkerContextBase : public JSDOMGlobalObject {
@@ -52,8 +54,13 @@ namespace WebCore {
};
// Returns a JSWorkerContext or jsNull()
+ // Always ignores the execState and passed globalObject, WorkerContext is itself a globalObject and will always use its own prototype chain.
+ JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, WorkerContext*);
JSC::JSValue toJS(JSC::ExecState*, WorkerContext*);
+ JSDedicatedWorkerContext* toJSDedicatedWorkerContext(JSC::JSValue);
+ JSWorkerContext* toJSWorkerContext(JSC::JSValue);
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
index 14bbe19..6a7602d 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp
@@ -30,7 +30,10 @@
#include "JSWorkerContext.h"
#include "JSDOMBinding.h"
+#include "JSDOMGlobalObject.h"
#include "JSEventListener.h"
+#include "JSMessageChannelConstructor.h"
+#include "JSMessagePort.h"
#include "JSWorkerLocation.h"
#include "JSWorkerNavigator.h"
#include "JSXMLHttpRequestConstructor.h"
@@ -55,7 +58,7 @@ void JSWorkerContext::mark()
markDOMObjectWrapper(globalData, impl()->optionalLocation());
markDOMObjectWrapper(globalData, impl()->optionalNavigator());
- markIfNotNull(impl()->onmessage());
+ markIfNotNull(impl()->onerror());
typedef WorkerContext::EventListenersMap EventListenersMap;
typedef WorkerContext::ListenerVector ListenerVector;
@@ -138,6 +141,14 @@ JSValue JSWorkerContext::setInterval(ExecState* exec, const ArgList& args)
return jsNumber(exec, impl()->setInterval(action, delay));
}
+
+#if ENABLE(CHANNEL_MESSAGING)
+JSValue JSWorkerContext::messageChannel(ExecState* exec) const
+{
+ return getDOMConstructor<JSMessageChannelConstructor>(exec, this);
+}
+#endif
+
} // namespace WebCore
#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp
index f4d3033..6010f83 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp
@@ -30,7 +30,6 @@
#include "JSWorker.h"
#include "JSDOMGlobalObject.h"
-#include "JSEventListener.h"
#include "Worker.h"
using namespace JSC;
@@ -39,42 +38,9 @@ namespace WebCore {
void JSWorker::mark()
{
- DOMObject::mark();
+ Base::mark();
- markIfNotNull(m_impl->onmessage());
- markIfNotNull(m_impl->onerror());
-
- typedef Worker::EventListenersMap EventListenersMap;
- typedef Worker::ListenerVector ListenerVector;
- EventListenersMap& eventListeners = m_impl->eventListeners();
- for (EventListenersMap::iterator mapIter = eventListeners.begin(); mapIter != eventListeners.end(); ++mapIter) {
- for (ListenerVector::iterator vecIter = mapIter->second.begin(); vecIter != mapIter->second.end(); ++vecIter)
- (*vecIter)->markJSFunction();
- }
-}
-
-JSValue JSWorker::addEventListener(ExecState* exec, const ArgList& args)
-{
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
- if (!globalObject)
- return jsUndefined();
- RefPtr<JSEventListener> listener = globalObject->findOrCreateJSEventListener(args.at(1));
- if (!listener)
- return jsUndefined();
- impl()->addEventListener(args.at(0).toString(exec), listener.release(), args.at(2).toBoolean(exec));
- return jsUndefined();
-}
-
-JSValue JSWorker::removeEventListener(ExecState* exec, const ArgList& args)
-{
- JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(impl()->scriptExecutionContext());
- if (!globalObject)
- return jsUndefined();
- JSEventListener* listener = globalObject->findJSEventListener(args.at(1));
- if (!listener)
- return jsUndefined();
- impl()->removeEventListener(args.at(0).toString(exec), listener, args.at(2).toBoolean(exec));
- return jsUndefined();
+ markIfNotNull(static_cast<Worker*>(impl())->onmessage());
}
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
index 65cdfc2..a644c9e 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
@@ -33,25 +33,20 @@ ASSERT_CLASS_FITS_IN_CELL(JSXMLHttpRequestConstructor);
const ClassInfo JSXMLHttpRequestConstructor::s_info = { "XMLHttpRequestConstructor", 0, 0, 0 };
JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
- : DOMObject(JSXMLHttpRequestConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- , m_globalObject(globalObject)
+ : DOMConstructorObject(JSXMLHttpRequestConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXMLHttpRequestPrototype::self(exec, exec->lexicalGlobalObject()), None);
-}
-
-ScriptExecutionContext* JSXMLHttpRequestConstructor::scriptExecutionContext() const
-{
- return m_globalObject->scriptExecutionContext();
+ putDirect(exec->propertyNames().prototype, JSXMLHttpRequestPrototype::self(exec, globalObject), None);
}
static JSObject* constructXMLHttpRequest(ExecState* exec, JSObject* constructor, const ArgList&)
{
- ScriptExecutionContext* context = static_cast<JSXMLHttpRequestConstructor*>(constructor)->scriptExecutionContext();
+ JSXMLHttpRequestConstructor* jsConstructor = static_cast<JSXMLHttpRequestConstructor*>(constructor);
+ ScriptExecutionContext* context = jsConstructor->scriptExecutionContext();
if (!context)
return throwError(exec, ReferenceError, "XMLHttpRequest constructor associated document is unavailable");
RefPtr<XMLHttpRequest> xmlHttpRequest = XMLHttpRequest::create(context);
- return CREATE_DOM_OBJECT_WRAPPER(exec, XMLHttpRequest, xmlHttpRequest.get());
+ return CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), XMLHttpRequest, xmlHttpRequest.get());
}
ConstructType JSXMLHttpRequestConstructor::getConstructData(ConstructData& constructData)
@@ -60,11 +55,4 @@ ConstructType JSXMLHttpRequestConstructor::getConstructData(ConstructData& const
return ConstructTypeHost;
}
-void JSXMLHttpRequestConstructor::mark()
-{
- DOMObject::mark();
- if (!m_globalObject->marked())
- m_globalObject->mark();
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
index 978a9f0..2cc4fcf 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
@@ -24,18 +24,13 @@
namespace WebCore {
-class JSXMLHttpRequestConstructor : public DOMObject {
+class JSXMLHttpRequestConstructor : public DOMConstructorObject {
public:
JSXMLHttpRequestConstructor(JSC::ExecState*, JSDOMGlobalObject*);
- ScriptExecutionContext* scriptExecutionContext() const;
static const JSC::ClassInfo s_info;
-
- virtual void mark();
private:
virtual JSC::ConstructType getConstructData(JSC::ConstructData&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
-
- JSDOMGlobalObject* m_globalObject;
};
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
index 807b017..07fec72 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
@@ -41,15 +41,16 @@ ASSERT_CLASS_FITS_IN_CELL(JSXSLTProcessorConstructor);
const ClassInfo JSXSLTProcessorConstructor::s_info = { "XSLTProcessorConsructor", 0, 0, 0 };
-JSXSLTProcessorConstructor::JSXSLTProcessorConstructor(ExecState* exec)
- : DOMObject(JSXSLTProcessorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+JSXSLTProcessorConstructor::JSXSLTProcessorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSXSLTProcessorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSXSLTProcessorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSXSLTProcessorPrototype::self(exec, globalObject), None);
}
-static JSObject* constructXSLTProcessor(ExecState* exec, JSObject*, const ArgList&)
+static JSObject* constructXSLTProcessor(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return CREATE_DOM_OBJECT_WRAPPER(exec, XSLTProcessor, XSLTProcessor::create().get());
+ JSXSLTProcessorConstructor* jsConstructor = static_cast<JSXSLTProcessorConstructor*>(constructor);
+ return CREATE_DOM_OBJECT_WRAPPER(exec, jsConstructor->globalObject(), XSLTProcessor, XSLTProcessor::create().get());
}
ConstructType JSXSLTProcessorConstructor::getConstructData(ConstructData& constructData)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h
index 64ef944..96fa607 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h
@@ -32,9 +32,9 @@
namespace WebCore {
- class JSXSLTProcessorConstructor : public DOMObject {
+ class JSXSLTProcessorConstructor : public DOMConstructorObject {
public:
- JSXSLTProcessorConstructor(JSC::ExecState*);
+ JSXSLTProcessorConstructor(JSC::ExecState*, JSDOMGlobalObject*);
static const JSC::ClassInfo s_info;
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
index 91bece7..9e64bce 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp
@@ -87,7 +87,7 @@ void ScheduledAction::execute(ScriptExecutionContext* context)
void ScheduledAction::executeFunctionInContext(JSGlobalObject* globalObject, JSValue thisValue)
{
ASSERT(m_function);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
CallData callData;
CallType callType = m_function.get().getCallData(callData);
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp
new file mode 100644
index 0000000..016c7a7
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ScriptArray.h"
+
+#include <runtime/JSLock.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ScriptArray::ScriptArray(JSArray* object)
+ : ScriptObject(object)
+{
+}
+
+static bool handleException(ScriptState* scriptState)
+{
+ if (!scriptState->hadException())
+ return true;
+
+ reportException(scriptState, scriptState->exception());
+ return false;
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, const ScriptObject& value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, value.jsObject());
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, const String& value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsString(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, double value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsNumber(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, long long value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsNumber(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, int value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsNumber(scriptState, value));
+ return handleException(scriptState);
+}
+
+bool ScriptArray::set(ScriptState* scriptState, unsigned index, bool value)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ jsArray()->put(scriptState, index, jsBoolean(value));
+ return handleException(scriptState);
+}
+
+unsigned ScriptArray::length(ScriptState*)
+{
+ return jsArray()->length();
+}
+
+ScriptArray ScriptArray::createNew(ScriptState* scriptState)
+{
+ JSLock lock(SilenceAssertionsOnly);
+ return ScriptArray(constructEmptyArray(scriptState));
+}
+
+} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h
new file mode 100644
index 0000000..2ba307f
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ScriptArray_h
+#define ScriptArray_h
+
+#include "ScriptObject.h"
+#include "ScriptState.h"
+
+#include <runtime/JSArray.h>
+
+namespace WebCore {
+
+ class ScriptArray : public ScriptObject {
+ public:
+ ScriptArray(JSC::JSArray*);
+ ScriptArray() {}
+ JSC::JSArray* jsArray() const { return asArray(jsValue()); }
+
+ bool set(ScriptState*, unsigned index, const ScriptObject&);
+ bool set(ScriptState*, unsigned index, const String&);
+ bool set(ScriptState*, unsigned index, double);
+ bool set(ScriptState*, unsigned index, long long);
+ bool set(ScriptState*, unsigned index, int);
+ bool set(ScriptState*, unsigned index, bool);
+ unsigned length(ScriptState*);
+
+ static ScriptArray createNew(ScriptState*);
+ };
+}
+
+#endif // ScriptArray_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
index 213c708..8852611 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp
@@ -45,7 +45,7 @@ namespace WebCore {
ScriptCachedFrameData::ScriptCachedFrameData(Frame* frame)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ScriptController* scriptController = frame->script();
if (scriptController->haveWindowShell()) {
@@ -67,7 +67,7 @@ void ScriptCachedFrameData::restore(Frame* frame)
{
Page* page = frame->page();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ScriptController* scriptController = frame->script();
if (scriptController->haveWindowShell()) {
@@ -84,7 +84,7 @@ void ScriptCachedFrameData::restore(Frame* frame)
void ScriptCachedFrameData::clear()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (!m_window) {
m_window = 0;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
index 3e59df9..a1c4376 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp
@@ -81,7 +81,15 @@ ScriptController::~ScriptController()
ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
{
- if (!m_XSSAuditor->canEvaluate(sourceCode.source())) {
+ const SourceCode& jsSourceCode = sourceCode.jsSourceCode();
+ String sourceURL = jsSourceCode.provider()->url();
+
+ if (sourceURL.isNull() && !m_XSSAuditor->canEvaluateJavaScriptURL(sourceCode.source())) {
+ // This JavaScript URL is not safe to be evaluated.
+ return JSValue();
+ }
+
+ if (!sourceURL.isNull() && !m_XSSAuditor->canEvaluate(sourceCode.source())) {
// This script is not safe to be evaluated.
return JSValue();
}
@@ -89,8 +97,6 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
// evaluate code. Returns the JS return value or 0
// if there was none, an error occured or the type couldn't be converted.
- const SourceCode& jsSourceCode = sourceCode.jsSourceCode();
-
initScriptIfNeeded();
// inlineCode is true for <a href="javascript:doSomething()">
// and false for <script>doSomething()</script>. Check if it has the
@@ -98,10 +104,9 @@ ScriptValue ScriptController::evaluate(const ScriptSourceCode& sourceCode)
// See smart window.open policy for where this is used.
ExecState* exec = m_windowShell->window()->globalExec();
const String* savedSourceURL = m_sourceURL;
- String sourceURL = jsSourceCode.provider()->url();
m_sourceURL = &sourceURL;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RefPtr<Frame> protect = m_frame;
@@ -130,7 +135,7 @@ void ScriptController::clearWindowShell()
if (!m_windowShell)
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Clear the debugger from the current window before setting the new window.
attachDebugger(0);
@@ -152,7 +157,7 @@ void ScriptController::initScript()
if (m_windowShell)
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_windowShell = new JSDOMWindowShell(m_frame->domWindow());
m_windowShell->window()->updateDocument();
@@ -244,7 +249,7 @@ void ScriptController::updateDocument()
if (!m_frame->document())
return;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (m_windowShell)
m_windowShell->window()->updateDocument();
}
@@ -260,7 +265,7 @@ Bindings::RootObject* ScriptController::bindingRootObject()
return 0;
if (!m_bindingRootObject) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_bindingRootObject = Bindings::RootObject::create(0, globalObject());
}
return m_bindingRootObject.get();
@@ -286,7 +291,7 @@ NPObject* ScriptController::windowScriptNPObject()
if (isEnabled()) {
// JavaScript is enabled, so there is a JavaScript window object.
// Return an NPObject bound to the window object.
- JSC::JSLock lock(false);
+ JSC::JSLock lock(SilenceAssertionsOnly);
JSObject* win = windowShell()->window();
ASSERT(win);
Bindings::RootObject* root = bindingRootObject();
@@ -320,9 +325,9 @@ JSObject* ScriptController::jsObjectForPluginElement(HTMLPlugInElement* plugin)
return 0;
// Create a JSObject bound to this element
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ExecState* exec = globalObject()->globalExec();
- JSValue jsElementValue = toJS(exec, plugin);
+ JSValue jsElementValue = toJS(exec, globalObject(), plugin);
if (!jsElementValue || !jsElementValue.isObject())
return 0;
@@ -354,7 +359,7 @@ void ScriptController::cleanupScriptObjectsForPlugin(void* nativeHandle)
void ScriptController::clearScriptObjects()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RootObjectMap::const_iterator end = m_rootObjects.end();
for (RootObjectMap::const_iterator it = m_rootObjects.begin(); it != end; ++it)
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp
new file mode 100644
index 0000000..b573b97
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ScriptController.h"
+
+#include "PluginView.h"
+#include "runtime_root.h"
+#include "runtime.h"
+
+
+namespace WebCore {
+
+PassRefPtr<JSC::Bindings::Instance> ScriptController::createScriptInstanceForWidget(Widget* widget)
+{
+ if (!widget->isPluginView())
+ return 0;
+
+ return static_cast<PluginView*>(widget)->bindingInstance();
+}
+
+} // namespace WebCore
+
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
index 502a504..e6a654f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm
@@ -112,7 +112,7 @@ WebScriptObject* ScriptController::windowScriptObject()
return 0;
if (!m_windowScriptObject) {
- JSC::JSLock lock(false);
+ JSC::JSLock lock(JSC::SilenceAssertionsOnly);
JSC::Bindings::RootObject* root = bindingRootObject();
m_windowScriptObject = [WebScriptObject scriptObjectForJSObject:toRef(windowShell()) originRootObject:root rootObject:root];
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
index e5be1d6..878c535 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp
@@ -71,8 +71,9 @@ PassRefPtr<JSLazyEventListener> createAttributeEventListener(Node* node, Attribu
// Ensure that 'node' has a JavaScript wrapper to mark the event listener we're creating.
{
- JSLock lock(false);
- toJS(globalObject->globalExec(), node);
+ JSLock lock(SilenceAssertionsOnly);
+ // FIXME: Should pass the global object associated with the node
+ toJS(globalObject->globalExec(), globalObject, node);
}
return JSLazyEventListener::create(attr->localName().string(), eventParameterName(node->isSVGElement()), attr->value(), globalObject, node, scriptController->eventHandlerLineNumber());
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
index 1122931..ca6b03a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp
@@ -66,7 +66,7 @@ void ScriptFunctionCall::appendArgument(const ScriptValue& argument)
void ScriptFunctionCall::appendArgument(const String& argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsString(m_exec, argument));
}
@@ -82,19 +82,19 @@ void ScriptFunctionCall::appendArgument(JSC::JSValue argument)
void ScriptFunctionCall::appendArgument(long long argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsNumber(m_exec, argument));
}
void ScriptFunctionCall::appendArgument(unsigned int argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsNumber(m_exec, argument));
}
void ScriptFunctionCall::appendArgument(int argument)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
m_arguments.append(jsNumber(m_exec, argument));
}
@@ -107,7 +107,7 @@ ScriptValue ScriptFunctionCall::call(bool& hadException, bool reportExceptions)
{
JSObject* thisObject = m_thisObject.jsObject();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue function = thisObject->get(m_exec, Identifier(m_exec, m_name));
if (m_exec->hadException()) {
@@ -145,7 +145,7 @@ ScriptObject ScriptFunctionCall::construct(bool& hadException, bool reportExcept
{
JSObject* thisObject = m_thisObject.jsObject();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSObject* constructor = asObject(thisObject->get(m_exec, Identifier(m_exec, m_name)));
if (m_exec->hadException()) {
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp
index 7f6391d..e664645 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp
@@ -32,7 +32,7 @@
#include "ScriptObject.h"
#include "JSDOMBinding.h"
-#include "JSInspectorController.h"
+#include "JSInspectorBackend.h"
#include <runtime/JSLock.h>
@@ -56,7 +56,7 @@ static bool handleException(ScriptState* scriptState)
bool ScriptObject::set(ScriptState* scriptState, const String& name, const String& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot);
return handleException(scriptState);
@@ -64,7 +64,7 @@ bool ScriptObject::set(ScriptState* scriptState, const String& name, const Strin
bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptObject& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), value.jsObject(), slot);
return handleException(scriptState);
@@ -72,7 +72,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, const ScriptO
bool ScriptObject::set(ScriptState* scriptState, const char* name, const String& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsString(scriptState, value), slot);
return handleException(scriptState);
@@ -80,7 +80,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, const String&
bool ScriptObject::set(ScriptState* scriptState, const char* name, double value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
return handleException(scriptState);
@@ -88,7 +88,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, double value)
bool ScriptObject::set(ScriptState* scriptState, const char* name, long long value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
return handleException(scriptState);
@@ -96,7 +96,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, long long val
bool ScriptObject::set(ScriptState* scriptState, const char* name, int value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsNumber(scriptState, value), slot);
return handleException(scriptState);
@@ -104,7 +104,7 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, int value)
bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
jsObject()->put(scriptState, Identifier(scriptState, name), jsBoolean(value), slot);
return handleException(scriptState);
@@ -112,27 +112,28 @@ bool ScriptObject::set(ScriptState* scriptState, const char* name, bool value)
ScriptObject ScriptObject::createNew(ScriptState* scriptState)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return ScriptObject(constructEmptyObject(scriptState));
}
bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, const ScriptObject& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
scriptState->lexicalGlobalObject()->putDirect(Identifier(scriptState, name), value.jsObject());
return handleException(scriptState);
}
-bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorController* value)
+bool ScriptGlobalObject::set(ScriptState* scriptState, const char* name, InspectorBackend* value)
{
- JSLock lock(false);
- scriptState->lexicalGlobalObject()->putDirect(Identifier(scriptState, name), toJS(scriptState, value));
+ JSLock lock(SilenceAssertionsOnly);
+ JSDOMGlobalObject* globalObject = static_cast<JSDOMGlobalObject*>(scriptState->lexicalGlobalObject());
+ globalObject->putDirect(Identifier(scriptState, name), toJS(scriptState, globalObject, value));
return handleException(scriptState);
}
bool ScriptGlobalObject::get(ScriptState* scriptState, const char* name, ScriptObject& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue jsValue = scriptState->lexicalGlobalObject()->get(scriptState, Identifier(scriptState, name));
if (!jsValue)
return false;
@@ -146,7 +147,7 @@ bool ScriptGlobalObject::get(ScriptState* scriptState, const char* name, ScriptO
bool ScriptGlobalObject::remove(ScriptState* scriptState, const char* name)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
scriptState->lexicalGlobalObject()->deleteProperty(scriptState, Identifier(scriptState, name));
return handleException(scriptState);
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h
index ed86659..97022da 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h
@@ -38,7 +38,7 @@
#include <runtime/Protect.h>
namespace WebCore {
- class InspectorController;
+ class InspectorBackend;
class ScriptObject : public ScriptValue {
public:
@@ -60,7 +60,7 @@ namespace WebCore {
class ScriptGlobalObject {
public:
static bool set(ScriptState*, const char* name, const ScriptObject&);
- static bool set(ScriptState*, const char* name, InspectorController*);
+ static bool set(ScriptState*, const char* name, InspectorBackend*);
static bool get(ScriptState*, const char* name, ScriptObject&);
static bool remove(ScriptState*, const char* name);
private:
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
index 13e180a..171883a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptObjectQuarantine.cpp
@@ -31,7 +31,6 @@
#include "config.h"
#include "ScriptObjectQuarantine.h"
-#include "Database.h"
#include "Document.h"
#include "Frame.h"
#include "JSDOMBinding.h"
@@ -43,6 +42,7 @@
#include <runtime/JSLock.h>
#if ENABLE(DATABASE)
+#include "Database.h"
#include "JSDatabase.h"
#endif
@@ -56,7 +56,7 @@ namespace WebCore {
ScriptValue quarantineValue(ScriptState* scriptState, const ScriptValue& value)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return ScriptValue(JSInspectedObjectWrapper::wrap(scriptState, value.jsValue()));
}
@@ -69,10 +69,11 @@ bool getQuarantinedScriptObject(Database* database, ScriptObject& quarantinedObj
if (!frame)
return false;
- ExecState* exec = toJSDOMWindow(frame)->globalExec();
+ JSDOMGlobalObject* globalObject = toJSDOMWindow(frame);
+ ExecState* exec = globalObject->globalExec();
- JSLock lock(false);
- quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, database))));
+ JSLock lock(SilenceAssertionsOnly);
+ quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, database))));
return true;
}
@@ -84,10 +85,11 @@ bool getQuarantinedScriptObject(Frame* frame, Storage* storage, ScriptObject& qu
ASSERT(frame);
ASSERT(storage);
- ExecState* exec = toJSDOMWindow(frame)->globalExec();
+ JSDOMGlobalObject* globalObject = toJSDOMWindow(frame);
+ ExecState* exec = globalObject->globalExec();
- JSLock lock(false);
- quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, storage))));
+ JSLock lock(SilenceAssertionsOnly);
+ quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, globalObject, storage))));
return true;
}
@@ -99,8 +101,9 @@ bool getQuarantinedScriptObject(Node* node, ScriptObject& quarantinedObject)
if (!exec)
return false;
- JSLock lock(false);
- quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, node))));
+ JSLock lock(SilenceAssertionsOnly);
+ // FIXME: Should use some sort of globalObjectFromNode()
+ quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, toJS(exec, deprecatedGlobalObjectForPrototype(exec), node))));
return true;
}
@@ -112,7 +115,7 @@ bool getQuarantinedScriptObject(DOMWindow* domWindow, ScriptObject& quarantinedO
JSDOMWindow* window = toJSDOMWindow(domWindow->frame());
ExecState* exec = window->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
quarantinedObject = ScriptObject(asObject(JSInspectedObjectWrapper::wrap(exec, window)));
return true;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
index 0a16265..1b05ded 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h
@@ -32,20 +32,24 @@
#define ScriptSourceCode_h
#include "CachedScriptSourceProvider.h"
+#include "ScriptSourceProvider.h"
#include "StringSourceProvider.h"
#include "KURL.h"
+#include <wtf/RefPtr.h>
namespace WebCore {
class ScriptSourceCode {
public:
ScriptSourceCode(const String& source, const KURL& url = KURL(), int startLine = 1)
- : m_code(makeSource(source, url.isNull() ? String() : url.string(), startLine))
+ : m_provider(StringSourceProvider::create(source, url.isNull() ? String() : url.string()))
+ , m_code(m_provider, startLine)
{
}
ScriptSourceCode(CachedScript* cs)
- : m_code(makeSource(cs))
+ : m_provider(CachedScriptSourceProvider::create(cs))
+ , m_code(m_provider)
{
}
@@ -53,9 +57,11 @@ public:
const JSC::SourceCode& jsSourceCode() const { return m_code; }
- const String& source() const { return static_cast<StringSourceProvider*>(m_code.provider())->source(); }
+ const String& source() const { return m_provider->source(); }
private:
+ RefPtr<ScriptSourceProvider> m_provider;
+
JSC::SourceCode m_code;
};
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h
new file mode 100644
index 0000000..3fe3584
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 Daniel Bates (dbates@intudata.com)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ScriptSourceProvider_h
+#define ScriptSourceProvider_h
+
+#include <parser/SourceProvider.h>
+
+namespace WebCore {
+
+ class String;
+
+ class ScriptSourceProvider : public JSC::SourceProvider {
+ public:
+ ScriptSourceProvider(const JSC::UString& url, JSC::SourceBOMPresence hasBOMs = JSC::SourceCouldHaveBOMs)
+ : SourceProvider(url, hasBOMs)
+ {
+ }
+
+ virtual const String& source() const = 0;
+ };
+
+} // namespace WebCore
+
+#endif // ScriptSourceProvider_h
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp b/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp
index dfb46da..d427cee 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp
@@ -44,7 +44,7 @@ bool ScriptValue::getString(String& result) const
{
if (!m_value)
return false;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
UString ustring;
if (!m_value.get().getString(ustring))
return false;
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h b/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h
index 89dfa67..770c4fc 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h
@@ -29,11 +29,12 @@
#ifndef StringSourceProvider_h
#define StringSourceProvider_h
+#include "ScriptSourceProvider.h"
#include <parser/SourceCode.h>
namespace WebCore {
- class StringSourceProvider : public JSC::SourceProvider {
+ class StringSourceProvider : public ScriptSourceProvider {
public:
static PassRefPtr<StringSourceProvider> create(const String& source, const String& url) { return adoptRef(new StringSourceProvider(source, url)); }
@@ -44,7 +45,7 @@ namespace WebCore {
private:
StringSourceProvider(const String& source, const String& url)
- : SourceProvider(url)
+ : ScriptSourceProvider(url)
, m_source(source)
{
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
index bcf107b..fc3de3c 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp
@@ -31,10 +31,9 @@
#include "WorkerScriptController.h"
#include "JSDOMBinding.h"
-#include "JSWorkerContext.h"
+#include "JSDedicatedWorkerContext.h"
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
-#include "WorkerContext.h"
#include "WorkerObjectProxy.h"
#include "WorkerThread.h"
#include <interpreter/Interpreter.h>
@@ -66,16 +65,20 @@ void WorkerScriptController::initScript()
{
ASSERT(!m_workerContextWrapper);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Explicitly protect the global object's prototype so it isn't collected
// when we allocate the global object. (Once the global object is fully
// constructed, it can mark its own prototype.)
- RefPtr<Structure> prototypeStructure = JSWorkerContextPrototype::createStructure(jsNull());
- ProtectedPtr<JSWorkerContextPrototype> prototype = new (m_globalData.get()) JSWorkerContextPrototype(prototypeStructure.release());
+ RefPtr<Structure> workerContextPrototypeStructure = JSWorkerContextPrototype::createStructure(jsNull());
+ ProtectedPtr<JSWorkerContextPrototype> workerContextPrototype = new (m_globalData.get()) JSWorkerContextPrototype(workerContextPrototypeStructure.release());
- RefPtr<Structure> structure = JSWorkerContext::createStructure(prototype);
- m_workerContextWrapper = new (m_globalData.get()) JSWorkerContext(structure.release(), m_workerContext);
+ // FIXME: When we add SharedWorkerContext, generate the correct wrapper here.
+ RefPtr<Structure> dedicatedContextPrototypeStructure = JSDedicatedWorkerContextPrototype::createStructure(workerContextPrototype);
+ ProtectedPtr<JSDedicatedWorkerContextPrototype> dedicatedContextPrototype = new (m_globalData.get()) JSDedicatedWorkerContextPrototype(dedicatedContextPrototypeStructure.release());
+ RefPtr<Structure> structure = JSDedicatedWorkerContext::createStructure(dedicatedContextPrototype);
+
+ m_workerContextWrapper = new (m_globalData.get()) JSDedicatedWorkerContext(structure.release(), static_cast<DedicatedWorkerContext*>(m_workerContext));
}
ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode)
@@ -88,7 +91,7 @@ ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode)
ScriptValue exception;
ScriptValue result = evaluate(sourceCode, &exception);
if (exception.jsValue()) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
reportException(m_workerContextWrapper->globalExec(), exception.jsValue());
}
return result;
@@ -103,7 +106,7 @@ ScriptValue WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode,
}
initScriptIfNeeded();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
ExecState* exec = m_workerContextWrapper->globalExec();
m_workerContextWrapper->globalData()->timeoutChecker.start();
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
index 0454721..bb33f60 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
+++ b/src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h
@@ -45,7 +45,7 @@ namespace WebCore {
class String;
class WorkerContext;
- class WorkerScriptController : Noncopyable {
+ class WorkerScriptController : public Noncopyable {
public:
WorkerScriptController(WorkerContext*);
~WorkerScriptController();
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm
index fe145f4..341c607 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm
@@ -40,7 +40,7 @@ my %primitiveTypeHash = ("int" => 1, "short" => 1, "long" => 1, "long long" => 1
"float" => 1, "double" => 1,
"boolean" => 1, "void" => 1);
-my %podTypeHash = ("RGBColor" => 1, "SVGNumber" => 1, "SVGTransform" => 1);
+my %podTypeHash = ("SVGNumber" => 1, "SVGTransform" => 1);
my %podTypesWithWritablePropertiesHash = ("SVGLength" => 1, "SVGMatrix" => 1, "SVGPoint" => 1, "SVGRect" => 1);
my %stringTypeHash = ("DOMString" => 1, "AtomicString" => 1);
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm
index 7e80a17..6641305 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorCOM.pm
@@ -596,9 +596,15 @@ sub GenerateCPPAttribute
# FIXME: CHECK EXCEPTION AND DO SOMETHING WITH IT
- my $setterCall = " impl${implementationClassWithoutNamespace}()->${setterName}(" . join(", ", @setterParams) . ");\n";
-
- push(@setterImplementation, $setterCall);
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $CPPImplementationWebCoreIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = (($reflect || $reflectURL) eq "1") ? $attributeName : ($reflect || $reflectURL);
+ push(@setterImplementation, " impl${implementationClassWithoutNamespace}()->setAttribute(WebCore::HTMLNames::${contentAttributeName}Attr, " . join(", ", @setterParams) . ");\n");
+ } else {
+ push(@setterImplementation, " impl${implementationClassWithoutNamespace}()->${setterName}(" . join(", ", @setterParams) . ");\n");
+ }
push(@setterImplementation, " return S_OK;\n");
push(@setterImplementation, "}\n\n");
@@ -611,7 +617,17 @@ sub GenerateCPPAttribute
push(@getterImplementation, " if (!result)\n");
push(@getterImplementation, " return E_POINTER;\n\n");
- my $implementationGetter = "impl${implementationClassWithoutNamespace}()->" . $codeGenerator->WK_lcfirst($attributeName) . "(" . ($hasGetterException ? "ec" : ""). ")";
+ my $implementationGetter;
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $implIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = (($reflect || $reflectURL) eq "1") ? $attributeName : ($reflect || $reflectURL);
+ my $getAttributeFunctionName = $reflectURL ? "getURLAttribute" : "getAttribute";
+ $implementationGetter = "impl${implementationClassWithoutNamespace}()->${getAttributeFunctionName}(WebCore::HTMLNames::${contentAttributeName}Attr)";
+ } else {
+ $implementationGetter = "impl${implementationClassWithoutNamespace}()->" . $codeGenerator->WK_lcfirst($attributeName) . "(" . ($hasGetterException ? "ec" : ""). ")";
+ }
push(@getterImplementation, " WebCore::ExceptionCode ec = 0;\n") if $hasGetterException;
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
index 4f9aa1a..26cf3f5 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -119,7 +119,15 @@ sub GetParentClassName
my $dataNode = shift;
return $dataNode->extendedAttributes->{"LegacyParent"} if $dataNode->extendedAttributes->{"LegacyParent"};
- return "DOMObject" if @{$dataNode->parents} eq 0;
+ if (@{$dataNode->parents} eq 0) {
+ # FIXME: SVG types requiring a context() pointer do not have enough
+ # space to hold a globalObject pointer as well w/o hitting the CELL_SIZE limit.
+ # This could be fixed by moving context() into the various impl() classes.
+ # Until then, we special case these SVG bindings and allow them to return
+ # the wrong prototypes and constructors during x-frame access. See bug 27088.
+ return "DOMObjectWithSVGContext" if IsSVGTypeNeedingContextParameter($dataNode->name);
+ return "DOMObjectWithGlobalPointer";
+ }
return "JS" . $codeGenerator->StripModule($dataNode->parents(0));
}
@@ -140,14 +148,6 @@ sub AvoidInclusionOfType
return 0;
}
-sub UsesManualToJSImplementation
-{
- my $type = shift;
-
- return 1 if $type eq "Node" or $type eq "Document" or $type eq "HTMLCollection" or $type eq "SVGPathSeg" or $type eq "StyleSheet" or $type eq "CSSRule" or $type eq "CSSValue" or $type eq "Event" or $type eq "ImageData" or $type eq "Element" or $type eq "Text" or $type eq "SVGElementInstance";
- return 0;
-}
-
sub IndexGetterReturnsStrings
{
my $type = shift;
@@ -173,7 +173,7 @@ sub AddIncludesForType
# When we're finished with the one-file-per-class
# reorganization, we won't need these special cases.
if ($codeGenerator->IsPrimitiveType($type) or AvoidInclusionOfType($type)
- or $type eq "DOMString" or $type eq "DOMObject" or $type eq "RGBColor" or $type eq "Array") {
+ or $type eq "DOMString" or $type eq "DOMObject" or $type eq "Array") {
} elsif ($type =~ /SVGPathSeg/) {
$joinedName = $type;
$joinedName =~ s/Abs|Rel//;
@@ -227,11 +227,13 @@ sub IsSVGTypeNeedingContextParameter
{
my $implClassName = shift;
- if ($implClassName =~ /SVG/ and not $implClassName =~ /Element/) {
- return 1 unless $implClassName =~ /SVGPaint/ or $implClassName =~ /SVGColor/ or $implClassName =~ /SVGDocument/;
+ return 0 unless $implClassName =~ /SVG/;
+ return 0 if $implClassName =~ /Element/;
+ my @noContextNeeded = ("SVGPaint", "SVGColor", "SVGDocument", "SVGZoomEvent");
+ foreach (@noContextNeeded) {
+ return 0 if $implClassName eq $_;
}
-
- return 0;
+ return 1;
}
sub HashValueForClassAndName
@@ -366,6 +368,7 @@ sub GenerateHeader
my $hasParent = $hasLegacyParent || $hasRealParent;
my $parentClassName = GetParentClassName($dataNode);
my $conditional = $dataNode->extendedAttributes->{"Conditional"};
+ my $needsSVGContext = IsSVGTypeNeedingContextParameter($interfaceName);
# - Add default header template
@headerContentHeader = split("\r", $headerTemplate);
@@ -383,7 +386,8 @@ sub GenerateHeader
if ($hasParent) {
$headerIncludes{"$parentClassName.h"} = 1;
} else {
- $headerIncludes{"JSDOMBinding.h"} = 1;
+ $headerIncludes{"DOMObjectWithSVGContext.h"} = $needsSVGContext;
+ $headerIncludes{"JSDOMBinding.h"} = !$needsSVGContext;
$headerIncludes{"<runtime/JSGlobalObject.h>"} = 1;
$headerIncludes{"<runtime/ObjectPrototype.h>"} = 1;
}
@@ -428,10 +432,12 @@ sub GenerateHeader
# Constructor
if ($interfaceName eq "DOMWindow") {
push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>, JSDOMWindowShell*);\n");
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
+ push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>);\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>, SVGElement* context);\n");
+ push(@headerContent, " $className(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>, SVGElement* context);\n");
} else {
- push(@headerContent, " $className(PassRefPtr<JSC::Structure>, PassRefPtr<$implType>);\n");
+ push(@headerContent, " $className(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<$implType>);\n");
}
# Destructor
@@ -528,7 +534,7 @@ sub GenerateHeader
push(@headerContent, " virtual JSC::JSValue lookupSetter(JSC::ExecState*, const JSC::Identifier& propertyName);\n") if $dataNode->extendedAttributes->{"CustomLookupSetter"};
# Constructor object getter
- push(@headerContent, " static JSC::JSValue getConstructor(JSC::ExecState*);\n") if $dataNode->extendedAttributes->{"GenerateConstructor"};
+ push(@headerContent, " static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);\n") if $dataNode->extendedAttributes->{"GenerateConstructor"};
my $numCustomFunctions = 0;
my $numCustomAttributes = 0;
@@ -577,23 +583,11 @@ sub GenerateHeader
}
if (!$hasParent) {
- if ($podType) {
- push(@headerContent, " JSSVGPODTypeWrapper<$podType>* impl() const { return m_impl.get(); }\n");
- push(@headerContent, " SVGElement* context() const { return m_context.get(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " RefPtr<SVGElement> m_context;\n");
- push(@headerContent, " RefPtr<JSSVGPODTypeWrapper<$podType> > m_impl;\n");
- } elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@headerContent, " $implClassName* impl() const { return m_impl.get(); }\n");
- push(@headerContent, " SVGElement* context() const { return m_context.get(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " RefPtr<SVGElement> m_context;\n");
- push(@headerContent, " RefPtr<$implClassName > m_impl;\n");
- } else {
- push(@headerContent, " $implClassName* impl() const { return m_impl.get(); }\n\n");
- push(@headerContent, "private:\n");
- push(@headerContent, " RefPtr<$implClassName> m_impl;\n");
- }
+ # Extra space after JSSVGPODTypeWrapper<> to make RefPtr<Wrapper<> > compile.
+ my $implType = $podType ? "JSSVGPODTypeWrapper<$podType> " : $implClassName;
+ push(@headerContent, " $implType* impl() const { return m_impl.get(); }\n\n");
+ push(@headerContent, "private:\n");
+ push(@headerContent, " RefPtr<$implType> m_impl;\n");
} elsif ($dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
push(@headerContent, " $implClassName* impl() const\n");
push(@headerContent, " {\n");
@@ -629,13 +623,13 @@ sub GenerateHeader
push(@headerContent, "}\n\n");
}
- if (!$hasParent || $dataNode->extendedAttributes->{"GenerateToJS"}) {
+ if (!$hasParent || $dataNode->extendedAttributes->{"GenerateToJS"} || $dataNode->extendedAttributes->{"CustomToJS"}) {
if ($podType) {
- push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<$podType>*, SVGElement* context);\n");
+ push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<$podType>*, SVGElement* context);\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, $implType*, SVGElement* context);\n");
+ push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*, SVGElement* context);\n");
} else {
- push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, $implType*);\n");
+ push(@headerContent, "JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, $implType*);\n");
}
}
if (!$hasParent || $dataNode->extendedAttributes->{"GenerateNativeConverter"}) {
@@ -648,7 +642,7 @@ sub GenerateHeader
}
}
if ($interfaceName eq "Node" or $interfaceName eq "Element" or $interfaceName eq "Text" or $interfaceName eq "CDATASection") {
- push(@headerContent, "JSC::JSValue toJSNewlyCreated(JSC::ExecState*, $interfaceName*);\n");
+ push(@headerContent, "JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, $interfaceName*);\n");
}
push(@headerContent, "\n");
@@ -659,7 +653,7 @@ sub GenerateHeader
push(@headerContent, "public:\n");
if ($interfaceName eq "DOMWindow") {
push(@headerContent, " void* operator new(size_t);\n");
- } elsif ($interfaceName eq "WorkerContext") {
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
push(@headerContent, " void* operator new(size_t, JSC::JSGlobalData*);\n");
} else {
push(@headerContent, " static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);\n");
@@ -909,7 +903,7 @@ sub GenerateImplementation
push(@implContent, "{\n");
push(@implContent, " return JSDOMWindow::commonJSGlobalData()->heap.allocate(size);\n");
push(@implContent, "}\n\n");
- } elsif ($interfaceName eq "WorkerContext") {
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
push(@implContent, "void* ${className}Prototype::operator new(size_t size, JSGlobalData* globalData)\n");
push(@implContent, "{\n");
push(@implContent, " return globalData->heap.allocate(size);\n");
@@ -988,22 +982,18 @@ sub GenerateImplementation
AddIncludesForType("JSDOMWindowShell");
push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl, JSDOMWindowShell* shell)\n");
push(@implContent, " : $parentClassName(structure, impl, shell)\n");
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
+ AddIncludesForType($interfaceName);
+ push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl)\n");
+ push(@implContent, " : $parentClassName(structure, impl)\n");
} else {
- my $contextArg = "";
- if ($needsSVGContext) {
- if ($hasParent && !$parentNeedsSVGContext) {
- $contextArg = ", SVGElement*";
- } else {
- $contextArg = ", SVGElement* context";
- }
- }
- push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, PassRefPtr<$implType> impl$contextArg)\n");
+ my $contextArg = $needsSVGContext ? ", SVGElement* context" : "";
+ push(@implContent, "${className}::$className(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<$implType> impl$contextArg)\n");
if ($hasParent) {
- push(@implContent, " : $parentClassName(structure, impl" . ($parentNeedsSVGContext ? ", context" : "") . ")\n");
+ push(@implContent, " : $parentClassName(structure, globalObject, impl" . ($parentNeedsSVGContext ? ", context" : "") . ")\n");
} else {
- push(@implContent, " : $parentClassName(structure)\n");
- push(@implContent, " , m_context(context)\n") if $needsSVGContext;
- push(@implContent, " , m_impl(impl)\n");
+ push(@implContent, " : $parentClassName(structure, globalObject" . ($needsSVGContext ? ", context" : "") . ")\n");
+ push(@implContent, " , m_impl(impl)\n");
}
}
push(@implContent, "{\n");
@@ -1104,6 +1094,7 @@ sub GenerateImplementation
push(@implContent, "JSValue ${getFunctionName}(ExecState* exec, const Identifier&, const PropertySlot& slot)\n");
push(@implContent, "{\n");
+ push(@implContent, " ${className}* castedThis = static_cast<$className*>(asObject(slot.slotBase()));\n");
my $implClassNameForValueConversion = "";
if (!$podType and ($codeGenerator->IsSVGAnimatedType($implClassName) or $attribute->type !~ /^readonly/)) {
@@ -1113,25 +1104,25 @@ sub GenerateImplementation
if ($dataNode->extendedAttributes->{"CheckDomainSecurity"} &&
!$attribute->signature->extendedAttributes->{"DoNotCheckDomainSecurity"} &&
!$attribute->signature->extendedAttributes->{"DoNotCheckDomainSecurityOnGet"}) {
- push(@implContent, " if (!static_cast<$className*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))\n");
+ push(@implContent, " if (!castedThis->allowsAccessFrom(exec))\n");
push(@implContent, " return jsUndefined();\n");
}
if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCCustom"} || $attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCCustomGetter"}) {
- push(@implContent, " return static_cast<$className*>(asObject(slot.slotBase()))->$implGetterFunctionName(exec);\n");
+ push(@implContent, " return castedThis->$implGetterFunctionName(exec);\n");
} elsif ($attribute->signature->extendedAttributes->{"CheckNodeSecurity"}) {
$implIncludes{"JSDOMBinding.h"} = 1;
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " return checkNodeSecurity(exec, imp->$implGetterFunctionName()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "static_cast<$className*>(asObject(slot.slotBase()))") . " : jsUndefined();\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
+ push(@implContent, " return checkNodeSecurity(exec, imp->$implGetterFunctionName()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "castedThis") . " : jsUndefined();\n");
} elsif ($attribute->signature->extendedAttributes->{"CheckFrameSecurity"}) {
$implIncludes{"Document.h"} = 1;
$implIncludes{"JSDOMBinding.h"} = 1;
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " return checkNodeSecurity(exec, imp->contentDocument()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "static_cast<$className*>(asObject(slot.slotBase()))") . " : jsUndefined();\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
+ push(@implContent, " return checkNodeSecurity(exec, imp->contentDocument()) ? " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName()", "castedThis") . " : jsUndefined();\n");
} elsif ($type eq "EventListener") {
$implIncludes{"EventListener.h"} = 1;
push(@implContent, " UNUSED_PARAM(exec);\n");
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
push(@implContent, " if (EventListener* listener = imp->$implGetterFunctionName()) {\n");
push(@implContent, " if (JSObject* jsFunction = listener->jsFunction())\n");
push(@implContent, " return jsFunction;\n");
@@ -1140,19 +1131,20 @@ sub GenerateImplementation
} elsif ($attribute->signature->type =~ /Constructor$/) {
my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
$constructorType =~ s/Constructor$//;
- push(@implContent, " UNUSED_PARAM(slot);\n");
- push(@implContent, " return JS" . $constructorType . "::getConstructor(exec);\n");
+ # Constructor attribute is only used by DOMWindow.idl, so it's correct to pass castedThis as the global object
+ # Once DOMObjects have a back-pointer to the globalObject we can pass castedThis->globalObject()
+ push(@implContent, " return JS" . $constructorType . "::getConstructor(exec, castedThis);\n");
} elsif (!@{$attribute->getterExceptions}) {
push(@implContent, " UNUSED_PARAM(exec);\n");
if ($podType) {
- push(@implContent, " $podType imp(*static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
+ push(@implContent, " $podType imp(*castedThis->impl());\n");
if ($podType eq "float") { # Special case for JSSVGNumber
- push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp", "castedThis") . ";\n");
} else {
- push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName()", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " return " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName()", "castedThis") . ";\n");
}
} else {
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
my $value;
my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
@@ -1164,23 +1156,22 @@ sub GenerateImplementation
} else {
$value = "imp->$implGetterFunctionName()";
}
- my $jsType = NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, $value, "static_cast<$className*>(asObject(slot.slotBase()))");
+ my $jsType = NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, $value, "castedThis");
if ($codeGenerator->IsSVGAnimatedType($type)) {
push(@implContent, " RefPtr<$type> obj = $jsType;\n");
- push(@implContent, " return toJS(exec, obj.get(), imp);\n");
+ push(@implContent, " return toJS(exec, castedThis->globalObject(), obj.get(), imp);\n");
} else {
push(@implContent, " return $jsType;\n");
}
}
} else {
- push(@implContent, " ExceptionCode ec = 0;\n");
-
+ push(@implContent, " ExceptionCode ec = 0;\n");
if ($podType) {
- push(@implContent, " $podType imp(*static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName(ec)", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " $podType imp(*castedThis->impl());\n");
+ push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, "", "imp.$implGetterFunctionName(ec)", "castedThis") . ";\n");
} else {
- push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(static_cast<$className*>(asObject(slot.slotBase()))->impl());\n");
- push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName(ec)", "static_cast<$className*>(asObject(slot.slotBase()))") . ";\n");
+ push(@implContent, " $implClassName* imp = static_cast<$implClassName*>(castedThis->impl());\n");
+ push(@implContent, " JSC::JSValue result = " . NativeToJSValue($attribute->signature, 0, $implClassName, $implClassNameForValueConversion, "imp->$implGetterFunctionName(ec)", "castedThis") . ";\n");
}
push(@implContent, " setDOMException(exec, ec);\n");
@@ -1201,7 +1192,15 @@ sub GenerateImplementation
push(@implContent, "JSValue ${constructorFunctionName}(ExecState* exec, const Identifier&, const PropertySlot& slot)\n");
push(@implContent, "{\n");
- push(@implContent, " return static_cast<$className*>(asObject(slot.slotBase()))->getConstructor(exec);\n");
+ if (IsSVGTypeNeedingContextParameter($interfaceName)) {
+ # FIXME: SVG bindings with a context pointer have no space to store a globalObject
+ # so we use deprecatedGlobalObjectForPrototype instead.
+ push(@implContent, " UNUSED_PARAM(slot);\n");
+ push(@implContent, " return ${className}::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));\n");
+ } else {
+ push(@implContent, " ${className}* domObject = static_cast<$className*>(asObject(slot.slotBase()));\n");
+ push(@implContent, " return ${className}::getConstructor(exec, domObject->globalObject());\n");
+ }
push(@implContent, "}\n");
}
}
@@ -1346,8 +1345,8 @@ sub GenerateImplementation
}
if ($dataNode->extendedAttributes->{"GenerateConstructor"}) {
- push(@implContent, "JSValue ${className}::getConstructor(ExecState* exec)\n{\n");
- push(@implContent, " return getDOMConstructor<${className}Constructor>(exec);\n");
+ push(@implContent, "JSValue ${className}::getConstructor(ExecState* exec, JSGlobalObject* globalObject)\n{\n");
+ push(@implContent, " return getDOMConstructor<${className}Constructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));\n");
push(@implContent, "}\n\n");
}
@@ -1369,6 +1368,10 @@ sub GenerateImplementation
push(@implContent, " $className* castedThisObj = toJSDOMWindow(thisValue.toThisObject(exec));\n");
push(@implContent, " if (!castedThisObj)\n");
push(@implContent, " return throwError(exec, TypeError);\n");
+ } elsif ($dataNode->extendedAttributes->{"IsWorkerContext"}) {
+ push(@implContent, " $className* castedThisObj = to${className}(thisValue.toThisObject(exec));\n");
+ push(@implContent, " if (!castedThisObj)\n");
+ push(@implContent, " return throwError(exec, TypeError);\n");
} else {
push(@implContent, " if (!thisValue.isObject(&${className}::s_info))\n");
push(@implContent, " return throwError(exec, TypeError);\n");
@@ -1496,7 +1499,7 @@ sub GenerateImplementation
$implIncludes{"KURL.h"} = 1;
push(@implContent, " return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));\n");
} else {
- push(@implContent, " return toJS(exec, static_cast<$implClassName*>(thisObj->impl())->item(slot.index()));\n");
+ push(@implContent, " return toJS(exec, thisObj->globalObject(), static_cast<$implClassName*>(thisObj->impl())->item(slot.index()));\n");
}
push(@implContent, "}\n");
if ($interfaceName eq "HTMLCollection") {
@@ -1505,22 +1508,22 @@ sub GenerateImplementation
}
}
- if ((!$hasParent or $dataNode->extendedAttributes->{"GenerateToJS"}) and !UsesManualToJSImplementation($implClassName)) {
+ if ((!$hasParent or $dataNode->extendedAttributes->{"GenerateToJS"}) and !$dataNode->extendedAttributes->{"CustomToJS"}) {
if ($podType) {
- push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<$podType>* object, SVGElement* context)\n");
+ push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<$podType>* object, SVGElement* context)\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, $implType* object, SVGElement* context)\n");
+ push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, $implType* object, SVGElement* context)\n");
} else {
- push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, $implType* object)\n");
+ push(@implContent, "JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, $implType* object)\n");
}
push(@implContent, "{\n");
if ($podType) {
- push(@implContent, " return getDOMObjectWrapper<$className, JSSVGPODTypeWrapper<$podType> >(exec, object, context);\n");
+ push(@implContent, " return getDOMObjectWrapper<$className, JSSVGPODTypeWrapper<$podType> >(exec, globalObject, object, context);\n");
} elsif (IsSVGTypeNeedingContextParameter($implClassName)) {
- push(@implContent, " return getDOMObjectWrapper<$className>(exec, object, context);\n");
+ push(@implContent, " return getDOMObjectWrapper<$className>(exec, globalObject, object, context);\n");
} else {
- push(@implContent, " return getDOMObjectWrapper<$className>(exec, object);\n");
+ push(@implContent, " return getDOMObjectWrapper<$className>(exec, globalObject, object);\n");
}
push(@implContent, "}\n");
}
@@ -1696,11 +1699,9 @@ sub NativeToJSValue
$implIncludes{"<runtime/JSString.h>"} = 1;
return "jsString(exec, $value)";
}
-
- if ($type eq "RGBColor") {
- $implIncludes{"JS$type.h"} = 1;
- return "getJSRGBColor(exec, $value)";
- }
+
+ # Some SVG bindings don't have space to store a globalObject pointer, for those, we use the deprecatedGlobalObjectForPrototype hack for now.
+ my $globalObject = IsSVGTypeNeedingContextParameter($implClassName) ? "deprecatedGlobalObjectForPrototype(exec)" : "$thisValue->globalObject()";
if ($codeGenerator->IsPodType($type)) {
$implIncludes{"JS$type.h"} = 1;
@@ -1719,24 +1720,25 @@ sub NativeToJSValue
and $codeGenerator->IsPodTypeWithWriteableProperties($type)
and not defined $signature->extendedAttributes->{"Immutable"}) {
if ($codeGenerator->IsPodType($implClassName)) {
- return "toJS(exec, JSSVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>::create($value, $thisValue->impl()).get(), $thisValue->context())";
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>::create($value, $thisValue->impl()).get(), $thisValue->context())";
} else {
- return "toJS(exec, JSSVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>::create(imp, &${implClassName}::$getter, &${implClassName}::$setter).get(), imp)";
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>::create(imp, &${implClassName}::$getter, &${implClassName}::$setter).get(), imp)";
}
}
if ($implClassNameForValueConversion eq "") {
- if (IsSVGTypeNeedingContextParameter($implClassName)) {
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), castedThisObj->context())" if $inFunctionCall eq 1;
+ # SVGZoomEvent has no context() pointer, and is also not an SVGElement.
+ # This is not a problem, because SVGZoomEvent has no read/write properties.
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), 0)" if $implClassName eq "SVGZoomEvent";
- # Special case: SVGZoomEvent - it doesn't have a context, but it's no problem, as there are no readwrite props
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), 0)" if $implClassName eq "SVGZoomEvent";
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), $thisValue->context())";
+ if (IsSVGTypeNeedingContextParameter($implClassName)) {
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), castedThisObj->context())" if $inFunctionCall;
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), $thisValue->context())";
} else {
- return "toJS(exec, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), imp)";
+ return "toJS(exec, $globalObject, JSSVGStaticPODTypeWrapper<$nativeType>::create($value).get(), imp)";
}
} else { # These classes, always have a m_context pointer!
- return "toJS(exec, JSSVGDynamicPODTypeWrapperCache<$nativeType, $implClassNameForValueConversion>::lookupOrCreateWrapper(imp, &${implClassNameForValueConversion}::$getter, &${implClassNameForValueConversion}::$setter).get(), $thisValue->context())";
+ return "toJS(exec, $globalObject, JSSVGDynamicPODTypeWrapperCache<$nativeType, $implClassNameForValueConversion>::lookupOrCreateWrapper(imp, &${implClassNameForValueConversion}::$getter, &${implClassNameForValueConversion}::$setter).get(), $thisValue->context())";
}
}
@@ -1769,18 +1771,15 @@ sub NativeToJSValue
return $value if $codeGenerator->IsSVGAnimatedType($type);
if (IsSVGTypeNeedingContextParameter($type)) {
- if (IsSVGTypeNeedingContextParameter($implClassName)) {
- return "toJS(exec, WTF::getPtr($value), $thisValue->context())";
- } else {
- return "toJS(exec, WTF::getPtr($value), imp)";
- }
+ my $contextPtr = IsSVGTypeNeedingContextParameter($implClassName) ? "$thisValue->context()" : "imp";
+ return "toJS(exec, $globalObject, WTF::getPtr($value), $contextPtr)";
}
if ($signature->extendedAttributes->{"ReturnsNew"}) {
- return "toJSNewlyCreated(exec, WTF::getPtr($value))";
+ return "toJSNewlyCreated(exec, $globalObject, WTF::getPtr($value))";
}
- return "toJS(exec, WTF::getPtr($value))";
+ return "toJS(exec, $globalObject, WTF::getPtr($value))";
}
sub ceilingToPowerOf2
@@ -1910,7 +1909,7 @@ tableSizeLoop:
push(@implContent, "};\n\n");
my $perfectSizeMask = $perfectSize - 1;
my $compactSizeMask = $numEntries - 1;
- push(@implContent, "static const HashTable $name =\n");
+ push(@implContent, "static JSC_CONST_HASHTABLE HashTable $name =\n");
push(@implContent, "#if ENABLE(PERFECT_HASH_SIZE)\n");
push(@implContent, " { $perfectSizeMask, $nameEntries, 0 };\n");
push(@implContent, "#else\n");
@@ -2031,14 +2030,15 @@ sub constructorFor
my $interfaceName = shift;
my $visibleClassName = shift;
my $canConstruct = shift;
+ my $constructorClassName = "${className}Constructor";
my $implContent = << "EOF";
-class ${className}Constructor : public DOMObject {
+class ${constructorClassName} : public DOMConstructorObject {
public:
- ${className}Constructor(ExecState* exec)
- : DOMObject(${className}Constructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ ${constructorClassName}(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(${constructorClassName}::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, ${protoClassName}::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -2052,13 +2052,13 @@ EOF
if ($canConstruct) {
$implContent .= << "EOF";
- static JSObject* construct(ExecState* exec, JSObject*, const ArgList&)
+ static JSObject* construct${interfaceName}(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return asObject(toJS(exec, ${interfaceName}::create()));
+ return asObject(toJS(exec, static_cast<${constructorClassName}*>(constructor)->globalObject(), ${interfaceName}::create()));
}
virtual ConstructType getConstructData(ConstructData& constructData)
{
- constructData.native.function = construct;
+ constructData.native.function = construct${interfaceName};
return ConstructTypeHost;
}
EOF
@@ -2067,16 +2067,16 @@ EOF
$implContent .= << "EOF";
};
-const ClassInfo ${className}Constructor::s_info = { "${visibleClassName}Constructor", 0, &${className}ConstructorTable, 0 };
+const ClassInfo ${constructorClassName}::s_info = { "${visibleClassName}Constructor", 0, &${constructorClassName}Table, 0 };
-bool ${className}Constructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+bool ${constructorClassName}::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
{
- return getStaticValueSlot<${className}Constructor, DOMObject>(exec, &${className}ConstructorTable, this, propertyName, slot);
+ return getStaticValueSlot<${constructorClassName}, DOMObject>(exec, &${constructorClassName}Table, this, propertyName, slot);
}
EOF
- $implJSCInclude{"JSNumberCell.h"} = 1;
+ $implJSCInclude{"JSNumberCell.h"} = 1; # FIXME: What is this for?
return $implContent;
}
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm
index 10628b4..d46d88a 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm
@@ -515,15 +515,17 @@ sub AddIncludesForType
{
my $type = $codeGenerator->StripModule(shift);
- return if $codeGenerator->IsNonPointerType($type) or IsNativeObjCType($type);
+ return if $codeGenerator->IsNonPointerType($type);
- if ($codeGenerator->IsStringType($type)) {
- $implIncludes{"KURL.h"} = 1;
+ if (IsNativeObjCType($type)) {
+ if ($type eq "Color") {
+ $implIncludes{"ColorMac.h"} = 1;
+ }
return;
}
- if ($type eq "RGBColor") {
- $implIncludes{"DOMRGBColorInternal.h"} = 1;
+ if ($codeGenerator->IsStringType($type)) {
+ $implIncludes{"KURL.h"} = 1;
return;
}
@@ -924,8 +926,6 @@ sub GenerateHeader
if ($codeGenerator->IsSVGAnimatedType($interfaceName)) {
push(@internalHeaderContent, "#import <WebCore/SVGAnimatedTemplate.h>\n\n");
- } elsif ($interfaceName eq "RGBColor") {
- push(@internalHeaderContent, "#import <WebCore/Color.h>\n\n");
} else {
push(@internalHeaderContent, "namespace WebCore {\n");
$startedNamespace = 1;
@@ -1198,6 +1198,9 @@ sub GenerateImplementation
} elsif (IsProtocolType($idlType) and $idlType ne "EventTarget") {
$getterContentHead = "kit($getterContentHead";
$getterContentTail .= ")";
+ } elsif ($idlType eq "Color") {
+ $getterContentHead = "WebCore::nsColor($getterContentHead";
+ $getterContentTail .= ")";
} elsif (ConversionNeeded($attribute->signature->type)) {
$getterContentHead = "kit(WTF::getPtr($getterContentHead";
$getterContentTail .= "))";
diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
index 088668e..862649f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -113,7 +113,6 @@ sub WK_lcfirst
sub IsPodType
{
my $type = shift;
- return 0 if $type eq "RGBColor";
return $codeGenerator->IsPodType($type);
}
@@ -234,7 +233,7 @@ sub AddClassForwardIfNeeded
sub GetImplementationFileName
{
my $iface = shift;
- return "HTMLCollection.h" if $iface eq "UndetectableHTMLCollection";
+ return "HTMLCollection.h" if $iface eq "HTMLAllCollection";
return "Event.h" if $iface eq "DOMTimeStamp";
return "NamedAttrMap.h" if $iface eq "NamedNodeMap";
return "NameNodeList.h" if $iface eq "NodeList";
@@ -243,6 +242,18 @@ sub GetImplementationFileName
return "${iface}.h";
}
+# If the node has a [Conditional=XXX] attribute, returns an "ENABLE(XXX)" string for use in an #if.
+sub GenerateConditionalString
+{
+ my $node = shift;
+ my $conditional = $node->extendedAttributes->{"Conditional"};
+ if ($conditional) {
+ return "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
+ } else {
+ return "";
+ }
+}
+
sub GenerateHeader
{
my $object = shift;
@@ -257,17 +268,12 @@ sub GenerateHeader
$codeGenerator->AddMethodsConstantsAndAttributesFromParentClasses($dataNode);
my $hasLegacyParent = $dataNode->extendedAttributes->{"LegacyParent"};
- my $conditional = $dataNode->extendedAttributes->{"Conditional"};
+ my $conditionalString = GenerateConditionalString($dataNode);
# - Add default header template
@headerContent = split("\r", $headerTemplate);
- my $conditionalString;
- if ($conditional) {
- $conditionalString = "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
- push(@headerContent, "\n#if ${conditionalString}\n\n");
- }
-
+ push(@headerContent, "\n#if ${conditionalString}\n\n") if $conditionalString;
push(@headerContent, "\n#ifndef $className" . "_H");
push(@headerContent, "\n#define $className" . "_H\n\n");
@@ -310,7 +316,7 @@ END
push(@headerContent, "}\n\n");
push(@headerContent, "#endif // $className" . "_H\n");
- push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditional;
+ push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditionalString;
}
@@ -346,12 +352,12 @@ sub HolderToNative
if (IsNodeSubType($dataNode)) {
push(@implContentDecls, <<END);
- $implClassName* imp = V8Proxy::convertDOMWrapperToNode<$implClassName>(holder);
+ $implClassName* imp = V8DOMWrapper::convertDOMWrapperToNode<$implClassName>(holder);
END
} else {
push(@implContentDecls, <<END);
- $implClassName* imp = V8Proxy::convertToNativeObject<$implClassName>(V8ClassIndex::$classIndex, holder);
+ $implClassName* imp = V8DOMWrapper::convertToNativeObject<$implClassName>(V8ClassIndex::$classIndex, holder);
END
}
@@ -381,7 +387,7 @@ sub GenerateDomainSafeFunctionGetter
INC_STATS(\"DOM.$implClassName.$funcName._get\");
static v8::Persistent<v8::FunctionTemplate> private_template =
v8::Persistent<v8::FunctionTemplate>::New($newTemplateString);
- v8::Handle<v8::Object> holder = V8Proxy::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
+ v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
if (holder.IsEmpty()) {
// can only reach here by 'object.__proto__.func', and it should passed
// domain security check already
@@ -421,18 +427,13 @@ END
if ($classIndex eq "DOMWINDOW") {
push(@implContentDecls, <<END);
- DOMWindow* window = V8Proxy::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, info.Holder());
- Frame* frame = window->frame();
- if (frame) {
- // Get the proxy corresponding to the DOMWindow if possible to
- // make sure that the constructor function is constructed in the
- // context of the DOMWindow and not in the context of the caller.
- return V8Proxy::retrieve(frame)->getConstructor(type);
- }
+ DOMWindow* window = V8DOMWrapper::convertToNativeObject<DOMWindow>(V8ClassIndex::DOMWINDOW, info.Holder());
+ // Get the proxy corresponding to the DOMWindow if possible to
+ // make sure that the constructor function is constructed in the
+ // context of the DOMWindow and not in the context of the caller.
+ return V8DOMWrapper::getConstructor(type, window);
END
- }
-
- if ($classIndex eq "WORKERCONTEXT") {
+ } elsif ($classIndex eq "DEDICATEDWORKERCONTEXT" or $classIndex eq "WORKERCONTEXT") {
$implIncludes{"WorkerContextExecutionProxy.h"} = 1;
push(@implContentDecls, <<END);
return WorkerContextExecutionProxy::retrieve()->GetConstructor(type);
@@ -500,7 +501,7 @@ END
if ($isPodType) {
push(@implContentDecls, <<END);
- V8SVGPODTypeWrapper<$implClassName>* imp_wrapper = V8Proxy::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());
+ V8SVGPODTypeWrapper<$implClassName>* imp_wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());
$implClassName imp_instance = *imp_wrapper;
END
if ($getterStringUsesImp) {
@@ -512,7 +513,7 @@ END
} elsif ($attrExt->{"v8OnProto"} || $attrExt->{"V8DisallowShadowing"}) {
# perform lookup first
push(@implContentDecls, <<END);
- v8::Handle<v8::Object> holder = V8Proxy::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
+ v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
if (holder.IsEmpty()) return v8::Undefined();
END
HolderToNative($dataNode, $implClassName, $classIndex);
@@ -547,54 +548,60 @@ END
my $getterString;
if ($getterStringUsesImp) {
- $getterString = "imp->$getterFunc(";
- $getterString .= "ec" if $useExceptions;
- $getterString .= ")";
- if (IsRefPtrType($returnType)) {
- $implIncludes{"wtf/GetPtr.h"} = 1;
- $getterString = "WTF::getPtr(" . $getterString . ")";
- }
- if ($nativeType eq "int" and
- $attribute->signature->extendedAttributes->{"ConvertFromString"}) {
- $getterString .= ".toInt()";
- }
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $implIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = ($reflect || $reflectURL) eq "1" ? $attrName : ($reflect || $reflectURL);
+ my $getAttributeFunctionName = $reflectURL ? "getURLAttribute" : "getAttribute";
+ $getterString = "imp->$getAttributeFunctionName(HTMLNames::${contentAttributeName}Attr";
} else {
- $getterString = "imp_instance";
+ $getterString = "imp->$getterFunc(";
}
- if ($nativeType eq "String") {
- $getterString = "ToString($getterString)";
+ $getterString .= "ec" if $useExceptions;
+ $getterString .= ")";
+ if ($nativeType eq "int" and $attribute->signature->extendedAttributes->{"ConvertFromString"}) {
+ $getterString .= ".toInt()";
}
+ } else {
+ $getterString = "imp_instance";
+ }
- my $result;
- my $wrapper;
+ if ($nativeType eq "String") {
+ $getterString = "toString($getterString)";
+ }
- if ($attrIsPodType) {
- $implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
+ my $result;
+ my $wrapper;
+
+ if ($attrIsPodType) {
+ $implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
- my $getter = $getterString;
- $getter =~ s/imp->//;
- $getter =~ s/\(\)//;
- my $setter = "set" . WK_ucfirst($getter);
+ my $getter = $getterString;
+ $getter =~ s/imp->//;
+ $getter =~ s/\(\)//;
+ my $setter = "set" . WK_ucfirst($getter);
- my $implClassIsAnimatedType = $codeGenerator->IsSVGAnimatedType($implClassName);
- if (not $implClassIsAnimatedType
- and $codeGenerator->IsPodTypeWithWriteableProperties($attrType)
- and not defined $attribute->signature->extendedAttributes->{"Immutable"}) {
+ my $implClassIsAnimatedType = $codeGenerator->IsSVGAnimatedType($implClassName);
+ if (not $implClassIsAnimatedType and $codeGenerator->IsPodTypeWithWriteableProperties($attrType) and not defined $attribute->signature->extendedAttributes->{"Immutable"}) {
if (IsPodType($implClassName)) {
- $wrapper = "new V8SVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>($getterString, imp_wrapper)";
+ my $wrapper = "V8SVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName>::create($getterString, imp_wrapper)";
+ push(@implContentDecls, " RefPtr<V8SVGStaticPODTypeWrapperWithPODTypeParent<$nativeType, $implClassName> > wrapper = $wrapper;\n");
} else {
- $wrapper = "new V8SVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ my $wrapper = "V8SVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName>::create(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ push(@implContentDecls, " RefPtr<V8SVGStaticPODTypeWrapperWithParent<$nativeType, $implClassName> > wrapper = $wrapper;\n");
}
} else {
if ($implClassIsAnimatedType) {
- $wrapper = "V8SVGDynamicPODTypeWrapperCache<$nativeType, $implClassName>::lookupOrCreateWrapper(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ my $wrapper = "V8SVGDynamicPODTypeWrapperCache<$nativeType, $implClassName>::lookupOrCreateWrapper(imp, &${implClassName}::$getter, &${implClassName}::$setter)";
+ push(@implContentDecls, " RefPtr<V8SVGPODTypeWrapper<" . $nativeType . "> > wrapper = $wrapper;\n");
} else {
- $wrapper = GenerateSVGStaticPodTypeWrapper($returnType, $getterString);
+ my $wrapper = GenerateSVGStaticPodTypeWrapper($returnType, $getterString);
+ push(@implContentDecls, " RefPtr<V8SVGStaticPODTypeWrapper<" . $nativeType . "> > wrapper = $wrapper;\n");
}
}
- push(@implContentDecls, " void* wrapper = $wrapper;\n");
- } elsif ($nativeType ne "RGBColor") {
+ } else {
push(@implContentDecls, " $nativeType v = ");
push(@implContentDecls, "$getterString;\n");
@@ -604,29 +611,23 @@ END
}
$result = "v";
- if (IsRefPtrType($returnType)) {
- $result = "WTF::getPtr(" . $result . ")";
- }
- } else {
- # Special case: RGBColor is noncopyable
- $result = $getterString;
}
-
if (IsSVGTypeNeedingContextParameter($attrType) && !$skipContext) {
my $resultObject = $result;
if ($attrIsPodType) {
$resultObject = "wrapper";
}
-
+ $resultObject = "WTF::getPtr(" . $resultObject . ")";
push(@implContentDecls, GenerateSVGContextAssignment($implClassName, $resultObject, " "));
}
if ($attrIsPodType) {
my $classIndex = uc($attrType);
- push(@implContentDecls, " return V8Proxy::convertToV8Object(V8ClassIndex::$classIndex, wrapper);\n");
+ push(@implContentDecls, " return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, wrapper.release());\n");
} else {
- push(@implContentDecls, " return ".NativeToJSValue($attribute->signature, $result).";\n");
+ $result .= ".release()" if (IsRefPtrType($attrType));
+ push(@implContentDecls, " " . ReturnNativeToJSValue($attribute->signature, $result, " ").";\n");
}
push(@implContentDecls, " }\n\n"); # end of getter
@@ -674,14 +675,14 @@ sub GenerateNormalAttrSetter
if ($isPodType) {
$implClassName = GetNativeType($implClassName);
$implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
- push(@implContentDecls, " V8SVGPODTypeWrapper<$implClassName>* wrapper = V8Proxy::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());\n");
+ push(@implContentDecls, " V8SVGPODTypeWrapper<$implClassName>* wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<$implClassName> >(V8ClassIndex::$classIndex, info.Holder());\n");
push(@implContentDecls, " $implClassName imp_instance = *wrapper;\n");
push(@implContentDecls, " $implClassName* imp = &imp_instance;\n");
} elsif ($attrExt->{"v8OnProto"}) {
# perform lookup first
push(@implContentDecls, <<END);
- v8::Handle<v8::Object> holder = V8Proxy::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
+ v8::Handle<v8::Object> holder = V8DOMWrapper::lookupDOMWrapper(V8ClassIndex::$classIndex, info.This());
if (holder.IsEmpty()) return v8::Undefined();
END
HolderToNative($dataNode, $implClassName, $classIndex);
@@ -718,7 +719,16 @@ END
if ($implClassName eq "double") {
push(@implContentDecls, " *imp = $result;\n");
} else {
- push(@implContentDecls, " imp->set" . WK_ucfirst($attrName) . "(" . $result);
+ my $implSetterFunctionName = WK_ucfirst($attrName);
+ my $reflect = $attribute->signature->extendedAttributes->{"Reflect"};
+ my $reflectURL = $attribute->signature->extendedAttributes->{"ReflectURL"};
+ if ($reflect || $reflectURL) {
+ $implIncludes{"HTMLNames.h"} = 1;
+ my $contentAttributeName = ($reflect || $reflectURL) eq "1" ? $attrName : ($reflect || $reflectURL);
+ push(@implContentDecls, " imp->setAttribute(HTMLNames::${contentAttributeName}Attr, $result");
+ } else {
+ push(@implContentDecls, " imp->set$implSetterFunctionName(" . $result);
+ }
push(@implContentDecls, ", ec") if $useExceptions;
push(@implContentDecls, ");\n");
}
@@ -795,12 +805,12 @@ sub GenerateFunctionCallback
if (IsPodType($implClassName)) {
my $nativeClassName = GetNativeType($implClassName);
- push(@implContentDecls, " V8SVGPODTypeWrapper<$nativeClassName>* imp_wrapper = V8Proxy::convertToNativeObject<V8SVGPODTypeWrapper<$nativeClassName> >(V8ClassIndex::$classIndex, args.Holder());\n");
+ push(@implContentDecls, " V8SVGPODTypeWrapper<$nativeClassName>* imp_wrapper = V8DOMWrapper::convertToNativeObject<V8SVGPODTypeWrapper<$nativeClassName> >(V8ClassIndex::$classIndex, args.Holder());\n");
push(@implContentDecls, " $nativeClassName imp_instance = *imp_wrapper;\n");
push(@implContentDecls, " $nativeClassName* imp = &imp_instance;\n");
} else {
push(@implContentDecls, <<END);
- v8::Handle<v8::Value> holder = args.Holder();
+ v8::Handle<v8::Object> holder = args.Holder();
END
HolderToNative($dataNode, $implClassName, $classIndex);
}
@@ -892,134 +902,138 @@ sub GenerateBatchedAttributeData
$accessControl = "v8::ALL_CAN_WRITE";
} elsif ($attrExt->{"DoNotCheckDomainSecurity"}) {
$accessControl = "v8::ALL_CAN_READ";
- if (!($attribute->type =~ /^readonly/) && !($attrExt->{"V8ReadOnly"})) {
- $accessControl .= "|v8::ALL_CAN_WRITE";
+ if (!($attribute->type =~ /^readonly/) && !($attrExt->{"V8ReadOnly"})) {
+ $accessControl .= "|v8::ALL_CAN_WRITE";
+ }
}
- }
- if ($attrExt->{"V8DisallowShadowing"}) {
- $accessControl .= "|v8::PROHIBITS_OVERWRITING";
- }
- $accessControl = "static_cast<v8::AccessControl>(" . $accessControl . ")";
-
- my $customAccessor =
- $attrExt->{"Custom"} ||
- $attrExt->{"CustomSetter"} ||
- $attrExt->{"CustomGetter"} ||
- $attrExt->{"V8Custom"} ||
- $attrExt->{"V8CustomSetter"} ||
- $attrExt->{"V8CustomGetter"} ||
- "";
- if ($customAccessor eq 1) {
- # use the naming convension, interface + (capitalize) attr name
- $customAccessor = $interfaceName . WK_ucfirst($attrName);
- }
-
- my $getter;
- my $setter;
- my $propAttr = "v8::None";
- my $hasCustomSetter = 0;
-
- # Check attributes.
- if ($attrExt->{"DontEnum"}) {
- $propAttr .= "|v8::DontEnum";
- }
- if ($attrExt->{"V8DisallowShadowing"}) {
- $propAttr .= "|v8::DontDelete";
- }
-
- my $on_proto = "0 /* on instance */";
- my $data = "V8ClassIndex::INVALID_CLASS_INDEX /* no data */";
-
- # Constructor
- if ($attribute->signature->type =~ /Constructor$/) {
- my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
- $constructorType =~ s/Constructor$//;
- my $constructorIndex = uc($constructorType);
- $data = "V8ClassIndex::${constructorIndex}";
- $getter = "${interfaceName}Internal::${interfaceName}ConstructorGetter";
- $setter = "0";
- $propAttr = "v8::ReadOnly";
-
- # EventListeners
- } elsif ($attribute->signature->type eq "EventListener") {
- if ($interfaceName eq "DOMWindow") {
- $getter = "V8Custom::v8DOMWindowEventHandlerAccessorGetter";
- $setter = "V8Custom::v8DOMWindowEventHandlerAccessorSetter";
- } elsif ($interfaceName eq "Element" || $interfaceName eq "Document" || $interfaceName eq "HTMLBodyElement" || $interfaceName eq "SVGElementInstance" || $interfaceName eq "HTMLFrameSetElement") {
- $getter = "V8Custom::v8ElementEventHandlerAccessorGetter";
- $setter = "V8Custom::v8ElementEventHandlerAccessorSetter";
- } else {
+ if ($attrExt->{"V8DisallowShadowing"}) {
+ $accessControl .= "|v8::PROHIBITS_OVERWRITING";
+ }
+ $accessControl = "static_cast<v8::AccessControl>(" . $accessControl . ")";
+
+ my $customAccessor =
+ $attrExt->{"Custom"} ||
+ $attrExt->{"CustomSetter"} ||
+ $attrExt->{"CustomGetter"} ||
+ $attrExt->{"V8Custom"} ||
+ $attrExt->{"V8CustomSetter"} ||
+ $attrExt->{"V8CustomGetter"} ||
+ "";
+ if ($customAccessor eq 1) {
+ # use the naming convension, interface + (capitalize) attr name
+ $customAccessor = $interfaceName . WK_ucfirst($attrName);
+ }
+
+ my $getter;
+ my $setter;
+ my $propAttr = "v8::None";
+ my $hasCustomSetter = 0;
+
+ # Check attributes.
+ if ($attrExt->{"DontEnum"}) {
+ $propAttr .= "|v8::DontEnum";
+ }
+ if ($attrExt->{"V8DisallowShadowing"}) {
+ $propAttr .= "|v8::DontDelete";
+ }
+
+ my $on_proto = "0 /* on instance */";
+ my $data = "V8ClassIndex::INVALID_CLASS_INDEX /* no data */";
+
+ # Constructor
+ if ($attribute->signature->type =~ /Constructor$/) {
+ my $constructorType = $codeGenerator->StripModule($attribute->signature->type);
+ $constructorType =~ s/Constructor$//;
+ my $constructorIndex = uc($constructorType);
+ $data = "V8ClassIndex::${constructorIndex}";
+ $getter = "${interfaceName}Internal::${interfaceName}ConstructorGetter";
+ $setter = "0";
+ $propAttr = "v8::ReadOnly";
+
+ # EventListeners
+ } elsif ($attribute->signature->type eq "EventListener") {
+ if ($interfaceName eq "DOMWindow") {
+ $getter = "V8Custom::v8DOMWindowEventHandlerAccessorGetter";
+ $setter = "V8Custom::v8DOMWindowEventHandlerAccessorSetter";
+ } elsif ($interfaceName eq "Element" || $interfaceName eq "Document" || $interfaceName eq "HTMLBodyElement" || $interfaceName eq "SVGElementInstance" || $interfaceName eq "HTMLFrameSetElement") {
+ $getter = "V8Custom::v8ElementEventHandlerAccessorGetter";
+ $setter = "V8Custom::v8ElementEventHandlerAccessorSetter";
+ } else {
+ $getter = "V8Custom::v8${customAccessor}AccessorGetter";
+ if ($interfaceName eq "WorkerContext" and $attrName eq "self") {
+ $setter = "0";
+ $propAttr = "v8::ReadOnly";
+ } else {
+ $setter = "V8Custom::v8${customAccessor}AccessorSetter";
+ }
+ }
+
+ # Custom Getter and Setter
+ } elsif ($attrExt->{"Custom"} || $attrExt->{"V8Custom"}) {
$getter = "V8Custom::v8${customAccessor}AccessorGetter";
if ($interfaceName eq "WorkerContext" and $attrName eq "self") {
$setter = "0";
$propAttr = "v8::ReadOnly";
} else {
+ $hasCustomSetter = 1;
$setter = "V8Custom::v8${customAccessor}AccessorSetter";
}
- }
- # Custom Getter and Setter
- } elsif ($attrExt->{"Custom"} || $attrExt->{"V8Custom"}) {
- $getter = "V8Custom::v8${customAccessor}AccessorGetter";
- if ($interfaceName eq "WorkerContext" and $attrName eq "self") {
- $setter = "0";
- $propAttr = "v8::ReadOnly";
- } else {
+ # Custom Setter
+ } elsif ($attrExt->{"CustomSetter"} || $attrExt->{"V8CustomSetter"}) {
$hasCustomSetter = 1;
+ $getter = "${interfaceName}Internal::${attrName}AttrGetter";
$setter = "V8Custom::v8${customAccessor}AccessorSetter";
+
+ # Custom Getter
+ } elsif ($attrExt->{"CustomGetter"}) {
+ $getter = "V8Custom::v8${customAccessor}AccessorGetter";
+ $setter = "${interfaceName}Internal::${attrName}AttrSetter";
+
+ # Replaceable
+ } elsif ($attrExt->{"Replaceable"}) {
+ # Replaceable accessor is put on instance template with ReadOnly attribute.
+ $getter = "${interfaceName}Internal::${attrName}AttrGetter";
+ $setter = "0";
+
+ # Mark to avoid duplicate v8::ReadOnly flags in output.
+ $hasCustomSetter = 1;
+
+ # Handle the special case of window.top being marked upstream as Replaceable.
+ # FIXME: Investigate why [Replaceable] is not marked as ReadOnly
+ # upstream and reach parity.
+ if (!($interfaceName eq "DOMWindow" and $attrName eq "top")) {
+ $propAttr .= "|v8::ReadOnly";
+ }
+
+ # Normal
+ } else {
+ $getter = "${interfaceName}Internal::${attrName}AttrGetter";
+ $setter = "${interfaceName}Internal::${attrName}AttrSetter";
}
- # Custom Setter
- } elsif ($attrExt->{"CustomSetter"} || $attrExt->{"V8CustomSetter"}) {
- $hasCustomSetter = 1;
- $getter = "${interfaceName}Internal::${attrName}AttrGetter";
- $setter = "V8Custom::v8${customAccessor}AccessorSetter";
-
- # Custom Getter
- } elsif ($attrExt->{"CustomGetter"}) {
- $getter = "V8Custom::v8${customAccessor}AccessorGetter";
- $setter = "${interfaceName}Internal::${attrName}AttrSetter";
-
- # Replaceable
- } elsif ($attrExt->{"Replaceable"}) {
- # Replaceable accessor is put on instance template with ReadOnly attribute.
- $getter = "${interfaceName}Internal::${attrName}AttrGetter";
- $setter = "0";
-
- # Mark to avoid duplicate v8::ReadOnly flags in output.
- $hasCustomSetter = 1;
-
- # Handle the special case of window.top being marked upstream as Replaceable.
- # FIXME: Investigate why [Replaceable] is not marked as ReadOnly
- # upstream and reach parity.
- if (!($interfaceName eq "DOMWindow" and $attrName eq "top")) {
+ if ($attrExt->{"Replaceable"} && !$hasCustomSetter) {
+ $setter = "0";
$propAttr .= "|v8::ReadOnly";
}
- # Normal
- } else {
- $getter = "${interfaceName}Internal::${attrName}AttrGetter";
- $setter = "${interfaceName}Internal::${attrName}AttrSetter";
- }
-
- if ($attrExt->{"Replaceable"} && !$hasCustomSetter) {
- $setter = "0";
- $propAttr .= "|v8::ReadOnly";
- }
+ # Read only attributes
+ if ($attribute->type =~ /^readonly/ || $attrExt->{"V8ReadOnly"}) {
+ $setter = "0";
+ }
- # Read only attributes
- if ($attribute->type =~ /^readonly/ || $attrExt->{"V8ReadOnly"}) {
- $setter = "0";
- }
+ # An accessor can be installed on the proto
+ if ($attrExt->{"v8OnProto"}) {
+ $on_proto = "1 /* on proto */";
+ }
- # An accessor can be installed on the proto
- if ($attrExt->{"v8OnProto"}) {
- $on_proto = "1 /* on proto */";
- }
+ my $commentInfo = "Attribute '$attrName' (Type: '" . $attribute->type .
+ "' ExtAttr: '" . join(' ', keys(%{$attrExt})) . "')";
+
+ my $conditionalString = GenerateConditionalString($attribute->signature);
+ push(@implContent, "\n#if ${conditionalString}\n") if $conditionalString;
- my $commentInfo = "Attribute '$attrName' (Type: '" . $attribute->type .
- "' ExtAttr: '" . join(' ', keys(%{$attrExt})) . "')";
- push(@implContent, <<END);
+ push(@implContent, <<END);
// $commentInfo
{ "$attrName",
$getter,
@@ -1029,6 +1043,7 @@ sub GenerateBatchedAttributeData
static_cast<v8::PropertyAttribute>($propAttr),
$on_proto },
END
+ push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString;
}
}
@@ -1043,7 +1058,7 @@ sub GenerateImplementation
my $classIndex = uc($codeGenerator->StripModule($interfaceName));
my $hasLegacyParent = $dataNode->extendedAttributes->{"LegacyParent"};
- my $conditional = $dataNode->extendedAttributes->{"Conditional"};
+ my $conditionalString = GenerateConditionalString($dataNode);
@allParents = $codeGenerator->FindParentsRecursively($dataNode);
@@ -1053,14 +1068,10 @@ sub GenerateImplementation
push(@implFixedHeader,
"#include \"config.h\"\n" .
"#include \"V8Proxy.h\"\n" .
- "#include \"v8_binding.h\"\n\n" .
+ "#include \"V8Binding.h\"\n\n" .
"#undef LOG\n\n");
- my $conditionalString;
- if ($conditional) {
- $conditionalString = "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";
- push(@implFixedHeader, "\n#if ${conditionalString}\n\n");
- }
+ push(@implFixedHeader, "\n#if ${conditionalString}\n\n") if $conditionalString;
if ($className =~ /^V8SVGAnimated/) {
AddIncludesForSVGAnimatedType($interfaceName);
@@ -1174,7 +1185,7 @@ sub GenerateImplementation
my $has_attributes = 0;
if (@$attributes) {
$has_attributes = 1;
- push(@implContent, "static const BatchedAttribute attrs[] = {\n");
+ push(@implContent, "static const BatchedAttribute ${interfaceName}_attrs[] = {\n");
GenerateBatchedAttributeData($interfaceName, $attributes);
push(@implContent, "};\n");
}
@@ -1183,7 +1194,7 @@ sub GenerateImplementation
my $has_constants = 0;
if (@{$dataNode->constants}) {
$has_constants = 1;
- push(@implContent, "static const BatchedConstant consts[] = {\n");
+ push(@implContent, "static const BatchedConstant ${interfaceName}_consts[] = {\n");
}
foreach my $constant (@{$dataNode->constants}) {
my $name = $constant->name;
@@ -1234,7 +1245,7 @@ END
# Set up our attributes if we have them
if ($has_attributes) {
push(@implContent, <<END);
- batchConfigureAttributes(instance, proto, attrs, sizeof(attrs)/sizeof(*attrs));
+ batchConfigureAttributes(instance, proto, ${interfaceName}_attrs, sizeof(${interfaceName}_attrs)/sizeof(*${interfaceName}_attrs));
END
}
@@ -1319,7 +1330,7 @@ END
if ($parent eq "EventTarget") { next; }
$implIncludes{"V8${parent}.h"} = 1;
my $parentClassIndex = uc($codeGenerator->StripModule($parent));
- push(@implContent, " desc->Inherit(V8Proxy::getTemplate(V8ClassIndex::${parentClassIndex}));\n");
+ push(@implContent, " desc->Inherit(V8DOMWrapper::getTemplate(V8ClassIndex::${parentClassIndex}));\n");
last;
}
@@ -1328,7 +1339,7 @@ END
if ($has_constants) {
push(@implContent, <<END);
- batchConfigureConstants(desc, proto, consts, sizeof(consts)/sizeof(*consts));
+ batchConfigureConstants(desc, proto, ${interfaceName}_consts, sizeof(${interfaceName}_consts)/sizeof(*${interfaceName}_consts));
END
}
@@ -1376,7 +1387,7 @@ END
} // namespace WebCore
END
- push(@implContent, "\n#endif // ${conditionalString}\n") if $conditional;
+ push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString;
}
@@ -1466,13 +1477,6 @@ sub GenerateFunctionCallString()
}
$functionString .= ")";
- if ((IsRefPtrType($returnType) || $returnsListItemPodType) && !$nodeToReturn) {
- # We don't use getPtr when $nodeToReturn because that situation is
- # special-cased below to return a bool.
- $implIncludes{"wtf/GetPtr.h"} = 1;
- $functionString = "WTF::getPtr(" . $functionString . ")";
- }
-
if ($nodeToReturn) {
# Special case for insertBefore, replaceChild, removeChild and
# appendChild functions from Node.
@@ -1482,7 +1486,7 @@ sub GenerateFunctionCallString()
}
$result .= $indent . "if (success)\n";
$result .= $indent . " " .
- "return V8Proxy::convertNodeToV8Object($nodeToReturn);\n";
+ "return V8DOMWrapper::convertNodeToV8Object($nodeToReturn);\n";
$result .= $indent . "return v8::Null();\n";
return $result;
} elsif ($returnType eq "void") {
@@ -1502,18 +1506,14 @@ sub GenerateFunctionCallString()
}
my $return = "result";
- if (IsRefPtrType($returnType) || $returnsListItemPodType) {
- $implIncludes{"wtf/GetPtr.h"} = 1;
- $return = "WTF::getPtr(" . $return . ")";
- }
# If the return type is a POD type, separate out the wrapper generation
if ($returnsListItemPodType) {
- $result .= $indent . "V8SVGPODTypeWrapper<" . $nativeReturnType . ">* wrapper = new ";
- $result .= "V8SVGPODTypeWrapperCreatorForList<" . $nativeReturnType . ">($return, imp->associatedAttributeName());\n";
+ $result .= $indent . "RefPtr<V8SVGPODTypeWrapper<" . $nativeReturnType . "> > wrapper = ";
+ $result .= "V8SVGPODTypeWrapperCreatorForList<" . $nativeReturnType . ">::create($return, imp->associatedAttributeName());\n";
$return = "wrapper";
} elsif ($returnsPodType) {
- $result .= $indent . "V8SVGPODTypeWrapper<" . $nativeReturnType . ">* wrapper = ";
+ $result .= $indent . "RefPtr<V8SVGPODTypeWrapper<" . $nativeReturnType . "> > wrapper = ";
$result .= GenerateSVGStaticPodTypeWrapper($returnType, $return) . ";\n";
$return = "wrapper";
}
@@ -1521,7 +1521,7 @@ sub GenerateFunctionCallString()
my $generatedSVGContextRetrieval = 0;
# If the return type needs an SVG context, output it
if (IsSVGTypeNeedingContextParameter($returnType)) {
- $result .= GenerateSVGContextAssignment($implClassName, $return, $indent);
+ $result .= GenerateSVGContextAssignment($implClassName, $return . ".get()", $indent);
$generatedSVGContextRetrieval = 1;
}
@@ -1547,9 +1547,10 @@ sub GenerateFunctionCallString()
if ($returnsPodType) {
my $classIndex = uc($returnType);
- $result .= $indent . "return V8Proxy::convertToV8Object(V8ClassIndex::$classIndex, wrapper);\n";
+ $result .= $indent . "return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, wrapper.release());\n";
} else {
- $result .= $indent . "return " . NativeToJSValue($function->signature, $return) . ";\n";
+ $return .= ".release()" if (IsRefPtrType($returnType));
+ $result .= $indent . ReturnNativeToJSValue($function->signature, $return, $indent) . ";\n";
}
return $result;
@@ -1560,7 +1561,7 @@ sub GenerateFunctionCallString()
sub GetClassName
{
my $type = shift;
- return "HTMLCollection" if $type eq "UndetectableHTMLCollection";
+ return "HTMLCollection" if $type eq "HTMLAllCollection";
return $type;
}
@@ -1688,7 +1689,6 @@ sub GetNativeType
return "SVGPaint::SVGPaintType" if $type eq "SVGPaintType";
return "DOMTimeStamp" if $type eq "DOMTimeStamp";
return "unsigned" if $type eq "unsigned int";
- return "unsigned" if $type eq "RGBColor";
return "Node*" if $type eq "EventTarget" and $isParameter;
return "String" if $type eq "DOMUserData"; # FIXME: Temporary hack?
@@ -1799,19 +1799,19 @@ sub JSValueToNative
return "static_cast<$type>($value->NumberValue())" if $type eq "float" or $type eq "double";
return "$value->NumberValue()" if $type eq "SVGNumber";
- return "ToInt32($value${maybeOkParam})" if $type eq "unsigned long" or $type eq "unsigned short" or $type eq "long";
+ return "toInt32($value${maybeOkParam})" if $type eq "unsigned long" or $type eq "unsigned short" or $type eq "long";
return "static_cast<Range::CompareHow>($value->Int32Value())" if $type eq "CompareHow";
return "static_cast<SVGPaint::SVGPaintType>($value->ToInt32()->Int32Value())" if $type eq "SVGPaintType";
- return "ToWebCoreString($value)" if $type eq "AtomicString" or $type eq "DOMUserData";
+ return "toWebCoreString($value)" if $type eq "AtomicString" or $type eq "DOMUserData";
if ($type eq "DOMString") {
- return "valueToStringWithNullCheck($value)" if $signature->extendedAttributes->{"ConvertNullToNullString"};
- return "valueToStringWithNullOrUndefinedCheck($value)" if $signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"};
- return "ToWebCoreString($value)";
+ return "toWebCoreStringWithNullCheck($value)" if $signature->extendedAttributes->{"ConvertNullToNullString"};
+ return "toWebCoreStringWithNullOrUndefinedCheck($value)" if $signature->extendedAttributes->{"ConvertUndefinedOrNullToNullString"};
+ return "toWebCoreString($value)";
}
if ($type eq "NodeFilter") {
- return "V8Proxy::wrapNativeNodeFilter($value)";
+ return "V8DOMWrapper::wrapNativeNodeFilter($value)";
}
if ($type eq "SVGRect") {
@@ -1828,7 +1828,7 @@ sub JSValueToNative
$implIncludes{"V8Node.h"} = 1;
# EventTarget is not in DOM hierarchy, but all Nodes are EventTarget.
- return "V8Node::HasInstance($value) ? V8Proxy::convertDOMWrapperToNode<Node>($value) : 0";
+ return "V8Node::HasInstance($value) ? V8DOMWrapper::convertDOMWrapperToNode<Node>(v8::Handle<v8::Object>::Cast($value)) : 0";
}
AddIncludesForType($type);
@@ -1839,7 +1839,7 @@ sub JSValueToNative
# Perform type checks on the parameter, if it is expected Node type,
# return NULL.
- return "V8${type}::HasInstance($value) ? V8Proxy::convertDOMWrapperToNode<${type}>($value) : 0";
+ return "V8${type}::HasInstance($value) ? V8DOMWrapper::convertDOMWrapperToNode<${type}>(v8::Handle<v8::Object>::Cast($value)) : 0";
} else {
# TODO: Temporary to avoid Window name conflict.
my $classIndex = uc($type);
@@ -1851,14 +1851,14 @@ sub JSValueToNative
my $nativeType = GetNativeType($type);
$implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
- return "V8SVGPODTypeUtil::ToSVGPODType<${nativeType}>(V8ClassIndex::${classIndex}, $value${maybeOkParam})"
+ return "V8SVGPODTypeUtil::toSVGPODType<${nativeType}>(V8ClassIndex::${classIndex}, $value${maybeOkParam})"
}
$implIncludes{"V8${type}.h"} = 1;
# Perform type checks on the parameter, if it is expected Node type,
# return NULL.
- return "V8${type}::HasInstance($value) ? V8Proxy::convertToNativeObject<${implClassName}>(V8ClassIndex::${classIndex}, $value) : 0";
+ return "V8${type}::HasInstance($value) ? V8DOMWrapper::convertToNativeObject<${implClassName}>(V8ClassIndex::${classIndex}, v8::Handle<v8::Object>::Cast($value)) : 0";
}
}
@@ -1976,33 +1976,34 @@ sub IsDOMNodeType
}
-sub NativeToJSValue
+sub ReturnNativeToJSValue
{
my $signature = shift;
my $value = shift;
+ my $indent = shift;
my $type = $codeGenerator->StripModule($signature->type);
my $className= "V8$type";
- return "v8::Date::New(static_cast<double>($value))" if $type eq "DOMTimeStamp";
- return "$value ? v8::True() : v8::False()" if $type eq "boolean";
- return "v8::Undefined()" if $type eq "void";
+ return "return v8::Date::New(static_cast<double>($value))" if $type eq "DOMTimeStamp";
+ return "return $value ? v8::True() : v8::False()" if $type eq "boolean";
+ return "return v8::Undefined()" if $type eq "void";
# For all the types where we use 'int' as the representation type,
# we use Integer::New which has a fast Smi conversion check.
- return "v8::Integer::New($value)" if GetNativeType($type) eq "int";
+ return "return v8::Integer::New($value)" if GetNativeType($type) eq "int";
- return "v8::Number::New($value)" if $codeGenerator->IsPrimitiveType($type) or $type eq "SVGPaintType";
+ return "return v8::Number::New($value)" if $codeGenerator->IsPrimitiveType($type) or $type eq "SVGPaintType";
if ($codeGenerator->IsStringType($type)) {
my $conv = $signature->extendedAttributes->{"ConvertNullStringTo"};
if (defined $conv) {
- return "v8StringOrNull($value)" if $conv eq "Null";
- return "v8StringOrUndefined($value)" if $conv eq "Undefined";
- return "v8StringOrFalse($value)" if $conv eq "False";
+ return "return v8StringOrNull($value)" if $conv eq "Null";
+ return "return v8StringOrUndefined($value)" if $conv eq "Undefined";
+ return "return v8StringOrFalse($value)" if $conv eq "False";
die "Unknown value for ConvertNullStringTo extended attribute";
}
- return "v8String($value)";
+ return "return v8String($value)";
}
# V8 specific.
@@ -2012,42 +2013,44 @@ sub NativeToJSValue
# special case for non-DOM node interfaces
if (IsDOMNodeType($type)) {
- return "V8Proxy::convertNodeToV8Object($value)";
+ return "return V8DOMWrapper::convertNodeToV8Object($value)";
}
if ($type eq "EventTarget" or $type eq "SVGElementInstance") {
- return "V8Proxy::convertEventTargetToV8Object($value)";
+ return "return V8DOMWrapper::convertEventTargetToV8Object($value)";
}
if ($type eq "Event") {
- return "V8Proxy::convertEventToV8Object($value)";
+ return "return V8DOMWrapper::convertEventToV8Object($value)";
}
if ($type eq "EventListener") {
- return "V8Proxy::convertEventListenerToV8Object($value)";
+ return "return V8DOMWrapper::convertEventListenerToV8Object($value)";
}
- if ($type eq "RGBColor") {
- return "V8Proxy::convertToV8Object(V8ClassIndex::RGBCOLOR, new RGBColor($value))";
+ if ($type eq "DedicatedWorkerContext" or $type eq "WorkerContext") {
+ $implIncludes{"WorkerContextExecutionProxy.h"} = 1;
+ return "return WorkerContextExecutionProxy::WorkerContextToV8Object($value)";
}
- if ($type eq "WorkerContext" or $type eq "WorkerLocation" or $type eq "WorkerNavigator") {
+ if ($type eq "WorkerLocation" or $type eq "WorkerNavigator") {
$implIncludes{"WorkerContextExecutionProxy.h"} = 1;
my $classIndex = uc($type);
- return "WorkerContextExecutionProxy::ToV8Object(V8ClassIndex::$classIndex, $value)";
+ return "return WorkerContextExecutionProxy::ToV8Object(V8ClassIndex::$classIndex, $value)";
}
else {
$implIncludes{"wtf/RefCounted.h"} = 1;
$implIncludes{"wtf/RefPtr.h"} = 1;
+ $implIncludes{"wtf/GetPtr.h"} = 1;
my $classIndex = uc($type);
if (IsPodType($type)) {
$value = GenerateSVGStaticPodTypeWrapper($type, $value);
}
- return "V8Proxy::convertToV8Object(V8ClassIndex::$classIndex, $value)";
+ return "return V8DOMWrapper::convertToV8Object(V8ClassIndex::$classIndex, $value)";
}
}
@@ -2059,7 +2062,7 @@ sub GenerateSVGStaticPodTypeWrapper {
$implIncludes{"V8SVGPODTypeWrapper.h"} = 1;
my $nativeType = GetNativeType($type);
- return "new V8SVGStaticPODTypeWrapper<$nativeType>($value)";
+ return "V8SVGStaticPODTypeWrapper<$nativeType>::create($value)";
}
# Internal helper
@@ -2119,7 +2122,7 @@ sub GenerateSVGContextAssignment
my $indent = shift;
$result = GenerateSVGContextRetrieval($srcType, $indent);
- $result .= $indent . "V8Proxy::setSVGContext($value, context);\n";
+ $result .= $indent . "V8Proxy::setSVGContext($value, context);\n";
return $result;
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
index 3258c54..006f17f 100644
--- a/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp
@@ -110,7 +110,7 @@ bool _NPN_InvokeDefault(NPP, NPObject* o, const NPVariant* args, uint32_t argCou
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Call the function object.
JSValue function = obj->imp;
@@ -161,7 +161,7 @@ bool _NPN_Invoke(NPP npp, NPObject* o, NPIdentifier methodName, const NPVariant*
if (!rootObject || !rootObject->isValid())
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue function = obj->imp->get(exec, identifierFromNPIdentifier(i->string()));
CallData callData;
CallType callType = function.getCallData(callData);
@@ -199,7 +199,7 @@ bool _NPN_Evaluate(NPP, NPObject* o, NPString* s, NPVariant* variant)
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
String scriptString = convertNPStringToUTF16(s);
ProtectedPtr<JSGlobalObject> globalObject = rootObject->globalObject();
globalObject->globalData()->timeoutChecker.start();
@@ -236,7 +236,7 @@ bool _NPN_GetProperty(NPP, NPObject* o, NPIdentifier propertyName, NPVariant* va
ExecState* exec = rootObject->globalObject()->globalExec();
IdentifierRep* i = static_cast<IdentifierRep*>(propertyName);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue result;
if (i->isString())
result = obj->imp->get(exec, identifierFromNPIdentifier(i->string()));
@@ -268,7 +268,7 @@ bool _NPN_SetProperty(NPP, NPObject* o, NPIdentifier propertyName, const NPVaria
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
IdentifierRep* i = static_cast<IdentifierRep*>(propertyName);
if (i->isString()) {
@@ -309,7 +309,7 @@ bool _NPN_RemoveProperty(NPP, NPObject* o, NPIdentifier propertyName)
}
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (i->isString())
obj->imp->deleteProperty(exec, identifierFromNPIdentifier(i->string()));
else
@@ -332,7 +332,7 @@ bool _NPN_HasProperty(NPP, NPObject* o, NPIdentifier propertyName)
ExecState* exec = rootObject->globalObject()->globalExec();
IdentifierRep* i = static_cast<IdentifierRep*>(propertyName);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (i->isString()) {
bool result = obj->imp->hasProperty(exec, identifierFromNPIdentifier(i->string()));
exec->clearException();
@@ -364,7 +364,7 @@ bool _NPN_HasMethod(NPP, NPObject* o, NPIdentifier methodName)
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue func = obj->imp->get(exec, identifierFromNPIdentifier(i->string()));
exec->clearException();
return !func.isUndefined();
@@ -393,7 +393,7 @@ bool _NPN_Enumerate(NPP, NPObject* o, NPIdentifier** identifier, uint32_t* count
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PropertyNameArray propertyNames(exec);
obj->imp->getPropertyNames(exec, propertyNames);
@@ -430,7 +430,7 @@ bool _NPN_Construct(NPP, NPObject* o, const NPVariant* args, uint32_t argCount,
return false;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// Call the constructor object.
JSValue constructor = obj->imp;
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp
index 7ce9927..e8499cb 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp
@@ -44,7 +44,7 @@ CClass::CClass(NPClass* aClass)
CClass::~CClass()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
deleteAllValues(_methods);
_methods.clear();
@@ -86,7 +86,7 @@ MethodList CClass::methodsNamed(const Identifier& identifier, Instance* instance
if (_isa->hasMethod && _isa->hasMethod(obj, ident)){
Method* aMethod = new CMethod(ident); // deleted in the CClass destructor
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_methods.set(identifier.ustring().rep(), aMethod);
}
methodList.append(aMethod);
@@ -107,7 +107,7 @@ Field* CClass::fieldNamed(const Identifier& identifier, Instance* instance) cons
if (_isa->hasProperty && _isa->hasProperty(obj, ident)){
aField = new CField(ident); // deleted in the CClass destructor
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_fields.set(identifier.ustring().rep(), aField);
}
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp
index 71f6c2f..fcdd166 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp
@@ -70,7 +70,7 @@ void CInstance::moveGlobalExceptionToExecState(ExecState* exec)
return;
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
throwError(exec, GeneralError, globalExceptionString());
}
@@ -125,7 +125,7 @@ JSValue CInstance::invokeMethod(ExecState* exec, const MethodList& methodList, c
VOID_TO_NPVARIANT(resultVariant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
_object->_class->invoke(_object, ident, cArgs.data(), count, &resultVariant);
moveGlobalExceptionToExecState(exec);
@@ -156,7 +156,7 @@ JSValue CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args)
NPVariant resultVariant;
VOID_TO_NPVARIANT(resultVariant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
_object->_class->invokeDefault(_object, cArgs.data(), count, &resultVariant);
moveGlobalExceptionToExecState(exec);
@@ -191,7 +191,7 @@ JSValue CInstance::invokeConstruct(ExecState* exec, const ArgList& args)
NPVariant resultVariant;
VOID_TO_NPVARIANT(resultVariant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
_object->_class->construct(_object, cArgs.data(), count, &resultVariant);
moveGlobalExceptionToExecState(exec);
@@ -247,7 +247,7 @@ void CInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArray)
NPIdentifier* identifiers;
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
ASSERT(globalExceptionString().isNull());
bool ok = _object->_class->enumerate(_object, &identifiers, &count);
moveGlobalExceptionToExecState(exec);
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp
index 6beb86c..e9a7bb6 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp
@@ -47,7 +47,7 @@ JSValue CField::valueFromInstance(ExecState* exec, const Instance* inst) const
bool result;
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
result = obj->_class->getProperty(obj, _fieldIdentifier, &property);
}
if (result) {
@@ -68,7 +68,7 @@ void CField::setValueToInstance(ExecState *exec, const Instance *inst, JSValue a
convertValueToNPVariant(exec, aValue, &variant);
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
obj->_class->setProperty(obj, _fieldIdentifier, &variant);
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp b/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp
index 77b5de2..7ff77e7 100644
--- a/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp
@@ -68,7 +68,7 @@ static String convertUTF8ToUTF16WithLatin1Fallback(const NPUTF8* UTF8Chars, int
// Variant value must be released with NPReleaseVariantValue()
void convertValueToNPVariant(ExecState* exec, JSValue value, NPVariant* result)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
VOID_TO_NPVARIANT(*result);
@@ -107,7 +107,7 @@ void convertValueToNPVariant(ExecState* exec, JSValue value, NPVariant* result)
JSValue convertNPVariantToValue(ExecState* exec, const NPVariant* variant, RootObject* rootObject)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
NPVariantType type = variant->type;
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp
index 87750aa..012b047 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_class.cpp
@@ -60,7 +60,7 @@ JavaClass::JavaClass(jobject anInstance)
jobject aJField = env->GetObjectArrayElement((jobjectArray)fields, i);
JavaField *aField = new JavaField(env, aJField); // deleted in the JavaClass destructor
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_fields.set(aField->name(), aField);
}
env->DeleteLocalRef(aJField);
@@ -74,7 +74,7 @@ JavaClass::JavaClass(jobject anInstance)
JavaMethod *aMethod = new JavaMethod(env, aJMethod); // deleted in the JavaClass destructor
MethodList* methodList;
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
methodList = _methods.get(aMethod->name());
if (!methodList) {
@@ -90,7 +90,7 @@ JavaClass::JavaClass(jobject anInstance)
JavaClass::~JavaClass() {
free((void *)_name);
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
deleteAllValues(_fields);
_fields.clear();
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp
index 88d79ef..2ef0c1d 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_instance.cpp
@@ -82,7 +82,7 @@ Class *JavaInstance::getClass() const
JSValue JavaInstance::stringValue(ExecState* exec) const
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
jstring stringValue = (jstring)callJNIMethod<jobject>(_instance->_instance, "toString", "()Ljava/lang/String;");
JNIEnv *env = getJNIEnv();
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
index 32d7b0d..c9af8b0 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm
@@ -290,7 +290,7 @@ jobject JavaJSObject::call(jstring methodName, jobjectArray args) const
// Lookup the function object.
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
Identifier identifier(exec, JavaString(methodName));
JSValue function = _imp->get(exec, identifier);
@@ -315,7 +315,7 @@ jobject JavaJSObject::eval(jstring script) const
JSValue result;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RootObject* rootObject = this->rootObject();
if (!rootObject)
@@ -346,7 +346,7 @@ jobject JavaJSObject::getMember(jstring memberName) const
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue result = _imp->get(exec, Identifier(exec, JavaString(memberName)));
return convertValueToJObject(result);
@@ -362,7 +362,7 @@ void JavaJSObject::setMember(jstring memberName, jobject value) const
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
PutPropertySlot slot;
_imp->put(exec, Identifier(exec, JavaString(memberName)), convertJObjectToValue(exec, value), slot);
}
@@ -377,7 +377,7 @@ void JavaJSObject::removeMember(jstring memberName) const
return;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_imp->deleteProperty(exec, Identifier(exec, JavaString(memberName)));
}
@@ -396,7 +396,7 @@ jobject JavaJSObject::getSlot(jint index) const
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSValue result = _imp->get(exec, index);
return convertValueToJObject(result);
@@ -416,7 +416,7 @@ void JavaJSObject::setSlot(jint index, jobject value) const
return;
ExecState* exec = rootObject->globalObject()->globalExec();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_imp->put(exec, (unsigned)index, convertJObjectToValue(exec, value));
}
@@ -429,7 +429,7 @@ jstring JavaJSObject::toString() const
if (!rootObject)
return 0;
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSObject *thisObj = const_cast<JSObject*>(_imp);
ExecState* exec = rootObject->globalObject()->globalExec();
@@ -487,7 +487,7 @@ jlong JavaJSObject::createNative(jlong nativeHandle)
jobject JavaJSObject::convertValueToJObject(JSValue value) const
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RootObject* rootObject = this->rootObject();
if (!rootObject)
@@ -600,7 +600,7 @@ JSValue JavaJSObject::convertJObjectToValue(ExecState* exec, jobject theObject)
return imp;
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return JavaInstance::create(theObject, _rootObject)->createRuntimeObject(exec);
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm b/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm
index 7c19442..0306bfd 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm
@@ -61,7 +61,7 @@ bool JSC::Bindings::dispatchJNICall(ExecState* exec, const void* targetAppletVie
// implemented in WebCore will guarantee that only appropriate JavaScript
// can reference the applet.
{
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
result = [view webPlugInCallJava:obj isStatic:isStatic returnType:returnType method:methodID arguments:args callingURL:nil exceptionDescription:&_exceptionDescription];
}
@@ -71,7 +71,7 @@ bool JSC::Bindings::dispatchJNICall(ExecState* exec, const void* targetAppletVie
return true;
}
else if ([view respondsToSelector:@selector(webPlugInCallJava:method:returnType:arguments:)]) {
- JSLock::DropAllLocks dropAllLocks(false);
+ JSLock::DropAllLocks dropAllLocks(SilenceAssertionsOnly);
result = [view webPlugInCallJava:obj method:methodID returnType:returnType arguments:args];
return true;
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp
index 3cbe8cf..cc48037 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.cpp
@@ -316,7 +316,7 @@ static void appendClassName(UString& aString, const char* className)
const char *JavaMethod::signature() const
{
if (!_signature) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
UString signatureBuilder("(");
for (int i = 0; i < _numParameters; i++) {
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h
index f3cbf2b..81484ff 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_runtime.h
@@ -46,7 +46,7 @@ class JavaString
public:
JavaString()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_rep = UString().rep();
}
@@ -55,7 +55,7 @@ public:
int _size = e->GetStringLength (s);
const jchar *uc = getUCharactersFromJStringInEnv (e, s);
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_rep = UString(reinterpret_cast<const UChar*>(uc), _size).rep();
}
releaseUCharactersForJStringInEnv (e, s, uc);
@@ -71,13 +71,13 @@ public:
~JavaString()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_rep = 0;
}
const char *UTF8String() const {
if (_utf8String.c_str() == 0) {
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
_utf8String = UString(_rep).UTF8String();
}
return _utf8String.c_str();
diff --git a/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp b/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp
index f8a2789..86075c9 100644
--- a/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/jni/jni_utility.cpp
@@ -470,7 +470,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray
jvalue convertValueToJValue(ExecState* exec, JSValue value, JNIType _JNIType, const char* javaClassName)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
jvalue result;
diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h
index 1904a87..07fed86 100644
--- a/src/3rdparty/webkit/WebCore/bridge/npapi.h
+++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h
@@ -114,6 +114,14 @@
/* Definition of Basic Types */
/*----------------------------------------------------------------------*/
+/* QNX sets the _INT16 and friends defines, but does not typedef the types */
+#ifdef __QNXNTO__
+#undef _UINT16
+#undef _INT16
+#undef _UINT32
+#undef _INT32
+#endif
+
#ifndef _UINT16
#define _UINT16
typedef unsigned short uint16;
@@ -341,8 +349,6 @@ typedef enum {
*/
NPPVpluginWantsAllNetworkStreams = 18,
- NPPVpluginPrivateModeBool = 19,
-
/* Checks to see if the plug-in would like the browser to load the "src" attribute. */
NPPVpluginCancelSrcStream = 20,
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
index 60cf16f..506697a 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp
@@ -74,7 +74,7 @@ private:
const ClassInfo QtRuntimeObjectImp::s_info = { "QtRuntimeObject", &RuntimeObjectImp::s_info, 0, 0 };
QtRuntimeObjectImp::QtRuntimeObjectImp(ExecState* exec, PassRefPtr<Instance> instance)
- : RuntimeObjectImp(exec, WebCore::getDOMStructure<QtRuntimeObjectImp>(exec), instance)
+ : RuntimeObjectImp(exec, WebCore::deprecatedGetDOMStructure<QtRuntimeObjectImp>(exec), instance)
{
}
@@ -91,7 +91,7 @@ void QtRuntimeObjectImp::invalidate()
void QtRuntimeObjectImp::removeFromCache()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
QtInstance* key = cachedObjects.key(this);
if (key)
cachedObjects.remove(key);
@@ -110,7 +110,7 @@ QtInstance::QtInstance(QObject* o, PassRefPtr<RootObject> rootObject, QScriptEng
QtInstance::~QtInstance()
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
cachedObjects.remove(this);
cachedInstances.remove(m_hashkey);
@@ -118,9 +118,7 @@ QtInstance::~QtInstance()
// clean up (unprotect from gc) the JSValues we've created
m_methods.clear();
- foreach(QtField* f, m_fields.values()) {
- delete f;
- }
+ qDeleteAll(m_fields);
m_fields.clear();
if (m_object) {
@@ -140,7 +138,7 @@ QtInstance::~QtInstance()
PassRefPtr<QtInstance> QtInstance::getQtInstance(QObject* o, PassRefPtr<RootObject> rootObject, QScriptEngine::ValueOwnership ownership)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
foreach(QtInstance* instance, cachedInstances.values(o)) {
if (instance->rootObject() == rootObject)
@@ -163,6 +161,19 @@ void QtInstance::put(JSObject* object, ExecState* exec, const Identifier& proper
object->JSObject::put(exec, propertyName, value, slot);
}
+void QtInstance::removeCachedMethod(JSObject* method)
+{
+ if (m_defaultMethod == method)
+ m_defaultMethod = 0;
+
+ for(QHash<QByteArray, JSObject*>::Iterator it = m_methods.begin(),
+ end = m_methods.end(); it != end; ++it)
+ if (it.value() == method) {
+ m_methods.erase(it);
+ return;
+ }
+}
+
QtInstance* QtInstance::getInstance(JSObject* object)
{
if (!object)
@@ -181,7 +192,7 @@ Class* QtInstance::getClass() const
RuntimeObjectImp* QtInstance::createRuntimeObject(ExecState* exec)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
RuntimeObjectImp* ret = static_cast<RuntimeObjectImp*>(cachedObjects.value(this));
if (!ret) {
ret = new (exec) QtRuntimeObjectImp(exec, this);
@@ -193,16 +204,12 @@ RuntimeObjectImp* QtInstance::createRuntimeObject(ExecState* exec)
void QtInstance::mark()
{
- if (m_defaultMethod)
+ if (m_defaultMethod && !m_defaultMethod->marked())
m_defaultMethod->mark();
foreach(JSObject* val, m_methods.values()) {
if (val && !val->marked())
val->mark();
}
- foreach(JSValue val, m_children.values()) {
- if (val && !val.marked())
- val.mark();
- }
}
void QtInstance::begin()
@@ -355,13 +362,7 @@ JSValue QtField::valueFromInstance(ExecState* exec, const Instance* inst) const
else if (m_type == DynamicProperty)
val = obj->property(m_dynamicProperty);
- JSValue ret = convertQVariantToValue(exec, inst->rootObject(), val);
-
- // Need to save children so we can mark them
- if (m_type == ChildObject)
- instance->m_children.insert(ret);
-
- return ret;
+ return convertQVariantToValue(exec, inst->rootObject(), val);
} else {
QString msg = QString(QLatin1String("cannot access member `%1' of deleted QObject")).arg(QLatin1String(name()));
return throwError(exec, GeneralError, msg.toLatin1().constData());
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
index 590fadf..23766b1 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h
@@ -65,6 +65,8 @@ public:
virtual bool getOwnPropertySlot(JSObject*, ExecState*, const Identifier&, PropertySlot&);
virtual void put(JSObject*, ExecState*, const Identifier&, JSValue, PutPropertySlot&);
+ void removeCachedMethod(JSObject*);
+
static QtInstance* getInstance(JSObject*);
private:
@@ -81,7 +83,6 @@ private:
QObject* m_hashkey;
mutable QHash<QByteArray, JSObject*> m_methods;
mutable QHash<QString, QtField*> m_fields;
- mutable QSet<JSValue> m_children;
mutable QtRuntimeMetaMethod* m_defaultMethod;
QScriptEngine::ValueOwnership m_ownership;
};
diff --git a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
index 161e570..6be119c 100644
--- a/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp
@@ -167,7 +167,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
return QVariant();
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
JSRealType type = valueRealType(exec, value);
if (hint == QMetaType::Void) {
switch(type) {
@@ -770,7 +770,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
return jsNull();
}
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
if (type == QMetaType::Bool)
return jsBoolean(variant.toBool());
@@ -907,7 +907,7 @@ JSValue convertQVariantToValue(ExecState* exec, PassRefPtr<RootObject> root, con
const ClassInfo QtRuntimeMethod::s_info = { "QtRuntimeMethod", 0, 0, 0 };
QtRuntimeMethod::QtRuntimeMethod(QtRuntimeMethodData* dd, ExecState* exec, const Identifier& ident, PassRefPtr<QtInstance> inst)
- : InternalFunction(&exec->globalData(), getDOMStructure<QtRuntimeMethod>(exec), ident)
+ : InternalFunction(&exec->globalData(), deprecatedGetDOMStructure<QtRuntimeMethod>(exec), ident)
, d_ptr(dd)
{
QW_D(QtRuntimeMethod);
@@ -916,6 +916,8 @@ QtRuntimeMethod::QtRuntimeMethod(QtRuntimeMethodData* dd, ExecState* exec, const
QtRuntimeMethod::~QtRuntimeMethod()
{
+ QW_D(QtRuntimeMethod);
+ d->m_instance->removeCachedMethod(this);
delete d_ptr;
}
@@ -1345,7 +1347,7 @@ JSValue QtRuntimeMetaMethod::call(ExecState* exec, JSObject* functionObject, JSV
return jsUndefined();
// We have to pick a method that matches..
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
QObject *obj = d->m_instance->getObject();
if (obj) {
@@ -1438,7 +1440,7 @@ JSValue QtRuntimeConnectionMethod::call(ExecState* exec, JSObject* functionObjec
{
QtRuntimeConnectionMethodData* d = static_cast<QtRuntimeConnectionMethod *>(functionObject)->d_func();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
QObject* sender = d->m_instance->getObject();
@@ -1668,7 +1670,7 @@ void QtConnectionObject::execute(void **argv)
int argc = parameterTypes.count();
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
// ### Should the Interpreter/ExecState come from somewhere else?
RefPtr<RootObject> ro = m_instance->rootObject();
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime.cpp
index d6b6962..6934406 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime.cpp
@@ -80,7 +80,7 @@ void Instance::end()
RuntimeObjectImp* Instance::createRuntimeObject(ExecState* exec)
{
- JSLock lock(false);
+ JSLock lock(SilenceAssertionsOnly);
return new (exec) RuntimeObjectImp(exec, this);
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime.h b/src/3rdparty/webkit/WebCore/bridge/runtime.h
index 72736d4..2f74a4e 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime.h
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime.h
@@ -55,14 +55,14 @@ public:
virtual ~Field() { }
};
-class Method : Noncopyable {
+class Method : public Noncopyable {
public:
virtual int numParameters() const = 0;
virtual ~Method() { }
};
-class Class : Noncopyable {
+class Class : public Noncopyable {
public:
virtual MethodList methodsNamed(const Identifier&, Instance*) const = 0;
virtual Field* fieldNamed(const Identifier&, Instance*) const = 0;
@@ -120,7 +120,7 @@ protected:
RefPtr<RootObject> _rootObject;
};
-class Array : Noncopyable {
+class Array : public Noncopyable {
public:
Array(PassRefPtr<RootObject>);
virtual ~Array();
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp
index fead83a..2849822 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp
@@ -36,9 +36,11 @@ namespace JSC {
const ClassInfo RuntimeArray::s_info = { "RuntimeArray", &JSArray::info, 0, 0 };
-RuntimeArray::RuntimeArray(ExecState* exec, Bindings::Array* a)
- : JSObject(getDOMStructure<RuntimeArray>(exec))
- , _array(a)
+RuntimeArray::RuntimeArray(ExecState* exec, Bindings::Array* array)
+ // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
+ // We need to pass in the right global object for "array".
+ : JSObject(deprecatedGetDOMStructure<RuntimeArray>(exec))
+ , _array(array)
{
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp
index 30a3581..0af0af5 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp
@@ -41,8 +41,11 @@ ASSERT_CLASS_FITS_IN_CELL(RuntimeMethod);
const ClassInfo RuntimeMethod::s_info = { "RuntimeMethod", 0, 0, 0 };
-RuntimeMethod::RuntimeMethod(ExecState* exec, const Identifier& ident, Bindings::MethodList& m)
- : InternalFunction(&exec->globalData(), getDOMStructure<RuntimeMethod>(exec), ident)
+RuntimeMethod::RuntimeMethod(ExecState* exec, const Identifier& ident, Bindings::MethodList& m)
+ // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
+ // exec-globalData() is also likely wrong.
+ // Callers will need to pass in the right global object corresponding to this native object "m".
+ : InternalFunction(&exec->globalData(), deprecatedGetDOMStructure<RuntimeMethod>(exec), ident)
, _methodList(new MethodList(m))
{
}
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp
index 79afd3f..385f914 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp
@@ -41,7 +41,9 @@ using namespace Bindings;
const ClassInfo RuntimeObjectImp::s_info = { "RuntimeObject", 0, 0, 0 };
RuntimeObjectImp::RuntimeObjectImp(ExecState* exec, PassRefPtr<Instance> i)
- : JSObject(getDOMStructure<RuntimeObjectImp>(exec))
+ // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
+ // We need to pass in the right global object for "i".
+ : JSObject(deprecatedGetDOMStructure<RuntimeObjectImp>(exec))
, instance(i)
{
instance->rootObject()->addRuntimeObject(this);
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp b/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp
index 8e00fd5..0e9bf74 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp
@@ -22,6 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#include "config.h"
#include "runtime_root.h"
diff --git a/src/3rdparty/webkit/WebCore/bridge/runtime_root.h b/src/3rdparty/webkit/WebCore/bridge/runtime_root.h
index 0d6fdbd..eacbb57 100644
--- a/src/3rdparty/webkit/WebCore/bridge/runtime_root.h
+++ b/src/3rdparty/webkit/WebCore/bridge/runtime_root.h
@@ -86,4 +86,4 @@ private:
} // namespace JSC
-#endif
+#endif // RUNTIME_ROOT_H_
diff --git a/src/3rdparty/webkit/WebCore/config.h b/src/3rdparty/webkit/WebCore/config.h
index 0700adf..411ddb1 100644
--- a/src/3rdparty/webkit/WebCore/config.h
+++ b/src/3rdparty/webkit/WebCore/config.h
@@ -107,9 +107,20 @@
#endif
#if PLATFORM(WIN)
+#if defined(WIN_CAIRO)
+#undef WTF_PLATFORM_CG
+#define WTF_PLATFORM_CAIRO 1
+#undef WTF_USE_CFNETWORK
+#define WTF_USE_CURL 1
+#ifndef _WINSOCKAPI_
+#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
+#endif
+#else
#define WTF_PLATFORM_CG 1
#undef WTF_PLATFORM_CAIRO
#define WTF_USE_CFNETWORK 1
+#undef WTF_USE_CURL
+#endif
#undef WTF_USE_WININET
#define WTF_PLATFORM_CF 1
#define WTF_USE_PTHREADS 0
diff --git a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
index b721f70..476ed1e 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -52,8 +52,10 @@ namespace WebCore {
// List of all properties we know how to compute, omitting shorthands.
static const int computedProperties[] = {
CSSPropertyBackgroundAttachment,
+ CSSPropertyBackgroundClip,
CSSPropertyBackgroundColor,
CSSPropertyBackgroundImage,
+ CSSPropertyBackgroundOrigin,
CSSPropertyBackgroundPosition, // more-specific background-position-x/y are non-standard
CSSPropertyBackgroundRepeat,
CSSPropertyBorderBottomColor,
@@ -70,6 +72,7 @@ static const int computedProperties[] = {
CSSPropertyBorderTopStyle,
CSSPropertyBorderTopWidth,
CSSPropertyBottom,
+ CSSPropertyBoxShadow,
CSSPropertyCaptionSide,
CSSPropertyClear,
CSSPropertyClip,
@@ -122,6 +125,7 @@ static const int computedProperties[] = {
CSSPropertyTextDecoration,
CSSPropertyTextIndent,
CSSPropertyTextShadow,
+ CSSPropertyTextOverflow,
CSSPropertyTextTransform,
CSSPropertyTop,
CSSPropertyUnicodeBidi,
@@ -165,7 +169,6 @@ static const int computedProperties[] = {
CSSPropertyWebkitBoxOrient,
CSSPropertyWebkitBoxPack,
CSSPropertyWebkitBoxReflect,
- CSSPropertyWebkitBoxShadow,
CSSPropertyWebkitBoxSizing,
CSSPropertyWebkitColumnBreakAfter,
CSSPropertyWebkitColumnBreakBefore,
@@ -261,7 +264,7 @@ static const int computedProperties[] = {
const unsigned numComputedProperties = sizeof(computedProperties) / sizeof(computedProperties[0]);
-static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow)
+static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID)
{
if (!shadow)
return CSSPrimitiveValue::createIdentifier(CSSValueNone);
@@ -271,8 +274,10 @@ static PassRefPtr<CSSValue> valueForShadow(const ShadowData* shadow)
RefPtr<CSSPrimitiveValue> x = CSSPrimitiveValue::create(s->x, CSSPrimitiveValue::CSS_PX);
RefPtr<CSSPrimitiveValue> y = CSSPrimitiveValue::create(s->y, CSSPrimitiveValue::CSS_PX);
RefPtr<CSSPrimitiveValue> blur = CSSPrimitiveValue::create(s->blur, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> spread = propertyID == CSSPropertyTextShadow ? 0 : CSSPrimitiveValue::create(s->spread, CSSPrimitiveValue::CSS_PX);
+ RefPtr<CSSPrimitiveValue> style = propertyID == CSSPropertyTextShadow || s->style == Normal ? 0 : CSSPrimitiveValue::createIdentifier(CSSValueInset);
RefPtr<CSSPrimitiveValue> color = CSSPrimitiveValue::createColor(s->color.rgb());
- list->prepend(ShadowValue::create(x.release(), y.release(), blur.release(), color.release()));
+ list->prepend(ShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
}
return list.release();
}
@@ -596,6 +601,23 @@ static PassRefPtr<CSSPrimitiveValue> valueForFamily(const AtomicString& family)
return CSSPrimitiveValue::create(family.string(), CSSPrimitiveValue::CSS_STRING);
}
+static PassRefPtr<CSSValue> renderTextDecorationFlagsToCSSValue(int textDecoration)
+{
+ RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
+ if (textDecoration & UNDERLINE)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueUnderline));
+ if (textDecoration & OVERLINE)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueOverline));
+ if (textDecoration & LINE_THROUGH)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueLineThrough));
+ if (textDecoration & BLINK)
+ list->append(CSSPrimitiveValue::createIdentifier(CSSValueBlink));
+
+ if (!list->length())
+ return CSSPrimitiveValue::createIdentifier(CSSValueNone);
+ return list;
+}
+
PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int propertyID, EUpdateLayout updateLayout) const
{
Node* node = m_node.get();
@@ -637,12 +659,12 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyWebkitBackgroundComposite:
return CSSPrimitiveValue::create(style->backgroundComposite());
case CSSPropertyBackgroundAttachment:
- if (style->backgroundAttachment())
- return CSSPrimitiveValue::createIdentifier(CSSValueScroll);
- return CSSPrimitiveValue::createIdentifier(CSSValueFixed);
+ return CSSPrimitiveValue::create(style->backgroundAttachment());
+ case CSSPropertyBackgroundClip:
+ case CSSPropertyBackgroundOrigin:
case CSSPropertyWebkitBackgroundClip:
case CSSPropertyWebkitBackgroundOrigin: {
- EFillBox box = (propertyID == CSSPropertyWebkitBackgroundClip ? style->backgroundClip() : style->backgroundOrigin());
+ EFillBox box = (propertyID == CSSPropertyWebkitBackgroundClip || propertyID == CSSPropertyBackgroundClip) ? style->backgroundClip() : style->backgroundOrigin();
return CSSPrimitiveValue::create(box);
}
case CSSPropertyBackgroundPosition: {
@@ -721,8 +743,8 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
}
case CSSPropertyWebkitBoxReflect:
return valueForReflection(style->boxReflect());
- case CSSPropertyWebkitBoxShadow:
- return valueForShadow(style->boxShadow());
+ case CSSPropertyBoxShadow:
+ return valueForShadow(style->boxShadow(), static_cast<CSSPropertyID>(propertyID));
case CSSPropertyCaptionSide:
return CSSPrimitiveValue::create(style->captionSide());
case CSSPropertyClear:
@@ -905,9 +927,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyWebkitMaskRepeat:
return CSSPrimitiveValue::create(style->maskRepeat());
case CSSPropertyWebkitMaskAttachment:
- if (style->maskAttachment())
- return CSSPrimitiveValue::createIdentifier(CSSValueScroll);
- return CSSPrimitiveValue::createIdentifier(CSSValueFixed);
+ return CSSPrimitiveValue::create(style->maskAttachment());
case CSSPropertyWebkitMaskComposite:
return CSSPrimitiveValue::create(style->maskComposite());
case CSSPropertyWebkitMaskClip:
@@ -998,58 +1018,20 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
return CSSPrimitiveValue::create(style->tableLayout());
case CSSPropertyTextAlign:
return CSSPrimitiveValue::create(style->textAlign());
- case CSSPropertyTextDecoration: {
- String string;
- if (style->textDecoration() & UNDERLINE)
- string += "underline";
- if (style->textDecoration() & OVERLINE) {
- if (string.length())
- string += " ";
- string += "overline";
- }
- if (style->textDecoration() & LINE_THROUGH) {
- if (string.length())
- string += " ";
- string += "line-through";
- }
- if (style->textDecoration() & BLINK) {
- if (string.length())
- string += " ";
- string += "blink";
- }
- if (!string.length())
- return CSSPrimitiveValue::createIdentifier(CSSValueNone);
- return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_STRING);
- }
- case CSSPropertyWebkitTextDecorationsInEffect: {
- String string;
- if (style->textDecorationsInEffect() & UNDERLINE)
- string += "underline";
- if (style->textDecorationsInEffect() & OVERLINE) {
- if (string.length())
- string += " ";
- string += "overline";
- }
- if (style->textDecorationsInEffect() & LINE_THROUGH) {
- if (string.length())
- string += " ";
- string += "line-through";
- }
- if (style->textDecorationsInEffect() & BLINK) {
- if (string.length())
- string += " ";
- string += "blink";
- }
- if (!string.length())
- return CSSPrimitiveValue::createIdentifier(CSSValueNone);
- return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_STRING);
- }
+ case CSSPropertyTextDecoration:
+ return renderTextDecorationFlagsToCSSValue(style->textDecoration());
+ case CSSPropertyWebkitTextDecorationsInEffect:
+ return renderTextDecorationFlagsToCSSValue(style->textDecorationsInEffect());
case CSSPropertyWebkitTextFillColor:
return currentColorOrValidColor(style.get(), style->textFillColor());
case CSSPropertyTextIndent:
return CSSPrimitiveValue::create(style->textIndent());
case CSSPropertyTextShadow:
- return valueForShadow(style->textShadow());
+ return valueForShadow(style->textShadow(), static_cast<CSSPropertyID>(propertyID));
+ case CSSPropertyTextOverflow:
+ if (style->textOverflow())
+ return CSSPrimitiveValue::createIdentifier(CSSValueEllipsis);
+ return CSSPrimitiveValue::createIdentifier(CSSValueClip);
case CSSPropertyWebkitTextSecurity:
return CSSPrimitiveValue::create(style->textSecurity());
case CSSPropertyWebkitTextSizeAdjust:
@@ -1331,7 +1313,6 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyTextLineThroughMode:
case CSSPropertyTextLineThroughStyle:
case CSSPropertyTextLineThroughWidth:
- case CSSPropertyTextOverflow:
case CSSPropertyTextOverline:
case CSSPropertyTextOverlineColor:
case CSSPropertyTextOverlineMode:
@@ -1471,11 +1452,6 @@ static const int inheritableProperties[] = {
static const unsigned numInheritableProperties = sizeof(inheritableProperties) / sizeof(inheritableProperties[0]);
-void CSSComputedStyleDeclaration::removeComputedInheritablePropertiesFrom(CSSMutableStyleDeclaration* declaration)
-{
- declaration->removePropertiesInSet(inheritableProperties, numInheritableProperties);
-}
-
bool CSSComputedStyleDeclaration::cssPropertyMatches(const CSSProperty* property) const
{
if (property->id() == CSSPropertyFontSize && property->value()->isPrimitiveValue() && m_node) {
@@ -1492,7 +1468,11 @@ bool CSSComputedStyleDeclaration::cssPropertyMatches(const CSSProperty* property
return CSSStyleDeclaration::cssPropertyMatches(property);
}
-PassRefPtr<CSSMutableStyleDeclaration> CSSComputedStyleDeclaration::copyInheritableProperties() const
+// FIXME: deprecatedCopyInheritableProperties is used for two purposes:
+// 1. Calculating the typing style.
+// 2. Moving HTML subtrees and seeking to remove redundant styles.
+// These tasks should be broken out into two separate functions. New code should not use this function.
+PassRefPtr<CSSMutableStyleDeclaration> CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties() const
{
RefPtr<CSSMutableStyleDeclaration> style = copyPropertiesInSet(inheritableProperties, numInheritableProperties);
if (style && m_node && m_node->computedStyle()) {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
index 6f81b0e..5d3ccc1 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h
@@ -55,10 +55,7 @@ public:
PassRefPtr<CSSValue> getSVGPropertyCSSValue(int propertyID, EUpdateLayout) const;
#endif
- PassRefPtr<CSSMutableStyleDeclaration> copyInheritableProperties() const;
-
- static void removeComputedInheritablePropertiesFrom(CSSMutableStyleDeclaration*);
-
+ PassRefPtr<CSSMutableStyleDeclaration> deprecatedCopyInheritableProperties() const;
protected:
virtual bool cssPropertyMatches(const CSSProperty*) const;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp b/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp
index cb938ed..0fc260d 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp
@@ -53,6 +53,7 @@ CSSParserValue CSSFunctionValue::parserValue() const
{
CSSParserValue val;
val.id = 0;
+ val.isInt = false;
val.unit = CSSParserValue::Function;
val.function = new CSSParserFunction;
val.function->name.characters = const_cast<UChar*>(m_name.characters());
diff --git a/src/3rdparty/webkit/WebCore/css/CSSGrammar.y b/src/3rdparty/webkit/WebCore/css/CSSGrammar.y
index 4706521..22c7014 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSGrammar.y
+++ b/src/3rdparty/webkit/WebCore/css/CSSGrammar.y
@@ -36,12 +36,16 @@
#include "MediaList.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
+#include <wtf/FastMalloc.h>
#include <stdlib.h>
#include <string.h>
using namespace WebCore;
using namespace HTMLNames;
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
#define YYMAXDEPTH 10000
@@ -93,7 +97,7 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
%}
-%expect 49
+%expect 50
%nonassoc LOWEST_PREC
@@ -145,6 +149,7 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
%token MEDIA_NOT
%token MEDIA_AND
+%token <number> REMS
%token <number> QEMS
%token <number> EMS
%token <number> EXS
@@ -1407,7 +1412,15 @@ unary_term:
| EMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_EMS; }
| QEMS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSParserValue::Q_EMS; }
| EXS maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_EXS; }
- ;
+ | REMS maybe_space {
+ $$.id = 0;
+ $$.fValue = $1;
+ $$.unit = CSSPrimitiveValue::CSS_REMS;
+ CSSParser* p = static_cast<CSSParser*>(parser);
+ if (Document* doc = p->document())
+ doc->setUsesRemUnits(true);
+ }
+ ;
variable_reference:
VARCALL {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp b/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp
index aa1186c..8e6f3a0 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSHelper.cpp
@@ -27,7 +27,7 @@
namespace WebCore {
-String parseURL(const String& url)
+String deprecatedParseURL(const String& url)
{
StringImpl* i = url.impl();
if (!i)
diff --git a/src/3rdparty/webkit/WebCore/css/CSSHelper.h b/src/3rdparty/webkit/WebCore/css/CSSHelper.h
index 7f32d88..2e33377 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSHelper.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSHelper.h
@@ -1,7 +1,6 @@
/*
- * This file is part of the CSS implementation for KDE.
- *
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -27,15 +26,17 @@ namespace WebCore {
class String;
- /*
- * mostly just removes the url("...") brace
- */
- String parseURL(const String& url);
+ // Used in many inappropriate contexts throughout WebCore. We'll have to examine and test
+ // each call site to find out whether it needs the various things this function does. That
+ // includes trimming leading and trailing control characters (including whitespace), removing
+ // url() or URL() if it surrounds the entire string, removing matching quote marks if present,
+ // and stripping all characters in the range U+0000-U+000C. Probably no caller needs this.
+ String deprecatedParseURL(const String&);
// We always assume 96 CSS pixels in a CSS inch. This is the cold hard truth of the Web.
// At high DPI, we may scale a CSS pixel, but the ratio of the CSS pixel to the so-called
// "absolute" CSS length units like inch and pt is always fixed and never changes.
- const float cssPixelsPerInch = 96.0f;
+ const float cssPixelsPerInch = 96;
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp
index 67b7da1..8ff5300 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp
@@ -116,8 +116,8 @@ String CSSMutableStyleDeclaration::getPropertyValue(int propertyID) const
}
case CSSPropertyBackground: {
const int properties[7] = { CSSPropertyBackgroundImage, CSSPropertyBackgroundRepeat,
- CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyWebkitBackgroundClip,
- CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundColor };
+ CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyBackgroundClip,
+ CSSPropertyBackgroundOrigin, CSSPropertyBackgroundColor };
return getLayeredShorthandValue(properties, 7);
}
case CSSPropertyBorder: {
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
index 2e8f3bb..411379e 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.cpp
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2003 Lars Knoll (knoll@kde.org)
* Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
* Copyright (C) 2008 Eric Seidel <eric@webkit.org>
*
@@ -283,7 +283,7 @@ bool CSSParser::parseColor(RGBA32& color, const String& string, bool strict)
CSSValue* value = parser.m_parsedProperties[0]->value();
if (value->cssValueType() == CSSValue::CSS_PRIMITIVE_VALUE) {
CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
- color = primitiveValue->getRGBColorValue();
+ color = primitiveValue->getRGBA32Value();
}
} else
return false;
@@ -347,7 +347,7 @@ bool CSSParser::parseMediaQuery(MediaList* queries, const String& string)
m_mediaQuery = 0;
// can't use { because tokenizer state switches from mediaquery to initial state when it sees { token.
// instead insert one " " (which is WHITESPACE in CSSGrammar.y)
- setupParser ("@-webkit-mediaquery ", string, "} ");
+ setupParser("@-webkit-mediaquery ", string, "} ");
cssyyparse(this);
bool ok = false;
@@ -408,7 +408,7 @@ bool CSSParser::validUnit(CSSParserValue* value, Units unitflags, bool strict)
return false;
bool b = false;
- switch(value->unit) {
+ switch (value->unit) {
case CSSPrimitiveValue::CSS_NUMBER:
b = (unitflags & FNumber);
if (!b && ((unitflags & (FLength | FAngle | FTime)) && (value->fValue == 0 || !strict))) {
@@ -424,6 +424,7 @@ bool CSSParser::validUnit(CSSParserValue* value, Units unitflags, bool strict)
break;
case CSSParserValue::Q_EMS:
case CSSPrimitiveValue::CSS_EMS:
+ case CSSPrimitiveValue::CSS_REMS:
case CSSPrimitiveValue::CSS_EXS:
case CSSPrimitiveValue::CSS_PX:
case CSSPrimitiveValue::CSS_CM:
@@ -459,6 +460,8 @@ static int unitFromString(CSSParserValue* value)
if (equal(value->string, "em"))
return CSSPrimitiveValue::CSS_EMS;
+ if (equal(value->string, "rem"))
+ return CSSPrimitiveValue::CSS_REMS;
if (equal(value->string, "ex"))
return CSSPrimitiveValue::CSS_EXS;
if (equal(value->string, "px"))
@@ -810,7 +813,7 @@ bool CSSParser::parseValue(int propId, bool important)
while (value && value->unit == CSSPrimitiveValue::CSS_URI) {
if (!list)
list = CSSValueList::createCommaSeparated();
- String uri = parseURL(value->string);
+ String uri = value->string;
Vector<int> coords;
value = m_valueList->next();
while (value && value->unit == CSSPrimitiveValue::CSS_NUMBER) {
@@ -819,15 +822,17 @@ bool CSSParser::parseValue(int propId, bool important)
}
IntPoint hotspot;
int nrcoords = coords.size();
- if (nrcoords > 0 && nrcoords != 2) {
- if (m_strict) // only support hotspot pairs in strict mode
- return false;
- } else if (m_strict && nrcoords == 2)
+ if (nrcoords > 0 && nrcoords != 2)
+ return false;
+ if (nrcoords == 2)
hotspot = IntPoint(coords[0], coords[1]);
- if (m_strict || coords.size() == 0) {
- if (!uri.isNull() && m_styleSheet)
- list->append(CSSCursorImageValue::create(m_styleSheet->completeURL(uri), hotspot));
+
+ if (!uri.isNull() && m_styleSheet) {
+ // FIXME: The completeURL call should be done when using the CSSCursorImageValue,
+ // not when creating it.
+ list->append(CSSCursorImageValue::create(m_styleSheet->completeURL(uri), hotspot));
}
+
if ((m_strict && !value) || (value && !(value->unit == CSSParserValue::Operator && value->iValue == ',')))
return false;
value = m_valueList->next(); // comma
@@ -854,9 +859,11 @@ bool CSSParser::parseValue(int propId, bool important)
}
case CSSPropertyBackgroundAttachment:
+ case CSSPropertyBackgroundClip:
case CSSPropertyWebkitBackgroundClip:
case CSSPropertyWebkitBackgroundComposite:
case CSSPropertyBackgroundImage:
+ case CSSPropertyBackgroundOrigin:
case CSSPropertyWebkitBackgroundOrigin:
case CSSPropertyBackgroundPosition:
case CSSPropertyBackgroundPositionX:
@@ -889,10 +896,10 @@ bool CSSParser::parseValue(int propId, bool important)
parsedValue = CSSImageValue::create();
m_valueList->next();
} else if (value->unit == CSSPrimitiveValue::CSS_URI) {
- // ### allow string in non strict mode?
- String uri = parseURL(value->string);
- if (!uri.isNull() && m_styleSheet) {
- parsedValue = CSSImageValue::create(m_styleSheet->completeURL(uri));
+ if (m_styleSheet) {
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ parsedValue = CSSImageValue::create(m_styleSheet->completeURL(value->string));
m_valueList->next();
}
} else if (value->unit == CSSParserValue::Function && equalIgnoringCase(value->function->name, "-webkit-gradient(")) {
@@ -1047,9 +1054,9 @@ bool CSSParser::parseValue(int propId, bool important)
if (id == CSSValueNone) {
valid_primitive = true;
} else {
- RefPtr<CSSValueList> list = CSSValueList::createCommaSeparated();
+ RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
bool is_valid = true;
- while(is_valid && value) {
+ while (is_valid && value) {
switch (value->id) {
case CSSValueBlink:
break;
@@ -1104,8 +1111,9 @@ bool CSSParser::parseValue(int propId, bool important)
RefPtr<CSSValue> parsedValue;
while ((val = m_valueList->current())) {
if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
- String value = parseURL(val->string);
- parsedValue = CSSPrimitiveValue::create(m_styleSheet->completeURL(value), CSSPrimitiveValue::CSS_URI);
+ // FIXME: The completeURL call should be done when using the CSSPrimitiveValue,
+ // not when creating it.
+ parsedValue = CSSPrimitiveValue::create(m_styleSheet->completeURL(val->string), CSSPrimitiveValue::CSS_URI);
}
if (!parsedValue)
break;
@@ -1177,7 +1185,7 @@ bool CSSParser::parseValue(int propId, bool important)
valid_primitive = validUnit(value, FLength, m_strict);
break;
case CSSPropertyTextShadow: // CSS2 property, dropped in CSS2.1, back in CSS3, so treat as CSS3
- case CSSPropertyWebkitBoxShadow:
+ case CSSPropertyBoxShadow:
if (id == CSSValueNone)
valid_primitive = true;
else
@@ -1317,7 +1325,8 @@ bool CSSParser::parseValue(int propId, bool important)
if (id == CSSValueNone)
valid_primitive = true;
else {
- if (validUnit(value, FNumber|FNonNeg, m_strict)) {
+ // Accepting valueless numbers is a quirk of the -webkit prefixed version of the property.
+ if (validUnit(value, FNumber|FLength|FNonNeg, m_strict)) {
RefPtr<CSSValue> val = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes)value->unit);
if (val) {
addProperty(propId, val.release(), important);
@@ -1500,15 +1509,15 @@ bool CSSParser::parseValue(int propId, bool important)
// in quirks mode but it's usually the X coordinate of a position.
// FIXME: Add CSSPropertyWebkitBackgroundSize to the shorthand.
const int properties[] = { CSSPropertyBackgroundImage, CSSPropertyBackgroundRepeat,
- CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyWebkitBackgroundClip,
- CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundColor };
- return parseFillShorthand(propId, properties, 7, important);
+ CSSPropertyBackgroundAttachment, CSSPropertyBackgroundPosition, CSSPropertyBackgroundOrigin,
+ CSSPropertyBackgroundColor };
+ return parseFillShorthand(propId, properties, 6, important);
}
case CSSPropertyWebkitMask: {
const int properties[] = { CSSPropertyWebkitMaskImage, CSSPropertyWebkitMaskRepeat,
- CSSPropertyWebkitMaskAttachment, CSSPropertyWebkitMaskPosition, CSSPropertyWebkitMaskClip,
+ CSSPropertyWebkitMaskAttachment, CSSPropertyWebkitMaskPosition,
CSSPropertyWebkitMaskOrigin };
- return parseFillShorthand(propId, properties, 6, important);
+ return parseFillShorthand(propId, properties, 5, important);
}
case CSSPropertyBorder:
// [ 'border-width' || 'border-style' || <color> ] | inherit
@@ -1640,6 +1649,8 @@ bool CSSParser::parseValue(int propId, bool important)
parsedValue = CSSPrimitiveValue::create(value->string, (CSSPrimitiveValue::UnitTypes) value->unit);
else if (value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimitiveValue::CSS_KHZ)
parsedValue = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes) value->unit);
+ else if (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiveValue::CSS_REMS)
+ parsedValue = CSSPrimitiveValue::create(value->fValue, (CSSPrimitiveValue::UnitTypes) value->unit);
else if (value->unit >= CSSParserValue::Q_EMS)
parsedValue = CSSQuirkPrimitiveValue::create(value->fValue, CSSPrimitiveValue::CSS_EMS);
m_valueList->next();
@@ -1682,6 +1693,7 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
bool parsedProperty[cMaxFillProperties] = { false };
RefPtr<CSSValue> values[cMaxFillProperties];
+ RefPtr<CSSValue> clipValue;
RefPtr<CSSValue> positionYValue;
int i;
@@ -1700,6 +1712,10 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(values[i], CSSInitialValue::createImplicit());
if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
addFillValue(positionYValue, CSSInitialValue::createImplicit());
+ if ((properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) && !parsedProperty[i]) {
+ // If background-origin wasn't present, then reset background-clip also.
+ addFillValue(clipValue, CSSInitialValue::createImplicit());
+ }
}
parsedProperty[i] = false;
}
@@ -1718,6 +1734,13 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(values[i], val1.release());
if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
addFillValue(positionYValue, val2.release());
+ if (properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) {
+ // Reparse the value as a clip, and see if we succeed.
+ if (parseFillProperty(CSSPropertyBackgroundClip, propId1, propId2, val1, val2))
+ addFillValue(clipValue, val1.release()); // The property parsed successfully.
+ else
+ addFillValue(clipValue, CSSInitialValue::createImplicit()); // Some value was used for origin that is not supported by clip. Just reset clip instead.
+ }
}
}
}
@@ -1734,6 +1757,10 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addFillValue(values[i], CSSInitialValue::createImplicit());
if (properties[i] == CSSPropertyBackgroundPosition || properties[i] == CSSPropertyWebkitMaskPosition)
addFillValue(positionYValue, CSSInitialValue::createImplicit());
+ if ((properties[i] == CSSPropertyBackgroundOrigin || properties[i] == CSSPropertyWebkitMaskOrigin) && !parsedProperty[i]) {
+ // If background-origin wasn't present, then reset background-clip also.
+ addFillValue(clipValue, CSSInitialValue::createImplicit());
+ }
}
}
@@ -1749,8 +1776,14 @@ bool CSSParser::parseFillShorthand(int propId, const int* properties, int numPro
addProperty(CSSPropertyWebkitMaskPositionY, positionYValue.release(), important);
} else
addProperty(properties[i], values[i].release(), important);
+
+ // Add in clip values when we hit the corresponding origin property.
+ if (properties[i] == CSSPropertyBackgroundOrigin)
+ addProperty(CSSPropertyBackgroundClip, clipValue.release(), important);
+ else if (properties[i] == CSSPropertyWebkitMaskOrigin)
+ addProperty(CSSPropertyWebkitMaskClip, clipValue.release(), important);
}
-
+
return true;
}
@@ -1999,8 +2032,9 @@ bool CSSParser::parseContent(int propId, bool important)
RefPtr<CSSValue> parsedValue;
if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
// url
- String value = parseURL(val->string);
- parsedValue = CSSImageValue::create(m_styleSheet->completeURL(value));
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ parsedValue = CSSImageValue::create(m_styleSheet->completeURL(val->string));
} else if (val->unit == CSSParserValue::Function) {
// attr(X) | counter(X [,Y]) | counters(X, Y, [,Z]) | -webkit-gradient(...)
CSSParserValueList* args = val->function->args;
@@ -2089,9 +2123,10 @@ bool CSSParser::parseFillImage(RefPtr<CSSValue>& value)
return true;
}
if (m_valueList->current()->unit == CSSPrimitiveValue::CSS_URI) {
- String uri = parseURL(m_valueList->current()->string);
- if (!uri.isNull() && m_styleSheet)
- value = CSSImageValue::create(m_styleSheet->completeURL(uri));
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ if (m_styleSheet)
+ value = CSSImageValue::create(m_styleSheet->completeURL(m_valueList->current()->string));
return true;
}
@@ -2101,6 +2136,7 @@ bool CSSParser::parseFillImage(RefPtr<CSSValue>& value)
if (equalIgnoringCase(m_valueList->current()->function->name, "-webkit-canvas("))
return parseCanvas(value);
}
+
return false;
}
@@ -2245,7 +2281,7 @@ bool CSSParser::parseFillProperty(int propId, int& propId1, int& propId2,
break;
case CSSPropertyBackgroundAttachment:
case CSSPropertyWebkitMaskAttachment:
- if (val->id == CSSValueScroll || val->id == CSSValueFixed) {
+ if (val->id == CSSValueScroll || val->id == CSSValueFixed || val->id == CSSValueLocal) {
currValue = CSSPrimitiveValue::createIdentifier(val->id);
m_valueList->next();
}
@@ -2259,10 +2295,24 @@ bool CSSParser::parseFillProperty(int propId, int& propId1, int& propId2,
case CSSPropertyWebkitBackgroundOrigin:
case CSSPropertyWebkitMaskClip:
case CSSPropertyWebkitMaskOrigin:
- // The first three values here are deprecated and should not be allowed to apply when we drop the -webkit-
- // from the property names.
+ // The first three values here are deprecated and do not apply to the version of the property that has
+ // the -webkit- prefix removed.
if (val->id == CSSValueBorder || val->id == CSSValuePadding || val->id == CSSValueContent ||
- val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox || val->id == CSSValueText) {
+ val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox ||
+ ((propId == CSSPropertyWebkitBackgroundClip || propId == CSSPropertyWebkitMaskClip) &&
+ (val->id == CSSValueText || val->id == CSSValueWebkitText))) {
+ currValue = CSSPrimitiveValue::createIdentifier(val->id);
+ m_valueList->next();
+ }
+ break;
+ case CSSPropertyBackgroundClip:
+ if (val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueWebkitText) {
+ currValue = CSSPrimitiveValue::createIdentifier(val->id);
+ m_valueList->next();
+ }
+ break;
+ case CSSPropertyBackgroundOrigin:
+ if (val->id == CSSValueBorderBox || val->id == CSSValuePaddingBox || val->id == CSSValueContentBox) {
currValue = CSSPrimitiveValue::createIdentifier(val->id);
m_valueList->next();
}
@@ -2576,7 +2626,7 @@ bool CSSParser::parseAnimationProperty(int propId, RefPtr<CSSValue>& result)
#define DASHBOARD_REGION_NUM_PARAMETERS 6
#define DASHBOARD_REGION_SHORT_NUM_PARAMETERS 2
-static CSSParserValue* skipCommaInDashboardRegion (CSSParserValueList *args)
+static CSSParserValue* skipCommaInDashboardRegion(CSSParserValueList *args)
{
if (args->size() == (DASHBOARD_REGION_NUM_PARAMETERS*2-1) ||
args->size() == (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1)) {
@@ -2631,7 +2681,7 @@ bool CSSParser::parseDashboardRegions(int propId, bool important)
int numArgs = args->size();
if ((numArgs != DASHBOARD_REGION_NUM_PARAMETERS && numArgs != (DASHBOARD_REGION_NUM_PARAMETERS*2-1)) &&
- (numArgs != DASHBOARD_REGION_SHORT_NUM_PARAMETERS && numArgs != (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1))){
+ (numArgs != DASHBOARD_REGION_SHORT_NUM_PARAMETERS && numArgs != (DASHBOARD_REGION_SHORT_NUM_PARAMETERS*2-1))) {
valid = false;
break;
}
@@ -2647,7 +2697,7 @@ bool CSSParser::parseDashboardRegions(int propId, bool important)
// Second arg is a type.
arg = args->next();
- arg = skipCommaInDashboardRegion (args);
+ arg = skipCommaInDashboardRegion(args);
if (arg->unit != CSSPrimitiveValue::CSS_IDENT) {
valid = false;
break;
@@ -2677,7 +2727,7 @@ bool CSSParser::parseDashboardRegions(int propId, bool important)
int i;
for (i = 0; i < 4; i++) {
arg = args->next();
- arg = skipCommaInDashboardRegion (args);
+ arg = skipCommaInDashboardRegion(args);
valid = arg->id == CSSValueAuto || validUnit(arg, FLength, m_strict);
if (!valid)
@@ -3142,8 +3192,9 @@ bool CSSParser::parseFontFaceSrc()
while ((val = m_valueList->current())) {
RefPtr<CSSFontFaceSrcValue> parsedValue;
if (val->unit == CSSPrimitiveValue::CSS_URI && !expectComma && m_styleSheet) {
- String value = parseURL(val->string);
- parsedValue = CSSFontFaceSrcValue::create(m_styleSheet->completeURL(value));
+ // FIXME: The completeURL call should be done when using the CSSFontFaceSrcValue,
+ // not when creating it.
+ parsedValue = CSSFontFaceSrcValue::create(m_styleSheet->completeURL(val->string));
uriValue = parsedValue;
allowFormat = true;
expectComma = true;
@@ -3428,74 +3479,125 @@ bool CSSParser::parseColorFromValue(CSSParserValue* value, RGBA32& c, bool svg)
// This class tracks parsing state for shadow values. If it goes out of scope (e.g., due to an early return)
// without the allowBreak bit being set, then it will clean up all of the objects and destroy them.
struct ShadowParseContext {
- ShadowParseContext()
- : allowX(true)
- , allowY(false)
- , allowBlur(false)
- , allowColor(true)
- , allowBreak(true)
- {}
+ ShadowParseContext(CSSPropertyID prop)
+ : property(prop)
+ , allowX(true)
+ , allowY(false)
+ , allowBlur(false)
+ , allowSpread(false)
+ , allowColor(true)
+ , allowStyle(prop == CSSPropertyBoxShadow)
+ , allowBreak(true)
+ {
+ }
- bool allowLength() { return allowX || allowY || allowBlur; }
+ bool allowLength() { return allowX || allowY || allowBlur || allowSpread; }
- void commitValue() {
+ void commitValue()
+ {
// Handle the ,, case gracefully by doing nothing.
- if (x || y || blur || color) {
+ if (x || y || blur || spread || color || style) {
if (!values)
values = CSSValueList::createCommaSeparated();
-
+
// Construct the current shadow value and add it to the list.
- values->append(ShadowValue::create(x.release(), y.release(), blur.release(), color.release()));
+ values->append(ShadowValue::create(x.release(), y.release(), blur.release(), spread.release(), style.release(), color.release()));
}
-
- // Now reset for the next shadow value.
- x = y = blur = color = 0;
- allowX = allowColor = allowBreak = true;
- allowY = allowBlur = false;
- }
- void commitLength(CSSParserValue* v) {
+ // Now reset for the next shadow value.
+ x = 0;
+ y = 0;
+ blur = 0;
+ spread = 0;
+ style = 0;
+ color = 0;
+
+ allowX = true;
+ allowColor = true;
+ allowBreak = true;
+ allowY = false;
+ allowBlur = false;
+ allowSpread = false;
+ allowStyle = property == CSSPropertyBoxShadow;
+ }
+
+ void commitLength(CSSParserValue* v)
+ {
RefPtr<CSSPrimitiveValue> val = CSSPrimitiveValue::create(v->fValue, (CSSPrimitiveValue::UnitTypes)v->unit);
if (allowX) {
x = val.release();
- allowX = false; allowY = true; allowColor = false; allowBreak = false;
- }
- else if (allowY) {
+ allowX = false;
+ allowY = true;
+ allowColor = false;
+ allowStyle = false;
+ allowBreak = false;
+ } else if (allowY) {
y = val.release();
- allowY = false; allowBlur = true; allowColor = true; allowBreak = true;
- }
- else if (allowBlur) {
+ allowY = false;
+ allowBlur = true;
+ allowColor = true;
+ allowStyle = property == CSSPropertyBoxShadow;
+ allowBreak = true;
+ } else if (allowBlur) {
blur = val.release();
allowBlur = false;
+ allowSpread = property == CSSPropertyBoxShadow;
+ } else if (allowSpread) {
+ spread = val.release();
+ allowSpread = false;
}
}
- void commitColor(PassRefPtr<CSSPrimitiveValue> val) {
+ void commitColor(PassRefPtr<CSSPrimitiveValue> val)
+ {
color = val;
allowColor = false;
+ if (allowX) {
+ allowStyle = false;
+ allowBreak = false;
+ } else {
+ allowBlur = false;
+ allowSpread = false;
+ allowStyle = property == CSSPropertyBoxShadow;
+ }
+ }
+
+ void commitStyle(CSSParserValue* v)
+ {
+ style = CSSPrimitiveValue::createIdentifier(v->id);
+ allowStyle = false;
if (allowX)
allowBreak = false;
- else
+ else {
allowBlur = false;
+ allowSpread = false;
+ allowColor = false;
+ }
}
-
+
+ CSSPropertyID property;
+
RefPtr<CSSValueList> values;
RefPtr<CSSPrimitiveValue> x;
RefPtr<CSSPrimitiveValue> y;
RefPtr<CSSPrimitiveValue> blur;
+ RefPtr<CSSPrimitiveValue> spread;
+ RefPtr<CSSPrimitiveValue> style;
RefPtr<CSSPrimitiveValue> color;
bool allowX;
bool allowY;
bool allowBlur;
+ bool allowSpread;
bool allowColor;
+ bool allowStyle;
bool allowBreak;
};
bool CSSParser::parseShadow(int propId, bool important)
{
- ShadowParseContext context;
+ ShadowParseContext context(static_cast<CSSPropertyID>(propId));
CSSParserValue* val;
while ((val = m_valueList->current())) {
// Check for a comma break first.
@@ -3507,17 +3609,19 @@ bool CSSParser::parseShadow(int propId, bool important)
// The value is good. Commit it.
context.commitValue();
- }
- // Check to see if we're a length.
- else if (validUnit(val, FLength, true)) {
+ } else if (validUnit(val, FLength, true)) {
// We required a length and didn't get one. Invalid.
if (!context.allowLength())
return false;
// A length is allowed here. Construct the value and add it.
context.commitLength(val);
- }
- else {
+ } else if (val->id == CSSValueInset) {
+ if (!context.allowStyle)
+ return false;
+
+ context.commitStyle(val);
+ } else {
// The only other type of value that's ok is a color value.
RefPtr<CSSPrimitiveValue> parsedColor;
bool isColor = ((val->id >= CSSValueAqua && val->id <= CSSValueWindowtext) || val->id == CSSValueMenu ||
@@ -3538,7 +3642,7 @@ bool CSSParser::parseShadow(int propId, bool important)
context.commitColor(parsedColor.release());
}
-
+
m_valueList->next();
}
@@ -3550,7 +3654,7 @@ bool CSSParser::parseShadow(int propId, bool important)
return true;
}
}
-
+
return false;
}
@@ -3603,8 +3707,7 @@ bool CSSParser::parseReflect(int propId, bool important)
return true;
}
-struct BorderImageParseContext
-{
+struct BorderImageParseContext {
BorderImageParseContext()
: m_allowBreak(false)
, m_allowNumber(false)
@@ -3626,7 +3729,8 @@ struct BorderImageParseContext
bool allowRule() const { return m_allowRule; }
void commitImage(PassRefPtr<CSSValue> image) { m_image = image; m_allowNumber = true; }
- void commitNumber(CSSParserValue* v) {
+ void commitNumber(CSSParserValue* v)
+ {
PassRefPtr<CSSPrimitiveValue> val = CSSPrimitiveValue::create(v->fValue, (CSSPrimitiveValue::UnitTypes)v->unit);
if (!m_top)
m_top = val;
@@ -3643,7 +3747,8 @@ struct BorderImageParseContext
m_allowNumber = !m_left;
}
void commitSlash() { m_allowBreak = m_allowSlash = m_allowNumber = false; m_allowWidth = true; }
- void commitWidth(CSSParserValue* val) {
+ void commitWidth(CSSParserValue* val)
+ {
if (!m_borderTop)
m_borderTop = val;
else if (!m_borderRight)
@@ -3658,14 +3763,16 @@ struct BorderImageParseContext
m_allowBreak = m_allowRule = true;
m_allowWidth = !m_borderLeft;
}
- void commitRule(int keyword) {
+ void commitRule(int keyword)
+ {
if (!m_horizontalRule)
m_horizontalRule = keyword;
else if (!m_verticalRule)
m_verticalRule = keyword;
m_allowRule = !m_verticalRule;
}
- PassRefPtr<CSSValue> commitBorderImage(CSSParser* p, bool important) {
+ PassRefPtr<CSSValue> commitBorderImage(CSSParser* p, bool important)
+ {
// We need to clone and repeat values for any omissions.
if (!m_right) {
m_right = CSSPrimitiveValue::create(m_top->getDoubleValue(), (CSSPrimitiveValue::UnitTypes)m_top->primitiveType());
@@ -3742,11 +3849,10 @@ bool CSSParser::parseBorderImage(int propId, bool important, RefPtr<CSSValue>& r
// Look for an image initially. If the first value is not a URI, then we're done.
BorderImageParseContext context;
CSSParserValue* val = m_valueList->current();
- if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
- String uri = parseURL(val->string);
- if (uri.isNull())
- return false;
- context.commitImage(CSSImageValue::create(m_styleSheet->completeURL(uri)));
+ if (val->unit == CSSPrimitiveValue::CSS_URI && m_styleSheet) {
+ // FIXME: The completeURL call should be done when using the CSSImageValue,
+ // not when creating it.
+ context.commitImage(CSSImageValue::create(m_styleSheet->completeURL(val->string)));
} else if (val->unit == CSSParserValue::Function) {
RefPtr<CSSValue> value;
if ((equalIgnoringCase(val->function->name, "-webkit-gradient(") && parseGradient(value)) ||
@@ -4291,7 +4397,7 @@ int CSSParser::lex(void* yylvalWithoutType)
int length;
UChar* t = text(&length);
- switch(token) {
+ switch (token) {
case WHITESPACE:
case SGML_CD:
case INCLUDES:
@@ -4332,6 +4438,7 @@ int CSSParser::lex(void* yylvalWithoutType)
case DEGS:
case RADS:
case KHERZ:
+ case REMS:
length--;
case MSECS:
case HERZ:
@@ -4359,22 +4466,16 @@ int CSSParser::lex(void* yylvalWithoutType)
return token;
}
-static inline int toHex(char c)
+static inline bool isCSSWhitespace(UChar c)
{
- if ('0' <= c && c <= '9')
- return c - '0';
- if ('a' <= c && c <= 'f')
- return c - 'a' + 10;
- if ('A' <= c && c<= 'F')
- return c - 'A' + 10;
- return 0;
+ return c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '\f';
}
UChar* CSSParser::text(int *length)
{
UChar* start = yytext;
int l = yyleng;
- switch(yyTok) {
+ switch (yyTok) {
case STRING:
l--;
/* nobreak */
@@ -4386,27 +4487,21 @@ UChar* CSSParser::text(int *length)
case URI:
// "url("{w}{string}{w}")"
// "url("{w}{url}{w}")"
-
// strip "url(" and ")"
start += 4;
l -= 5;
// strip {w}
- while (l &&
- (*start == ' ' || *start == '\t' || *start == '\r' ||
- *start == '\n' || *start == '\f')) {
- start++; l--;
- }
- if (*start == '"' || *start == '\'') {
- start++; l--;
+ while (l && isCSSWhitespace(*start)) {
+ ++start;
+ --l;
}
- while (l &&
- (start[l-1] == ' ' || start[l-1] == '\t' || start[l-1] == '\r' ||
- start[l-1] == '\n' || start[l-1] == '\f')) {
- l--;
+ while (l && isCSSWhitespace(start[l - 1]))
+ --l;
+ if (l && (*start == '"' || *start == '\'')) {
+ ASSERT(l >= 2 && start[l - 1] == *start);
+ ++start;
+ l -= 2;
}
- if (l && (start[l-1] == '\"' || start[l-1] == '\''))
- l--;
-
break;
case VARCALL:
// "-webkit-var("{w}{ident}{w}")"
@@ -4414,16 +4509,13 @@ UChar* CSSParser::text(int *length)
start += 12;
l -= 13;
// strip {w}
- while (l &&
- (*start == ' ' || *start == '\t' || *start == '\r' ||
- *start == '\n' || *start == '\f')) {
- start++; l--;
- }
- while (l &&
- (start[l-1] == ' ' || start[l-1] == '\t' || start[l-1] == '\r' ||
- start[l-1] == '\n' || start[l-1] == '\f')) {
- l--;
+ while (l && isCSSWhitespace(*start)) {
+ ++start;
+ --l;
}
+ while (l && isCSSWhitespace(start[l - 1]))
+ --l;
+ break;
default:
break;
}
@@ -4435,9 +4527,7 @@ UChar* CSSParser::text(int *length)
for (int i = 0; i < l; i++) {
UChar* current = start + i;
if (escape == current - 1) {
- if ((*current >= '0' && *current <= '9') ||
- (*current >= 'a' && *current <= 'f') ||
- (*current >= 'A' && *current <= 'F'))
+ if (isASCIIHexDigit(*current))
continue;
if (yyTok == STRING &&
(*current == '\n' || *current == '\r' || *current == '\f')) {
@@ -4457,10 +4547,7 @@ UChar* CSSParser::text(int *length)
escape = 0;
continue;
}
- if (escape > current - 7 &&
- ((*current >= '0' && *current <= '9') ||
- (*current >= 'a' && *current <= 'f') ||
- (*current >= 'A' && *current <= 'F')))
+ if (escape > current - 7 && isASCIIHexDigit(*current))
continue;
if (escape) {
// add escaped char
@@ -4468,7 +4555,7 @@ UChar* CSSParser::text(int *length)
escape++;
while (escape < current) {
uc *= 16;
- uc += toHex(*escape);
+ uc += toASCIIHexValue(*escape);
escape++;
}
// can't handle chars outside ucs2
@@ -4476,11 +4563,7 @@ UChar* CSSParser::text(int *length)
uc = 0xfffd;
*out++ = uc;
escape = 0;
- if (*current == ' ' ||
- *current == '\t' ||
- *current == '\r' ||
- *current == '\n' ||
- *current == '\f')
+ if (isCSSWhitespace(*current))
continue;
}
if (!escape && *current == '\\') {
@@ -4495,7 +4578,7 @@ UChar* CSSParser::text(int *length)
escape++;
while (escape < start+l) {
uc *= 16;
- uc += toHex(*escape);
+ uc += toASCIIHexValue(*escape);
escape++;
}
// can't handle chars outside ucs2
@@ -4893,12 +4976,19 @@ static int cssPropertyID(const UChar* propertyName, unsigned length)
++length;
}
- // Honor -webkit-opacity as a synonym for opacity.
- // This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets.
- if (strcmp(buffer, "-webkit-opacity") == 0) {
- const char * const opacity = "opacity";
- name = opacity;
- length = strlen(opacity);
+ if (hasPrefix(buffer, length, "-webkit")) {
+ if (strcmp(buffer, "-webkit-opacity") == 0) {
+ // Honor -webkit-opacity as a synonym for opacity.
+ // This was the only syntax that worked in Safari 1.1, and may be in use on some websites and widgets.
+ const char* const opacity = "opacity";
+ name = opacity;
+ length = strlen(opacity);
+ } else if (strcmp(buffer, "-webkit-box-shadow") == 0) {
+ // CSS Backgrounds/Borders. -webkit-box-shadow worked in Safari 4 and earlier.
+ const char* const boxShadow = "box-shadow";
+ name = boxShadow;
+ length = strlen(boxShadow);
+ }
}
}
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParser.h b/src/3rdparty/webkit/WebCore/css/CSSParser.h
index d47720f..d4b92f5 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParser.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSParser.h
@@ -191,7 +191,6 @@ namespace WebCore {
Vector<CSSSelector*>* reusableSelectorVector() { return &m_reusableSelectorVector; }
- public:
bool m_strict;
bool m_important;
int m_id;
@@ -217,7 +216,6 @@ namespace WebCore {
AtomicString m_defaultNamespace;
// tokenizer methods and data
- public:
int lex(void* yylval);
int token() { return yyTok; }
UChar* text(int* length);
diff --git a/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp b/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp
index dbfae78..55ecb7f 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp
@@ -73,6 +73,8 @@ PassRefPtr<CSSValue> CSSParserValue::createCSSValue()
parsedValue = CSSPrimitiveValue::create(string, (CSSPrimitiveValue::UnitTypes)unit);
else if (unit >= CSSPrimitiveValue::CSS_NUMBER && unit <= CSSPrimitiveValue::CSS_KHZ)
parsedValue = CSSPrimitiveValue::create(fValue, (CSSPrimitiveValue::UnitTypes)unit);
+ else if (unit >= CSSPrimitiveValue::CSS_TURN && unit <= CSSPrimitiveValue::CSS_REMS) // CSS3 Values and Units
+ parsedValue = CSSPrimitiveValue::create(fValue, (CSSPrimitiveValue::UnitTypes)unit);
else if (unit >= CSSParserValue::Q_EMS)
parsedValue = CSSQuirkPrimitiveValue::create(fValue, CSSPrimitiveValue::CSS_EMS);
return parsedValue;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp
index 15c5a01..6343dac 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp
@@ -30,6 +30,7 @@
#include "ExceptionCode.h"
#include "Node.h"
#include "Pair.h"
+#include "RGBColor.h"
#include "Rect.h"
#include "RenderStyle.h"
#include <wtf/ASCIICType.h>
@@ -318,9 +319,9 @@ void CSSPrimitiveValue::cleanup()
m_type = 0;
}
-int CSSPrimitiveValue::computeLengthInt(RenderStyle* style)
+int CSSPrimitiveValue::computeLengthInt(RenderStyle* style, RenderStyle* rootStyle)
{
- double result = computeLengthDouble(style);
+ double result = computeLengthDouble(style, rootStyle);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -331,9 +332,9 @@ int CSSPrimitiveValue::computeLengthInt(RenderStyle* style)
return static_cast<int>(result);
}
-int CSSPrimitiveValue::computeLengthInt(RenderStyle* style, double multiplier)
+int CSSPrimitiveValue::computeLengthInt(RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- double result = computeLengthDouble(style, multiplier);
+ double result = computeLengthDouble(style, rootStyle, multiplier);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -348,9 +349,9 @@ const int intMaxForLength = 0x7ffffff; // max value for a 28-bit int
const int intMinForLength = (-0x7ffffff - 1); // min value for a 28-bit int
// Lengths expect an int that is only 28-bits, so we have to check for a different overflow.
-int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style)
+int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, RenderStyle* rootStyle)
{
- double result = computeLengthDouble(style);
+ double result = computeLengthDouble(style, rootStyle);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -362,9 +363,9 @@ int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style)
}
// Lengths expect an int that is only 28-bits, so we have to check for a different overflow.
-int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, double multiplier)
+int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- double result = computeLengthDouble(style, multiplier);
+ double result = computeLengthDouble(style, rootStyle, multiplier);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -375,9 +376,9 @@ int CSSPrimitiveValue::computeLengthIntForLength(RenderStyle* style, double mult
return static_cast<int>(result);
}
-short CSSPrimitiveValue::computeLengthShort(RenderStyle* style)
+short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, RenderStyle* rootStyle)
{
- double result = computeLengthDouble(style);
+ double result = computeLengthDouble(style, rootStyle);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -388,9 +389,9 @@ short CSSPrimitiveValue::computeLengthShort(RenderStyle* style)
return static_cast<short>(result);
}
-short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, double multiplier)
+short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- double result = computeLengthDouble(style, multiplier);
+ double result = computeLengthDouble(style, rootStyle, multiplier);
// This conversion is imprecise, often resulting in values of, e.g., 44.99998. We
// need to go ahead and round if we're really close to the next integer value.
@@ -401,17 +402,17 @@ short CSSPrimitiveValue::computeLengthShort(RenderStyle* style, double multiplie
return static_cast<short>(result);
}
-float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, bool computingFontSize)
+float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, RenderStyle* rootStyle, bool computingFontSize)
{
- return static_cast<float>(computeLengthDouble(style, 1.0, computingFontSize));
+ return static_cast<float>(computeLengthDouble(style, rootStyle, 1.0, computingFontSize));
}
-float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, double multiplier, bool computingFontSize)
+float CSSPrimitiveValue::computeLengthFloat(RenderStyle* style, RenderStyle* rootStyle, double multiplier, bool computingFontSize)
{
- return static_cast<float>(computeLengthDouble(style, multiplier, computingFontSize));
+ return static_cast<float>(computeLengthDouble(style, rootStyle, multiplier, computingFontSize));
}
-double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, double multiplier, bool computingFontSize)
+double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, RenderStyle* rootStyle, double multiplier, bool computingFontSize)
{
unsigned short type = primitiveType();
@@ -434,6 +435,10 @@ double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, double multipl
applyZoomMultiplier = false;
factor = style->font().xHeight();
break;
+ case CSS_REMS:
+ applyZoomMultiplier = false;
+ factor = computingFontSize ? rootStyle->fontDescription().specifiedSize() : rootStyle->fontDescription().computedSize();
+ break;
case CSS_PX:
break;
case CSS_CM:
@@ -638,7 +643,7 @@ Rect* CSSPrimitiveValue::getRectValue(ExceptionCode& ec) const
return m_value.rect;
}
-unsigned CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const
+RGBColor* CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const
{
ec = 0;
if (m_type != CSS_RGBCOLOR) {
@@ -646,7 +651,8 @@ unsigned CSSPrimitiveValue::getRGBColorValue(ExceptionCode& ec) const
return 0;
}
- return m_value.rgbcolor;
+ // FIMXE: This should not return a new object for each invocation.
+ return RGBColor::create(m_value.rgbcolor).releaseRef();
}
Pair* CSSPrimitiveValue::getPairValue(ExceptionCode& ec) const
@@ -700,6 +706,9 @@ String CSSPrimitiveValue::cssText() const
case CSS_EXS:
text = String::format("%.6lgex", m_value.num);
break;
+ case CSS_REMS:
+ text = String::format("%.6lgrem", m_value.num);
+ break;
case CSS_PX:
text = String::format("%.6lgpx", m_value.num);
break;
@@ -892,6 +901,7 @@ CSSParserValue CSSPrimitiveValue::parserValue() const
case CSS_PERCENTAGE:
case CSS_EMS:
case CSS_EXS:
+ case CSS_REMS:
case CSS_PX:
case CSS_CM:
case CSS_MM:
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h
index 8abeb4d..85a0ba3 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h
@@ -23,6 +23,7 @@
#define CSSPrimitiveValue_h
#include "CSSValue.h"
+#include "Color.h"
#include <wtf/PassRefPtr.h>
namespace WebCore {
@@ -30,6 +31,7 @@ namespace WebCore {
class Counter;
class DashboardRegion;
class Pair;
+class RGBColor;
class Rect;
class RenderStyle;
class StringImpl;
@@ -78,11 +80,13 @@ public:
// This is used internally for unknown identifiers
CSS_PARSER_IDENTIFIER = 107,
- // This unit is in CSS 3, but that isn't a finished standard yet
- CSS_TURN = 108
+ // These are from CSS3 Values and Units, but that isn't a finished standard yet
+ CSS_TURN = 108,
+ CSS_REMS = 109
};
- static bool isUnitTypeLength(int type) { return type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG; }
+ static bool isUnitTypeLength(int type) { return (type > CSSPrimitiveValue::CSS_PERCENTAGE && type < CSSPrimitiveValue::CSS_DEG) ||
+ type == CSSPrimitiveValue::CSS_REMS; }
static PassRefPtr<CSSPrimitiveValue> createIdentifier(int ident);
static PassRefPtr<CSSPrimitiveValue> createColor(unsigned rgbValue);
@@ -112,15 +116,15 @@ public:
* this is screen/printer dependent, so we probably need a config option for this,
* and some tool to calibrate.
*/
- int computeLengthInt(RenderStyle*);
- int computeLengthInt(RenderStyle*, double multiplier);
- int computeLengthIntForLength(RenderStyle*);
- int computeLengthIntForLength(RenderStyle*, double multiplier);
- short computeLengthShort(RenderStyle*);
- short computeLengthShort(RenderStyle*, double multiplier);
- float computeLengthFloat(RenderStyle*, bool computingFontSize = false);
- float computeLengthFloat(RenderStyle*, double multiplier, bool computingFontSize = false);
- double computeLengthDouble(RenderStyle*, double multiplier = 1.0, bool computingFontSize = false);
+ int computeLengthInt(RenderStyle* currStyle, RenderStyle* rootStyle);
+ int computeLengthInt(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier);
+ int computeLengthIntForLength(RenderStyle* currStyle, RenderStyle* rootStyle);
+ int computeLengthIntForLength(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier);
+ short computeLengthShort(RenderStyle* currStyle, RenderStyle* rootStyle);
+ short computeLengthShort(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier);
+ float computeLengthFloat(RenderStyle* currStyle, RenderStyle* rootStyle, bool computingFontSize = false);
+ float computeLengthFloat(RenderStyle* currStyle, RenderStyle* rootStyle, double multiplier, bool computingFontSize = false);
+ double computeLengthDouble(RenderStyle* currentStyle, RenderStyle* rootStyle, double multiplier = 1.0, bool computingFontSize = false);
// use with care!!!
void setPrimitiveType(unsigned short type) { m_type = type; }
@@ -148,8 +152,8 @@ public:
Rect* getRectValue(ExceptionCode&) const;
Rect* getRectValue() const { return m_type != CSS_RECT ? 0 : m_value.rect; }
- unsigned getRGBColorValue(ExceptionCode&) const;
- unsigned getRGBColorValue() const { return m_type != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; }
+ RGBColor* getRGBColorValue(ExceptionCode&) const;
+ RGBA32 getRGBA32Value() const { return m_type != CSS_RGBCOLOR ? 0 : m_value.rgbcolor; }
Pair* getPairValue(ExceptionCode&) const;
Pair* getPairValue() const { return m_type != CSS_PAIR ? 0 : m_value.pair; }
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
index fd1d203..69cfbb1 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h
@@ -215,14 +215,20 @@ template<> inline CSSPrimitiveValue::CSSPrimitiveValue(ControlPart e)
case MediaSeekForwardButtonPart:
m_value.ident = CSSValueMediaSeekForwardButton;
break;
+ case MediaRewindButtonPart:
+ m_value.ident = CSSValueMediaRewindButton;
+ break;
+ case MediaReturnToRealtimeButtonPart:
+ m_value.ident = CSSValueMediaReturnToRealtimeButton;
+ break;
case MediaSliderPart:
m_value.ident = CSSValueMediaSlider;
break;
case MediaSliderThumbPart:
m_value.ident = CSSValueMediaSliderthumb;
break;
- case MediaTimelineContainerPart:
- m_value.ident = CSSValueMediaTimelineContainer;
+ case MediaControlsBackgroundPart:
+ m_value.ident = CSSValueMediaControlsBackground;
break;
case MediaCurrentTimePart:
m_value.ident = CSSValueMediaCurrentTimeDisplay;
@@ -292,6 +298,37 @@ template<> inline CSSPrimitiveValue::operator ControlPart() const
return ControlPart(m_value.ident - CSSValueCheckbox + 1);
}
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillAttachment e)
+ : m_type(CSS_IDENT)
+{
+ switch (e) {
+ case ScrollBackgroundAttachment:
+ m_value.ident = CSSValueScroll;
+ break;
+ case LocalBackgroundAttachment:
+ m_value.ident = CSSValueLocal;
+ break;
+ case FixedBackgroundAttachment:
+ m_value.ident = CSSValueFixed;
+ break;
+ }
+}
+
+template<> inline CSSPrimitiveValue::operator EFillAttachment() const
+{
+ switch (m_value.ident) {
+ case CSSValueScroll:
+ return ScrollBackgroundAttachment;
+ case CSSValueLocal:
+ return LocalBackgroundAttachment;
+ case CSSValueFixed:
+ return FixedBackgroundAttachment;
+ default:
+ ASSERT_NOT_REACHED();
+ return ScrollBackgroundAttachment;
+ }
+}
+
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFillBox e)
: m_type(CSS_IDENT)
{
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp b/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp
index 310f90e..a907235 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp
@@ -128,10 +128,10 @@ static void initShorthandMap(ShorthandMap& shorthandMap)
static const int backgroundProperties[] = {
CSSPropertyBackgroundAttachment,
- CSSPropertyWebkitBackgroundClip,
+ CSSPropertyBackgroundClip,
CSSPropertyBackgroundColor,
CSSPropertyBackgroundImage,
- CSSPropertyWebkitBackgroundOrigin,
+ CSSPropertyBackgroundOrigin,
CSSPropertyBackgroundPositionX,
CSSPropertyBackgroundPositionY,
CSSPropertyBackgroundRepeat,
diff --git a/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in b/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
index df17d97..49b2c3c 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
+++ b/src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in
@@ -10,8 +10,10 @@
background
background-attachment
+background-clip
background-color
background-image
+background-origin
background-position
background-position-x
background-position-y
@@ -39,6 +41,7 @@ border-top-style
border-top-width
border-width
bottom
+box-shadow
caption-side
clear
clip
@@ -168,7 +171,6 @@ zoom
-webkit-box-orient
-webkit-box-pack
-webkit-box-reflect
--webkit-box-shadow
-webkit-box-sizing
-webkit-column-break-after
-webkit-column-break-before
diff --git a/src/3rdparty/webkit/WebCore/css/CSSRule.idl b/src/3rdparty/webkit/WebCore/css/CSSRule.idl
index f13f293..bc57e55 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSRule.idl
+++ b/src/3rdparty/webkit/WebCore/css/CSSRule.idl
@@ -22,6 +22,7 @@ module css {
// Introduced in DOM Level 2:
interface [
+ CustomToJS,
GenerateConstructor,
Polymorphic,
InterfaceUUID=548139b4-31ab-4978-b1d5-cfcfdfbaea0e,
diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp b/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp
index 17fbd64..80910a7 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSSelector.cpp
@@ -107,6 +107,9 @@ void CSSSelector::extractPseudoType() const
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsTimeline, ("-webkit-media-controls-timeline"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsSeekBackButton, ("-webkit-media-controls-seek-back-button"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsSeekForwardButton, ("-webkit-media-controls-seek-forward-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, mediaControlsRewindButton, ("-webkit-media-controls-rewind-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, mediaControlsReturnToRealtimeButton, ("-webkit-media-controls-return-to-realtime-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, mediaControlsStatusDisplay, ("-webkit-media-controls-status-display"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsFullscreenButton, ("-webkit-media-controls-fullscreen-button"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsTimelineContainer, ("-webkit-media-controls-timeline-container"));
DEFINE_STATIC_LOCAL(AtomicString, mediaControlsCurrentTimeDisplay, ("-webkit-media-controls-current-time-display"));
@@ -114,6 +117,8 @@ void CSSSelector::extractPseudoType() const
DEFINE_STATIC_LOCAL(AtomicString, notStr, ("not("));
DEFINE_STATIC_LOCAL(AtomicString, onlyChild, ("only-child"));
DEFINE_STATIC_LOCAL(AtomicString, onlyOfType, ("only-of-type"));
+ DEFINE_STATIC_LOCAL(AtomicString, optional, ("optional"));
+ DEFINE_STATIC_LOCAL(AtomicString, required, ("required"));
DEFINE_STATIC_LOCAL(AtomicString, resizer, ("-webkit-resizer"));
DEFINE_STATIC_LOCAL(AtomicString, root, ("root"));
DEFINE_STATIC_LOCAL(AtomicString, scrollbar, ("-webkit-scrollbar"));
@@ -236,6 +241,15 @@ void CSSSelector::extractPseudoType() const
} else if (m_value == mediaControlsSeekForwardButton) {
m_pseudoType = PseudoMediaControlsSeekForwardButton;
element = true;
+ } else if (m_value == mediaControlsRewindButton) {
+ m_pseudoType = PseudoMediaControlsRewindButton;
+ element = true;
+ } else if (m_value == mediaControlsReturnToRealtimeButton) {
+ m_pseudoType = PseudoMediaControlsReturnToRealtimeButton;
+ element = true;
+ } else if (m_value == mediaControlsStatusDisplay) {
+ m_pseudoType = PseudoMediaControlsStatusDisplay;
+ element = true;
} else if (m_value == mediaControlsFullscreenButton) {
m_pseudoType = PseudoMediaControlsFullscreenButton;
element = true;
@@ -274,6 +288,10 @@ void CSSSelector::extractPseudoType() const
m_pseudoType = PseudoSingleButton;
else if (m_value == noButton)
m_pseudoType = PseudoNoButton;
+ else if (m_value == optional)
+ m_pseudoType = PseudoOptional;
+ else if (m_value == required)
+ m_pseudoType = PseudoRequired;
else if (m_value == scrollbarCorner) {
element = true;
m_pseudoType = PseudoScrollbarCorner;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelector.h b/src/3rdparty/webkit/WebCore/css/CSSSelector.h
index 728c34d..18251fd 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSSelector.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSSelector.h
@@ -31,7 +31,7 @@
namespace WebCore {
// this class represents a selector for a StyleRule
- class CSSSelector : Noncopyable {
+ class CSSSelector : public Noncopyable {
public:
CSSSelector()
: m_tag(anyQName())
@@ -128,6 +128,8 @@ namespace WebCore {
PseudoFullPageMedia,
PseudoDisabled,
PseudoInputPlaceholder,
+ PseudoOptional,
+ PseudoRequired,
PseudoReadOnly,
PseudoReadWrite,
PseudoIndeterminate,
@@ -173,6 +175,9 @@ namespace WebCore {
PseudoMediaControlsTimeline,
PseudoMediaControlsSeekBackButton,
PseudoMediaControlsSeekForwardButton,
+ PseudoMediaControlsRewindButton,
+ PseudoMediaControlsReturnToRealtimeButton,
+ PseudoMediaControlsStatusDisplay,
PseudoMediaControlsFullscreenButton
};
diff --git a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h
index 7a41fcf..3518139 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSSelectorList.h
@@ -31,7 +31,7 @@
namespace WebCore {
- class CSSSelectorList : Noncopyable {
+ class CSSSelectorList : public Noncopyable {
public:
CSSSelectorList() : m_selectorArray(0) { }
~CSSSelectorList();
diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
index ce4c343..49e2c36 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp
@@ -2,7 +2,7 @@
* Copyright (C) 1999 Lars Knoll (knoll@kde.org)
* (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
* Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
- * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
* Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
* Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
@@ -526,7 +526,7 @@ static void loadFullDefaultStyle()
}
// Strict-mode rules.
- String defaultRules = String(html4UserAgentStyleSheet, sizeof(html4UserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
+ String defaultRules = String(htmlUserAgentStyleSheet, sizeof(htmlUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
CSSStyleSheet* defaultSheet = parseUASheet(defaultRules);
defaultStyle->addRulesFromSheet(defaultSheet, screenEval());
defaultPrintStyle->addRulesFromSheet(defaultSheet, printEval());
@@ -822,6 +822,10 @@ void CSSStyleSelector::initForStyleResolve(Element* e, RenderStyle* parentStyle,
else
m_parentStyle = m_parentNode ? m_parentNode->renderStyle() : 0;
+ Node* docElement = e ? e->document()->documentElement() : 0;
+ RenderStyle* docStyle = m_checker.m_document->renderStyle();
+ m_rootElementStyle = docElement && e != docElement ? docElement->renderStyle() : docStyle;
+
m_style = 0;
m_matchedDecls.clear();
@@ -1405,6 +1409,22 @@ PassRefPtr<RenderStyle> CSSStyleSelector::pseudoStyleForElement(PseudoId pseudo,
return m_style.release();
}
+#if ENABLE(DATAGRID)
+
+PassRefPtr<RenderStyle> CSSStyleSelector::pseudoStyleForDataGridColumn(DataGridColumn*, RenderStyle*)
+{
+ // FIXME: Implement
+ return 0;
+}
+
+PassRefPtr<RenderStyle> CSSStyleSelector::pseudoStyleForDataGridColumnHeader(DataGridColumn*, RenderStyle*)
+{
+ // FIXME: Implement
+ return 0;
+}
+
+#endif
+
static void addIntrinsicMargins(RenderStyle* style)
{
// Intrinsic margin value.
@@ -2355,6 +2375,10 @@ bool CSSStyleSelector::SelectorChecker::checkOneSelector(CSSSelector* sel, Eleme
return false;
return e->isTextFormControl() && !e->isReadOnlyFormControl();
}
+ case CSSSelector::PseudoOptional:
+ return e && e->isOptionalFormControl();
+ case CSSSelector::PseudoRequired:
+ return e && e->isRequiredFormControl();
case CSSSelector::PseudoChecked: {
if (!e || !e->isFormControlElement())
break;
@@ -2481,6 +2505,15 @@ bool CSSStyleSelector::SelectorChecker::checkOneSelector(CSSSelector* sel, Eleme
case CSSSelector::PseudoMediaControlsSeekForwardButton:
dynamicPseudo = MEDIA_CONTROLS_SEEK_FORWARD_BUTTON;
return true;
+ case CSSSelector::PseudoMediaControlsRewindButton:
+ dynamicPseudo = MEDIA_CONTROLS_REWIND_BUTTON;
+ return true;
+ case CSSSelector::PseudoMediaControlsReturnToRealtimeButton:
+ dynamicPseudo = MEDIA_CONTROLS_RETURN_TO_REALTIME_BUTTON;
+ return true;
+ case CSSSelector::PseudoMediaControlsStatusDisplay:
+ dynamicPseudo = MEDIA_CONTROLS_STATUS_DISPLAY;
+ return true;
case CSSSelector::PseudoMediaControlsFullscreenButton:
dynamicPseudo = MEDIA_CONTROLS_FULLSCREEN_BUTTON;
return true;
@@ -2728,7 +2761,7 @@ void CSSRuleSet::addRulesFromSheet(CSSStyleSheet* sheet, const MediaQueryEvaluat
// -------------------------------------------------------------------------------------
// this is mostly boring stuff on how to apply a certain rule to the renderstyle...
-static Length convertToLength(CSSPrimitiveValue *primitiveValue, RenderStyle *style, double multiplier = 1, bool *ok = 0)
+static Length convertToLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier = 1, bool *ok = 0)
{
// This function is tolerant of a null style value. The only place style is used is in
// length measurements, like 'ems' and 'px'. And in those cases style is only used
@@ -2740,11 +2773,11 @@ static Length convertToLength(CSSPrimitiveValue *primitiveValue, RenderStyle *st
} else {
int type = primitiveValue->primitiveType();
- if (!style && (type == CSSPrimitiveValue::CSS_EMS || type == CSSPrimitiveValue::CSS_EXS)) {
+ if (!style && (type == CSSPrimitiveValue::CSS_EMS || type == CSSPrimitiveValue::CSS_EXS || type == CSSPrimitiveValue::CSS_REMS)) {
if (ok)
*ok = false;
} else if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style, multiplier), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style, rootStyle, multiplier), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else if (type == CSSPrimitiveValue::CSS_NUMBER)
@@ -2871,12 +2904,14 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
case CSSPropertyBackgroundAttachment:
HANDLE_BACKGROUND_VALUE(attachment, Attachment, value)
return;
+ case CSSPropertyBackgroundClip:
case CSSPropertyWebkitBackgroundClip:
HANDLE_BACKGROUND_VALUE(clip, Clip, value)
return;
case CSSPropertyWebkitBackgroundComposite:
HANDLE_BACKGROUND_VALUE(composite, Composite, value)
return;
+ case CSSPropertyBackgroundOrigin:
case CSSPropertyWebkitBackgroundOrigin:
HANDLE_BACKGROUND_VALUE(origin, Origin, value)
return;
@@ -3182,7 +3217,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
HANDLE_INHERIT_AND_INITIAL(horizontalBorderSpacing, HorizontalBorderSpacing)
if (!primitiveValue)
return;
- short spacing = primitiveValue->computeLengthShort(style(), zoomFactor);
+ short spacing = primitiveValue->computeLengthShort(style(), m_rootElementStyle, zoomFactor);
m_style->setHorizontalBorderSpacing(spacing);
return;
}
@@ -3190,7 +3225,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
HANDLE_INHERIT_AND_INITIAL(verticalBorderSpacing, VerticalBorderSpacing)
if (!primitiveValue)
return;
- short spacing = primitiveValue->computeLengthShort(style(), zoomFactor);
+ short spacing = primitiveValue->computeLengthShort(style(), m_rootElementStyle, zoomFactor);
m_style->setVerticalBorderSpacing(spacing);
return;
}
@@ -3365,7 +3400,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
width = 5;
break;
case CSSValueInvalid:
- width = primitiveValue->computeLengthShort(style(), zoomFactor);
+ width = primitiveValue->computeLengthShort(style(), m_rootElementStyle, zoomFactor);
break;
default:
return;
@@ -3413,12 +3448,12 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
}
int width = 0;
- if (primitiveValue && primitiveValue->getIdent() == CSSValueNormal){
+ if (primitiveValue && primitiveValue->getIdent() == CSSValueNormal) {
width = 0;
} else {
if (!primitiveValue)
return;
- width = primitiveValue->computeLengthInt(style(), zoomFactor);
+ width = primitiveValue->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
}
switch (id) {
case CSSPropertyLetterSpacing:
@@ -3545,7 +3580,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
// Handle our quirky margin units if we have them.
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed,
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed,
primitiveValue->isQuirkValue());
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
@@ -3645,7 +3680,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
if (primitiveValue && !apply) {
unsigned short type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -3701,7 +3736,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
int type = primitiveValue->primitiveType();
Length l;
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
@@ -3763,9 +3798,10 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
fontDescription.setIsAbsoluteSize(parentIsAbsoluteSize ||
(type != CSSPrimitiveValue::CSS_PERCENTAGE &&
type != CSSPrimitiveValue::CSS_EMS &&
- type != CSSPrimitiveValue::CSS_EXS));
+ type != CSSPrimitiveValue::CSS_EXS &&
+ type != CSSPrimitiveValue::CSS_REMS));
if (CSSPrimitiveValue::isUnitTypeLength(type))
- size = primitiveValue->computeLengthFloat(m_parentStyle, true);
+ size = primitiveValue->computeLengthFloat(m_parentStyle, m_rootElementStyle, true);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
size = (primitiveValue->getFloatValue() * oldSize) / 100.0f;
else
@@ -3831,7 +3867,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
double multiplier = m_style->effectiveZoom();
if (m_style->textSizeAdjust() && m_checker.m_document->frame() && m_checker.m_document->frame()->shouldApplyTextZoom())
multiplier *= m_checker.m_document->frame()->textZoomFactor();
- lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), multiplier), Fixed);
+ lineHeight = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, multiplier), Fixed);
} else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
lineHeight = Length((m_style->fontSize() * primitiveValue->getIntValue()) / 100, Fixed);
else if (type == CSSPrimitiveValue::CSS_NUMBER)
@@ -3885,10 +3921,10 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Rect* rect = primitiveValue->getRectValue();
if (!rect)
return;
- top = convertToLength(rect->top(), style(), zoomFactor);
- right = convertToLength(rect->right(), style(), zoomFactor);
- bottom = convertToLength(rect->bottom(), style(), zoomFactor);
- left = convertToLength(rect->left(), style(), zoomFactor);
+ top = convertToLength(rect->top(), style(), m_rootElementStyle, zoomFactor);
+ right = convertToLength(rect->right(), style(), m_rootElementStyle, zoomFactor);
+ bottom = convertToLength(rect->bottom(), style(), m_rootElementStyle, zoomFactor);
+ left = convertToLength(rect->left(), style(), m_rootElementStyle, zoomFactor);
} else if (primitiveValue->getIdent() != CSSValueAuto) {
return;
}
@@ -4449,8 +4485,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
if (!pair)
return;
- int width = pair->first()->computeLengthInt(style(), zoomFactor);
- int height = pair->second()->computeLengthInt(style(), zoomFactor);
+ int width = pair->first()->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int height = pair->second()->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
if (width < 0 || height < 0)
return;
@@ -4482,11 +4518,11 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
case CSSPropertyOutlineOffset:
HANDLE_INHERIT_AND_INITIAL(outlineOffset, OutlineOffset)
- m_style->setOutlineOffset(primitiveValue->computeLengthInt(style(), zoomFactor));
+ m_style->setOutlineOffset(primitiveValue->computeLengthInt(style(), m_rootElementStyle, zoomFactor));
return;
case CSSPropertyTextShadow:
- case CSSPropertyWebkitBoxShadow: {
+ case CSSPropertyBoxShadow: {
if (isInherit) {
if (id == CSSPropertyTextShadow)
return m_style->setTextShadow(m_parentStyle->textShadow() ? new ShadowData(*m_parentStyle->textShadow()) : 0);
@@ -4502,13 +4538,15 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
int len = list->length();
for (int i = 0; i < len; i++) {
ShadowValue* item = static_cast<ShadowValue*>(list->itemWithoutBoundsCheck(i));
- int x = item->x->computeLengthInt(style(), zoomFactor);
- int y = item->y->computeLengthInt(style(), zoomFactor);
- int blur = item->blur ? item->blur->computeLengthInt(style(), zoomFactor) : 0;
+ int x = item->x->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int y = item->y->computeLengthInt(style(), m_rootElementStyle, zoomFactor);
+ int blur = item->blur ? item->blur->computeLengthInt(style(), m_rootElementStyle, zoomFactor) : 0;
+ int spread = item->spread ? item->spread->computeLengthInt(style(), m_rootElementStyle, zoomFactor) : 0;
+ ShadowStyle shadowStyle = item->style && item->style->getIdent() == CSSValueInset ? Inset : Normal;
Color color;
if (item->color)
color = getColorFromPrimitiveValue(item->color.get());
- ShadowData* shadowData = new ShadowData(x, y, blur, color.isValid() ? color : Color::transparent);
+ ShadowData* shadowData = new ShadowData(x, y, blur, spread, shadowStyle, color.isValid() ? color : Color::transparent);
if (id == CSSPropertyTextShadow)
m_style->setTextShadow(shadowData, i != 0);
else
@@ -4530,7 +4568,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
reflection->setOffset(Length(reflectValue->offset()->getDoubleValue(), Percent));
else
- reflection->setOffset(Length(reflectValue->offset()->computeLengthIntForLength(style(), zoomFactor), Fixed));
+ reflection->setOffset(Length(reflectValue->offset()->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed));
}
NinePieceImage mask;
mapNinePieceImage(reflectValue->mask(), mask);
@@ -4636,7 +4674,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
m_style->setHasNormalColumnGap();
return;
}
- m_style->setColumnGap(primitiveValue->computeLengthFloat(style(), zoomFactor));
+ m_style->setColumnGap(primitiveValue->computeLengthFloat(style(), m_rootElementStyle, zoomFactor));
return;
}
case CSSPropertyWebkitColumnWidth: {
@@ -4650,7 +4688,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
m_style->setHasAutoColumnWidth();
return;
}
- m_style->setColumnWidth(primitiveValue->computeLengthFloat(style(), zoomFactor));
+ m_style->setColumnWidth(primitiveValue->computeLengthFloat(style(), m_rootElementStyle, zoomFactor));
return;
}
case CSSPropertyWebkitColumnRuleStyle:
@@ -4752,7 +4790,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
}
else {
bool ok = true;
- Length l = convertToLength(primitiveValue, style(), 1, &ok);
+ Length l = convertToLength(primitiveValue, style(), m_rootElementStyle, 1, &ok);
if (ok)
m_style->setMarqueeIncrement(l);
}
@@ -4854,10 +4892,10 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
DashboardRegion *first = region;
while (region) {
- Length top = convertToLength(region->top(), style());
- Length right = convertToLength(region->right(), style());
- Length bottom = convertToLength(region->bottom(), style());
- Length left = convertToLength(region->left(), style());
+ Length top = convertToLength(region->top(), style(), m_rootElementStyle);
+ Length right = convertToLength(region->right(), style(), m_rootElementStyle);
+ Length bottom = convertToLength(region->bottom(), style(), m_rootElementStyle);
+ Length left = convertToLength(region->left(), style(), m_rootElementStyle);
if (region->m_isCircle)
m_style->setDashboardRegion(StyleDashboardRegion::Circle, region->m_label, top, right, bottom, left, region == first ? false : true);
else if (region->m_isRectangle)
@@ -4888,11 +4926,11 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
result *= 3;
else if (primitiveValue->getIdent() == CSSValueThick)
result *= 5;
- width = CSSPrimitiveValue::create(result, CSSPrimitiveValue::CSS_EMS)->computeLengthFloat(style(), zoomFactor);
+ width = CSSPrimitiveValue::create(result, CSSPrimitiveValue::CSS_EMS)->computeLengthFloat(style(), m_rootElementStyle, zoomFactor);
break;
}
default:
- width = primitiveValue->computeLengthFloat(style(), zoomFactor);
+ width = primitiveValue->computeLengthFloat(style(), m_rootElementStyle, zoomFactor);
break;
}
m_style->setTextStrokeWidth(width);
@@ -4901,7 +4939,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
case CSSPropertyWebkitTransform: {
HANDLE_INHERIT_AND_INITIAL(transform, Transform);
TransformOperations operations;
- createTransformOperations(value, style(), operations);
+ createTransformOperations(value, style(), m_rootElementStyle, operations);
m_style->setTransform(operations);
return;
}
@@ -4916,7 +4954,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -4930,8 +4968,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
- else if(type == CSSPrimitiveValue::CSS_PERCENTAGE)
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
+ else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
return;
@@ -4944,7 +4982,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
float f;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- f = static_cast<float>(primitiveValue->computeLengthIntForLength(style()));
+ f = static_cast<float>(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle));
else
return;
m_style->setTransformOriginZ(f);
@@ -4961,10 +4999,17 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
m_style->setPerspective(0);
return;
}
-
- if (primitiveValue->primitiveType() != CSSPrimitiveValue::CSS_NUMBER)
+
+ float perspectiveValue;
+ int type = primitiveValue->primitiveType();
+ if (CSSPrimitiveValue::isUnitTypeLength(type))
+ perspectiveValue = static_cast<float>(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor));
+ else if (type == CSSPrimitiveValue::CSS_NUMBER) {
+ // For backward compatibility, treat valueless numbers as px.
+ perspectiveValue = CSSPrimitiveValue::create(primitiveValue->getDoubleValue(), CSSPrimitiveValue::CSS_PX)->computeLengthFloat(style(), m_rootElementStyle, zoomFactor);
+ } else
return;
- float perspectiveValue = static_cast<float>(primitiveValue->getDoubleValue());
+
if (perspectiveValue >= 0.0f)
m_style->setPerspective(perspectiveValue);
return;
@@ -4979,7 +5024,7 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -4993,8 +5038,8 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
- else if(type == CSSPrimitiveValue::CSS_PERCENTAGE)
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
+ else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
return;
@@ -5107,10 +5152,13 @@ void CSSStyleSelector::mapFillAttachment(FillLayer* layer, CSSValue* value)
CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
switch (primitiveValue->getIdent()) {
case CSSValueFixed:
- layer->setAttachment(false);
+ layer->setAttachment(FixedBackgroundAttachment);
break;
case CSSValueScroll:
- layer->setAttachment(true);
+ layer->setAttachment(ScrollBackgroundAttachment);
+ break;
+ case CSSValueLocal:
+ layer->setAttachment(LocalBackgroundAttachment);
break;
default:
return;
@@ -5224,7 +5272,7 @@ void CSSStyleSelector::mapFillSize(FillLayer* layer, CSSValue* value)
if (firstType == CSSPrimitiveValue::CSS_UNKNOWN)
firstLength = Length(Auto);
else if (CSSPrimitiveValue::isUnitTypeLength(firstType))
- firstLength = Length(first->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ firstLength = Length(first->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (firstType == CSSPrimitiveValue::CSS_PERCENTAGE)
firstLength = Length(first->getDoubleValue(), Percent);
else
@@ -5233,7 +5281,7 @@ void CSSStyleSelector::mapFillSize(FillLayer* layer, CSSValue* value)
if (secondType == CSSPrimitiveValue::CSS_UNKNOWN)
secondLength = Length(Auto);
else if (CSSPrimitiveValue::isUnitTypeLength(secondType))
- secondLength = Length(second->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ secondLength = Length(second->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (secondType == CSSPrimitiveValue::CSS_PERCENTAGE)
secondLength = Length(second->getDoubleValue(), Percent);
else
@@ -5260,7 +5308,7 @@ void CSSStyleSelector::mapFillXPosition(FillLayer* layer, CSSValue* value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -5284,7 +5332,7 @@ void CSSStyleSelector::mapFillYPosition(FillLayer* layer, CSSValue* value)
Length l;
int type = primitiveValue->primitiveType();
if (CSSPrimitiveValue::isUnitTypeLength(type))
- l = Length(primitiveValue->computeLengthIntForLength(style(), zoomFactor), Fixed);
+ l = Length(primitiveValue->computeLengthIntForLength(style(), m_rootElementStyle, zoomFactor), Fixed);
else if (type == CSSPrimitiveValue::CSS_PERCENTAGE)
l = Length(primitiveValue->getDoubleValue(), Percent);
else
@@ -5718,13 +5766,13 @@ Color CSSStyleSelector::getColorFromPrimitiveValue(CSSPrimitiveValue* primitiveV
} else if (ident == CSSValueWebkitActivelink)
col = m_element->document()->activeLinkColor();
else if (ident == CSSValueWebkitFocusRingColor)
- col = RenderTheme::defaultTheme()->focusRingColor();
+ col = RenderTheme::focusRingColor();
else if (ident == CSSValueCurrentcolor)
col = m_style->color();
else
col = colorForCSSValue(ident);
} else if (primitiveValue->primitiveType() == CSSPrimitiveValue::CSS_RGBCOLOR)
- col.setRGB(primitiveValue->getRGBColorValue());
+ col.setRGB(primitiveValue->getRGBA32Value());
return col;
}
@@ -5798,7 +5846,7 @@ static TransformOperation::OperationType getTransformOperationType(WebKitCSSTran
return TransformOperation::NONE;
}
-bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle* style, TransformOperations& outOperations)
+bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle* style, RenderStyle* rootStyle, TransformOperations& outOperations)
{
float zoomFactor = style ? style->effectiveZoom() : 1;
@@ -5865,13 +5913,13 @@ bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle*
Length tx = Length(0, Fixed);
Length ty = Length(0, Fixed);
if (val->operationType() == WebKitCSSTransformValue::TranslateYTransformOperation)
- ty = convertToLength(firstValue, style, zoomFactor, &ok);
+ ty = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
else {
- tx = convertToLength(firstValue, style, zoomFactor, &ok);
+ tx = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
if (val->operationType() != WebKitCSSTransformValue::TranslateXTransformOperation) {
if (val->length() > 1) {
CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(val->itemWithoutBoundsCheck(1));
- ty = convertToLength(secondValue, style, zoomFactor, &ok);
+ ty = convertToLength(secondValue, style, rootStyle, zoomFactor, &ok);
}
}
}
@@ -5889,19 +5937,19 @@ bool CSSStyleSelector::createTransformOperations(CSSValue* inValue, RenderStyle*
Length ty = Length(0, Fixed);
Length tz = Length(0, Fixed);
if (val->operationType() == WebKitCSSTransformValue::TranslateZTransformOperation)
- tz = convertToLength(firstValue, style, zoomFactor, &ok);
+ tz = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
else if (val->operationType() == WebKitCSSTransformValue::TranslateYTransformOperation)
- ty = convertToLength(firstValue, style, zoomFactor, &ok);
+ ty = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
else {
- tx = convertToLength(firstValue, style, zoomFactor, &ok);
+ tx = convertToLength(firstValue, style, rootStyle, zoomFactor, &ok);
if (val->operationType() != WebKitCSSTransformValue::TranslateXTransformOperation) {
if (val->length() > 2) {
CSSPrimitiveValue* thirdValue = static_cast<CSSPrimitiveValue*>(val->itemWithoutBoundsCheck(2));
- tz = convertToLength(thirdValue, style, zoomFactor, &ok);
+ tz = convertToLength(thirdValue, style, rootStyle, zoomFactor, &ok);
}
if (val->length() > 1) {
CSSPrimitiveValue* secondValue = static_cast<CSSPrimitiveValue*>(val->itemWithoutBoundsCheck(1));
- ty = convertToLength(secondValue, style, zoomFactor, &ok);
+ ty = convertToLength(secondValue, style, rootStyle, zoomFactor, &ok);
}
}
}
diff --git a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h
index 8dd36d7..d86dd8c 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h
@@ -50,6 +50,7 @@ class CSSStyleSheet;
class CSSValue;
class CSSVariableDependentValue;
class CSSVariablesRule;
+class DataGridColumn;
class Document;
class Element;
class Frame;
@@ -77,7 +78,7 @@ public:
};
// This class selects a RenderStyle for a given element based on a collection of stylesheets.
- class CSSStyleSelector : Noncopyable {
+ class CSSStyleSelector : public Noncopyable {
public:
CSSStyleSelector(Document*, const String& userStyleSheet, StyleSheetList*, CSSStyleSheet*, bool strictParsing, bool matchAuthorAndUserStyles);
~CSSStyleSelector();
@@ -89,6 +90,12 @@ public:
PassRefPtr<RenderStyle> pseudoStyleForElement(PseudoId, Element*, RenderStyle* parentStyle = 0);
+#if ENABLE(DATAGRID)
+ // Datagrid style computation (uses unique pseudo elements and structures)
+ PassRefPtr<RenderStyle> pseudoStyleForDataGridColumn(DataGridColumn*, RenderStyle* parentStyle);
+ PassRefPtr<RenderStyle> pseudoStyleForDataGridColumnHeader(DataGridColumn*, RenderStyle* parentStyle);
+#endif
+
private:
RenderStyle* locateSharedStyle();
Node* locateCousinList(Element* parent, unsigned depth = 1);
@@ -145,7 +152,7 @@ public:
void addKeyframeStyle(PassRefPtr<WebKitCSSKeyframesRule> rule);
- static bool createTransformOperations(CSSValue* inValue, RenderStyle* inStyle, TransformOperations& outOperations);
+ static bool createTransformOperations(CSSValue* inValue, RenderStyle* inStyle, RenderStyle* rootStyle, TransformOperations& outOperations);
private:
enum SelectorMatch { SelectorMatches, SelectorFailsLocally, SelectorFailsCompletely };
@@ -259,6 +266,7 @@ public:
RefPtr<RenderStyle> m_style;
RenderStyle* m_parentStyle;
+ RenderStyle* m_rootElementStyle;
Element* m_element;
StyledElement* m_styledElement;
Node* m_parentNode;
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValue.idl b/src/3rdparty/webkit/WebCore/css/CSSValue.idl
index 875d12e..ee82b0c 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValue.idl
+++ b/src/3rdparty/webkit/WebCore/css/CSSValue.idl
@@ -21,6 +21,7 @@
module css {
interface [
+ CustomToJS,
GenerateConstructor,
Polymorphic,
InterfaceUUID=9fd62a7b-539d-4500-bd6c-ec075abbc404,
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in b/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in
index 698dffe..c0b52f2 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in
+++ b/src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in
@@ -341,6 +341,7 @@ invert
landscape
level
line-through
+local
loud
lower
-webkit-marquee
@@ -504,9 +505,11 @@ media-mute-button
media-play-button
media-seek-back-button
media-seek-forward-button
+media-rewind-button
+media-return-to-realtime-button
media-slider
media-sliderthumb
-media-timeline-container
+media-controls-background
media-current-time-display
media-time-remaining-display
menulist
@@ -541,17 +544,13 @@ round
# border-box/content-box/padding-box should be used instead.
#
border
+border-box
content
+content-box
padding
padding-box
#
-# CSS_PROP_BOX_SIZING
-#
-border-box
-content-box
-
-#
# CSS_PROP__KHTML_RTL_ORDERING
#
logical
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp b/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp
index b547768..4928026 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp
+++ b/src/3rdparty/webkit/WebCore/css/CSSValueList.cpp
@@ -70,6 +70,32 @@ void CSSValueList::prepend(PassRefPtr<CSSValue> val)
m_values.prepend(val);
}
+bool CSSValueList::removeAll(CSSValue* val)
+{
+ bool found = false;
+ // FIXME: we should be implementing operator== to CSSValue and its derived classes
+ // to make comparison more flexible and fast.
+ for (size_t index = 0; index < m_values.size(); index++) {
+ if (m_values.at(index)->cssText() == val->cssText()) {
+ m_values.remove(index);
+ found = true;
+ }
+ }
+
+ return found;
+}
+
+bool CSSValueList::hasValue(CSSValue* val)
+{
+ // FIXME: we should be implementing operator== to CSSValue and its derived classes
+ // to make comparison more flexible and fast.
+ for (size_t index = 0; index < m_values.size(); index++) {
+ if (m_values.at(index)->cssText() == val->cssText())
+ return true;
+ }
+ return false;
+}
+
String CSSValueList::cssText() const
{
String result = "";
diff --git a/src/3rdparty/webkit/WebCore/css/CSSValueList.h b/src/3rdparty/webkit/WebCore/css/CSSValueList.h
index d34f445..0d531de 100644
--- a/src/3rdparty/webkit/WebCore/css/CSSValueList.h
+++ b/src/3rdparty/webkit/WebCore/css/CSSValueList.h
@@ -52,6 +52,8 @@ public:
void append(PassRefPtr<CSSValue>);
void prepend(PassRefPtr<CSSValue>);
+ bool removeAll(CSSValue*);
+ bool hasValue(CSSValue*);
virtual String cssText() const;
diff --git a/src/3rdparty/webkit/WebCore/css/MediaList.cpp b/src/3rdparty/webkit/WebCore/css/MediaList.cpp
index 452345f..85cf590 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaList.cpp
+++ b/src/3rdparty/webkit/WebCore/css/MediaList.cpp
@@ -139,7 +139,7 @@ void MediaList::deleteMedium(const String& oldMedium, ExceptionCode& ec)
ec = NOT_FOUND_ERR;
if (oldQuery) {
- for(size_t i = 0; i < m_queries.size(); ++i) {
+ for (size_t i = 0; i < m_queries.size(); ++i) {
MediaQuery* a = m_queries[i];
if (*a == *oldQuery) {
m_queries.remove(i);
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQuery.h b/src/3rdparty/webkit/WebCore/css/MediaQuery.h
index 0aa0da1..ff22d9a 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQuery.h
+++ b/src/3rdparty/webkit/WebCore/css/MediaQuery.h
@@ -34,8 +34,7 @@
namespace WebCore {
class MediaQueryExp;
-class MediaQuery
-{
+class MediaQuery {
public:
enum Restrictor {
Only, Not, None
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
index c641dfd..4963ed4 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp
@@ -40,11 +40,17 @@
#include "MediaList.h"
#include "MediaQuery.h"
#include "MediaQueryExp.h"
+#include "NodeRenderStyle.h"
#include "Page.h"
+#include "RenderView.h"
#include "RenderStyle.h"
#include "PlatformScreen.h"
#include <wtf/HashMap.h>
+#if ENABLE(3D_RENDERING)
+#include "RenderLayerCompositor.h"
+#endif
+
namespace WebCore {
using namespace MediaFeatureNames;
@@ -162,7 +168,7 @@ bool MediaQueryEvaluator::eval(const MediaList* mediaList, CSSStyleSelector* sty
static bool parseAspectRatio(CSSValue* value, int& h, int& v)
{
- if (value->isValueList()){
+ if (value->isValueList()) {
CSSValueList* valueList = static_cast<CSSValueList*>(value);
if (valueList->length() == 3) {
CSSValue* i0 = valueList->itemWithoutBoundsCheck(0);
@@ -300,7 +306,8 @@ static bool device_heightMediaFeatureEval(CSSValue* value, RenderStyle* style, F
{
if (value) {
FloatRect sg = screenRect(frame->page()->mainFrame()->view());
- return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.height()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+ return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.height()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
}
// ({,min-,max-}device-height)
// assume if we have a device, assume non-zero
@@ -311,7 +318,8 @@ static bool device_widthMediaFeatureEval(CSSValue* value, RenderStyle* style, Fr
{
if (value) {
FloatRect sg = screenRect(frame->page()->mainFrame()->view());
- return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.width()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+ return value->isPrimitiveValue() && compareValue(static_cast<int>(sg.width()), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
}
// ({,min-,max-}device-width)
// assume if we have a device, assume non-zero
@@ -321,9 +329,10 @@ static bool device_widthMediaFeatureEval(CSSValue* value, RenderStyle* style, Fr
static bool heightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame* frame, MediaFeaturePrefix op)
{
FrameView* view = frame->view();
-
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+
if (value)
- return value->isPrimitiveValue() && compareValue(view->layoutHeight(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ return value->isPrimitiveValue() && compareValue(view->layoutHeight(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
return view->layoutHeight() != 0;
}
@@ -331,9 +340,10 @@ static bool heightMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame* f
static bool widthMediaFeatureEval(CSSValue* value, RenderStyle* style, Frame* frame, MediaFeaturePrefix op)
{
FrameView* view = frame->view();
-
+ RenderStyle* rootStyle = frame->document()->documentElement()->renderStyle();
+
if (value)
- return value->isPrimitiveValue() && compareValue(view->layoutWidth(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style), op);
+ return value->isPrimitiveValue() && compareValue(view->layoutWidth(), static_cast<CSSPrimitiveValue*>(value)->computeLengthInt(style, rootStyle), op);
return view->layoutWidth() != 0;
}
@@ -457,15 +467,20 @@ static bool transform_2dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*,
return true;
}
-static bool transform_3dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame*, MediaFeaturePrefix op)
+static bool transform_3dMediaFeatureEval(CSSValue* value, RenderStyle*, Frame* frame, MediaFeaturePrefix op)
{
bool returnValueIfNoParameter;
int have3dRendering;
#if ENABLE(3D_RENDERING)
- returnValueIfNoParameter = true;
- have3dRendering = 1;
+ bool threeDEnabled = false;
+ if (RenderView* view = frame->contentRenderer())
+ threeDEnabled = view->compositor()->hasAcceleratedCompositing();
+
+ returnValueIfNoParameter = threeDEnabled;
+ have3dRendering = threeDEnabled ? 1 : 0;
#else
+ UNUSED_PARAM(frame);
returnValueIfNoParameter = false;
have3dRendering = 0;
#endif
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h
index 5ae8fec..404504b 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h
@@ -49,8 +49,7 @@ class MediaQueryExp;
* the device characteristics are not known. This can be used to prune the loading
* of stylesheets to only those which are probable to match.
*/
-class MediaQueryEvaluator
-{
+class MediaQueryEvaluator {
public:
/** Creates evaluator which evaluates only simple media queries
* Evaluator returns true for "all", and returns value of \mediaFeatureResult
diff --git a/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h b/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h
index 3036d04..5ff4af3 100644
--- a/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h
+++ b/src/3rdparty/webkit/WebCore/css/MediaQueryExp.h
@@ -36,8 +36,7 @@
namespace WebCore {
class CSSParserValueList;
-class MediaQueryExp
-{
+class MediaQueryExp {
public:
MediaQueryExp(const AtomicString& mediaFeature, CSSParserValueList* values);
~MediaQueryExp();
@@ -46,7 +45,8 @@ public:
CSSValue* value() const { return m_value.get(); }
- bool operator==(const MediaQueryExp& other) const {
+ bool operator==(const MediaQueryExp& other) const
+ {
return (other.m_mediaFeature == m_mediaFeature)
&& ((!other.m_value && !m_value)
|| (other.m_value && m_value && other.m_value->cssText() == m_value->cssText()));
diff --git a/src/3rdparty/webkit/WebCore/css/RGBColor.cpp b/src/3rdparty/webkit/WebCore/css/RGBColor.cpp
new file mode 100644
index 0000000..5c8c104
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/RGBColor.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2008, 2009 Google, Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "RGBColor.h"
+
+namespace WebCore {
+
+PassRefPtr<RGBColor> RGBColor::create(unsigned rgbColor)
+{
+ return adoptRef(new RGBColor(rgbColor));
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::red()
+{
+ unsigned value = (m_rgbColor >> 16) & 0xFF;
+ return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::green()
+{
+ unsigned value = (m_rgbColor >> 8) & 0xFF;
+ return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::blue()
+{
+ unsigned value = m_rgbColor & 0xFF;
+ return CSSPrimitiveValue::create(value, CSSPrimitiveValue::CSS_NUMBER);
+}
+
+PassRefPtr<CSSPrimitiveValue> RGBColor::alpha()
+{
+ float value = static_cast<float>((m_rgbColor >> 24) & 0xFF) / 0xFF;
+ return WebCore::CSSPrimitiveValue::create(value, WebCore::CSSPrimitiveValue::CSS_NUMBER);
+}
+
+} // namespace WebCore
+
diff --git a/src/3rdparty/webkit/WebCore/css/RGBColor.h b/src/3rdparty/webkit/WebCore/css/RGBColor.h
new file mode 100644
index 0000000..7937a08
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/RGBColor.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009 Google, Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RGBColor_h
+#define RGBColor_h
+
+#include "CSSPrimitiveValue.h"
+#include "Color.h"
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+ class RGBColor : public RefCounted<RGBColor> {
+ public:
+ static PassRefPtr<RGBColor> create(unsigned rgbColor);
+
+ PassRefPtr<CSSPrimitiveValue> red();
+ PassRefPtr<CSSPrimitiveValue> green();
+ PassRefPtr<CSSPrimitiveValue> blue();
+ PassRefPtr<CSSPrimitiveValue> alpha();
+
+ Color color() const { return Color(m_rgbColor); }
+
+ private:
+ RGBColor(unsigned rgbColor)
+ : m_rgbColor(rgbColor)
+ {
+ }
+
+ RGBA32 m_rgbColor;
+ };
+
+} // namespace WebCore
+
+#endif // RGBColor_h
diff --git a/src/3rdparty/webkit/WebCore/css/RGBColor.idl b/src/3rdparty/webkit/WebCore/css/RGBColor.idl
index f76b6a25..d29f811 100644
--- a/src/3rdparty/webkit/WebCore/css/RGBColor.idl
+++ b/src/3rdparty/webkit/WebCore/css/RGBColor.idl
@@ -22,9 +22,7 @@ module css {
// Introduced in DOM Level 2:
interface [
- ObjCCustomImplementation,
GenerateConstructor,
- PODType=RGBA32,
InterfaceUUID=2e3b1501-2cf7-4a4a-bbf7-d8843d1c3be7,
ImplementationUUID=cf779953-4898-4800-aa31-6c9e3f4711be
] RGBColor {
diff --git a/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp b/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp
index 5794405..27be86c 100644
--- a/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp
+++ b/src/3rdparty/webkit/WebCore/css/ShadowValue.cpp
@@ -2,7 +2,7 @@
* This file is part of the DOM implementation for KDE.
*
* (C) 1999-2003 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
+ * Copyright (C) 2004, 2005, 2006, 2009 Apple Computer, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -31,10 +31,14 @@ namespace WebCore {
ShadowValue::ShadowValue(PassRefPtr<CSSPrimitiveValue> _x,
PassRefPtr<CSSPrimitiveValue> _y,
PassRefPtr<CSSPrimitiveValue> _blur,
+ PassRefPtr<CSSPrimitiveValue> _spread,
+ PassRefPtr<CSSPrimitiveValue> _style,
PassRefPtr<CSSPrimitiveValue> _color)
: x(_x)
, y(_y)
, blur(_blur)
+ , spread(_spread)
+ , style(_style)
, color(_color)
{
}
@@ -60,6 +64,16 @@ String ShadowValue::cssText() const
text += " ";
text += blur->cssText();
}
+ if (spread) {
+ if (!text.isEmpty())
+ text += " ";
+ text += spread->cssText();
+ }
+ if (style) {
+ if (!text.isEmpty())
+ text += " ";
+ text += style->cssText();
+ }
return text;
}
diff --git a/src/3rdparty/webkit/WebCore/css/ShadowValue.h b/src/3rdparty/webkit/WebCore/css/ShadowValue.h
index 179531e..a88a0e7 100644
--- a/src/3rdparty/webkit/WebCore/css/ShadowValue.h
+++ b/src/3rdparty/webkit/WebCore/css/ShadowValue.h
@@ -1,6 +1,6 @@
/*
* (C) 1999-2003 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2008, 2009 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -35,9 +35,11 @@ public:
static PassRefPtr<ShadowValue> create(PassRefPtr<CSSPrimitiveValue> x,
PassRefPtr<CSSPrimitiveValue> y,
PassRefPtr<CSSPrimitiveValue> blur,
+ PassRefPtr<CSSPrimitiveValue> spread,
+ PassRefPtr<CSSPrimitiveValue> style,
PassRefPtr<CSSPrimitiveValue> color)
{
- return adoptRef(new ShadowValue(x, y, blur, color));
+ return adoptRef(new ShadowValue(x, y, blur, spread, style, color));
}
virtual String cssText() const;
@@ -45,12 +47,16 @@ public:
RefPtr<CSSPrimitiveValue> x;
RefPtr<CSSPrimitiveValue> y;
RefPtr<CSSPrimitiveValue> blur;
+ RefPtr<CSSPrimitiveValue> spread;
+ RefPtr<CSSPrimitiveValue> style;
RefPtr<CSSPrimitiveValue> color;
private:
ShadowValue(PassRefPtr<CSSPrimitiveValue> x,
PassRefPtr<CSSPrimitiveValue> y,
PassRefPtr<CSSPrimitiveValue> blur,
+ PassRefPtr<CSSPrimitiveValue> spread,
+ PassRefPtr<CSSPrimitiveValue> style,
PassRefPtr<CSSPrimitiveValue> color);
};
diff --git a/src/3rdparty/webkit/WebCore/css/StyleSheet.idl b/src/3rdparty/webkit/WebCore/css/StyleSheet.idl
index 3a26f20..e4f4090 100644
--- a/src/3rdparty/webkit/WebCore/css/StyleSheet.idl
+++ b/src/3rdparty/webkit/WebCore/css/StyleSheet.idl
@@ -23,6 +23,7 @@ module stylesheets {
// Introduced in DOM Level 2:
interface [
CustomMarkFunction,
+ CustomToJS,
GenerateConstructor,
Polymorphic,
InterfaceUUID=2bd2db5f-aaab-4422-96a0-e05455313f35,
diff --git a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp
index 574a01a..aaf5c3d 100644
--- a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp
@@ -72,7 +72,7 @@ void WebKitCSSMatrix::setMatrixValue(const String& string, ExceptionCode& ec)
// requires style (i.e., param uses 'ems' or 'exs')
PassRefPtr<CSSValue> val = styleDeclaration->getPropertyCSSValue(CSSPropertyWebkitTransform);
TransformOperations operations;
- if (!CSSStyleSelector::createTransformOperations(val.get(), 0, operations)) {
+ if (!CSSStyleSelector::createTransformOperations(val.get(), 0, 0, operations)) {
ec = SYNTAX_ERR;
return;
}
diff --git a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h
index 67ba113..56bf76b 100644
--- a/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h
+++ b/src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h
@@ -149,7 +149,7 @@ protected:
WebKitCSSMatrix();
WebKitCSSMatrix(const WebKitCSSMatrix&);
WebKitCSSMatrix(const TransformationMatrix&);
- WebKitCSSMatrix(const String&, ExceptionCode& );
+ WebKitCSSMatrix(const String&, ExceptionCode&);
TransformationMatrix m_matrix;
};
diff --git a/src/3rdparty/webkit/WebCore/css/html.css b/src/3rdparty/webkit/WebCore/css/html.css
new file mode 100644
index 0000000..6b03390
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/css/html.css
@@ -0,0 +1,615 @@
+/*
+ * The default style sheet used to render HTML.
+ *
+ * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+ */
+
+@namespace "http://www.w3.org/1999/xhtml";
+
+html {
+ display: block
+}
+
+/* children of the <head> element all have display:none */
+head {
+ display: none
+}
+
+meta {
+ display: none
+}
+
+title {
+ display: none
+}
+
+link {
+ display: none
+}
+
+style {
+ display: none
+}
+
+script {
+ display: none
+}
+
+/* generic block-level elements */
+
+body {
+ display: block;
+ margin: 8px
+}
+
+p {
+ display: block;
+ margin: 1.0__qem 0px
+}
+
+div {
+ display: block
+}
+
+layer {
+ display: block
+}
+
+marquee {
+ display: inline-block;
+ overflow: -webkit-marquee
+}
+
+address {
+ display: block
+}
+
+blockquote {
+ display: block;
+ margin: 1__qem 40px 1em 40px
+}
+
+q {
+ display: inline
+}
+
+q:before {
+ content: '"'
+ /* FIXME: content: open-quote; */
+}
+
+q:after {
+ content: '"'
+ /* FIXME: content: close-quote; */
+}
+
+center {
+ display: block;
+ /* special centering to be able to emulate the html4/netscape behaviour */
+ text-align: -webkit-center
+}
+
+hr {
+ display: block;
+ margin: 0.5em auto;
+ border-style: inset;
+ border-width: 1px
+}
+
+map {
+ display: inline
+}
+
+/* heading elements */
+
+h1 {
+ display: block;
+ font-size: 2em;
+ margin: .67__qem 0 .67em 0;
+ font-weight: bold
+}
+
+h2 {
+ display: block;
+ font-size: 1.5em;
+ margin: .83__qem 0 .83em 0;
+ font-weight: bold
+}
+
+h3 {
+ display: block;
+ font-size: 1.17em;
+ margin: 1__qem 0 1em 0;
+ font-weight: bold
+}
+
+h4 {
+ display: block;
+ margin: 1.33__qem 0 1.33em 0;
+ font-weight: bold
+}
+
+h5 {
+ display: block;
+ font-size: .83em;
+ margin: 1.67__qem 0 1.67em 0;
+ font-weight: bold
+}
+
+h6 {
+ display: block;
+ font-size: .67em;
+ margin: 2.33__qem 0 2.33em 0;
+ font-weight: bold
+}
+
+/* tables */
+
+table {
+ display: table;
+ border-collapse: separate;
+ border-spacing: 2px;
+ border-color: gray
+}
+
+thead {
+ display: table-header-group;
+ vertical-align: middle;
+ border-color: inherit
+}
+
+tbody {
+ display: table-row-group;
+ vertical-align: middle;
+ border-color: inherit
+}
+
+tfoot {
+ display: table-footer-group;
+ vertical-align: middle;
+ border-color: inherit
+}
+
+/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
+table > tr {
+ vertical-align: middle;
+}
+
+col {
+ display: table-column
+}
+
+colgroup {
+ display: table-column-group
+}
+
+tr {
+ display: table-row;
+ vertical-align: inherit;
+ border-color: inherit
+}
+
+td, th {
+ display: table-cell;
+ vertical-align: inherit
+}
+
+th {
+ font-weight: bold
+}
+
+caption {
+ display: table-caption;
+ text-align: -webkit-center
+}
+
+/* lists */
+
+ul, menu, dir {
+ display: block;
+ list-style-type: disc;
+ margin: 1__qem 0 1em 0;
+ -webkit-padding-start: 40px
+}
+
+ol {
+ display: block;
+ list-style-type: decimal;
+ margin: 1__qem 0 1em 0;
+ -webkit-padding-start: 40px
+}
+
+li {
+ display: list-item
+}
+
+ul ul, ol ul {
+ list-style-type: circle
+}
+
+ol ol ul, ol ul ul, ul ol ul, ul ul ul {
+ list-style-type: square
+}
+
+dd {
+ display: block;
+ -webkit-margin-start: 40px
+}
+
+dl {
+ display: block;
+ margin: 1__qem 0 1em 0
+}
+
+dt {
+ display: block
+}
+
+ol ul, ul ol, ul ul, ol ol {
+ margin-top: 0;
+ margin-bottom: 0
+}
+
+/* form elements */
+
+form {
+ display: block;
+ margin-top: 0__qem
+}
+
+label {
+ cursor: default;
+}
+
+legend {
+ display: block;
+ padding-left: 2px;
+ padding-right: 2px;
+ border: none
+}
+
+fieldset {
+ display: block;
+ margin-left: 2px;
+ margin-right: 2px;
+ padding: 0.35em 0.75em 0.625em;
+ border: 2px groove ThreeDFace
+}
+
+button {
+ -webkit-appearance: button;
+}
+
+input, textarea, keygen, select, button, isindex, datagrid {
+ margin: 0__qem;
+ font: -webkit-small-control;
+ color: initial;
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-shadow: none;
+ display: inline-block;
+ text-align: -webkit-auto;
+}
+
+input[type="hidden"] {
+ display: none
+}
+
+input, input[type="password"], input[type="search"], isindex {
+ -webkit-appearance: textfield;
+ padding: 1px;
+ background-color: white;
+ border: 2px inset;
+ -webkit-rtl-ordering: logical;
+ -webkit-user-select: text;
+ cursor: auto;
+}
+
+input[type="search"] {
+ -webkit-appearance: searchfield;
+ -webkit-box-sizing: border-box;
+}
+
+input[type="search"]::-webkit-search-cancel-button {
+ -webkit-appearance: searchfield-cancel-button;
+ display: inline-block;
+}
+
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: searchfield-decoration;
+ display: inline-block;
+}
+
+input[type="search"]::-webkit-search-results-decoration {
+ -webkit-appearance: searchfield-results-decoration;
+ display: inline-block;
+}
+
+input[type="search"]::-webkit-search-results-button {
+ -webkit-appearance: searchfield-results-button;
+ display: inline-block;
+}
+
+textarea {
+ -webkit-appearance: textarea;
+ background-color: white;
+ border: 1px solid;
+ -webkit-rtl-ordering: logical;
+ -webkit-user-select: text;
+ -webkit-box-orient: vertical;
+ resize: auto;
+ cursor: auto;
+ padding: 2px;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+}
+
+input::-webkit-input-placeholder, isindex::-webkit-input-placeholder {
+ color: darkGray;
+}
+
+input[type="password"] {
+ -webkit-text-security: disc !important;
+}
+
+input[type="hidden"], input[type="image"], input[type="file"] {
+ -webkit-appearance: initial;
+ padding: initial;
+ background-color: initial;
+ border: initial;
+}
+
+input[type="file"] {
+ -webkit-box-align: baseline;
+ text-align: start !important;
+}
+
+input:-webkit-autofill {
+ background-color: #FAFFBD !important;
+ background-image:none !important;
+}
+
+input[type="radio"], input[type="checkbox"] {
+ margin: 3px 0.5ex;
+ padding: initial;
+ background-color: initial;
+ border: initial;
+}
+
+input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button {
+ -webkit-appearance: push-button;
+ white-space: pre
+}
+
+input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
+ -webkit-box-align: center;
+ text-align: center;
+ cursor: default;
+ color: ButtonText;
+ padding: 2px 6px 3px 6px;
+ border: 2px outset ButtonFace;
+ background-color: ButtonFace;
+ -webkit-box-sizing: border-box
+}
+
+input[type="range"] {
+ -webkit-appearance: slider-horizontal;
+ padding: initial;
+ border: initial;
+ margin: 2px;
+}
+
+input[type="range"]::-webkit-slider-thumb {
+ -webkit-appearance: sliderthumb-horizontal;
+}
+
+input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
+input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
+select:disabled, keygen:disabled, optgroup:disabled, option:disabled, datagrid:disabled {
+ color: GrayText
+}
+
+input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
+ border-style: inset
+}
+
+input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
+ border-style: outset
+}
+
+area, param {
+ display: none
+}
+
+input[type="checkbox"] {
+ -webkit-appearance: checkbox;
+ -webkit-box-sizing: border-box;
+}
+
+input[type="radio"] {
+ -webkit-appearance: radio;
+ -webkit-box-sizing: border-box;
+}
+
+keygen, select {
+ -webkit-appearance: menulist;
+ -webkit-box-sizing: border-box;
+ -webkit-box-align: center;
+ border: 1px solid;
+ -webkit-border-radius: 5px;
+ white-space: pre;
+ -webkit-rtl-ordering: logical;
+ color: black;
+ background-color: white;
+ cursor: default;
+}
+
+select[size],
+select[multiple],
+select[size][multiple] {
+ -webkit-appearance: listbox;
+ -webkit-box-align: start;
+ border: 1px inset gray;
+ -webkit-border-radius: initial;
+ white-space: initial;
+}
+
+select[size="0"],
+select[size="1"] {
+ -webkit-appearance: menulist;
+ -webkit-box-align: center;
+ border: 1px solid;
+ -webkit-border-radius: 5px;
+ white-space: pre;
+}
+
+optgroup {
+ font-weight: bolder;
+}
+
+option {
+ font-weight: normal;
+}
+
+/* datagrid */
+
+datagrid {
+ height: 150px; /* We don't use width:300px in CSS, since we want width:intrinsic and width:min-intrinsic to reset to 300 properly. */
+ -webkit-appearance: datagrid;
+ -webkit-box-sizing: border-box;
+ -webkit-rtl-ordering: logical;
+ color: black;
+ background-color: white;
+ cursor: default;
+ border: 1px inset gray;
+ white-space: initial;
+}
+
+/* inline elements */
+
+u, ins {
+ text-decoration: underline
+}
+
+strong, b {
+ font-weight: bolder
+}
+
+i, cite, em, var, address {
+ font-style: italic
+}
+
+tt, code, kbd, samp {
+ font-family: monospace
+}
+
+pre, xmp, plaintext, listing {
+ display: block;
+ font-family: monospace;
+ white-space: pre;
+ margin: 1__qem 0
+}
+
+big {
+ font-size: larger
+}
+
+small {
+ font-size: smaller
+}
+
+s, strike, del {
+ text-decoration: line-through
+}
+
+sub {
+ vertical-align: sub;
+ font-size: smaller
+}
+
+sup {
+ vertical-align: super;
+ font-size: smaller
+}
+
+nobr {
+ white-space: nowrap
+}
+
+/* states */
+
+:focus {
+ outline: auto 5px -webkit-focus-ring-color
+}
+
+/* Read-only text fields do not show a focus ring but do still receive focus */
+html:focus, body:focus, input[readonly]:focus {
+ outline: none
+}
+
+input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
+ outline-offset: -2px
+}
+
+input[type="button"]:focus,
+input[type="checkbox"]:focus,
+input[type="file"]:focus,
+input[type="hidden"]:focus,
+input[type="image"]:focus,
+input[type="radio"]:focus,
+input[type="reset"]:focus,
+input[type="search"]:focus,
+input[type="submit"]:focus,
+input[type="file"]:focus::-webkit-file-upload-button {
+ outline-offset: 0
+}
+
+a:-webkit-any-link {
+ color: -webkit-link;
+ text-decoration: underline;
+ cursor: auto;
+}
+
+a:-webkit-any-link:active {
+ color: -webkit-activelink
+}
+
+/* other elements */
+
+noframes {
+ display: none
+}
+
+frameset, frame {
+ display: block
+}
+
+frameset {
+ border-color: inherit
+}
+
+iframe {
+ border: 2px inset
+}
+
+/* noscript is handled internally, as it depends on settings */
diff --git a/src/3rdparty/webkit/WebCore/css/html4.css b/src/3rdparty/webkit/WebCore/css/html4.css
deleted file mode 100644
index dc1f608..0000000
--- a/src/3rdparty/webkit/WebCore/css/html4.css
+++ /dev/null
@@ -1,617 +0,0 @@
-/*
- * The default style sheet used to render HTML.
- *
- * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-@namespace "http://www.w3.org/1999/xhtml";
-
-html {
- display: block
-}
-
-/* children of the <head> element all have display:none */
-head {
- display: none
-}
-
-meta {
- display: none
-}
-
-title {
- display: none
-}
-
-link {
- display: none
-}
-
-style {
- display: none
-}
-
-script {
- display: none
-}
-
-/* generic block-level elements */
-
-body {
- display: block;
- margin: 8px
-}
-
-p {
- display: block;
- margin: 1.0__qem 0px
-}
-
-div {
- display: block
-}
-
-layer {
- display: block
-}
-
-marquee {
- display: inline-block;
- overflow: -webkit-marquee
-}
-
-address {
- display: block
-}
-
-blockquote {
- display: block;
- margin: 1__qem 40px 1em 40px
-}
-
-q {
- display: inline
-}
-
-q:before {
- content: '"'
- /* FIXME: content: open-quote; */
-}
-
-q:after {
- content: '"'
- /* FIXME: content: close-quote; */
-}
-
-center {
- display: block;
- /* special centering to be able to emulate the html4/netscape behaviour */
- text-align: -webkit-center
-}
-
-hr {
- display: block;
- margin: 0.5em auto;
- border-style: inset;
- border-width: 1px
-}
-
-map {
- display: inline
-}
-
-/* heading elements */
-
-h1 {
- display: block;
- font-size: 2em;
- margin: .67__qem 0 .67em 0;
- font-weight: bold
-}
-
-h2 {
- display: block;
- font-size: 1.5em;
- margin: .83__qem 0 .83em 0;
- font-weight: bold
-}
-
-h3 {
- display: block;
- font-size: 1.17em;
- margin: 1__qem 0 1em 0;
- font-weight: bold
-}
-
-h4 {
- display: block;
- margin: 1.33__qem 0 1.33em 0;
- font-weight: bold
-}
-
-h5 {
- display: block;
- font-size: .83em;
- margin: 1.67__qem 0 1.67em 0;
- font-weight: bold
-}
-
-h6 {
- display: block;
- font-size: .67em;
- margin: 2.33__qem 0 2.33em 0;
- font-weight: bold
-}
-
-/* tables */
-
-table {
- display: table;
- border-collapse: separate;
- border-spacing: 2px;
- border-color: gray
-}
-
-thead {
- display: table-header-group;
- vertical-align: middle;
- border-color: inherit
-}
-
-tbody {
- display: table-row-group;
- vertical-align: middle;
- border-color: inherit
-}
-
-tfoot {
- display: table-footer-group;
- vertical-align: middle;
- border-color: inherit
-}
-
-/* for tables without table section elements (can happen with XHTML or dynamically created tables) */
-table > tr {
- vertical-align: middle;
-}
-
-col {
- display: table-column
-}
-
-colgroup {
- display: table-column-group
-}
-
-tr {
- display: table-row;
- vertical-align: inherit;
- border-color: inherit
-}
-
-td, th {
- display: table-cell;
- vertical-align: inherit
-}
-
-th {
- font-weight: bold
-}
-
-caption {
- display: table-caption;
- text-align: -webkit-center
-}
-
-/* lists */
-
-ul, menu, dir {
- display: block;
- list-style-type: disc;
- margin: 1__qem 0 1em 0;
- -webkit-padding-start: 40px
-}
-
-ol {
- display: block;
- list-style-type: decimal;
- margin: 1__qem 0 1em 0;
- -webkit-padding-start: 40px
-}
-
-li {
- display: list-item
-}
-
-ul ul, ol ul {
- list-style-type: circle
-}
-
-ol ol ul, ol ul ul, ul ol ul, ul ul ul {
- list-style-type: square
-}
-
-dd {
- display: block;
- -webkit-margin-start: 40px
-}
-
-dl {
- display: block;
- margin: 1__qem 0 1em 0
-}
-
-dt {
- display: block
-}
-
-ol ul, ul ol, ul ul, ol ol {
- margin-top: 0;
- margin-bottom: 0
-}
-
-/* form elements */
-
-form {
- display: block;
- margin-top: 0__qem
-}
-
-label {
- cursor: default;
-}
-
-legend {
- display: block;
- padding-left: 2px;
- padding-right: 2px;
- border: none
-}
-
-fieldset {
- display: block;
- margin-left: 2px;
- margin-right: 2px;
- padding: 0.35em 0.75em 0.625em;
- border: 2px groove ThreeDFace
-}
-
-button {
- -webkit-appearance: button;
-}
-
-input, textarea, keygen, select, button, isindex, datagrid {
- margin: 0__qem;
- font: -webkit-small-control;
- color: initial;
- letter-spacing: normal;
- word-spacing: normal;
- line-height: normal;
- text-transform: none;
- text-indent: 0;
- text-shadow: none;
- display: inline-block;
- text-align: -webkit-auto;
-}
-
-input[type="hidden"] {
- display: none
-}
-
-input, input[type="password"], input[type="search"], isindex {
- -webkit-appearance: textfield;
- padding: 1px;
- background-color: white;
- border: 2px inset;
- -webkit-rtl-ordering: logical;
- -webkit-user-select: text;
- cursor: auto;
-}
-
-input[type="search"] {
- -webkit-appearance: searchfield;
- -webkit-box-sizing: border-box;
-}
-
-input[type="search"]::-webkit-search-cancel-button {
- -webkit-appearance: searchfield-cancel-button;
- display: inline-block;
-}
-
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: searchfield-decoration;
- display: inline-block;
-}
-
-input[type="search"]::-webkit-search-results-decoration {
- -webkit-appearance: searchfield-results-decoration;
- display: inline-block;
-}
-
-input[type="search"]::-webkit-search-results-button {
- -webkit-appearance: searchfield-results-button;
- display: inline-block;
-}
-
-textarea {
- -webkit-appearance: textarea;
- background-color: white;
- border: 1px solid;
- -webkit-rtl-ordering: logical;
- -webkit-user-select: text;
- -webkit-box-orient: vertical;
- resize: auto;
- cursor: auto;
- padding: 2px;
-}
-
-input::-webkit-input-placeholder, isindex::-webkit-input-placeholder {
- color: darkGray;
-}
-
-input[type="password"] {
- -webkit-text-security: disc !important;
-}
-
-input[type="hidden"], input[type="image"], input[type="file"] {
- -webkit-appearance: initial;
- padding: initial;
- background-color: initial;
- border: initial;
-}
-
-input[type="file"] {
- -webkit-box-align: baseline;
- text-align: start !important;
-}
-
-input:-webkit-autofill {
- background-color: #FAFFBD !important;
- background-image:none !important;
-}
-
-input[type="radio"], input[type="checkbox"] {
- margin: 3px 0.5ex;
- padding: initial;
- background-color: initial;
- border: initial;
-}
-
-input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button {
- -webkit-appearance: push-button;
- white-space: pre
-}
-
-input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button {
- -webkit-box-align: center;
- text-align: center;
- cursor: default;
- color: ButtonText;
- padding: 2px 6px 3px 6px;
- border: 2px outset ButtonFace;
- background-color: ButtonFace;
- -webkit-box-sizing: border-box
-}
-
-input[type="range"] {
- -webkit-appearance: slider-horizontal;
- padding: initial;
- border: initial;
- margin: 2px;
-}
-
-input[type="range"]::-webkit-slider-thumb {
- -webkit-appearance: sliderthumb-horizontal;
-}
-
-input[type="button"]:disabled, input[type="submit"]:disabled, input[type="reset"]:disabled,
-input[type="file"]:disabled::-webkit-file-upload-button, button:disabled,
-select:disabled, keygen:disabled, optgroup:disabled, option:disabled, datagrid:disabled {
- color: GrayText
-}
-
-input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active {
- border-style: inset
-}
-
-input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled {
- border-style: outset
-}
-
-area, param {
- display: none
-}
-
-input[type="checkbox"] {
- -webkit-appearance: checkbox;
- -webkit-box-sizing: border-box;
-}
-
-input[type="radio"] {
- -webkit-appearance: radio;
- -webkit-box-sizing: border-box;
-}
-
-keygen, select {
- -webkit-appearance: menulist;
- -webkit-box-sizing: border-box;
- -webkit-box-align: center;
- border: 1px solid;
- -webkit-border-radius: 5px;
- white-space: pre;
- -webkit-rtl-ordering: logical;
- color: black;
- background-color: white;
- cursor: default;
-}
-
-select[size],
-select[multiple],
-select[size][multiple] {
- -webkit-appearance: listbox;
- -webkit-box-align: start;
- border: 1px inset gray;
- -webkit-border-radius: initial;
- white-space: initial;
-}
-
-select[size="0"],
-select[size="1"] {
- -webkit-appearance: menulist;
- -webkit-box-align: center;
- border: 1px solid;
- -webkit-border-radius: 5px;
- white-space: pre;
-}
-
-optgroup {
- font-weight: bolder;
-}
-
-option {
- font-weight: normal;
-}
-
-/* datagrid */
-
-datagrid {
- height: 150px; /* We don't use width:300px in CSS, since we want width:intrinsic and width:min-intrinsic to reset to 300 properly. */
- -webkit-appearance: datagrid;
- -webkit-box-sizing: border-box;
- -webkit-rtl-ordering: logical;
- color: black;
- background-color: white;
- cursor: default;
- border: 1px inset gray;
- white-space: initial;
-}
-
-/* inline elements */
-
-u, ins {
- text-decoration: underline
-}
-
-strong, b {
- font-weight: bolder
-}
-
-i, cite, em, var, address {
- font-style: italic
-}
-
-tt, code, kbd, samp {
- font-family: monospace
-}
-
-pre, xmp, plaintext, listing {
- display: block;
- font-family: monospace;
- white-space: pre;
- margin: 1__qem 0
-}
-
-big {
- font-size: larger
-}
-
-small {
- font-size: smaller
-}
-
-s, strike, del {
- text-decoration: line-through
-}
-
-sub {
- vertical-align: sub;
- font-size: smaller
-}
-
-sup {
- vertical-align: super;
- font-size: smaller
-}
-
-nobr {
- white-space: nowrap
-}
-
-/* states */
-
-:focus {
- outline: auto 5px -webkit-focus-ring-color
-}
-
-/* Read-only text fields do not show a focus ring but do still receive focus */
-html:focus, body:focus, input[readonly]:focus {
- outline: none
-}
-
-input:focus, textarea:focus, isindex:focus, keygen:focus, select:focus {
- outline-offset: -2px
-}
-
-input[type="button"]:focus,
-input[type="checkbox"]:focus,
-input[type="file"]:focus,
-input[type="hidden"]:focus,
-input[type="image"]:focus,
-input[type="radio"]:focus,
-input[type="reset"]:focus,
-input[type="search"]:focus,
-input[type="submit"]:focus,
-input[type="file"]:focus::-webkit-file-upload-button {
- outline-offset: 0
-}
-
-a:-webkit-any-link {
- color: -webkit-link;
- text-decoration: underline;
- cursor: auto;
-}
-
-a:-webkit-any-link:active {
- color: -webkit-activelink
-}
-
-/* other elements */
-
-noframes {
- display: none
-}
-
-frameset, frame {
- display: block
-}
-
-frameset {
- border-color: inherit
-}
-
-iframe {
- border: 2px inset
-}
-
-img, input[type=image], video, iframe, object, embed, applet {
- overflow: hidden; /* Default to overflow:hidden so that border-radius clipping works on the foreground of these elements. */
-}
-
-/* noscript is handled internally, as it depends on settings */
diff --git a/src/3rdparty/webkit/WebCore/css/makeprop.pl b/src/3rdparty/webkit/WebCore/css/makeprop.pl
index bc979f9..115969f 100644
--- a/src/3rdparty/webkit/WebCore/css/makeprop.pl
+++ b/src/3rdparty/webkit/WebCore/css/makeprop.pl
@@ -26,9 +26,9 @@ use warnings;
open NAMES, "<CSSPropertyNames.in" || die "Could not find CSSPropertyNames.in";
my @names = ();
while (<NAMES>) {
- next if (m/#/);
- chomp $_;
- next if ($_ eq "");
+ next if (m/(^#)|(^\s*$)/);
+ # Input may use a different EOL sequence than $/, so avoid chomp.
+ $_ =~ s/[\r\n]+$//g;
push @names, $_;
}
close(NAMES);
diff --git a/src/3rdparty/webkit/WebCore/css/makevalues.pl b/src/3rdparty/webkit/WebCore/css/makevalues.pl
index 5d4e8ac..3f52e64 100644
--- a/src/3rdparty/webkit/WebCore/css/makevalues.pl
+++ b/src/3rdparty/webkit/WebCore/css/makevalues.pl
@@ -26,9 +26,9 @@ use warnings;
open NAMES, "<CSSValueKeywords.in" || die "Could not open CSSValueKeywords.in";
my @names = ();
while (<NAMES>) {
- next if (m/#/);
- chomp $_;
- next if ($_ eq "");
+ next if (m/(^#)|(^\s*$)/);
+ # Input may use a different EOL sequence than $/, so avoid chomp.
+ $_ =~ s/[\r\n]+$//g;
push @names, $_;
}
close(NAMES);
diff --git a/src/3rdparty/webkit/WebCore/css/mediaControls.css b/src/3rdparty/webkit/WebCore/css/mediaControls.css
index 668458c..f9694f8 100644
--- a/src/3rdparty/webkit/WebCore/css/mediaControls.css
+++ b/src/3rdparty/webkit/WebCore/css/mediaControls.css
@@ -32,6 +32,7 @@ audio {
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
display: -webkit-box;
-webkit-box-orient: horizontal;
+ -webkit-box-align: center;
-webkit-user-select: none;
position: absolute;
bottom: 0;
@@ -61,7 +62,7 @@ audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-bu
}
audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container {
- -webkit-appearance: media-timeline-container;
+ -webkit-appearance: media-controls-background;
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-align: center;
@@ -102,6 +103,16 @@ audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls
}
audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button {
+ -webkit-appearance: media-fullscreen-button;
+ display: -webkit-box;
+ width: 16px;
+ height: 16px;
+}
+
+audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button {
display: none;
}
+audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button {
+ display: none;
+}
diff --git a/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css b/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css
index 900dcf2..5cf48ae 100644
--- a/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css
+++ b/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css
@@ -31,6 +31,7 @@ audio {
audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel {
/* In mediaControls.css */
+ -webkit-appearance: media-controls-background;
height: 25px;
}
@@ -39,50 +40,81 @@ video:-webkit-full-page-media::-webkit-media-controls-panel {
}
audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button {
- -webkit-box-ordinal-group: 2; /* At the end of the controller bar */
- width: 30px;
- height: 25px;
+ -webkit-box-ordinal-group: 2; /* Before the fullscreen button */
+ width: 15px;
+ height: 14px;
+ margin-left: 2px;
+ margin-right: 8px;
}
audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button {
- width: 30px;
- height: 25px;
+ width: 16px;
+ height: 16px;
+ margin-left: 6px;
+ margin-right: 1px;
}
audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container {
- height: 25px;
+ -webkit-appearance: none;
+ -webkit-box-orient: horizontal;
+ -webkit-box-align: center;
+ -webkit-box-pack: center;
+ -webkit-box-flex: 1;
+ text-align: right;
+ height: auto;
}
audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display {
- -webkit-appearance: media-current-time-display;
-webkit-user-select: none;
- display: inline-block;
+ display: -webkit-box;
+ -webkit-box-flex: 0;
+ -webkit-box-pack: center;
+ -webkit-box-align: center;
cursor: default;
font: -webkit-small-control;
- font-size: .09em;
- text-align: center;
+ font-size: 9px;
overflow: hidden;
- line-height: 13px;
- height: 14px;
width: 45px;
+ color: white;
+ text-shadow: black 0px 1px 1px;
+
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-decoration: none;
}
audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display {
- -webkit-appearance: media-time-remaining-display;
-webkit-user-select: none;
- display: inline-block;
+ display: -webkit-box;
+ -webkit-box-flex: 0;
+ -webkit-box-pack: center;
+ -webkit-box-align: center;
cursor: default;
font: -webkit-small-control;
- font-size: .09em;
- text-align: center;
+ font-size: 9px;
overflow: hidden;
- line-height: 13px;
- height: 14px;
width: 45px;
+ color: white;
+ text-shadow: black 0px 1px 1px;
+
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-decoration: none;
}
audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline {
+ display: -webkit-box;
+ -webkit-box-flex: 1;
height: 13px;
+ padding: 0px;
+ margin: 0px;
+ margin-top: 2px;
}
audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button {
@@ -96,5 +128,50 @@ audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls
}
audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button {
+ width: 16px;
+ height: 16px;
+ margin-left: 7px;
+ margin-right: 7px;
+ -webkit-box-ordinal-group: 3; /* At the very end */
+}
+
+audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button {
+ display: -webkit-box;
+ -webkit-appearance: media-rewind-button;
+ width: 18px;
+ height: 18px;
+ margin-bottom: 1px;
+ margin-left: 6px;
+ margin-right: 2px;
+}
+
+audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button {
display: none;
+ -webkit-appearance: media-return-to-realtime-button;
+ width: 16px;
+ height: 11px;
+ margin-left: 6px;
+ margin-right: 2px;
+}
+
+audio::-webkit-media-controls-status-display, video::-webkit-media-controls-status-display {
+ -webkit-user-select: none;
+ cursor: default;
+ display: -webkit-box;
+ -webkit-box-flex: 1;
+ font: -webkit-small-control;
+ color: white;
+ font-size: 10px;
+ line-height: 13px;
+ overflow: hidden;
+ text-shadow: black 0px 1px 1px;
+ margin-left: 10px;
+ margin-right: 10px;
+
+ letter-spacing: normal;
+ word-spacing: normal;
+ line-height: normal;
+ text-transform: none;
+ text-indent: 0;
+ text-decoration: none;
}
diff --git a/src/3rdparty/webkit/WebCore/css/themeWin.css b/src/3rdparty/webkit/WebCore/css/themeWin.css
index 421fed0..a0170ac 100644
--- a/src/3rdparty/webkit/WebCore/css/themeWin.css
+++ b/src/3rdparty/webkit/WebCore/css/themeWin.css
@@ -29,7 +29,7 @@
*/
/* These styles override the default styling for HTML elements as defined in
- WebCore/css/html4.css. So far we have used this file exclusively for
+ WebCore/css/html.css. So far we have used this file exclusively for
making our form elements match Firefox's. */
input:not([type]),
diff --git a/src/3rdparty/webkit/WebCore/css/tokenizer.flex b/src/3rdparty/webkit/WebCore/css/tokenizer.flex
index e800bae..1569ee2 100644
--- a/src/3rdparty/webkit/WebCore/css/tokenizer.flex
+++ b/src/3rdparty/webkit/WebCore/css/tokenizer.flex
@@ -73,6 +73,7 @@ nth (-?[0-9]*n[\+-][0-9]+)|(-?[0-9]*n)
"!"{w}"important" {yyTok = IMPORTANT_SYM; return yyTok;}
{num}em {yyTok = EMS; return yyTok;}
+{num}rem {yyTok = REMS; return yyTok;}
{num}__qem {yyTok = QEMS; return yyTok;} /* quirky ems */
{num}ex {yyTok = EXS; return yyTok;}
{num}px {yyTok = PXS; return yyTok;}
diff --git a/src/3rdparty/webkit/WebCore/dom/ClassNames.h b/src/3rdparty/webkit/WebCore/dom/ClassNames.h
index 8f4852f..a836606 100644
--- a/src/3rdparty/webkit/WebCore/dom/ClassNames.h
+++ b/src/3rdparty/webkit/WebCore/dom/ClassNames.h
@@ -27,7 +27,7 @@
namespace WebCore {
- class ClassNamesData : Noncopyable {
+ class ClassNamesData : public Noncopyable {
public:
ClassNamesData(const String& string, bool shouldFoldCase)
: m_string(string), m_shouldFoldCase(shouldFoldCase), m_createdVector(false)
diff --git a/src/3rdparty/webkit/WebCore/dom/Comment.h b/src/3rdparty/webkit/WebCore/dom/Comment.h
index f5f1810..d00ba62 100644
--- a/src/3rdparty/webkit/WebCore/dom/Comment.h
+++ b/src/3rdparty/webkit/WebCore/dom/Comment.h
@@ -29,8 +29,7 @@
namespace WebCore {
-class Comment : public CharacterData
-{
+class Comment : public CharacterData {
public:
Comment(Document*, const String &_text);
Comment(Document*);
diff --git a/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp b/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp
index 20cc7a3..2d79156 100644
--- a/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp
@@ -600,6 +600,8 @@ void ContainerNode::insertedIntoDocument()
void ContainerNode::removedFromDocument()
{
Node::removedFromDocument();
+ if (document()->cssTarget() == this)
+ document()->setCSSTarget(0);
setInDocument(false);
removedFromTree(false);
for (Node* child = m_firstChild; child; child = child->nextSibling())
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp
index 3d01c80..228cfde 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp
@@ -335,6 +335,9 @@ Document::Document(Frame* frame, bool isXHTML)
, m_hasOpenDatabases(false)
#endif
, m_usingGeolocation(false)
+#if ENABLE(WML)
+ , m_containsWMLContent(false)
+#endif
{
m_document.resetSkippingRef(this);
@@ -361,11 +364,14 @@ Document::Document(Frame* frame, bool isXHTML)
m_inDocument = true;
m_inStyleRecalc = false;
m_closeAfterStyleRecalc = false;
+
m_usesDescendantRules = false;
m_usesSiblingRules = false;
m_usesFirstLineRules = false;
m_usesFirstLetterRules = false;
m_usesBeforeAfterRules = false;
+ m_usesRemUnits = false;
+
m_gotoAnchorNeededAfterStylesheetsLoad = false;
m_styleSelector = 0;
@@ -1132,6 +1138,11 @@ void Document::styleRecalcTimerFired(Timer<Document>*)
updateStyleIfNeeded();
}
+bool Document::childNeedsAndNotInStyleRecalc()
+{
+ return childNeedsStyleRecalc() && !m_inStyleRecalc;
+}
+
void Document::recalcStyle(StyleChange change)
{
// we should not enter style recalc while painting
@@ -1663,7 +1674,8 @@ void Document::implicitClose()
}
frame()->loader()->checkCallImplicitClose();
-
+ RenderObject* renderObject = renderer();
+
// We used to force a synchronous display and flush here. This really isn't
// necessary and can in fact be actively harmful if pages are loading at a rate of > 60fps
// (if your platform is syncing flushes and limiting them to 60fps).
@@ -1672,13 +1684,19 @@ void Document::implicitClose()
updateStyleIfNeeded();
// Always do a layout after loading if needed.
- if (view() && renderer() && (!renderer()->firstChild() || renderer()->needsLayout()))
+ if (view() && renderObject && (!renderObject->firstChild() || renderObject->needsLayout()))
view()->layout();
}
#if PLATFORM(MAC)
- if (f && renderer() && this == topDocument() && AXObjectCache::accessibilityEnabled())
- axObjectCache()->postNotification(renderer(), "AXLoadComplete", true);
+ if (f && renderObject && this == topDocument() && AXObjectCache::accessibilityEnabled()) {
+ // The AX cache may have been cleared at this point, but we need to make sure it contains an
+ // AX object to send the notification to. getOrCreate will make sure that an valid AX object
+ // exists in the cache (we ignore the return value because we don't need it here). This is
+ // only safe to call when a layout is not in progress, so it can not be used in postNotification.
+ axObjectCache()->getOrCreate(renderObject);
+ axObjectCache()->postNotification(renderObject, "AXLoadComplete", true);
+ }
#endif
#if ENABLE(SVG)
@@ -2598,7 +2616,7 @@ bool Document::setFocusedNode(PassRefPtr<Node> newFocusedNode)
else
view()->setFocus();
}
- }
+ }
#if PLATFORM(MAC) && !PLATFORM(CHROMIUM)
if (!focusChangeBlocked && m_focusedNode && AXObjectCache::accessibilityEnabled())
@@ -4354,19 +4372,19 @@ void Document::parseDNSPrefetchControlHeader(const String& dnsPrefetchControl)
void Document::reportException(const String& errorMessage, int lineNumber, const String& sourceURL)
{
if (DOMWindow* window = domWindow())
- window->console()->addMessage(JSMessageSource, ErrorMessageLevel, errorMessage, lineNumber, sourceURL);
+ window->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, errorMessage, lineNumber, sourceURL);
}
-void Document::addMessage(MessageDestination destination, MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
+void Document::addMessage(MessageDestination destination, MessageSource source, MessageType type, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL)
{
switch (destination) {
case InspectorControllerDestination:
if (page())
- page()->inspectorController()->addMessageToConsole(source, level, message, lineNumber, sourceURL);
+ page()->inspectorController()->addMessageToConsole(source, type, level, message, lineNumber, sourceURL);
return;
case ConsoleDestination:
if (DOMWindow* window = domWindow())
- window->console()->addMessage(source, level, message, lineNumber, sourceURL);
+ window->console()->addMessage(source, type, level, message, lineNumber, sourceURL);
return;
}
ASSERT_NOT_REACHED();
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.h b/src/3rdparty/webkit/WebCore/dom/Document.h
index 92865f4..6655d9b 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.h
+++ b/src/3rdparty/webkit/WebCore/dom/Document.h
@@ -224,7 +224,7 @@ public:
}
virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&);
- PassRefPtr<DocumentFragment> createDocumentFragment ();
+ PassRefPtr<DocumentFragment> createDocumentFragment();
PassRefPtr<Text> createTextNode(const String& data);
PassRefPtr<Comment> createComment(const String& data);
PassRefPtr<CDATASection> createCDATASection(const String& data, ExceptionCode&);
@@ -377,6 +377,8 @@ public:
void setUsesFirstLetterRules(bool b) { m_usesFirstLetterRules = b; }
bool usesBeforeAfterRules() const { return m_usesBeforeAfterRules; }
void setUsesBeforeAfterRules(bool b) { m_usesBeforeAfterRules = b; }
+ bool usesRemUnits() const { return m_usesRemUnits; }
+ void setUsesRemUnits(bool b) { m_usesRemUnits = b; }
// Machinery for saving and restoring state when you leave and then go back to a page.
void registerFormElementWithState(Element* e) { m_formElementsWithState.add(e); }
@@ -403,7 +405,8 @@ public:
PassRefPtr<CSSStyleDeclaration> createCSSStyleDeclaration();
PassRefPtr<EditingText> createEditingTextNode(const String&);
- virtual void recalcStyle( StyleChange = NoChange );
+ virtual void recalcStyle(StyleChange = NoChange);
+ bool childNeedsAndNotInStyleRecalc();
virtual void updateStyleIfNeeded();
void updateLayout();
void updateLayoutIgnorePendingStylesheets();
@@ -787,7 +790,7 @@ public:
void parseDNSPrefetchControlHeader(const String&);
virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL);
- virtual void addMessage(MessageDestination, MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
+ virtual void addMessage(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
virtual void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString);
virtual void scriptImported(unsigned long, const String&);
virtual void postTask(PassRefPtr<Task>); // Executes the task on context's thread asynchronously.
@@ -795,6 +798,8 @@ public:
protected:
Document(Frame*, bool isXHTML);
+ void setStyleSelector(CSSStyleSelector* styleSelector) { m_styleSelector = styleSelector; }
+
private:
virtual void refScriptExecutionContext() { ref(); }
virtual void derefScriptExecutionContext() { deref(); }
@@ -903,6 +908,7 @@ private:
bool m_usesFirstLineRules;
bool m_usesFirstLetterRules;
bool m_usesBeforeAfterRules;
+ bool m_usesRemUnits;
bool m_gotoAnchorNeededAfterStylesheetsLoad;
bool m_isDNSPrefetchEnabled;
bool m_haveExplicitlyDisabledDNSPrefetch;
@@ -990,7 +996,7 @@ public:
void setDashboardRegionsDirty(bool f) { m_dashboardRegionsDirty = f; }
bool dashboardRegionsDirty() const { return m_dashboardRegionsDirty; }
bool hasDashboardRegions () const { return m_hasDashboardRegions; }
- void setHasDashboardRegions (bool f) { m_hasDashboardRegions = f; }
+ void setHasDashboardRegions(bool f) { m_hasDashboardRegions = f; }
const Vector<DashboardRegionValue>& dashboardRegions() const;
void setDashboardRegions(const Vector<DashboardRegionValue>&);
#endif
@@ -1029,6 +1035,9 @@ public:
bool usingGeolocation() const { return m_usingGeolocation; };
#if ENABLE(WML)
+ void setContainsWMLContent(bool value) { m_containsWMLContent = value; }
+ bool containsWMLContent() const { return m_containsWMLContent; }
+
void resetWMLPageState();
void initializeWMLPageState();
#endif
@@ -1111,6 +1120,10 @@ private:
#endif
bool m_usingGeolocation;
+
+#if ENABLE(WML)
+ bool m_containsWMLContent;
+#endif
};
inline bool Document::hasElementWithId(AtomicStringImpl* id) const
diff --git a/src/3rdparty/webkit/WebCore/dom/Document.idl b/src/3rdparty/webkit/WebCore/dom/Document.idl
index ac6dd0e..ad41057 100644
--- a/src/3rdparty/webkit/WebCore/dom/Document.idl
+++ b/src/3rdparty/webkit/WebCore/dom/Document.idl
@@ -21,8 +21,8 @@
module core {
interface [
+ CustomToJS,
GenerateConstructor,
- GenerateToJS,
GenerateNativeConverter,
CustomMarkFunction,
InlineGetOwnPropertySlot,
diff --git a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp
index 40be64d..7a6174f 100644
--- a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp
@@ -34,7 +34,7 @@ DocumentFragment::DocumentFragment(Document *doc) : ContainerNode(doc)
String DocumentFragment::nodeName() const
{
- return "#document-fragment";
+ return "#document-fragment";
}
Node::NodeType DocumentFragment::nodeType() const
diff --git a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h
index 33a62be..46d8ecd 100644
--- a/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h
+++ b/src/3rdparty/webkit/WebCore/dom/DocumentFragment.h
@@ -30,8 +30,7 @@
namespace WebCore {
-class DocumentFragment : public ContainerNode
-{
+class DocumentFragment : public ContainerNode {
public:
DocumentFragment(Document*);
diff --git a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp
index eeb9833..892a5e7 100644
--- a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp
@@ -30,7 +30,7 @@ namespace WebCore {
DynamicNodeList::DynamicNodeList(PassRefPtr<Node> rootNode)
: m_rootNode(rootNode)
- , m_caches(new Caches)
+ , m_caches(Caches::create())
, m_ownsCaches(true)
{
m_rootNode->registerDynamicNodeList(this);
@@ -42,16 +42,11 @@ DynamicNodeList::DynamicNodeList(PassRefPtr<Node> rootNode, DynamicNodeList::Cac
, m_ownsCaches(false)
{
m_rootNode->registerDynamicNodeList(this);
- ++caches->refCount;
}
DynamicNodeList::~DynamicNodeList()
{
m_rootNode->unregisterDynamicNodeList(this);
- if (m_ownsCaches)
- delete m_caches;
- else
- --m_caches->refCount;
}
unsigned DynamicNodeList::length() const
@@ -158,10 +153,14 @@ DynamicNodeList::Caches::Caches()
: lastItem(0)
, isLengthCacheValid(false)
, isItemCacheValid(false)
- , refCount(0)
{
}
+PassRefPtr<DynamicNodeList::Caches> DynamicNodeList::Caches::create()
+{
+ return adoptRef(new Caches());
+}
+
void DynamicNodeList::Caches::reset()
{
lastItem = 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h
index ee9832d..f97c38f 100644
--- a/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h
+++ b/src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h
@@ -37,8 +37,8 @@ namespace WebCore {
class DynamicNodeList : public NodeList {
public:
- struct Caches {
- Caches();
+ struct Caches : RefCounted<Caches> {
+ static PassRefPtr<Caches> create();
void reset();
unsigned cachedLength;
@@ -46,7 +46,8 @@ namespace WebCore {
unsigned lastItemOffset;
bool isLengthCacheValid : 1;
bool isItemCacheValid : 1;
- unsigned refCount;
+ protected:
+ Caches();
};
virtual ~DynamicNodeList();
@@ -68,7 +69,7 @@ namespace WebCore {
virtual bool nodeMatches(Element*) const = 0;
RefPtr<Node> m_rootNode;
- mutable Caches* m_caches;
+ mutable RefPtr<Caches> m_caches;
bool m_ownsCaches;
private:
diff --git a/src/3rdparty/webkit/WebCore/dom/EditingText.h b/src/3rdparty/webkit/WebCore/dom/EditingText.h
index 3dcd8c1..e114786 100644
--- a/src/3rdparty/webkit/WebCore/dom/EditingText.h
+++ b/src/3rdparty/webkit/WebCore/dom/EditingText.h
@@ -29,8 +29,7 @@
namespace WebCore {
-class EditingText : public Text
-{
+class EditingText : public Text {
public:
EditingText(Document *impl, const String &text);
EditingText(Document *impl);
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.cpp b/src/3rdparty/webkit/WebCore/dom/Element.cpp
index d858888..1956be4 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Element.cpp
@@ -33,7 +33,6 @@
#include "ClientRect.h"
#include "ClientRectList.h"
#include "Document.h"
-#include "Editor.h"
#include "ElementRareData.h"
#include "ExceptionCode.h"
#include "FocusController.h"
@@ -45,9 +44,7 @@
#include "NodeList.h"
#include "NodeRenderStyle.h"
#include "Page.h"
-#include "PlatformString.h"
-#include "RenderBlock.h"
-#include "SelectionController.h"
+#include "RenderView.h"
#include "TextIterator.h"
#include "XMLNames.h"
@@ -382,8 +379,10 @@ int Element::clientWidth()
bool inCompatMode = document()->inCompatMode();
if ((!inCompatMode && document()->documentElement() == this) ||
(inCompatMode && isHTMLElement() && document()->body() == this)) {
- if (FrameView* view = document()->view())
- return adjustForAbsoluteZoom(view->layoutWidth(), document()->renderer());
+ if (FrameView* view = document()->view()) {
+ if (RenderView* renderView = document()->renderView())
+ return adjustForAbsoluteZoom(view->layoutWidth(), renderView);
+ }
}
if (RenderBox* rend = renderBox())
@@ -401,8 +400,10 @@ int Element::clientHeight()
if ((!inCompatMode && document()->documentElement() == this) ||
(inCompatMode && isHTMLElement() && document()->body() == this)) {
- if (FrameView* view = document()->view())
- return adjustForAbsoluteZoom(view->layoutHeight(), document()->renderer());
+ if (FrameView* view = document()->view()) {
+ if (RenderView* renderView = document()->renderView())
+ return adjustForAbsoluteZoom(view->layoutHeight(), renderView);
+ }
}
if (RenderBox* rend = renderBox())
@@ -590,6 +591,12 @@ PassRefPtr<Attribute> Element::createAttribute(const QualifiedName& name, const
void Element::attributeChanged(Attribute* attr, bool)
{
+ recalcStyleIfNeededAfterAttributeChanged(attr);
+ updateAfterAttributeChanged(attr);
+}
+
+void Element::updateAfterAttributeChanged(Attribute* attr)
+{
if (!document()->axObjectCache()->accessibilityEnabled())
return;
@@ -602,7 +609,13 @@ void Element::attributeChanged(Attribute* attr, bool)
document()->axObjectCache()->handleAriaRoleChanged(renderer());
}
}
-
+
+void Element::recalcStyleIfNeededAfterAttributeChanged(Attribute* attr)
+{
+ if (document()->attached() && document()->styleSelector()->hasSelectorForAttribute(attr->name().localName()))
+ setNeedsStyleRecalc();
+}
+
void Element::setAttributeMap(PassRefPtr<NamedNodeMap> list)
{
document()->incDOMTreeVersion();
@@ -761,6 +774,34 @@ void Element::detach()
ContainerNode::detach();
}
+bool Element::pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle)
+{
+ ASSERT(currentStyle = renderStyle());
+
+ if (!renderer() || !currentStyle)
+ return false;
+
+ RenderStyle::PseudoStyleCache pseudoStyleCache;
+ currentStyle->getPseudoStyleCache(pseudoStyleCache);
+ size_t cacheSize = pseudoStyleCache.size();
+ for (size_t i = 0; i < cacheSize; ++i) {
+ RefPtr<RenderStyle> newPseudoStyle;
+ PseudoId pseudoId = pseudoStyleCache[i]->styleType();
+ if (pseudoId == FIRST_LINE || pseudoId == FIRST_LINE_INHERITED)
+ newPseudoStyle = renderer()->uncachedFirstLineStyle(newStyle);
+ else
+ newPseudoStyle = renderer()->getUncachedPseudoStyle(pseudoId, newStyle, newStyle);
+
+ if (*newPseudoStyle != *pseudoStyleCache[i]) {
+ if (pseudoId < FIRST_INTERNAL_PSEUDOID)
+ newStyle->setHasPseudoStyle(pseudoId);
+ newStyle->addCachedPseudoStyle(newPseudoStyle);
+ return true;
+ }
+ }
+ return false;
+}
+
void Element::recalcStyle(StyleChange change)
{
RenderStyle* currentStyle = renderStyle();
@@ -811,7 +852,7 @@ void Element::recalcStyle(StyleChange change)
newStyle->setChildrenAffectedByDirectAdjacentRules();
}
- if (ch != NoChange) {
+ if (ch != NoChange || pseudoStyleCacheIsInvalid(currentStyle, newStyle.get())) {
setRenderStyle(newStyle);
} else if (needsStyleRecalc() && (styleChangeType() != AnimationStyleChange) && (document()->usesSiblingRules() || document()->usesDescendantRules())) {
// Although no change occurred, we use the new style so that the cousin style sharing code won't get
@@ -826,7 +867,11 @@ void Element::recalcStyle(StyleChange change)
setRenderStyle(newStyle);
if (change != Force) {
- if ((document()->usesDescendantRules() || hasPositionalRules) && styleChangeType() >= FullStyleChange)
+ // If "rem" units are used anywhere in the document, and if the document element's font size changes, then go ahead and force font updating
+ // all the way down the tree. This is simpler than having to maintain a cache of objects (and such font size changes should be rare anyway).
+ if (document()->usesRemUnits() && ch != NoChange && currentStyle && newStyle && currentStyle->fontSize() != newStyle->fontSize() && document()->documentElement() == this)
+ change = Force;
+ else if ((document()->usesDescendantRules() || hasPositionalRules) && styleChangeType() >= FullStyleChange)
change = Force;
else
change = ch;
@@ -981,7 +1026,7 @@ void Element::dispatchAttrAdditionEvent(Attribute*)
return;
ExceptionCode ec = 0;
dispatchEvent(new MutationEvent(DOMAttrModifiedEvent, true, false, attr, attr->value(),
- attr->value(),document()->attrName(attr->id()), MutationEvent::ADDITION), ec);
+ attr->value(), document()->attrName(attr->id()), MutationEvent::ADDITION), ec);
#endif
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.h b/src/3rdparty/webkit/WebCore/dom/Element.h
index dfa2c0e..0ff2ed1 100644
--- a/src/3rdparty/webkit/WebCore/dom/Element.h
+++ b/src/3rdparty/webkit/WebCore/dom/Element.h
@@ -136,6 +136,11 @@ public:
// This method is called whenever an attribute is added, changed or removed.
virtual void attributeChanged(Attribute*, bool preserveDecls = false);
+ // The implementation of Element::attributeChanged() calls the following two functions.
+ // They are separated to allow a different flow of control in StyledElement::attributeChanged().
+ void recalcStyleIfNeededAfterAttributeChanged(Attribute*);
+ void updateAfterAttributeChanged(Attribute*);
+
// not part of the DOM
void setAttributeMap(PassRefPtr<NamedNodeMap>);
@@ -170,6 +175,8 @@ public:
virtual void formatForDebugger(char* buffer, unsigned length) const;
#endif
+ bool pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle* newStyle);
+
String innerText() const;
String outerText() const;
@@ -205,6 +212,8 @@ public:
virtual bool isEnabledFormControl() const { return true; }
virtual bool isReadOnlyFormControl() const { return false; }
virtual bool isTextFormControl() const { return false; }
+ virtual bool isOptionalFormControl() const { return false; }
+ virtual bool isRequiredFormControl() const { return false; }
virtual bool formControlValueMatchesRenderer() const { return false; }
virtual void setFormControlValueMatchesRenderer(bool) { }
diff --git a/src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp
new file mode 100644
index 0000000..2627d01
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "ErrorEvent.h"
+
+#include "EventNames.h"
+
+namespace WebCore {
+
+ErrorEvent::ErrorEvent()
+{
+}
+
+ErrorEvent::ErrorEvent(const String& message, const String& fileName, unsigned lineNumber)
+ : Event(eventNames().errorEvent, false, true)
+ , m_message(message)
+ , m_fileName(fileName)
+ , m_lineNumber(lineNumber)
+{
+}
+
+ErrorEvent::~ErrorEvent()
+{
+}
+
+void ErrorEvent::initErrorEvent(const AtomicString& type, bool canBubble, bool cancelable, const String& message, const String& fileName, unsigned lineNumber)
+{
+ if (dispatched())
+ return;
+
+ initEvent(type, canBubble, cancelable);
+
+ m_message = message;
+ m_fileName = fileName;
+ m_lineNumber = lineNumber;
+}
+
+bool ErrorEvent::isErrorEvent() const
+{
+ return true;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/dom/ErrorEvent.h b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.h
new file mode 100644
index 0000000..f81530a
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.h
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef ErrorEvent_h
+#define ErrorEvent_h
+
+#if ENABLE(WORKERS)
+
+#include "Event.h"
+#include "PlatformString.h"
+
+namespace WebCore {
+
+ class ErrorEvent : public Event {
+ public:
+ static PassRefPtr<ErrorEvent> create()
+ {
+ return adoptRef(new ErrorEvent);
+ }
+ static PassRefPtr<ErrorEvent> create(const String& message, const String& fileName, unsigned lineNumber)
+ {
+ return adoptRef(new ErrorEvent(message, fileName, lineNumber));
+ }
+ virtual ~ErrorEvent();
+
+ void initErrorEvent(const AtomicString& type, bool canBubble, bool cancelable, const String& message, const String& fileName, unsigned lineNumber);
+
+ const String& message() const { return m_message; }
+ const String& filename() const { return m_fileName; }
+ unsigned lineno() const { return m_lineNumber; }
+
+ virtual bool isErrorEvent() const;
+
+ private:
+ ErrorEvent();
+ ErrorEvent(const String& message, const String& fileName, unsigned lineNumber);
+
+ String m_message;
+ String m_fileName;
+ unsigned m_lineNumber;
+ };
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif // ErrorEvent_h
diff --git a/src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl
new file mode 100644
index 0000000..6125e1e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/ErrorEvent.idl
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module events {
+
+ interface [
+ Conditional=WORKERS,
+ GenerateConstructor,
+ NoStaticTables
+ ] ErrorEvent : Event {
+
+ readonly attribute DOMString message;
+ readonly attribute DOMString filename;
+ readonly attribute unsigned long lineno;
+
+ void initErrorEvent(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in DOMString messageArg, in DOMString filenameArg, in unsigned long linenoArg);
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/dom/Event.cpp b/src/3rdparty/webkit/WebCore/dom/Event.cpp
index b4b87ed..9d1d079 100644
--- a/src/3rdparty/webkit/WebCore/dom/Event.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Event.cpp
@@ -158,6 +158,13 @@ bool Event::isStorageEvent() const
}
#endif
+#if ENABLE(WORKERS)
+bool Event::isErrorEvent() const
+{
+ return false;
+}
+#endif
+
bool Event::storesResultAsString() const
{
return false;
diff --git a/src/3rdparty/webkit/WebCore/dom/Event.h b/src/3rdparty/webkit/WebCore/dom/Event.h
index 6984215..823ff20 100644
--- a/src/3rdparty/webkit/WebCore/dom/Event.h
+++ b/src/3rdparty/webkit/WebCore/dom/Event.h
@@ -119,7 +119,10 @@ namespace WebCore {
#if ENABLE(DOM_STORAGE)
virtual bool isStorageEvent() const;
#endif
-
+#if ENABLE(WORKERS)
+ virtual bool isErrorEvent() const;
+#endif
+
bool propagationStopped() const { return m_propagationStopped; }
bool defaultPrevented() const { return m_defaultPrevented; }
diff --git a/src/3rdparty/webkit/WebCore/dom/Event.idl b/src/3rdparty/webkit/WebCore/dom/Event.idl
index 5ac9e0c..75b6b5f 100644
--- a/src/3rdparty/webkit/WebCore/dom/Event.idl
+++ b/src/3rdparty/webkit/WebCore/dom/Event.idl
@@ -22,6 +22,7 @@ module events {
// Introduced in DOM Level 2:
interface [
+ CustomToJS,
GenerateConstructor,
NoStaticTables,
Polymorphic,
diff --git a/src/3rdparty/webkit/WebCore/dom/EventListener.h b/src/3rdparty/webkit/WebCore/dom/EventListener.h
index dbc41b2..d288c8d 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventListener.h
+++ b/src/3rdparty/webkit/WebCore/dom/EventListener.h
@@ -21,6 +21,7 @@
#ifndef EventListener_h
#define EventListener_h
+#include "PlatformString.h"
#include <wtf/RefCounted.h>
namespace JSC {
@@ -35,6 +36,8 @@ namespace WebCore {
public:
virtual ~EventListener() { }
virtual void handleEvent(Event*, bool isWindowEvent = false) = 0;
+ // Return true to indicate that the error is handled.
+ virtual bool reportError(const String& /*message*/, const String& /*url*/, int /*lineNumber*/) { return false; }
virtual bool wasCreatedFromMarkup() const { return false; }
#if USE(JSC)
diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
index 06cea07..42668e3 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.cpp
@@ -89,7 +89,14 @@ Worker* EventTarget::toWorker()
return 0;
}
-WorkerContext* EventTarget::toWorkerContext()
+DedicatedWorkerContext* EventTarget::toDedicatedWorkerContext()
+{
+ return 0;
+}
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+SharedWorker* EventTarget::toSharedWorker()
{
return 0;
}
diff --git a/src/3rdparty/webkit/WebCore/dom/EventTarget.h b/src/3rdparty/webkit/WebCore/dom/EventTarget.h
index 662902e..f0c794f 100644
--- a/src/3rdparty/webkit/WebCore/dom/EventTarget.h
+++ b/src/3rdparty/webkit/WebCore/dom/EventTarget.h
@@ -36,7 +36,9 @@
namespace WebCore {
+ class AbstractWorker;
class AtomicString;
+ class DedicatedWorkerContext;
class DOMApplicationCache;
class DOMWindow;
class Event;
@@ -45,8 +47,8 @@ namespace WebCore {
class Node;
class SVGElementInstance;
class ScriptExecutionContext;
+ class SharedWorker;
class Worker;
- class WorkerContext;
class XMLHttpRequest;
class XMLHttpRequestUpload;
@@ -67,7 +69,11 @@ namespace WebCore {
#endif
#if ENABLE(WORKERS)
virtual Worker* toWorker();
- virtual WorkerContext* toWorkerContext();
+ virtual DedicatedWorkerContext* toDedicatedWorkerContext();
+#endif
+
+#if ENABLE(SHARED_WORKERS)
+ virtual SharedWorker* toSharedWorker();
#endif
virtual ScriptExecutionContext* scriptExecutionContext() const = 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl b/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl
new file mode 100644
index 0000000..dee365f
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/dom/HTMLAllCollection.idl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2008, 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+module html {
+
+ // This interface is used for undetectable HTMLCollections.
+ // An undetectable HTMLCollection behaves like an HTMLCollection
+ // when used, but the 'typeof' operator returns undefined and
+ // ToBoolean returns false.
+ interface HTMLAllCollection : HTMLCollection {
+ };
+
+}
diff --git a/src/3rdparty/webkit/WebCore/dom/InputElement.cpp b/src/3rdparty/webkit/WebCore/dom/InputElement.cpp
index 108d17e..b25cd5c 100644
--- a/src/3rdparty/webkit/WebCore/dom/InputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/InputElement.cpp
@@ -116,6 +116,8 @@ void InputElement::updateSelectionRange(InputElement* inputElement, Element* ele
if (!inputElement->isTextField())
return;
+ element->document()->updateLayoutIgnorePendingStylesheets();
+
if (RenderTextControl* renderer = toRenderTextControl(element->renderer()))
renderer->setSelectionRange(start, end);
}
diff --git a/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp b/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp
index ac0a4ab..73c016f 100644
--- a/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/MessageChannel.cpp
@@ -28,7 +28,7 @@
#include "MessageChannel.h"
#include "MessagePort.h"
-#include "PlatformMessagePortChannel.h"
+#include "MessagePortChannel.h"
namespace WebCore {
@@ -36,7 +36,7 @@ MessageChannel::MessageChannel(ScriptExecutionContext* context)
: m_port1(MessagePort::create(*context))
, m_port2(MessagePort::create(*context))
{
- PlatformMessagePortChannel::createChannel(m_port1.get(), m_port2.get());
+ MessagePortChannel::createChannel(m_port1.get(), m_port2.get());
}
MessageChannel::~MessageChannel()
diff --git a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp
index 768d4f4..05134c0 100644
--- a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp
@@ -30,14 +30,8 @@
#include "config.h"
#include "MessagePortChannel.h"
-#include "PlatformMessagePortChannel.h"
-
namespace WebCore {
-PassOwnPtr<MessagePortChannel> MessagePortChannel::create(PassRefPtr<PlatformMessagePortChannel> channel)
-{
- return new MessagePortChannel(channel);
-}
PassOwnPtr<MessagePortChannel::EventData> MessagePortChannel::EventData::create(const String& message, PassOwnPtr<MessagePortChannel> channel)
{
@@ -50,15 +44,4 @@ MessagePortChannel::EventData::EventData(const String& message, PassOwnPtr<Messa
{
}
-MessagePortChannel::MessagePortChannel(PassRefPtr<PlatformMessagePortChannel> channel)
- : m_channel(channel)
-{
-}
-
-MessagePortChannel::~MessagePortChannel()
-{
- // Make sure we close our platform channel when the base is freed, to keep the channel objects from leaking.
- m_channel->close();
-}
-
} // namespace WebCore
diff --git a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h
index 15b3d16..93b224b 100644
--- a/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h
+++ b/src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h
@@ -48,8 +48,10 @@ namespace WebCore {
// MessagePortChannel is a platform-independent interface to the remote side of a message channel.
// It acts as a wrapper around the platform-dependent PlatformMessagePortChannel implementation which ensures that the platform-dependent close() method is invoked before destruction.
- class MessagePortChannel : Noncopyable {
+ class MessagePortChannel : public Noncopyable {
public:
+ static void createChannel(PassRefPtr<MessagePort>, PassRefPtr<MessagePort>);
+
// Creates a new wrapper for the passed channel.
static PassOwnPtr<MessagePortChannel> create(PassRefPtr<PlatformMessagePortChannel>);
@@ -93,6 +95,8 @@ namespace WebCore {
~MessagePortChannel();
+ PlatformMessagePortChannel* channel() const { return m_channel.get(); }
+
private:
MessagePortChannel(PassRefPtr<PlatformMessagePortChannel>);
RefPtr<PlatformMessagePortChannel> m_channel;
diff --git a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp
index f3e9bb2..fe631c8 100644
--- a/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp
@@ -164,7 +164,7 @@ PassRefPtr<Node> NamedNodeMap::removeNamedItem(const QualifiedName& name, Except
return r.release();
}
-PassRefPtr<Node> NamedNodeMap::item (unsigned index) const
+PassRefPtr<Node> NamedNodeMap::item(unsigned index) const
{
if (index >= length())
return 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/Node.cpp b/src/3rdparty/webkit/WebCore/dom/Node.cpp
index 3ddf4c0..192462d 100644
--- a/src/3rdparty/webkit/WebCore/dom/Node.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Node.cpp
@@ -495,7 +495,7 @@ void Node::setTabIndexExplicitly(short i)
String Node::nodeValue() const
{
- return String();
+ return String();
}
void Node::setNodeValue(const String& /*nodeValue*/, ExceptionCode& ec)
@@ -517,7 +517,7 @@ PassRefPtr<NodeList> Node::childNodes()
document()->addNodeListCache();
}
- return ChildNodeList::create(this, &data->nodeLists()->m_childNodeListCaches);
+ return ChildNodeList::create(this, data->nodeLists()->m_childNodeListCaches.get());
}
Node *Node::lastDescendant() const
@@ -777,7 +777,7 @@ unsigned Node::nodeIndex() const
{
Node *_tempNode = previousSibling();
unsigned count=0;
- for( count=0; _tempNode; count++ )
+ for ( count=0; _tempNode; count++ )
_tempNode = _tempNode->previousSibling();
return count;
}
@@ -1500,9 +1500,9 @@ PassRefPtr<NodeList> Node::getElementsByTagNameNS(const AtomicString& namespaceU
pair<NodeListsNodeData::TagCacheMap::iterator, bool> result = data->nodeLists()->m_tagNodeListCaches.add(QualifiedName(nullAtom, localNameAtom, namespaceURI), 0);
if (result.second)
- result.first->second = new DynamicNodeList::Caches;
+ result.first->second = DynamicNodeList::Caches::create();
- return TagNodeList::create(this, namespaceURI.isEmpty() ? nullAtom : namespaceURI, localNameAtom, result.first->second);
+ return TagNodeList::create(this, namespaceURI.isEmpty() ? nullAtom : namespaceURI, localNameAtom, result.first->second.get());
}
PassRefPtr<NodeList> Node::getElementsByName(const String& elementName)
@@ -1515,9 +1515,9 @@ PassRefPtr<NodeList> Node::getElementsByName(const String& elementName)
pair<NodeListsNodeData::CacheMap::iterator, bool> result = data->nodeLists()->m_nameNodeListCaches.add(elementName, 0);
if (result.second)
- result.first->second = new DynamicNodeList::Caches;
+ result.first->second = DynamicNodeList::Caches::create();
- return NameNodeList::create(this, elementName, result.first->second);
+ return NameNodeList::create(this, elementName, result.first->second.get());
}
PassRefPtr<NodeList> Node::getElementsByClassName(const String& classNames)
@@ -1530,9 +1530,9 @@ PassRefPtr<NodeList> Node::getElementsByClassName(const String& classNames)
pair<NodeListsNodeData::CacheMap::iterator, bool> result = data->nodeLists()->m_classNodeListCaches.add(classNames, 0);
if (result.second)
- result.first->second = new DynamicNodeList::Caches;
+ result.first->second = DynamicNodeList::Caches::create();
- return ClassNodeList::create(this, classNames, result.first->second);
+ return ClassNodeList::create(this, classNames, result.first->second.get());
}
template <typename Functor>
@@ -2185,7 +2185,7 @@ void Node::formatForDebugger(char* buffer, unsigned length) const
void NodeListsNodeData::invalidateCaches()
{
- m_childNodeListCaches.reset();
+ m_childNodeListCaches->reset();
TagCacheMap::const_iterator tagCachesEnd = m_tagNodeListCaches.end();
for (TagCacheMap::const_iterator it = m_tagNodeListCaches.begin(); it != tagCachesEnd; ++it)
it->second->reset();
@@ -2208,24 +2208,24 @@ bool NodeListsNodeData::isEmpty() const
if (!m_listsWithCaches.isEmpty())
return false;
- if (m_childNodeListCaches.refCount)
+ if (m_childNodeListCaches->refCount())
return false;
TagCacheMap::const_iterator tagCachesEnd = m_tagNodeListCaches.end();
for (TagCacheMap::const_iterator it = m_tagNodeListCaches.begin(); it != tagCachesEnd; ++it) {
- if (it->second->refCount)
+ if (it->second->refCount())
return false;
}
CacheMap::const_iterator classCachesEnd = m_classNodeListCaches.end();
for (CacheMap::const_iterator it = m_classNodeListCaches.begin(); it != classCachesEnd; ++it) {
- if (it->second->refCount)
+ if (it->second->refCount())
return false;
}
CacheMap::const_iterator nameCachesEnd = m_nameNodeListCaches.end();
for (CacheMap::const_iterator it = m_nameNodeListCaches.begin(); it != nameCachesEnd; ++it) {
- if (it->second->refCount)
+ if (it->second->refCount())
return false;
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Node.idl b/src/3rdparty/webkit/WebCore/dom/Node.idl
index bcfb226..1e31aea 100644
--- a/src/3rdparty/webkit/WebCore/dom/Node.idl
+++ b/src/3rdparty/webkit/WebCore/dom/Node.idl
@@ -23,9 +23,9 @@ module core {
interface [
CustomMarkFunction,
CustomPushEventHandlerScope,
+ CustomToJS,
GenerateConstructor,
GenerateNativeConverter,
- GenerateToJS,
InlineGetOwnPropertySlot,
Polymorphic,
InterfaceUUID=84BA0D7A-7E3E-4a7b-B6FB-7653E8FB54ED,
diff --git a/src/3rdparty/webkit/WebCore/dom/NodeRareData.h b/src/3rdparty/webkit/WebCore/dom/NodeRareData.h
index ae0e516..7740344 100644
--- a/src/3rdparty/webkit/WebCore/dom/NodeRareData.h
+++ b/src/3rdparty/webkit/WebCore/dom/NodeRareData.h
@@ -37,24 +37,18 @@ struct NodeListsNodeData {
typedef HashSet<DynamicNodeList*> NodeListSet;
NodeListSet m_listsWithCaches;
- DynamicNodeList::Caches m_childNodeListCaches;
+ RefPtr<DynamicNodeList::Caches> m_childNodeListCaches;
- typedef HashMap<String, DynamicNodeList::Caches*> CacheMap;
+ typedef HashMap<String, RefPtr<DynamicNodeList::Caches> > CacheMap;
CacheMap m_classNodeListCaches;
CacheMap m_nameNodeListCaches;
- typedef HashMap<QualifiedName, DynamicNodeList::Caches*> TagCacheMap;
+ typedef HashMap<QualifiedName, RefPtr<DynamicNodeList::Caches> > TagCacheMap;
TagCacheMap m_tagNodeListCaches;
- static PassOwnPtr<NodeListsNodeData> create() {
- return new NodeListsNodeData;
- }
-
- ~NodeListsNodeData()
+ static PassOwnPtr<NodeListsNodeData> create()
{
- deleteAllValues(m_classNodeListCaches);
- deleteAllValues(m_nameNodeListCaches);
- deleteAllValues(m_tagNodeListCaches);
+ return new NodeListsNodeData;
}
void invalidateCaches();
@@ -62,7 +56,10 @@ struct NodeListsNodeData {
bool isEmpty() const;
private:
- NodeListsNodeData() { }
+ NodeListsNodeData()
+ : m_childNodeListCaches(DynamicNodeList::Caches::create())
+ {
+ }
};
class NodeRareData {
diff --git a/src/3rdparty/webkit/WebCore/dom/Notation.h b/src/3rdparty/webkit/WebCore/dom/Notation.h
index 6f5bf3f..2bd5363 100644
--- a/src/3rdparty/webkit/WebCore/dom/Notation.h
+++ b/src/3rdparty/webkit/WebCore/dom/Notation.h
@@ -29,8 +29,7 @@
namespace WebCore {
-class Notation : public ContainerNode
-{
+class Notation : public ContainerNode {
public:
Notation(Document*);
Notation(Document*, const String& name, const String& publicId, const String& systemId);
diff --git a/src/3rdparty/webkit/WebCore/dom/Position.h b/src/3rdparty/webkit/WebCore/dom/Position.h
index 57f73ec..b434ec9 100644
--- a/src/3rdparty/webkit/WebCore/dom/Position.h
+++ b/src/3rdparty/webkit/WebCore/dom/Position.h
@@ -70,7 +70,7 @@ public:
// For creating offset positions:
Position(PassRefPtr<Node> anchorNode, int offset, AnchorType);
- AnchorType anchorType() const { return m_anchorType; }
+ AnchorType anchorType() const { return static_cast<AnchorType>(m_anchorType); }
void clear() { m_anchorNode.clear(); m_offset = 0; m_anchorType = PositionIsOffsetInAnchor; m_isLegacyEditingPosition = false; }
@@ -172,7 +172,7 @@ private:
// returns true, then other places in editing will treat m_offset == 0 as "before the anchor"
// and m_offset > 0 as "after the anchor node". See rangeCompliantEquivalent for more info.
int m_offset;
- AnchorType m_anchorType : 2;
+ unsigned m_anchorType : 2;
bool m_isLegacyEditingPosition : 1;
};
diff --git a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp
index 879bf62..806bf92 100644
--- a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp
@@ -123,7 +123,7 @@ void ProcessingInstruction::checkStyleSheet()
bool isCSS = type.isEmpty() || type == "text/css";
#if ENABLE(XSLT)
m_isXSL = (type == "text/xml" || type == "text/xsl" || type == "application/xml" ||
- type == "application/xhtml+xml" || type == "application/rss+xml" || type == "application/atom=xml");
+ type == "application/xhtml+xml" || type == "application/rss+xml" || type == "application/atom+xml");
if (!isCSS && !m_isXSL)
#else
if (!isCSS)
diff --git a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h
index 3f42ed4..d133019 100644
--- a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h
+++ b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h
@@ -33,8 +33,7 @@ namespace WebCore {
class StyleSheet;
class CSSStyleSheet;
-class ProcessingInstruction : public ContainerNode, private CachedResourceClient
-{
+class ProcessingInstruction : public ContainerNode, private CachedResourceClient {
public:
ProcessingInstruction(Document*);
ProcessingInstruction(Document*, const String& target, const String& data);
diff --git a/src/3rdparty/webkit/WebCore/dom/Range.cpp b/src/3rdparty/webkit/WebCore/dom/Range.cpp
index 4fb1164..edee305 100644
--- a/src/3rdparty/webkit/WebCore/dom/Range.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Range.cpp
@@ -90,6 +90,7 @@ PassRefPtr<Range> Range::create(PassRefPtr<Document> ownerDocument, PassRefPtr<N
PassRefPtr<Range> Range::create(PassRefPtr<Document> ownerDocument, const Position& start, const Position& end)
{
+ // FIXME: we shouldn't be using deprecatedEditingOffset here
return adoptRef(new Range(ownerDocument, start.node(), start.deprecatedEditingOffset(), end.node(), end.deprecatedEditingOffset()));
}
@@ -294,7 +295,7 @@ bool Range::isPointInRange(Node* refNode, int offset, ExceptionCode& ec)
&& compareBoundaryPoints(refNode, offset, m_end.container(), m_end.offset()) <= 0;
}
-short Range::comparePoint(Node* refNode, int offset, ExceptionCode& ec)
+short Range::comparePoint(Node* refNode, int offset, ExceptionCode& ec) const
{
// http://developer.mozilla.org/en/docs/DOM:range.comparePoint
// This method returns -1, 0 or 1 depending on if the point described by the
@@ -332,7 +333,7 @@ short Range::comparePoint(Node* refNode, int offset, ExceptionCode& ec)
return 0;
}
-Range::CompareResults Range::compareNode(Node* refNode, ExceptionCode& ec)
+Range::CompareResults Range::compareNode(Node* refNode, ExceptionCode& ec) const
{
// http://developer.mozilla.org/en/docs/DOM:range.compareNode
// This method returns 0, 1, 2, or 3 based on if the node is before, after,
@@ -725,7 +726,7 @@ PassRefPtr<DocumentFragment> Range::processContents(ActionType action, Exception
for (; leftParent != commonRoot; leftParent = leftParent->parentNode()) {
if (action == EXTRACT_CONTENTS || action == CLONE_CONTENTS) {
RefPtr<Node> leftContentsParent = leftParent->cloneNode(false);
- leftContentsParent->appendChild(leftContents,ec);
+ leftContentsParent->appendChild(leftContents, ec);
leftContents = leftContentsParent;
}
@@ -733,11 +734,11 @@ PassRefPtr<DocumentFragment> Range::processContents(ActionType action, Exception
for (; n; n = next) {
next = n->nextSibling();
if (action == EXTRACT_CONTENTS)
- leftContents->appendChild(n,ec); // will remove n from leftParent
+ leftContents->appendChild(n, ec); // will remove n from leftParent
else if (action == CLONE_CONTENTS)
- leftContents->appendChild(n->cloneNode(true),ec);
+ leftContents->appendChild(n->cloneNode(true), ec);
else
- leftParent->removeChild(n,ec);
+ leftParent->removeChild(n, ec);
}
n = leftParent->nextSibling();
}
@@ -795,7 +796,7 @@ PassRefPtr<DocumentFragment> Range::processContents(ActionType action, Exception
for (; rightParent != commonRoot; rightParent = rightParent->parentNode()) {
if (action == EXTRACT_CONTENTS || action == CLONE_CONTENTS) {
RefPtr<Node> rightContentsParent = rightParent->cloneNode(false);
- rightContentsParent->appendChild(rightContents,ec);
+ rightContentsParent->appendChild(rightContents, ec);
rightContents = rightContentsParent;
}
Node* prev;
diff --git a/src/3rdparty/webkit/WebCore/dom/Range.h b/src/3rdparty/webkit/WebCore/dom/Range.h
index 115f442..1487a7c 100644
--- a/src/3rdparty/webkit/WebCore/dom/Range.h
+++ b/src/3rdparty/webkit/WebCore/dom/Range.h
@@ -59,10 +59,10 @@ public:
void setStart(PassRefPtr<Node> container, int offset, ExceptionCode&);
void setEnd(PassRefPtr<Node> container, int offset, ExceptionCode&);
void collapse(bool toStart, ExceptionCode&);
- bool isPointInRange(Node* refNode, int offset, ExceptionCode& ec);
- short comparePoint(Node* refNode, int offset, ExceptionCode& ec);
+ bool isPointInRange(Node* refNode, int offset, ExceptionCode&);
+ short comparePoint(Node* refNode, int offset, ExceptionCode&) const;
enum CompareResults { NODE_BEFORE, NODE_AFTER, NODE_BEFORE_AND_AFTER, NODE_INSIDE };
- CompareResults compareNode(Node* refNode, ExceptionCode&);
+ CompareResults compareNode(Node* refNode, ExceptionCode&) const;
enum CompareHow { START_TO_START, START_TO_END, END_TO_END, END_TO_START };
short compareBoundaryPoints(CompareHow, const Range* sourceRange, ExceptionCode&) const;
static short compareBoundaryPoints(Node* containerA, int offsetA, Node* containerB, int offsetB);
diff --git a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
index 7b2f36a..3f8febc 100644
--- a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
+++ b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
@@ -64,7 +64,7 @@ namespace WebCore {
SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); }
virtual void reportException(const String& errorMessage, int lineNumber, const String& sourceURL) = 0;
- virtual void addMessage(MessageDestination, MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL) = 0;
+ virtual void addMessage(MessageDestination, MessageSource, MessageType, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL) = 0;
virtual void resourceRetrievedByXMLHttpRequest(unsigned long identifier, const ScriptString& sourceString) = 0;
virtual void scriptImported(unsigned long, const String&) = 0;
diff --git a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
index 1831f3a..45f3bd8 100644
--- a/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/SelectElement.cpp
@@ -47,10 +47,17 @@
#include "WMLSelectElement.h"
#endif
-#if PLATFORM(MAC)
+// Configure platform-specific behavior when focused pop-up receives arrow/space/return keystroke.
+// (PLATFORM(MAC) is always false in Chromium, hence the extra test.)
+#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN))
#define ARROW_KEYS_POP_MENU 1
+#define SPACE_OR_RETURN_POP_MENU 0
+#elif PLATFORM(GTK)
+#define ARROW_KEYS_POP_MENU 0
+#define SPACE_OR_RETURN_POP_MENU 1
#else
#define ARROW_KEYS_POP_MENU 0
+#define SPACE_OR_RETURN_POP_MENU 0
#endif
using std::min;
@@ -509,6 +516,29 @@ void SelectElement::reset(SelectElementData& data, Element* element)
element->setNeedsStyleRecalc();
}
+
+#if !ARROW_KEYS_POP_MENU
+enum SkipDirection {
+ SkipBackwards = -1,
+ SkipForwards = 1
+};
+
+// Returns the index of the next valid list item |skip| items past |listIndex| in direction |direction|.
+static int nextValidIndex(const Vector<Element*>& listItems, int listIndex, SkipDirection direction, int skip)
+{
+ int lastGoodIndex = listIndex;
+ int size = listItems.size();
+ for (listIndex += direction; listIndex >= 0 && listIndex < size; listIndex += direction) {
+ --skip;
+ if (!listItems[listIndex]->disabled() && isOptionElement(listItems[listIndex])) {
+ lastGoodIndex = listIndex;
+ if (skip <= 0)
+ break;
+ }
+ }
+ return lastGoodIndex;
+}
+#endif
void SelectElement::menuListDefaultEventHandler(SelectElementData& data, Element* element, Event* event, HTMLFormElement* htmlForm)
{
@@ -535,24 +565,30 @@ void SelectElement::menuListDefaultEventHandler(SelectElementData& data, Element
}
#else
const Vector<Element*>& listItems = data.listItems(element);
- int size = listItems.size();
int listIndex = optionToListIndex(data, element, selectedIndex(data, element));
if (keyIdentifier == "Down" || keyIdentifier == "Right") {
- for (listIndex += 1;
- listIndex >= 0 && listIndex < size && (listItems[listIndex]->disabled() || !isOptionElement(listItems[listIndex]));
- ++listIndex) { }
- if (listIndex >= 0 && listIndex < size)
- setSelectedIndex(data, element, listToOptionIndex(data, element, listIndex));
+ listIndex = nextValidIndex(listItems, listIndex, SkipForwards, 1);
handled = true;
} else if (keyIdentifier == "Up" || keyIdentifier == "Left") {
- for (listIndex -= 1;
- listIndex >= 0 && listIndex < size && (listItems[listIndex]->disabled() || !isOptionElement(listItems[listIndex]));
- --listIndex) { }
- if (listIndex >= 0 && listIndex < size)
- setSelectedIndex(data, element, listToOptionIndex(data, element, listIndex));
+ listIndex = nextValidIndex(listItems, listIndex, SkipBackwards, 1);
+ handled = true;
+ } else if (keyIdentifier == "PageDown") {
+ listIndex = nextValidIndex(listItems, listIndex, SkipForwards, 3);
+ handled = true;
+ } else if (keyIdentifier == "PageUp") {
+ listIndex = nextValidIndex(listItems, listIndex, SkipBackwards, 3);
+ handled = true;
+ } else if (keyIdentifier == "Home") {
+ listIndex = nextValidIndex(listItems, -1, SkipForwards, 1);
+ handled = true;
+ } else if (keyIdentifier == "End") {
+ listIndex = nextValidIndex(listItems, listItems.size(), SkipBackwards, 1);
handled = true;
}
+
+ if (handled && listIndex >= 0 && listIndex < listItems.size())
+ setSelectedIndex(data, element, listToOptionIndex(data, element, listIndex));
#endif
if (handled)
event->setDefaultHandled();
@@ -567,7 +603,17 @@ void SelectElement::menuListDefaultEventHandler(SelectElementData& data, Element
int keyCode = static_cast<KeyboardEvent*>(event)->keyCode();
bool handled = false;
-#if ARROW_KEYS_POP_MENU
+#if SPACE_OR_RETURN_POP_MENU
+ if (keyCode == ' ' || keyCode == '\r') {
+ element->focus();
+ // Save the selection so it can be compared to the new selection when dispatching change events during setSelectedIndex,
+ // which gets called from RenderMenuList::valueChanged, which gets called after the user makes a selection from the menu.
+ saveLastSelection(data, element);
+ if (RenderMenuList* menuList = static_cast<RenderMenuList*>(element->renderer()))
+ menuList->showPopup();
+ handled = true;
+ }
+#elif ARROW_KEYS_POP_MENU
if (keyCode == ' ') {
element->focus();
// Save the selection so it can be compared to the new selection when dispatching change events during setSelectedIndex,
@@ -867,6 +913,19 @@ void SelectElement::accessKeySetSelectedIndex(SelectElementData& data, Element*
scrollToSelection(data, element);
}
+unsigned SelectElement::optionCount(const SelectElementData& data, const Element* element)
+{
+ unsigned options = 0;
+
+ const Vector<Element*>& items = data.listItems(element);
+ for (unsigned i = 0; i < items.size(); ++i) {
+ if (isOptionElement(items[i]))
+ ++options;
+ }
+
+ return options;
+}
+
// SelectElementData
SelectElementData::SelectElementData()
: m_multiple(false)
diff --git a/src/3rdparty/webkit/WebCore/dom/SelectElement.h b/src/3rdparty/webkit/WebCore/dom/SelectElement.h
index 29187ae..4cc76a0 100644
--- a/src/3rdparty/webkit/WebCore/dom/SelectElement.h
+++ b/src/3rdparty/webkit/WebCore/dom/SelectElement.h
@@ -95,7 +95,8 @@ protected:
static void typeAheadFind(SelectElementData&, Element*, KeyboardEvent*);
static void insertedIntoTree(SelectElementData&, Element*);
static void accessKeySetSelectedIndex(SelectElementData&, Element*, int index);
-
+ static unsigned optionCount(const SelectElementData&, const Element*);
+
private:
static void menuListDefaultEventHandler(SelectElementData&, Element*, Event*, HTMLFormElement*);
static void listBoxDefaultEventHandler(SelectElementData&, Element*, Event*, HTMLFormElement*);
diff --git a/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp b/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp
index 8ddfd31..456cc52 100644
--- a/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/StyledElement.cpp
@@ -194,8 +194,8 @@ void StyledElement::attributeChanged(Attribute* attr, bool preserveDecls)
if (needToParse)
parseMappedAttribute(mappedAttr);
- if (entry == eNone && ownerDocument()->attached() && ownerDocument()->styleSelector()->hasSelectorForAttribute(attr->name().localName()))
- setNeedsStyleRecalc();
+ if (entry == eNone)
+ recalcStyleIfNeededAfterAttributeChanged(attr);
if (checkDecl && mappedAttr->decl()) {
// Add the decl to the table in the appropriate spot.
@@ -206,7 +206,7 @@ void StyledElement::attributeChanged(Attribute* attr, bool preserveDecls)
if (namedAttrMap)
mappedAttributes()->declAdded();
}
- Element::attributeChanged(attr, preserveDecls);
+ updateAfterAttributeChanged(attr);
}
bool StyledElement::mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const
@@ -280,10 +280,11 @@ CSSStyleDeclaration* StyledElement::style()
return getInlineStyleDecl();
}
-static inline int toHex(UChar c) {
+static inline int toHex(UChar c)
+{
return ((c >= '0' && c <= '9') ? (c - '0')
: ((c >= 'a' && c <= 'f') ? (c - 'a' + 10)
- : (( c >= 'A' && c <= 'F') ? (c - 'A' + 10)
+ : ((c >= 'A' && c <= 'F') ? (c - 'A' + 10)
: -1)));
}
diff --git a/src/3rdparty/webkit/WebCore/dom/Text.cpp b/src/3rdparty/webkit/WebCore/dom/Text.cpp
index 04e499a..bbd926b 100644
--- a/src/3rdparty/webkit/WebCore/dom/Text.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/Text.cpp
@@ -260,6 +260,19 @@ RenderObject *Text::createRenderer(RenderArena* arena, RenderStyle*)
void Text::attach()
{
+#if ENABLE(WML)
+ if (document()->isWMLDocument() && !containsOnlyWhitespace()) {
+ String text = m_data;
+ ASSERT(!text.isEmpty());
+
+ text = substituteVariableReferences(text, document());
+
+ ExceptionCode code = 0;
+ setData(text, code);
+ ASSERT(!code);
+ }
+#endif
+
createRendererIfNeeded();
CharacterData::attach();
}
@@ -319,29 +332,6 @@ PassRefPtr<Text> Text::createWithLengthLimit(Document* doc, const String& text,
return new Text(doc, nodeText);
}
-#if ENABLE(WML)
-void Text::insertedIntoDocument()
-{
- CharacterData::insertedIntoDocument();
-
- if (!parentNode()->isWMLElement() || !length())
- return;
-
- WMLPageState* pageState = wmlPageStateForDocument(document());
- if (!pageState->hasVariables())
- return;
-
- String text = data();
- if (!text.impl() || text.impl()->containsOnlyWhitespace())
- return;
-
- text = substituteVariableReferences(text, document());
-
- ExceptionCode ec;
- setData(text, ec);
-}
-#endif
-
#ifndef NDEBUG
void Text::formatForDebugger(char *buffer, unsigned length) const
{
diff --git a/src/3rdparty/webkit/WebCore/dom/Text.h b/src/3rdparty/webkit/WebCore/dom/Text.h
index 5e711d0..e5a6e69 100644
--- a/src/3rdparty/webkit/WebCore/dom/Text.h
+++ b/src/3rdparty/webkit/WebCore/dom/Text.h
@@ -59,10 +59,6 @@ public:
static PassRefPtr<Text> createWithLengthLimit(Document*, const String&, unsigned& charsLeft, unsigned maxChars = cTextNodeLengthLimit);
-#if ENABLE(WML)
- virtual void insertedIntoDocument();
-#endif
-
#ifndef NDEBUG
virtual void formatForDebugger(char* buffer, unsigned length) const;
#endif
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
index 4098eaa..4387a66 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp
@@ -72,7 +72,7 @@ using namespace std;
namespace WebCore {
-class PendingCallbacks : Noncopyable {
+class PendingCallbacks : public Noncopyable {
public:
~PendingCallbacks()
{
@@ -195,7 +195,8 @@ private:
};
struct PendingStartElementNSCallback : public PendingCallback {
- virtual ~PendingStartElementNSCallback() {
+ virtual ~PendingStartElementNSCallback()
+ {
xmlFree(xmlLocalName);
xmlFree(xmlPrefix);
xmlFree(xmlURI);
@@ -208,7 +209,8 @@ private:
xmlFree(attributes);
}
- virtual void call(XMLTokenizer* tokenizer) {
+ virtual void call(XMLTokenizer* tokenizer)
+ {
tokenizer->startElementNs(xmlLocalName, xmlPrefix, xmlURI,
nb_namespaces, const_cast<const xmlChar**>(namespaces),
nb_attributes, nb_defaulted, const_cast<const xmlChar**>(attributes));
@@ -312,7 +314,7 @@ private:
struct PendingErrorCallback: public PendingCallback {
virtual ~PendingErrorCallback()
{
- free (message);
+ free(message);
}
virtual void call(XMLTokenizer* tokenizer)
@@ -344,7 +346,8 @@ class OffsetBuffer {
public:
OffsetBuffer(const Vector<char>& b) : m_buffer(b), m_currentOffset(0) { }
- int readOutBytes(char* outputBuffer, unsigned askedToRead) {
+ int readOutBytes(char* outputBuffer, unsigned askedToRead)
+ {
unsigned bytesLeft = m_buffer.size() - m_currentOffset;
unsigned lenToCopy = min(askedToRead, bytesLeft);
if (lenToCopy) {
@@ -668,7 +671,7 @@ typedef struct _xmlSAX2Namespace xmlSAX2Namespace;
static inline void handleElementNamespaces(Element* newElement, const xmlChar** libxmlNamespaces, int nb_namespaces, ExceptionCode& ec)
{
xmlSAX2Namespace* namespaces = reinterpret_cast<xmlSAX2Namespace*>(libxmlNamespaces);
- for(int i = 0; i < nb_namespaces; i++) {
+ for (int i = 0; i < nb_namespaces; i++) {
String namespaceQName = "xmlns";
String namespaceURI = toString(namespaces[i].uri);
if (namespaces[i].prefix)
@@ -691,7 +694,7 @@ typedef struct _xmlSAX2Attributes xmlSAX2Attributes;
static inline void handleElementAttributes(Element* newElement, const xmlChar** libxmlAttributes, int nb_attributes, ExceptionCode& ec)
{
xmlSAX2Attributes* attributes = reinterpret_cast<xmlSAX2Attributes*>(libxmlAttributes);
- for(int i = 0; i < nb_attributes; i++) {
+ for (int i = 0; i < nb_attributes; i++) {
String attrLocalName = toString(attributes[i].localname);
int valueLength = (int) (attributes[i].end - attributes[i].value);
String attrValue = toString(attributes[i].value, valueLength);
@@ -1407,7 +1410,7 @@ static void attributesStartElementNsHandler(void* closure, const xmlChar* xmlLoc
state->gotAttributes = true;
xmlSAX2Attributes* attributes = reinterpret_cast<xmlSAX2Attributes*>(libxmlAttributes);
- for(int i = 0; i < nb_attributes; i++) {
+ for (int i = 0; i < nb_attributes; i++) {
String attrLocalName = toString(attributes[i].localname);
int valueLength = (int) (attributes[i].end - attributes[i].value);
String attrValue = toString(attributes[i].value, valueLength);
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
index 3173708..16c637f 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp
@@ -66,8 +66,7 @@ using namespace std;
namespace WebCore {
#if QT_VERSION >= 0x040400
-class EntityResolver : public QXmlStreamEntityResolver
-{
+class EntityResolver : public QXmlStreamEntityResolver {
virtual QString resolveUndeclaredEntity(const QString &name);
};
@@ -354,7 +353,7 @@ static void attributesStartElementNsHandler(AttributeParseState* state, const QX
state->gotAttributes = true;
- for(int i = 0; i < attrs.count(); i++) {
+ for (int i = 0; i < attrs.count(); i++) {
const QXmlStreamAttribute& attr = attrs[i];
String attrLocalName = attr.name();
String attrValue = attr.value();
@@ -540,7 +539,7 @@ void XMLTokenizer::parseStartElement()
String prefix = prefixFromQName(m_stream.qualifiedName().toString());
if (m_parsingFragment && uri.isNull()) {
- Q_ASSERT (prefix.isNull());
+ Q_ASSERT(prefix.isNull());
uri = m_defaultNamespaceURI;
}
diff --git a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h
index a3c1188..c29b796 100644
--- a/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h
+++ b/src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h
@@ -36,7 +36,7 @@ namespace WebCore {
class DocLoader;
- class XMLTokenizerScope : Noncopyable {
+ class XMLTokenizerScope : public Noncopyable {
public:
XMLTokenizerScope(DocLoader* docLoader);
~XMLTokenizerScope();
diff --git a/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp b/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp
index 80ab7c8..d668703 100644
--- a/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp
@@ -37,6 +37,27 @@
namespace WebCore {
// MessagePortChannel implementations - just delegate to the PlatformMessagePortChannel.
+void MessagePortChannel::createChannel(PassRefPtr<MessagePort> port1, PassRefPtr<MessagePort> port2)
+{
+ PlatformMessagePortChannel::createChannel(port1, port2);
+}
+
+PassOwnPtr<MessagePortChannel> MessagePortChannel::create(PassRefPtr<PlatformMessagePortChannel> channel)
+{
+ return new MessagePortChannel(channel);
+}
+
+MessagePortChannel::MessagePortChannel(PassRefPtr<PlatformMessagePortChannel> channel)
+ : m_channel(channel)
+{
+}
+
+MessagePortChannel::~MessagePortChannel()
+{
+ // Make sure we close our platform channel when the base is freed, to keep the channel objects from leaking.
+ m_channel->close();
+}
+
bool MessagePortChannel::entangleIfOpen(MessagePort* port)
{
return m_channel->entangleIfOpen(port);
diff --git a/src/3rdparty/webkit/WebCore/dom/make_names.pl b/src/3rdparty/webkit/WebCore/dom/make_names.pl
index 12f0ec7..e6d59a0 100755
--- a/src/3rdparty/webkit/WebCore/dom/make_names.pl
+++ b/src/3rdparty/webkit/WebCore/dom/make_names.pl
@@ -875,22 +875,23 @@ sub printWrapperFunctions
}
# Hack for the media tags
+ # FIXME: This should have been done via a CustomWrapper attribute and a separate *Custom file.
if ($tags{$tagName}{"wrapperOnlyIfMediaIsAvailable"}) {
print F <<END
-static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, PassRefPtr<$parameters{'namespace'}Element> element)
+static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<$parameters{'namespace'}Element> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, $parameters{'namespace'}Element, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, ${JSInterfaceName}, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, $parameters{'namespace'}Element, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, ${JSInterfaceName}, element.get());
}
END
;
} else {
print F <<END
-static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, PassRefPtr<$parameters{'namespace'}Element> element)
+static JSNode* create${JSInterfaceName}Wrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<$parameters{'namespace'}Element> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, ${JSInterfaceName}, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, ${JSInterfaceName}, element.get());
}
END
@@ -931,7 +932,7 @@ namespace WebCore {
using namespace $parameters{'namespace'}Names;
-typedef JSNode* (*Create$parameters{'namespace'}ElementWrapperFunction)(ExecState*, PassRefPtr<$parameters{'namespace'}Element>);
+typedef JSNode* (*Create$parameters{'namespace'}ElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<$parameters{'namespace'}Element>);
END
;
@@ -939,7 +940,7 @@ END
printWrapperFunctions($F);
print F <<END
-JSNode* createJS$parameters{'namespace'}Wrapper(ExecState* exec, PassRefPtr<$parameters{'namespace'}Element> element)
+JSNode* createJS$parameters{'namespace'}Wrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<$parameters{'namespace'}Element> element)
{
typedef HashMap<WebCore::AtomicStringImpl*, Create$parameters{'namespace'}ElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -969,8 +970,8 @@ END
}
Create$parameters{'namespace'}ElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
if (createWrapperFunction)
- return createWrapperFunction(exec, element);
- return CREATE_DOM_NODE_WRAPPER(exec, $parameters{'namespace'}Element, element.get());
+ return createWrapperFunction(exec, globalObject, element);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, $parameters{'namespace'}Element, element.get());
}
}
@@ -1006,9 +1007,10 @@ namespace JSC {
namespace WebCore {
class JSNode;
+ class JSDOMGlobalObject;
class $parameters{'namespace'}Element;
- JSNode* createJS$parameters{'namespace'}Wrapper(JSC::ExecState*, PassRefPtr<$parameters{'namespace'}Element>);
+ JSNode* createJS$parameters{'namespace'}Wrapper(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<$parameters{'namespace'}Element>);
}
diff --git a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
index 8d0312b..36cd823 100644
--- a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp
@@ -98,13 +98,12 @@ void StyleChange::init(PassRefPtr<CSSStyleDeclaration> style, const Position& po
Document* document = position.node() ? position.node()->document() : 0;
if (!document || !document->frame())
return;
-
+
bool useHTMLFormattingTags = !document->frame()->editor()->shouldStyleWithCSS();
-
RefPtr<CSSMutableStyleDeclaration> mutableStyle = style->makeMutable();
-
+ // We shouldn't have both text-decoration and -webkit-text-decorations-in-effect because that wouldn't make sense.
+ ASSERT(!mutableStyle->getPropertyCSSValue(CSSPropertyTextDecoration) || !mutableStyle->getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect));
String styleText("");
-
bool addedDirection = false;
CSSMutableStyleDeclaration::const_iterator end = mutableStyle->end();
for (CSSMutableStyleDeclaration::const_iterator it = mutableStyle->begin(); it != end; ++it) {
@@ -130,12 +129,12 @@ void StyleChange::init(PassRefPtr<CSSStyleDeclaration> style, const Position& po
}
// Add this property
-
- if (property->id() == CSSPropertyWebkitTextDecorationsInEffect) {
- // we have to special-case text decorations
- // FIXME: Why?
+ if (property->id() == CSSPropertyTextDecoration || property->id() == CSSPropertyWebkitTextDecorationsInEffect) {
+ // Always use text-decoration because -webkit-text-decoration-in-effect is internal.
CSSProperty alteredProperty(CSSPropertyTextDecoration, property->value(), property->isImportant());
- styleText += alteredProperty.cssText();
+ // We don't add "text-decoration: none" because it doesn't override the existing text decorations; i.e. redundant
+ if (!equalIgnoringCase(alteredProperty.value()->cssText(), "none"))
+ styleText += alteredProperty.cssText();
} else
styleText += property->cssText();
@@ -787,7 +786,7 @@ void ApplyStyleCommand::applyInlineStyle(CSSMutableStyleDeclaration *style)
styleWithoutEmbedding->removeProperty(CSSPropertyUnicodeBidi);
styleWithoutEmbedding->removeProperty(CSSPropertyDirection);
removeInlineStyle(styleWithoutEmbedding, removeStart, end);
- } else
+ } else
removeInlineStyle(style, removeStart, end);
start = startPosition();
@@ -857,7 +856,7 @@ void ApplyStyleCommand::applyInlineStyle(CSSMutableStyleDeclaration *style)
styleWithoutEmbedding->removeProperty(CSSPropertyUnicodeBidi);
styleWithoutEmbedding->removeProperty(CSSPropertyDirection);
applyInlineStyleToRange(styleWithoutEmbedding.get(), start, end);
- } else
+ } else
applyInlineStyleToRange(style, start, end);
// Remove dummy style spans created by splitting text elements.
@@ -962,6 +961,25 @@ bool ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle(
if (elem->hasLocalName(iTag) || elem->hasLocalName(emTag))
return true;
break;
+ case CSSPropertyTextDecoration:
+ case CSSPropertyWebkitTextDecorationsInEffect:
+ ASSERT(property.value());
+ if (property.value()->isValueList()) {
+ CSSValueList* valueList = static_cast<CSSValueList*>(property.value());
+ DEFINE_STATIC_LOCAL(RefPtr<CSSPrimitiveValue>, underline, (CSSPrimitiveValue::createIdentifier(CSSValueUnderline)));
+ DEFINE_STATIC_LOCAL(RefPtr<CSSPrimitiveValue>, lineThrough, (CSSPrimitiveValue::createIdentifier(CSSValueLineThrough)));
+ // Because style is new style to be applied, we delete element only if the element is not used in style.
+ if (!valueList->hasValue(underline.get()) && elem->hasLocalName(uTag))
+ return true;
+ if (!valueList->hasValue(lineThrough.get()) && (elem->hasLocalName(strikeTag) || elem->hasLocalName(sTag)))
+ return true;
+ } else {
+ // If the value is NOT a list, then it must be "none", in which case we should remove all text decorations.
+ ASSERT(property.value()->cssText() == "none");
+ if (elem->hasLocalName(uTag) || elem->hasLocalName(strikeTag) || elem->hasLocalName(sTag))
+ return true;
+ }
+ break;
}
}
return false;
@@ -1075,11 +1093,17 @@ static bool hasTextDecorationProperty(Node *node)
static Node* highestAncestorWithTextDecoration(Node *node)
{
- Node *result = NULL;
+ ASSERT(node);
+ Node* result = 0;
+ Node* unsplittableElement = unsplittableElementForPosition(Position(node, 0));
for (Node *n = node; n; n = n->parentNode()) {
if (hasTextDecorationProperty(n))
result = n;
+ // Should stop at the editable root (cannot cross editing boundary) and
+ // also stop at the unsplittable element to be consistent with other UAs
+ if (n == unsplittableElement)
+ break;
}
return result;
@@ -1162,32 +1186,35 @@ void ApplyStyleCommand::applyTextDecorationStyle(Node *node, CSSMutableStyleDecl
}
}
-void ApplyStyleCommand::pushDownTextDecorationStyleAroundNode(Node* node, bool force)
+void ApplyStyleCommand::pushDownTextDecorationStyleAroundNode(Node* targetNode, bool forceNegate)
{
- Node *highestAncestor = highestAncestorWithTextDecoration(node);
-
- if (highestAncestor) {
- Node *nextCurrent;
- Node *nextChild;
- for (Node *current = highestAncestor; current != node; current = nextCurrent) {
- ASSERT(current);
-
- nextCurrent = NULL;
-
- RefPtr<CSSMutableStyleDeclaration> decoration = force ? extractAndNegateTextDecorationStyle(current) : extractTextDecorationStyle(current);
+ ASSERT(targetNode);
+ Node* highestAncestor = highestAncestorWithTextDecoration(targetNode);
+ if (!highestAncestor)
+ return;
- for (Node *child = current->firstChild(); child; child = nextChild) {
- nextChild = child->nextSibling();
+ // The outer loop is traversing the tree vertically from highestAncestor to targetNode
+ Node* current = highestAncestor;
+ while (current != targetNode) {
+ ASSERT(current);
+ ASSERT(current->contains(targetNode));
+ RefPtr<CSSMutableStyleDeclaration> decoration = forceNegate ? extractAndNegateTextDecorationStyle(current) : extractTextDecorationStyle(current);
+
+ // The inner loop will go through children on each level
+ Node* child = current->firstChild();
+ while (child) {
+ Node* nextChild = child->nextSibling();
+
+ // Apply text decoration to all nodes containing targetNode and their siblings but NOT to targetNode
+ if (child != targetNode)
+ applyTextDecorationStyle(child, decoration.get());
+
+ // We found the next node for the outer loop (contains targetNode)
+ // When reached targetNode, stop the outer loop upon the completion of the current inner loop
+ if (child == targetNode || child->contains(targetNode))
+ current = child;
- if (node == child) {
- nextCurrent = child;
- } else if (node->isDescendantOf(child)) {
- applyTextDecorationStyle(child, decoration.get());
- nextCurrent = child;
- } else {
- applyTextDecorationStyle(child, decoration.get());
- }
- }
+ child = nextChild;
}
}
}
diff --git a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h
index 74fe605..61213d8 100644
--- a/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h
+++ b/src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h
@@ -73,7 +73,7 @@ private:
PassRefPtr<CSSMutableStyleDeclaration> extractTextDecorationStyle(Node*);
PassRefPtr<CSSMutableStyleDeclaration> extractAndNegateTextDecorationStyle(Node*);
void applyTextDecorationStyle(Node*, CSSMutableStyleDeclaration *style);
- void pushDownTextDecorationStyleAroundNode(Node*, bool force);
+ void pushDownTextDecorationStyleAroundNode(Node*, bool forceNegate);
void pushDownTextDecorationStyleAtBoundaries(const Position& start, const Position& end);
// style-application helpers
diff --git a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
index 8e4f950..9737e92 100644
--- a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
@@ -1041,6 +1041,8 @@ Position CompositeEditCommand::positionAvoidingSpecialElementBoundary(const Posi
// to determine if the split is necessary. Returns the last split node.
PassRefPtr<Node> CompositeEditCommand::splitTreeToNode(Node* start, Node* end, bool splitAncestor)
{
+ ASSERT(start != end);
+
RefPtr<Node> node;
for (node = start; node && node->parent() != end; node = node->parent()) {
VisiblePosition positionInParent(Position(node->parent(), 0), DOWNSTREAM);
diff --git a/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp b/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp
index 5a0d8fc..d3ac341 100644
--- a/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp
@@ -260,8 +260,8 @@ static void removeEnclosingAnchorStyle(CSSMutableStyleDeclaration* style, const
if (!enclosingAnchor || !enclosingAnchor->parentNode())
return;
- RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(enclosingAnchor->parentNode(), 0).computedStyle()->copyInheritableProperties();
- RefPtr<CSSMutableStyleDeclaration> anchorStyle = Position(enclosingAnchor, 0).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(enclosingAnchor->parentNode(), 0).computedStyle()->deprecatedCopyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> anchorStyle = Position(enclosingAnchor, 0).computedStyle()->deprecatedCopyInheritableProperties();
parentStyle->diff(anchorStyle.get());
anchorStyle->diff(style);
}
@@ -280,7 +280,7 @@ void DeleteSelectionCommand::saveTypingStyleState()
// Figure out the typing style in effect before the delete is done.
RefPtr<CSSComputedStyleDeclaration> computedStyle = positionBeforeTabSpan(m_selectionToDelete.start()).computedStyle();
- m_typingStyle = computedStyle->copyInheritableProperties();
+ m_typingStyle = computedStyle->deprecatedCopyInheritableProperties();
removeEnclosingAnchorStyle(m_typingStyle.get(), m_selectionToDelete.start());
@@ -288,7 +288,7 @@ void DeleteSelectionCommand::saveTypingStyleState()
// We'll use this later in computeTypingStyleAfterDelete if we end up outside of a Mail blockquote
if (nearestMailBlockquote(m_selectionToDelete.start().node())) {
computedStyle = m_selectionToDelete.end().computedStyle();
- m_deleteIntoBlockquoteStyle = computedStyle->copyInheritableProperties();
+ m_deleteIntoBlockquoteStyle = computedStyle->deprecatedCopyInheritableProperties();
} else
m_deleteIntoBlockquoteStyle = 0;
}
@@ -365,7 +365,7 @@ void DeleteSelectionCommand::removeNode(PassRefPtr<Node> node)
updateLayout();
RenderObject *r = node->renderer();
if (r && r->isTableCell() && static_cast<RenderTableCell*>(r)->contentHeight() <= 0)
- insertBlockPlaceholder(Position(node,0));
+ insertBlockPlaceholder(Position(node, 0));
return;
}
diff --git a/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp b/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp
index fefe658..d826231 100644
--- a/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/EditCommand.cpp
@@ -197,7 +197,7 @@ bool EditCommand::isTypingCommand() const
PassRefPtr<CSSMutableStyleDeclaration> EditCommand::styleAtPosition(const Position &pos)
{
- RefPtr<CSSMutableStyleDeclaration> style = positionBeforeTabSpan(pos).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> style = positionBeforeTabSpan(pos).computedStyle()->deprecatedCopyInheritableProperties();
// FIXME: It seems misleading to also include the typing style when returning the style at some arbitrary
// position in the document.
diff --git a/src/3rdparty/webkit/WebCore/editing/Editor.cpp b/src/3rdparty/webkit/WebCore/editing/Editor.cpp
index 2ad5cce..0b150d3 100644
--- a/src/3rdparty/webkit/WebCore/editing/Editor.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/Editor.cpp
@@ -655,9 +655,9 @@ PassRefPtr<Node> Editor::increaseSelectionListLevelOrdered()
if (!canEditRichly() || m_frame->selection()->isNone())
return 0;
- PassRefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered(m_frame->document());
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelOrdered(m_frame->document());
revealSelectionAfterEditingOperation();
- return newList;
+ return newList.release();
}
PassRefPtr<Node> Editor::increaseSelectionListLevelUnordered()
@@ -665,9 +665,9 @@ PassRefPtr<Node> Editor::increaseSelectionListLevelUnordered()
if (!canEditRichly() || m_frame->selection()->isNone())
return 0;
- PassRefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered(m_frame->document());
+ RefPtr<Node> newList = IncreaseSelectionListLevelCommand::increaseSelectionListLevelUnordered(m_frame->document());
revealSelectionAfterEditingOperation();
- return newList;
+ return newList.release();
}
void Editor::decreaseSelectionListLevel()
@@ -1066,9 +1066,9 @@ void Editor::paste()
void Editor::pasteAsPlainText()
{
- if (!canPaste())
+ if (!canPaste())
return;
- pasteAsPlainTextWithPasteboard(Pasteboard::generalPasteboard());
+ pasteAsPlainTextWithPasteboard(Pasteboard::generalPasteboard());
}
void Editor::performDelete()
@@ -2258,20 +2258,9 @@ static void markMisspellingsOrBadGrammar(Editor* editor, const VisibleSelection&
Node* editableNode = searchRange->startContainer();
if (!editableNode || !editableNode->isContentEditable())
return;
-
- // Ascend the DOM tree to find a "spellcheck" attribute.
- // When we find a "spellcheck" attribute, retrieve its value and exit if its value is "false".
- const Node* node = editor->frame()->document()->focusedNode();
- while (node) {
- if (node->isElementNode()) {
- const WebCore::AtomicString& value = static_cast<const Element*>(node)->getAttribute(spellcheckAttr);
- if (equalIgnoringCase(value, "true"))
- break;
- if (equalIgnoringCase(value, "false"))
- return;
- }
- node = node->parent();
- }
+
+ if (!editor->spellCheckingEnabledInFocusedNode())
+ return;
// Get the spell checker if it is available
if (!editor->client())
@@ -2289,6 +2278,24 @@ static void markMisspellingsOrBadGrammar(Editor* editor, const VisibleSelection&
}
}
+bool Editor::spellCheckingEnabledInFocusedNode() const
+{
+ // Ascend the DOM tree to find a "spellcheck" attribute.
+ // When we find a "spellcheck" attribute, retrieve its value and return false if its value is "false".
+ const Node* node = frame()->document()->focusedNode();
+ while (node) {
+ if (node->isElementNode()) {
+ const WebCore::AtomicString& value = static_cast<const Element*>(node)->getAttribute(spellcheckAttr);
+ if (equalIgnoringCase(value, "true"))
+ return true;
+ if (equalIgnoringCase(value, "false"))
+ return false;
+ }
+ node = node->parent();
+ }
+ return true;
+}
+
void Editor::markMisspellings(const VisibleSelection& selection, RefPtr<Range>& firstMisspellingRange)
{
markMisspellingsOrBadGrammar(this, selection, true, firstMisspellingRange);
@@ -2325,7 +2332,10 @@ void Editor::markAllMisspellingsAndBadGrammarInRanges(bool markSpelling, Range*
Node* editableNode = spellingRange->startContainer();
if (!editableNode || !editableNode->isContentEditable())
return;
-
+
+ if (!spellCheckingEnabledInFocusedNode())
+ return;
+
// Expand the range to encompass entire paragraphs, since text checking needs that much context.
int spellingRangeStartOffset = 0;
int spellingRangeEndOffset = 0;
diff --git a/src/3rdparty/webkit/WebCore/editing/Editor.h b/src/3rdparty/webkit/WebCore/editing/Editor.h
index 67a4b59..5b0cc9c 100644
--- a/src/3rdparty/webkit/WebCore/editing/Editor.h
+++ b/src/3rdparty/webkit/WebCore/editing/Editor.h
@@ -196,6 +196,7 @@ public:
Vector<String> guessesForMisspelledSelection();
Vector<String> guessesForUngrammaticalSelection();
Vector<String> guessesForMisspelledOrUngrammaticalSelection(bool& misspelled, bool& ungrammatical);
+ bool spellCheckingEnabledInFocusedNode() const;
void markMisspellingsAfterTypingToPosition(const VisiblePosition&);
void markMisspellings(const VisibleSelection&, RefPtr<Range>& firstMisspellingRange);
void markBadGrammar(const VisibleSelection&);
diff --git a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
index ab62c09..e4d94c2 100644
--- a/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp
@@ -27,6 +27,7 @@
#include "config.h"
#include "AtomicString.h"
+#include "CSSComputedStyleDeclaration.h"
#include "CSSMutableStyleDeclaration.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
@@ -89,64 +90,71 @@ static Frame* targetFrame(Frame* frame, Event* event)
return node->document()->frame();
}
-static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const String& propertyValue)
+static bool applyCommandToFrame(Frame* frame, EditorCommandSource source, EditAction action, CSSMutableStyleDeclaration* style)
{
- RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
- style->setProperty(propertyID, propertyValue);
// FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
switch (source) {
case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style.get(), action);
+ frame->editor()->applyStyleToSelection(style, action);
return true;
case CommandFromDOM:
case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style.get());
+ frame->editor()->applyStyle(style);
return true;
}
ASSERT_NOT_REACHED();
return false;
}
-static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const char* propertyValue)
+static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const String& propertyValue)
{
- return executeApplyStyle(frame, source, action, propertyID, String(propertyValue));
+ RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
+ style->setProperty(propertyID, propertyValue);
+ return applyCommandToFrame(frame, source, action, style.get());
}
static bool executeApplyStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, int propertyValue)
{
RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
style->setProperty(propertyID, propertyValue);
- // FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
- switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style.get(), action);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style.get());
- return true;
- }
- ASSERT_NOT_REACHED();
- return false;
+ return applyCommandToFrame(frame, source, action, style.get());
}
+static bool executeToggleStyleInList(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, CSSValue* value)
+{
+ ExceptionCode ec = 0;
+ Node* nodeToRemove = 0;
+ RefPtr<CSSComputedStyleDeclaration> selectionStyle = frame->selectionComputedStyle(nodeToRemove);
+ RefPtr<CSSValue> selectedCSSValue = selectionStyle->getPropertyCSSValue(propertyID);
+ String newStyle = "none";
+ if (selectedCSSValue->isValueList()) {
+ RefPtr<CSSValueList> selectedCSSValueList = static_cast<CSSValueList*>(selectedCSSValue.get());
+ if (!selectedCSSValueList->removeAll(value))
+ selectedCSSValueList->append(value);
+ if (selectedCSSValueList->length())
+ newStyle = selectedCSSValueList->cssText();
+
+ } else if (selectedCSSValue->cssText() == "none")
+ newStyle = value->cssText();
+
+ ASSERT(ec == 0);
+ if (nodeToRemove) {
+ nodeToRemove->remove(ec);
+ ASSERT(ec == 0);
+ }
+
+ // FIXME: We shouldn't be having to convert new style into text. We should have setPropertyCSSValue.
+ RefPtr<CSSMutableStyleDeclaration> newMutableStyle = CSSMutableStyleDeclaration::create();
+ newMutableStyle->setProperty(propertyID, newStyle,ec);
+ return applyCommandToFrame(frame, source, action, newMutableStyle.get());
+}
+
static bool executeToggleStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const char* offValue, const char* onValue)
{
RefPtr<CSSMutableStyleDeclaration> style = CSSMutableStyleDeclaration::create();
style->setProperty(propertyID, onValue);
style->setProperty(propertyID, frame->editor()->selectionStartHasStyle(style.get()) ? offValue : onValue);
- // FIXME: We don't call shouldApplyStyle when the source is DOM; is there a good reason for that?
- switch (source) {
- case CommandFromMenuOrKeyBinding:
- frame->editor()->applyStyleToSelection(style.get(), action);
- return true;
- case CommandFromDOM:
- case CommandFromDOMWithUserInterface:
- frame->editor()->applyStyle(style.get());
- return true;
- }
- ASSERT_NOT_REACHED();
- return false;
+ return applyCommandToFrame(frame, source, action, style.get());
}
static bool executeApplyParagraphStyle(Frame* frame, EditorCommandSource source, EditAction action, int propertyID, const String& propertyValue)
@@ -937,7 +945,8 @@ static bool executeSetMark(Frame* frame, Event*, EditorCommandSource, const Stri
static bool executeStrikethrough(Frame* frame, Event*, EditorCommandSource source, const String&)
{
- return executeToggleStyle(frame, source, EditActionChangeAttributes, CSSPropertyWebkitTextDecorationsInEffect, "none", "line-through");
+ RefPtr<CSSPrimitiveValue> lineThrough = CSSPrimitiveValue::createIdentifier(CSSValueLineThrough);
+ return executeToggleStyleInList(frame, source, EditActionUnderline, CSSPropertyWebkitTextDecorationsInEffect, lineThrough.get());
}
static bool executeStyleWithCSS(Frame* frame, Event*, EditorCommandSource, const String& value)
@@ -990,8 +999,8 @@ static bool executeTranspose(Frame* frame, Event*, EditorCommandSource, const St
static bool executeUnderline(Frame* frame, Event*, EditorCommandSource source, const String&)
{
- // FIXME: This currently clears overline, line-through, and blink as an unwanted side effect.
- return executeToggleStyle(frame, source, EditActionUnderline, CSSPropertyWebkitTextDecorationsInEffect, "none", "underline");
+ RefPtr<CSSPrimitiveValue> underline = CSSPrimitiveValue::createIdentifier(CSSValueUnderline);
+ return executeToggleStyleInList(frame, source, EditActionUnderline, CSSPropertyWebkitTextDecorationsInEffect, underline.get());
}
static bool executeUndo(Frame* frame, Event*, EditorCommandSource, const String&)
@@ -1247,9 +1256,10 @@ static String valueForeColor(Frame* frame, Event*)
// Map of functions
-struct CommandEntry { const char* name; EditorInternalCommand command; };
static const CommandMap& createCommandMap()
{
+ struct CommandEntry { const char* name; EditorInternalCommand command; };
+
static const CommandEntry commands[] = {
{ "AlignCenter", { executeJustifyCenter, supportedFromMenuOrKeyBinding, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
{ "AlignJustified", { executeJustifyFull, supportedFromMenuOrKeyBinding, enabledInRichlyEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
diff --git a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
index 3922367..42dd515 100644
--- a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp
@@ -33,6 +33,7 @@
#include "InsertLineBreakCommand.h"
#include "InsertListCommand.h"
#include "Range.h"
+#include "DocumentFragment.h"
#include "SplitElementCommand.h"
#include "TextIterator.h"
#include "htmlediting.h"
@@ -57,18 +58,9 @@ static PassRefPtr<HTMLBlockquoteElement> createIndentBlockquoteElement(Document*
return element.release();
}
-static bool isIndentBlockquote(const Node* node)
-{
- if (!node || !node->hasTagName(blockquoteTag) || !node->isElementNode())
- return false;
-
- const Element* elem = static_cast<const Element*>(node);
- return elem->getAttribute(classAttr) == indentBlockquoteString();
-}
-
static bool isListOrIndentBlockquote(const Node* node)
{
- return node && (node->hasTagName(ulTag) || node->hasTagName(olTag) || isIndentBlockquote(node));
+ return node && (node->hasTagName(ulTag) || node->hasTagName(olTag) || node->hasTagName(blockquoteTag));
}
IndentOutdentCommand::IndentOutdentCommand(Document* document, EIndentType typeOfAction, int marginInPixels)
@@ -76,37 +68,6 @@ IndentOutdentCommand::IndentOutdentCommand(Document* document, EIndentType typeO
{
}
-// This function is a workaround for moveParagraph's tendency to strip blockquotes. It updates lastBlockquote to point to the
-// correct level for the current paragraph, and returns a pointer to a placeholder br where the insertion should be performed.
-PassRefPtr<Element> IndentOutdentCommand::prepareBlockquoteLevelForInsertion(const VisiblePosition& currentParagraph, RefPtr<Element>& lastBlockquote)
-{
- int currentBlockquoteLevel = 0;
- int lastBlockquoteLevel = 0;
- Node* node = currentParagraph.deepEquivalent().node();
- while ((node = enclosingNodeOfType(Position(node->parentNode(), 0), &isIndentBlockquote)))
- currentBlockquoteLevel++;
- node = lastBlockquote.get();
- while ((node = enclosingNodeOfType(Position(node->parentNode(), 0), &isIndentBlockquote)))
- lastBlockquoteLevel++;
- while (currentBlockquoteLevel > lastBlockquoteLevel) {
- RefPtr<Element> newBlockquote = createIndentBlockquoteElement(document());
- appendNode(newBlockquote, lastBlockquote);
- lastBlockquote = newBlockquote;
- lastBlockquoteLevel++;
- }
- while (currentBlockquoteLevel < lastBlockquoteLevel) {
- lastBlockquote = static_cast<Element*>(enclosingNodeOfType(Position(lastBlockquote->parentNode(), 0), isIndentBlockquote));
- lastBlockquoteLevel--;
- }
- RefPtr<Element> placeholder = createBreakElement(document());
- appendNode(placeholder, lastBlockquote);
- // Add another br before the placeholder if it collapsed.
- VisiblePosition visiblePos(Position(placeholder.get(), 0));
- if (!isStartOfParagraph(visiblePos))
- insertNodeBefore(createBreakElement(document()), placeholder);
- return placeholder.release();
-}
-
bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCurrentParagraph)
{
// If our selection is not inside a list, bail out.
@@ -115,20 +76,19 @@ bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCu
if (!listNode)
return false;
- HTMLElement* selectedListItem = enclosingListChild(lastNodeInSelectedParagraph);
+ // Find the list item enclosing the current paragraph
+ Element* selectedListItem = static_cast<Element*>(enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()));
+ // FIXME: we need to deal with the case where there is no li (malformed HTML)
+ if (!selectedListItem->hasTagName(liTag))
+ return false;
// FIXME: previousElementSibling does not ignore non-rendered content like <span></span>. Should we?
Element* previousList = selectedListItem->previousElementSibling();
Element* nextList = selectedListItem->nextElementSibling();
RefPtr<Element> newList = document()->createElement(listNode->tagQName(), false);
- RefPtr<Element> newListItem = selectedListItem->cloneElementWithoutChildren();
- RefPtr<Element> placeholder = createBreakElement(document());
insertNodeBefore(newList, selectedListItem);
- appendNode(newListItem, newList);
- appendNode(placeholder, newListItem);
-
- moveParagraph(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, VisiblePosition(Position(placeholder, 0)), true);
+ appendParagraphIntoNode(visiblePositionBeforeNode(selectedListItem), visiblePositionAfterNode(selectedListItem), newList.get());
if (canMergeLists(previousList, newList.get()))
mergeIdenticalElements(previousList, newList);
@@ -138,29 +98,85 @@ bool IndentOutdentCommand::tryIndentingAsListItem(const VisiblePosition& endOfCu
return true;
}
-void IndentOutdentCommand::indentIntoBlockquote(const VisiblePosition& endOfCurrentParagraph, const VisiblePosition& endOfNextParagraph, RefPtr<Element>& targetBlockquote)
+void IndentOutdentCommand::indentIntoBlockquote(const VisiblePosition& startOfCurrentParagraph, const VisiblePosition& endOfCurrentParagraph, RefPtr<Element>& targetBlockquote, Node* nodeToSplitTo)
{
Node* enclosingCell = 0;
if (!targetBlockquote) {
- // Create a new blockquote and insert it as a child of the root editable element. We accomplish
+ // Create a new blockquote and insert it as a child of the enclosing block element. We accomplish
// this by splitting all parents of the current paragraph up to that point.
targetBlockquote = createIndentBlockquoteElement(document());
- Position start = startOfParagraph(endOfCurrentParagraph).deepEquivalent();
- enclosingCell = enclosingNodeOfType(start, &isTableCell);
- Node* nodeToSplitTo = enclosingCell ? enclosingCell : editableRootForPosition(start);
- RefPtr<Node> startOfNewBlock = splitTreeToNode(start.node(), nodeToSplitTo);
+ if (isTableCell(nodeToSplitTo))
+ enclosingCell = nodeToSplitTo;
+ RefPtr<Node> startOfNewBlock = splitTreeToNode(startOfCurrentParagraph.deepEquivalent().node(), nodeToSplitTo);
insertNodeBefore(targetBlockquote, startOfNewBlock);
}
- RefPtr<Element> insertionPoint = prepareBlockquoteLevelForInsertion(endOfCurrentParagraph, targetBlockquote);
+ VisiblePosition endOfNextParagraph = endOfParagraph(endOfCurrentParagraph.next());
+ appendParagraphIntoNode(startOfCurrentParagraph, endOfCurrentParagraph, targetBlockquote.get());
// Don't put the next paragraph in the blockquote we just created for this paragraph unless
// the next paragraph is in the same cell.
if (enclosingCell && enclosingCell != enclosingNodeOfType(endOfNextParagraph.deepEquivalent(), &isTableCell))
targetBlockquote = 0;
+}
- moveParagraph(startOfParagraph(endOfCurrentParagraph), endOfCurrentParagraph, VisiblePosition(Position(insertionPoint, 0)), true);
+bool IndentOutdentCommand::isAtUnsplittableElement(const Position& pos) const
+{
+ Node* node = pos.node();
+ return node == editableRootForPosition(pos) || node == enclosingNodeOfType(pos, &isTableCell);
+}
+
+// Enclose all nodes between start and end by newParent, which is a sibling node of nodes between start and end
+// FIXME: moveParagraph is overly complicated. We need to clean up moveParagraph so that it uses appendParagraphIntoNode
+// or prepare more specialized functions and delete moveParagraph
+void IndentOutdentCommand::appendParagraphIntoNode(const VisiblePosition& start, const VisiblePosition& end, Node* newParent)
+{
+ ASSERT(newParent);
+ ASSERT(newParent->isContentEditable());
+ ASSERT(isStartOfParagraph(start) && isEndOfParagraph(end));
+
+ Position endOfParagraph = end.deepEquivalent().downstream();
+ Node* insertionPoint = newParent->lastChild();// Remember the place to put br later
+ // Look for the beginning of the last paragraph in newParent
+ Node* startOfLastParagraph = startOfParagraph(Position(newParent, newParent->childNodeCount())).deepEquivalent().node();
+ if (startOfLastParagraph && !startOfLastParagraph->isDescendantOf(newParent))
+ startOfLastParagraph = 0;
+
+ // Extend the range so that we can append wrapping nodes as well if they're containd within the paragraph
+ ExceptionCode ec = 0;
+ RefPtr<Range> selectedRange = createRange(document(), start, end, ec);
+ RefPtr<Range> extendedRange = extendRangeToWrappingNodes(selectedRange, selectedRange.get(), newParent->parentNode());
+ newParent->appendChild(extendedRange->extractContents(ec), ec);
+
+ // If the start of paragraph didn't change by appending nodes, we should insert br to seperate the paragraphs.
+ Node* startOfNewParagraph = startOfParagraph(Position(newParent, newParent->childNodeCount())).deepEquivalent().node();
+ if (startOfNewParagraph == startOfLastParagraph) {
+ if (insertionPoint)
+ newParent->insertBefore(createBreakElement(document()), insertionPoint->nextSibling(), ec);
+ else
+ newParent->appendChild(createBreakElement(document()), ec);
+ }
+
+ // Remove unnecessary br from the place where we moved the paragraph from
+ removeUnnecessaryLineBreakAt(endOfParagraph);
+}
+
+void IndentOutdentCommand::removeUnnecessaryLineBreakAt(const Position& endOfParagraph)
+{
+ // If there is something in this paragraph, then don't remove br.
+ if (!isStartOfParagraph(endOfParagraph) || !isEndOfParagraph(endOfParagraph))
+ return;
+
+ // We only care about br at the end of paragraph
+ Node* br = endOfParagraph.node();
+ Node* parentNode = br->parentNode();
+
+ // If the node isn't br or the parent node is empty, then don't remove.
+ if (!br->hasTagName(brTag) || isVisiblyAdjacent(positionBeforeNode(parentNode), positionAfterNode(parentNode)))
+ return;
+
+ removeNodeAndPruneAncestors(br);
}
void IndentOutdentCommand::indentRegion()
@@ -168,16 +184,15 @@ void IndentOutdentCommand::indentRegion()
VisibleSelection selection = selectionForParagraphIteration(endingSelection());
VisiblePosition startOfSelection = selection.visibleStart();
VisiblePosition endOfSelection = selection.visibleEnd();
- int startIndex = indexForVisiblePosition(startOfSelection);
- int endIndex = indexForVisiblePosition(endOfSelection);
+ RefPtr<Range> selectedRange = selection.firstRange();
ASSERT(!startOfSelection.isNull());
ASSERT(!endOfSelection.isNull());
- // Special case empty root editable elements because there's nothing to split
+ // Special case empty unsplittable elements because there's nothing to split
// and there's nothing to move.
Position start = startOfSelection.deepEquivalent().downstream();
- if (start.node() == editableRootForPosition(start)) {
+ if (isAtUnsplittableElement(start)) {
RefPtr<Element> blockquote = createIndentBlockquoteElement(document());
insertNodeAt(blockquote, start);
RefPtr<Element> placeholder = createBreakElement(document());
@@ -194,10 +209,24 @@ void IndentOutdentCommand::indentRegion()
VisiblePosition endOfNextParagraph = endOfParagraph(endOfCurrentParagraph.next());
if (tryIndentingAsListItem(endOfCurrentParagraph))
blockquoteForNextIndent = 0;
- else
- indentIntoBlockquote(endOfCurrentParagraph, endOfNextParagraph, blockquoteForNextIndent);
- // blockquoteForNextIndent maybe updated
- // this is due to the way prepareBlockquoteLevelForInsertion was designed.
+ else {
+ VisiblePosition startOfCurrentParagraph = startOfParagraph(endOfCurrentParagraph);
+ Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
+ // extend the region so that it contains all the ancestor blocks within the selection
+ ExceptionCode ec;
+ Element* unsplittableNode = unsplittableElementForPosition(endOfCurrentParagraph.deepEquivalent());
+ RefPtr<Range> originalRange = createRange(document(), endOfCurrentParagraph, endOfCurrentParagraph, ec);
+ RefPtr<Range> extendedRange = extendRangeToWrappingNodes(originalRange, selectedRange.get(), unsplittableNode);
+ if (originalRange != extendedRange) {
+ ExceptionCode ec = 0;
+ endOfCurrentParagraph = endOfParagraph(extendedRange->endPosition().previous());
+ blockNode = enclosingBlock(extendedRange->commonAncestorContainer(ec));
+ }
+
+ endOfNextParagraph = endOfParagraph(endOfCurrentParagraph.next());
+ indentIntoBlockquote(startOfCurrentParagraph, endOfCurrentParagraph, blockquoteForNextIndent, blockNode);
+ // blockquoteForNextIndent will be updated in the function
+ }
// Sanity check: Make sure our moveParagraph calls didn't remove endOfNextParagraph.deepEquivalent().node()
// If somehow we did, return to prevent crashes.
if (endOfNextParagraph.isNotNull() && !endOfNextParagraph.deepEquivalent().node()->inDocument()) {
@@ -206,11 +235,7 @@ void IndentOutdentCommand::indentRegion()
}
endOfCurrentParagraph = endOfNextParagraph;
}
-
- RefPtr<Range> startRange = TextIterator::rangeFromLocationAndLength(document()->documentElement(), startIndex, 0, true);
- RefPtr<Range> endRange = TextIterator::rangeFromLocationAndLength(document()->documentElement(), endIndex, 0, true);
- if (startRange && endRange)
- setEndingSelection(VisibleSelection(startRange->startPosition(), endRange->startPosition(), DOWNSTREAM));
+
}
void IndentOutdentCommand::outdentParagraph()
@@ -232,7 +257,7 @@ void IndentOutdentCommand::outdentParagraph()
return;
}
- // The selection is inside a blockquote
+ // The selection is inside a blockquote i.e. enclosingNode is a blockquote
VisiblePosition positionInEnclosingBlock = VisiblePosition(Position(enclosingNode, 0));
VisiblePosition startOfEnclosingBlock = startOfBlock(positionInEnclosingBlock);
VisiblePosition lastPositionInEnclosingBlock = VisiblePosition(Position(enclosingNode, enclosingNode->childNodeCount()));
@@ -246,8 +271,8 @@ void IndentOutdentCommand::outdentParagraph()
// just removed one, then this assumption isn't true. By splitting the next containing blockquote after this node, we keep this assumption true
if (splitPoint) {
if (Node* splitPointParent = splitPoint->parentNode()) {
- if (isIndentBlockquote(splitPointParent)
- && !isIndentBlockquote(splitPoint)
+ if (splitPointParent->hasTagName(blockquoteTag)
+ && !splitPoint->hasTagName(blockquoteTag)
&& isContentEditable(splitPointParent->parentNode())) // We can't outdent if there is no place to go!
splitElement(static_cast<Element*>(splitPointParent), splitPoint);
}
@@ -263,10 +288,14 @@ void IndentOutdentCommand::outdentParagraph()
return;
}
- Node* enclosingBlockFlow = enclosingBlockFlowElement(visibleStartOfParagraph);
+ Node* enclosingBlockFlow = enclosingBlock(visibleStartOfParagraph.deepEquivalent().node());
RefPtr<Node> splitBlockquoteNode = enclosingNode;
if (enclosingBlockFlow != enclosingNode)
- splitBlockquoteNode = splitTreeToNode(enclosingBlockFlowElement(visibleStartOfParagraph), enclosingNode, true);
+ splitBlockquoteNode = splitTreeToNode(enclosingBlockFlow, enclosingNode, true);
+ else {
+ // We split the blockquote at where we start outdenting.
+ splitElement(static_cast<Element*>(enclosingNode), visibleStartOfParagraph.deepEquivalent().node());
+ }
RefPtr<Node> placeholder = createBreakElement(document());
insertNodeBefore(placeholder, splitBlockquoteNode);
moveParagraph(startOfParagraph(visibleStartOfParagraph), endOfParagraph(visibleEndOfParagraph), VisiblePosition(Position(placeholder.get(), 0)), true);
diff --git a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
index 419f832f..104a0e7 100644
--- a/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
+++ b/src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h
@@ -46,12 +46,16 @@ private:
virtual void doApply();
virtual EditAction editingAction() const { return m_typeOfAction == Indent ? EditActionIndent : EditActionOutdent; }
+ // FIXME: Does this belong in htmlediting.cpp?
+ bool isAtUnsplittableElement(const Position&) const;
+ void appendParagraphIntoNode(const VisiblePosition& start, const VisiblePosition& end, Node* newParent);
+ void removeUnnecessaryLineBreakAt(const Position& endOfParagraph);
+
void indentRegion();
void outdentRegion();
void outdentParagraph();
- PassRefPtr<Element> prepareBlockquoteLevelForInsertion(const VisiblePosition&, RefPtr<Element>&);
bool tryIndentingAsListItem(const VisiblePosition&);
- void indentIntoBlockquote(const VisiblePosition&, const VisiblePosition&, RefPtr<Element>&);
+ void indentIntoBlockquote(const VisiblePosition&, const VisiblePosition&, RefPtr<Element>& targetBlockquote, Node* nodeToSplitTo);
EIndentType m_typeOfAction;
int m_marginInPixels;
diff --git a/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp b/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp
index 6d681ee..1cf9aa2 100644
--- a/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp
@@ -55,7 +55,7 @@ void RemoveFormatCommand::doApply()
// Get the default style for this editable root, it's the style that we'll give the
// content that we're operating on.
Node* root = frame->selection()->rootEditableElement();
- RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(root)->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(root)->deprecatedCopyInheritableProperties();
// Delete the selected content.
// FIXME: We should be able to leave this to insertText, but its delete operation
diff --git a/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp b/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp
index c6da864..e0f62cf 100644
--- a/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp
@@ -60,7 +60,7 @@ enum EFragmentType { EmptyFragment, SingleTextNodeFragment, TreeFragment };
// --- ReplacementFragment helper class
-class ReplacementFragment : Noncopyable {
+class ReplacementFragment : public Noncopyable {
public:
ReplacementFragment(Document*, DocumentFragment*, bool matchStyle, const VisibleSelection&);
@@ -550,7 +550,7 @@ static bool handleStyleSpansBeforeInsertion(ReplacementFragment& fragment, const
Node* sourceDocumentStyleSpan = topNode;
RefPtr<Node> copiedRangeStyleSpan = sourceDocumentStyleSpan->firstChild();
- RefPtr<CSSMutableStyleDeclaration> styleAtInsertionPos = rangeCompliantEquivalent(insertionPos).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> styleAtInsertionPos = rangeCompliantEquivalent(insertionPos).computedStyle()->deprecatedCopyInheritableProperties();
String styleText = styleAtInsertionPos->cssText();
if (styleText == static_cast<Element*>(sourceDocumentStyleSpan)->getAttribute(styleAttr)) {
@@ -606,8 +606,8 @@ void ReplaceSelectionCommand::handleStyleSpans()
// styles from blockquoteNode are allowed to override those from the source document, see <rdar://problem/4930986> and <rdar://problem/5089327>.
Node* blockquoteNode = isMailPasteAsQuotationNode(context) ? context : nearestMailBlockquote(context);
if (blockquoteNode) {
- RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = computedStyle(blockquoteNode)->copyInheritableProperties();
- RefPtr<CSSMutableStyleDeclaration> parentStyle = computedStyle(blockquoteNode->parentNode())->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = computedStyle(blockquoteNode)->deprecatedCopyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> parentStyle = computedStyle(blockquoteNode->parentNode())->deprecatedCopyInheritableProperties();
parentStyle->diff(blockquoteStyle.get());
CSSMutableStyleDeclaration::const_iterator end = blockquoteStyle->end();
@@ -619,7 +619,7 @@ void ReplaceSelectionCommand::handleStyleSpans()
context = blockquoteNode->parentNode();
}
- RefPtr<CSSMutableStyleDeclaration> contextStyle = computedStyle(context)->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> contextStyle = computedStyle(context)->deprecatedCopyInheritableProperties();
contextStyle->diff(sourceDocumentStyle.get());
// Remove block properties in the span's style. This prevents properties that probably have no effect
@@ -655,7 +655,7 @@ void ReplaceSelectionCommand::handleStyleSpans()
// Remove redundant styles.
context = copiedRangeStyleSpan->parentNode();
- contextStyle = computedStyle(context)->copyInheritableProperties();
+ contextStyle = computedStyle(context)->deprecatedCopyInheritableProperties();
contextStyle->diff(copiedRangeStyle.get());
// See the comments above about removing block properties.
diff --git a/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp b/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
index 9bb68ad..b6874d6 100644
--- a/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/SelectionController.cpp
@@ -100,6 +100,8 @@ void SelectionController::moveTo(const Position &base, const Position &extent, E
void SelectionController::setSelection(const VisibleSelection& s, bool closeTyping, bool clearTypingStyle, bool userTriggered)
{
+ m_lastChangeWasHorizontalExtension = false;
+
if (m_isDragCaretController) {
invalidateCaretRect();
m_sel = s;
@@ -223,34 +225,30 @@ void SelectionController::nodeWillBeRemoved(Node *node)
void SelectionController::willBeModified(EAlteration alter, EDirection direction)
{
- switch (alter) {
- case MOVE:
- m_lastChangeWasHorizontalExtension = false;
+ if (alter != EXTEND)
+ return;
+ if (m_lastChangeWasHorizontalExtension)
+ return;
+
+ Position start = m_sel.start();
+ Position end = m_sel.end();
+ // FIXME: This is probably not correct for right and left when the direction is RTL.
+ switch (direction) {
+ case RIGHT:
+ case FORWARD:
+ m_sel.setBase(start);
+ m_sel.setExtent(end);
break;
- case EXTEND:
- if (!m_lastChangeWasHorizontalExtension) {
- m_lastChangeWasHorizontalExtension = true;
- Position start = m_sel.start();
- Position end = m_sel.end();
- switch (direction) {
- // FIXME: right for bidi?
- case RIGHT:
- case FORWARD:
- m_sel.setBase(start);
- m_sel.setExtent(end);
- break;
- case LEFT:
- case BACKWARD:
- m_sel.setBase(end);
- m_sel.setExtent(start);
- break;
- }
- }
+ case LEFT:
+ case BACKWARD:
+ m_sel.setBase(end);
+ m_sel.setExtent(start);
break;
}
}
-TextDirection SelectionController::directionOfEnclosingBlock() {
+TextDirection SelectionController::directionOfEnclosingBlock()
+{
Node* n = m_sel.extent().node();
Node* enclosingBlockNode = enclosingBlock(n);
if (!enclosingBlockNode)
@@ -559,8 +557,8 @@ bool SelectionController::modify(EAlteration alter, EDirection dir, TextGranular
{
if (userTriggered) {
SelectionController trialSelectionController;
- trialSelectionController.setLastChangeWasHorizontalExtension(m_lastChangeWasHorizontalExtension);
trialSelectionController.setSelection(m_sel);
+ trialSelectionController.setLastChangeWasHorizontalExtension(m_lastChangeWasHorizontalExtension);
trialSelectionController.modify(alter, dir, granularity, false);
bool change = m_frame->shouldChangeSelection(trialSelectionController.selection());
@@ -633,6 +631,8 @@ bool SelectionController::modify(EAlteration alter, EDirection dir, TextGranular
setNeedsLayout();
+ m_lastChangeWasHorizontalExtension = alter == EXTEND;
+
return true;
}
@@ -654,6 +654,7 @@ bool SelectionController::modify(EAlteration alter, int verticalDistance, bool u
if (userTriggered) {
SelectionController trialSelectionController;
trialSelectionController.setSelection(m_sel);
+ trialSelectionController.setLastChangeWasHorizontalExtension(m_lastChangeWasHorizontalExtension);
trialSelectionController.modify(alter, verticalDistance, false);
bool change = m_frame->shouldChangeSelection(trialSelectionController.selection());
diff --git a/src/3rdparty/webkit/WebCore/editing/SelectionController.h b/src/3rdparty/webkit/WebCore/editing/SelectionController.h
index bbd343c..4a13a30 100644
--- a/src/3rdparty/webkit/WebCore/editing/SelectionController.h
+++ b/src/3rdparty/webkit/WebCore/editing/SelectionController.h
@@ -38,7 +38,7 @@ class GraphicsContext;
class RenderObject;
class VisiblePosition;
-class SelectionController : Noncopyable {
+class SelectionController : public Noncopyable {
public:
enum EAlteration { MOVE, EXTEND };
enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT };
diff --git a/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp b/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp
index 18be647..9acd350 100644
--- a/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp
@@ -37,7 +37,8 @@
namespace WebCore {
-static void addAllCodePoints(USet* smartSet, const String& string) {
+static void addAllCodePoints(USet* smartSet, const String& string)
+{
const UChar* characters = string.characters();
for (size_t i = 0; i < string.length(); i++)
uset_add(smartSet, characters[i]);
diff --git a/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp b/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp
index aee34df..f82a972 100644
--- a/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/TextIterator.cpp
@@ -42,6 +42,7 @@
#include "visible_units.h"
#if USE(ICU_UNICODE) && !UCONFIG_NO_COLLATION
+#include "TextBreakIteratorInternalICU.h"
#include <unicode/usearch.h>
#endif
@@ -56,7 +57,7 @@ using namespace HTMLNames;
// Keeps enough of the previous text to be able to search in the future, but no more.
// Non-breaking spaces are always equal to normal spaces.
// Case folding is also done if <isCaseSensitive> is false.
-class SearchBuffer : Noncopyable {
+class SearchBuffer : public Noncopyable {
public:
SearchBuffer(const String& target, bool isCaseSensitive);
~SearchBuffer();
@@ -143,7 +144,7 @@ unsigned BitStack::size() const
// --------
-static inline Node* parentOrShadowParent(Node* node)
+static inline Node* parentCrossingShadowBoundaries(Node* node)
{
if (Node* parent = node->parentNode())
return parent;
@@ -155,20 +156,50 @@ static inline Node* parentOrShadowParent(Node* node)
static unsigned depthCrossingShadowBoundaries(Node* node)
{
unsigned depth = 0;
- for (Node* parent = parentOrShadowParent(node); parent; parent = parentOrShadowParent(parent))
+ for (Node* parent = parentCrossingShadowBoundaries(node); parent; parent = parentCrossingShadowBoundaries(parent))
++depth;
return depth;
}
#endif
+// This function is like Range::pastLastNode, except for the fact that it can climb up out of shadow trees.
+static Node* nextInPreOrderCrossingShadowBoundaries(Node* rangeEndContainer, int rangeEndOffset)
+{
+ if (!rangeEndContainer)
+ return 0;
+ if (rangeEndOffset >= 0 && !rangeEndContainer->offsetInCharacters()) {
+ if (Node* next = rangeEndContainer->childNode(rangeEndOffset))
+ return next;
+ }
+ for (Node* node = rangeEndContainer; node; node = parentCrossingShadowBoundaries(node)) {
+ if (Node* next = node->nextSibling())
+ return next;
+ }
+ return 0;
+}
+
+static Node* previousInPostOrderCrossingShadowBoundaries(Node* rangeStartContainer, int rangeStartOffset)
+{
+ if (!rangeStartContainer)
+ return 0;
+ if (rangeStartOffset > 0 && !rangeStartContainer->offsetInCharacters()) {
+ if (Node* previous = rangeStartContainer->childNode(rangeStartOffset - 1))
+ return previous;
+ }
+ for (Node* node = rangeStartContainer; node; node = parentCrossingShadowBoundaries(node)) {
+ if (Node* previous = node->previousSibling())
+ return previous;
+ }
+ return 0;
+}
+
+// --------
+
static inline bool fullyClipsContents(Node* node)
{
RenderObject* renderer = node->renderer();
- if (!renderer || !renderer->isBox())
- return false;
- RenderStyle* style = renderer->style();
- if (style->overflowX() == OVISIBLE && style->overflowY() == OVISIBLE)
+ if (!renderer || !renderer->isBox() || !renderer->hasOverflowClip())
return false;
return toRenderBox(renderer)->size().isEmpty();
}
@@ -195,7 +226,7 @@ static void setUpFullyClippedStack(BitStack& stack, Node* node)
{
// Put the nodes in a vector so we can iterate in reverse order.
Vector<Node*, 100> ancestry;
- for (Node* parent = parentOrShadowParent(node); parent; parent = parentOrShadowParent(parent))
+ for (Node* parent = parentCrossingShadowBoundaries(node); parent; parent = parentCrossingShadowBoundaries(parent))
ancestry.append(parent);
// Call pushFullyClippedState on each node starting with the earliest ancestor.
@@ -265,7 +296,7 @@ TextIterator::TextIterator(const Range* r, bool emitCharactersBetweenAllVisibleP
m_handledChildren = false;
// calculate first out of bounds node
- m_pastEndNode = r->pastLastNode();
+ m_pastEndNode = nextInPreOrderCrossingShadowBoundaries(endContainer, endOffset);
// initialize node processing state
m_needAnotherNewline = false;
@@ -352,14 +383,14 @@ void TextIterator::advance()
next = m_node->nextSibling();
if (!next) {
bool pastEnd = m_node->traverseNextNode() == m_pastEndNode;
- Node* parentNode = parentOrShadowParent(m_node);
+ Node* parentNode = parentCrossingShadowBoundaries(m_node);
while (!next && parentNode) {
if ((pastEnd && parentNode == m_endContainer) || m_endContainer->isDescendantOf(parentNode))
return;
bool haveRenderer = m_node->renderer();
m_node = parentNode;
m_fullyClippedStack.pop();
- parentNode = parentOrShadowParent(m_node);
+ parentNode = parentCrossingShadowBoundaries(m_node);
if (haveRenderer)
exitNode();
if (m_positionNode) {
@@ -883,14 +914,14 @@ Node* TextIterator::node() const
// --------
-SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator() : m_positionNode(0)
+SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator()
+ : m_positionNode(0)
{
}
SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator(const Range* r)
+ : m_positionNode(0)
{
- m_positionNode = 0;
-
if (!r)
return;
@@ -932,15 +963,8 @@ SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator(const Range* r)
m_lastTextNode = 0;
m_lastCharacter = '\n';
-
- if (startOffset == 0 || !startNode->firstChild()) {
- m_pastStartNode = startNode->previousSibling();
- while (!m_pastStartNode && startNode->parentNode()) {
- startNode = startNode->parentNode();
- m_pastStartNode = startNode->previousSibling();
- }
- } else
- m_pastStartNode = startNode->childNode(startOffset - 1);
+
+ m_pastStartNode = previousInPostOrderCrossingShadowBoundaries(startNode, startOffset);
advance();
}
@@ -987,7 +1011,7 @@ void SimplifiedBackwardsTextIterator::advance()
// Exit all other containers.
next = m_node->previousSibling();
while (!next) {
- Node* parentNode = parentOrShadowParent(m_node);
+ Node* parentNode = parentCrossingShadowBoundaries(m_node);
if (!parentNode)
break;
m_node = parentNode;
@@ -1053,26 +1077,22 @@ bool SimplifiedBackwardsTextIterator::handleNonTextNode()
{
// We can use a linefeed in place of a tab because this simple iterator is only used to
// find boundaries, not actual content. A linefeed breaks words, sentences, and paragraphs.
- if (shouldEmitNewlineForNode(m_node) ||
- shouldEmitNewlineAfterNode(m_node) ||
- shouldEmitTabBeforeNode(m_node)) {
+ if (shouldEmitNewlineForNode(m_node) || shouldEmitNewlineAfterNode(m_node) || shouldEmitTabBeforeNode(m_node)) {
unsigned index = m_node->nodeIndex();
- // The start of this emitted range is wrong, ensuring correctness would require
- // VisiblePositions and so would be slow. previousBoundary expects this.
+ // The start of this emitted range is wrong. Ensuring correctness would require
+ // VisiblePositions and so would be slow. previousBoundary expects this.
emitCharacter('\n', m_node->parentNode(), index + 1, index + 1);
}
-
return true;
}
void SimplifiedBackwardsTextIterator::exitNode()
{
- if (shouldEmitNewlineForNode(m_node) ||
- shouldEmitNewlineBeforeNode(m_node) ||
- shouldEmitTabBeforeNode(m_node))
- // The start of this emitted range is wrong, ensuring correctness would require
- // VisiblePositions and so would be slow. previousBoundary expects this.
+ if (shouldEmitNewlineForNode(m_node) || shouldEmitNewlineBeforeNode(m_node) || shouldEmitTabBeforeNode(m_node)) {
+ // The start of this emitted range is wrong. Ensuring correctness would require
+ // VisiblePositions and so would be slow. previousBoundary expects this.
emitCharacter('\n', m_node, 0, 0);
+ }
}
void SimplifiedBackwardsTextIterator::emitCharacter(UChar c, Node* node, int startOffset, int endOffset)
@@ -1373,8 +1393,40 @@ const UChar* WordAwareIterator::characters() const
// --------
+static inline UChar foldQuoteMark(UChar c)
+{
+ switch (c) {
+ case hebrewPunctuationGershayim:
+ case leftDoubleQuotationMark:
+ case rightDoubleQuotationMark:
+ return '"';
+ case hebrewPunctuationGeresh:
+ case leftSingleQuotationMark:
+ case rightSingleQuotationMark:
+ return '\'';
+ default:
+ return c;
+ }
+}
+
+static inline void foldQuoteMarks(String& s)
+{
+ s.replace(hebrewPunctuationGeresh, '\'');
+ s.replace(hebrewPunctuationGershayim, '"');
+ s.replace(leftDoubleQuotationMark, '"');
+ s.replace(leftSingleQuotationMark, '\'');
+ s.replace(rightDoubleQuotationMark, '"');
+ s.replace(rightSingleQuotationMark, '\'');
+}
+
#if USE(ICU_UNICODE) && !UCONFIG_NO_COLLATION
+static inline void foldQuoteMarks(UChar* data, size_t length)
+{
+ for (size_t i = 0; i < length; ++i)
+ data[i] = foldQuoteMark(data[i]);
+}
+
static const size_t minimumSearchBufferSize = 8192;
#ifndef NDEBUG
@@ -1386,13 +1438,9 @@ static UStringSearch* createSearcher()
// Provide a non-empty pattern and non-empty text so usearch_open will not fail,
// but it doesn't matter exactly what it is, since we don't perform any searches
// without setting both the pattern and the text.
-
- // Pass empty string for the locale for now to get the Unicode Collation Algorithm,
- // rather than something locale-specific.
-
UErrorCode status = U_ZERO_ERROR;
- UStringSearch* searcher = usearch_open(&newlineCharacter, 1, &newlineCharacter, 1, "", 0, &status);
- ASSERT(status == U_ZERO_ERROR);
+ UStringSearch* searcher = usearch_open(&newlineCharacter, 1, &newlineCharacter, 1, currentSearchLocaleID(), 0, &status);
+ ASSERT(status == U_ZERO_ERROR || status == U_USING_FALLBACK_WARNING || status == U_USING_DEFAULT_WARNING);
return searcher;
}
@@ -1424,7 +1472,12 @@ inline SearchBuffer::SearchBuffer(const String& target, bool isCaseSensitive)
{
ASSERT(!m_target.isEmpty());
- size_t targetLength = target.length();
+ // FIXME: We'd like to tailor the searcher to fold quote marks for us instead
+ // of doing it in a separate replacement pass here, but ICU doesn't offer a way
+ // to add tailoring on top of the locale-specific tailoring as of this writing.
+ foldQuoteMarks(m_target);
+
+ size_t targetLength = m_target.length();
m_buffer.reserveInitialCapacity(max(targetLength * 8, minimumSearchBufferSize));
m_overlap = m_buffer.capacity() / 4;
@@ -1464,9 +1517,11 @@ inline size_t SearchBuffer::append(const UChar* characters, size_t length)
m_buffer.shrink(m_overlap);
}
- size_t usableLength = min(m_buffer.capacity() - m_buffer.size(), length);
+ size_t oldLength = m_buffer.size();
+ size_t usableLength = min(m_buffer.capacity() - oldLength, length);
ASSERT(usableLength);
m_buffer.append(characters, usableLength);
+ foldQuoteMarks(m_buffer.data() + oldLength, usableLength);
return usableLength;
}
@@ -1533,6 +1588,7 @@ inline SearchBuffer::SearchBuffer(const String& target, bool isCaseSensitive)
{
ASSERT(!m_target.isEmpty());
m_target.replace(noBreakSpace, ' ');
+ foldQuoteMarks(m_target);
}
inline SearchBuffer::~SearchBuffer()
@@ -1552,7 +1608,7 @@ inline bool SearchBuffer::atBreak() const
inline void SearchBuffer::append(UChar c, bool isStart)
{
- m_buffer[m_cursor] = c == noBreakSpace ? ' ' : c;
+ m_buffer[m_cursor] = c == noBreakSpace ? ' ' : foldQuoteMark(c);
m_isCharacterStartBuffer[m_cursor] = isStart;
if (++m_cursor == m_target.length()) {
m_cursor = 0;
@@ -1859,11 +1915,6 @@ tryAgain:
PassRefPtr<Range> findPlainText(const Range* range, const String& target, bool forward, bool caseSensitive)
{
- // We can't search effectively for a string that's entirely made of collapsible
- // whitespace, so we won't even try. This also takes care of the empty string case.
- if (isAllCollapsibleWhitespace(target))
- return collapsedToBoundary(range, forward);
-
// First, find the text.
size_t matchStart;
size_t matchLength;
diff --git a/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp b/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp
index c21c45a..f3bd4bc 100644
--- a/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/gtk/SelectionControllerGtk.cpp
@@ -30,11 +30,11 @@ namespace WebCore {
void SelectionController::notifyAccessibilityForSelectionChange()
{
if (AXObjectCache::accessibilityEnabled() && m_sel.start().isNotNull() && m_sel.end().isNotNull()) {
- RenderObject* focusedNode = m_sel.start().node()->renderer();
+ RenderObject* focusedNode = m_sel.end().node()->renderer();
AccessibilityObject* accessibilityObject = m_frame->document()->axObjectCache()->getOrCreate(focusedNode);
AtkObject* wrapper = accessibilityObject->wrapper();
if (ATK_IS_TEXT(wrapper)) {
- g_signal_emit_by_name(wrapper, "text-caret-moved", m_sel.start().computeOffsetInContainerNode());
+ g_signal_emit_by_name(wrapper, "text-caret-moved", m_sel.end().computeOffsetInContainerNode());
if (m_sel.isRange())
g_signal_emit_by_name(wrapper, "text-selection-changed");
diff --git a/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp b/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp
index c0bf009..a04d2b7 100644
--- a/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/htmlediting.cpp
@@ -207,6 +207,20 @@ Element* editableRootForPosition(const Position& p)
return node->rootEditableElement();
}
+// Finds the enclosing element until which the tree can be split.
+// When a user hits ENTER, he/she won't expect this element to be split into two.
+// You may pass it as the second argument of splitTreeToNode.
+Element* unsplittableElementForPosition(const Position& p)
+{
+ // Since enclosingNodeOfType won't search beyond the highest root editable node,
+ // this code works even if the closest table cell was outside of the root editable node.
+ Element* enclosingCell = static_cast<Element*>(enclosingNodeOfType(p, &isTableCell, true));
+ if (enclosingCell)
+ return enclosingCell;
+
+ return editableRootForPosition(p);
+}
+
bool isContentEditable(const Node* node)
{
return node->isContentEditable();
@@ -565,16 +579,79 @@ Node* isLastPositionBeforeTable(const VisiblePosition& visiblePosition)
Position positionBeforeNode(const Node* node)
{
- // FIXME: This should ASSERT(node->parentNode())
+ ASSERT(node);
+ // FIXME: Should ASSERT(node->parentNode()) but doing so results in editing/deleting/delete-ligature-001.html crashing
return Position(node->parentNode(), node->nodeIndex());
}
Position positionAfterNode(const Node* node)
{
- // FIXME: This should ASSERT(node->parentNode())
+ ASSERT(node);
+ // FIXME: Should ASSERT(node->parentNode()) but doing so results in editing/deleting/delete-ligature-001.html crashing
return Position(node->parentNode(), node->nodeIndex() + 1);
}
+// Returns the visible position at the beginning of a node
+VisiblePosition visiblePositionBeforeNode(Node* node)
+{
+ ASSERT(node);
+ if (node->childNodeCount())
+ return VisiblePosition(node, 0, DOWNSTREAM);
+ ASSERT(node->parentNode());
+ return positionBeforeNode(node);
+}
+
+// Returns the visible position at the ending of a node
+VisiblePosition visiblePositionAfterNode(Node* node)
+{
+ ASSERT(node);
+ if (node->childNodeCount())
+ return VisiblePosition(node, node->childNodeCount(), DOWNSTREAM);
+ ASSERT(node->parentNode());
+ return positionAfterNode(node);
+}
+
+// Create a range object with two visible positions, start and end.
+// create(PassRefPtr<Document>, const Position&, const Position&); will use deprecatedEditingOffset
+// Use this function instead of create a regular range object (avoiding editing offset).
+PassRefPtr<Range> createRange(PassRefPtr<Document> document, const VisiblePosition& start, const VisiblePosition& end, ExceptionCode& ec)
+{
+ ec = 0;
+ RefPtr<Range> selectedRange = Range::create(document);
+ selectedRange->setStart(start.deepEquivalent().containerNode(), start.deepEquivalent().computeOffsetInContainerNode(), ec);
+ if (!ec)
+ selectedRange->setEnd(end.deepEquivalent().containerNode(), end.deepEquivalent().computeOffsetInContainerNode(), ec);
+ return selectedRange.release();
+}
+
+// Extend rangeToExtend to include nodes that wraps range and visibly starts and ends inside or at the boudnaries of maximumRange
+// e.g. if the original range spaned "hello" in <div>hello</div>, then this function extends the range to contain div's around it.
+// Call this function before copying / moving paragraphs to contain all wrapping nodes.
+// This function stops extending the range immediately below rootNode; i.e. the extended range can contain a child node of rootNode
+// but it can never contain rootNode itself.
+PassRefPtr<Range> extendRangeToWrappingNodes(PassRefPtr<Range> range, const Range* maximumRange, const Node* rootNode)
+{
+ ASSERT(range);
+ ASSERT(maximumRange);
+
+ ExceptionCode ec = 0;
+ Node* ancestor = range->commonAncestorContainer(ec);// find the cloeset common ancestor
+ Node* highestNode = 0;
+ // traverse through ancestors as long as they are contained within the range, content-editable, and below rootNode (could be =0).
+ while (ancestor && ancestor->isContentEditable() && isNodeVisiblyContainedWithin(ancestor, maximumRange) && ancestor != rootNode) {
+ highestNode = ancestor;
+ ancestor = ancestor->parentNode();
+ }
+
+ if (!highestNode)
+ return range;
+
+ // Create new range with the highest editable node contained within the range
+ RefPtr<Range> extendedRange = Range::create(range->ownerDocument());
+ extendedRange->selectNode(highestNode, ec);
+ return extendedRange.release();
+}
+
bool isListElement(Node *n)
{
return (n && (n->hasTagName(ulTag) || n->hasTagName(olTag) || n->hasTagName(dlTag)));
@@ -746,7 +823,7 @@ bool canMergeLists(Element* firstList, Element* secondList)
return firstList->hasTagName(secondList->tagQName())// make sure the list types match (ol vs. ul)
&& isContentEditable(firstList) && isContentEditable(secondList)// both lists are editable
&& firstList->rootEditableElement() == secondList->rootEditableElement()// don't cross editing boundaries
- && isVisibilyAdjacent(positionAfterNode(firstList), positionBeforeNode(secondList));
+ && isVisiblyAdjacent(positionAfterNode(firstList), positionBeforeNode(secondList));
// Make sure there is no visible content between this li and the previous list
}
@@ -974,7 +1051,7 @@ VisibleSelection selectionForParagraphIteration(const VisibleSelection& original
}
-int indexForVisiblePosition(VisiblePosition& visiblePosition)
+int indexForVisiblePosition(const VisiblePosition& visiblePosition)
{
if (visiblePosition.isNull())
return 0;
@@ -983,11 +1060,29 @@ int indexForVisiblePosition(VisiblePosition& visiblePosition)
return TextIterator::rangeLength(range.get(), true);
}
-bool isVisibilyAdjacent(const Position& first, const Position& second)
+// Determines whether two positions are visibly next to each other (first then second)
+// while ignoring whitespaces and unrendered nodes
+bool isVisiblyAdjacent(const Position& first, const Position& second)
{
return VisiblePosition(first) == VisiblePosition(second.upstream());
}
+// Determines whether a node is inside a range or visibly starts and ends at the boundaries of the range.
+// Call this function to determine whether a node is visibly fit inside selectedRange
+bool isNodeVisiblyContainedWithin(Node* node, const Range* selectedRange)
+{
+ ASSERT(node);
+ ASSERT(selectedRange);
+ // If the node is inside the range, then it surely is contained within
+ ExceptionCode ec = 0;
+ if (selectedRange->compareNode(node, ec) == Range::NODE_INSIDE)
+ return true;
+
+ // If the node starts and ends at where selectedRange starts and ends, the node is contained within
+ return visiblePositionBeforeNode(node) == selectedRange->startPosition()
+ && visiblePositionAfterNode(node) == selectedRange->endPosition();
+}
+
PassRefPtr<Range> avoidIntersectionWithNode(const Range* range, Node* node)
{
if (!range)
diff --git a/src/3rdparty/webkit/WebCore/editing/htmlediting.h b/src/3rdparty/webkit/WebCore/editing/htmlediting.h
index 25ff847..8f5d5ff 100644
--- a/src/3rdparty/webkit/WebCore/editing/htmlediting.h
+++ b/src/3rdparty/webkit/WebCore/editing/htmlediting.h
@@ -28,6 +28,7 @@
#include <wtf/Forward.h>
#include "HTMLNames.h"
+#include "ExceptionCode.h"
namespace WebCore {
@@ -61,6 +62,7 @@ Position previousVisuallyDistinctCandidate(const Position&);
bool isEditablePosition(const Position&);
bool isRichlyEditablePosition(const Position&);
Element* editableRootForPosition(const Position&);
+Element* unsplittableElementForPosition(const Position&);
bool isBlock(const Node*);
Node* enclosingBlock(Node*);
@@ -71,6 +73,10 @@ const String& nonBreakingSpaceString();
Position positionBeforeNode(const Node*);
Position positionAfterNode(const Node*);
+VisiblePosition visiblePositionBeforeNode(Node*);
+VisiblePosition visiblePositionAfterNode(Node*);
+PassRefPtr<Range> createRange(PassRefPtr<Document>, const VisiblePosition& start, const VisiblePosition& end, ExceptionCode&);
+PassRefPtr<Range> extendRangeToWrappingNodes(PassRefPtr<Range> rangeToExtend, const Range* maximumRange, const Node* rootNode);
PassRefPtr<Range> avoidIntersectionWithNode(const Range*, Node*);
VisibleSelection avoidIntersectionWithNode(const VisibleSelection&, Node*);
@@ -134,8 +140,9 @@ bool lineBreakExistsAtVisiblePosition(const VisiblePosition&);
VisibleSelection selectionForParagraphIteration(const VisibleSelection&);
-int indexForVisiblePosition(VisiblePosition&);
-bool isVisibilyAdjacent(const Position& first, const Position& second);
+int indexForVisiblePosition(const VisiblePosition&);
+bool isVisiblyAdjacent(const Position& first, const Position& second);
+bool isNodeVisiblyContainedWithin(Node*, const Range*);
}
#endif
diff --git a/src/3rdparty/webkit/WebCore/editing/markup.cpp b/src/3rdparty/webkit/WebCore/editing/markup.cpp
index d6fe1ce..6b6d326 100644
--- a/src/3rdparty/webkit/WebCore/editing/markup.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/markup.cpp
@@ -292,8 +292,8 @@ static void removeEnclosingMailBlockquoteStyle(CSSMutableStyleDeclaration* style
if (!blockquote || !blockquote->parentNode())
return;
- RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(blockquote->parentNode(), 0).computedStyle()->copyInheritableProperties();
- RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = Position(blockquote, 0).computedStyle()->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> parentStyle = Position(blockquote->parentNode(), 0).computedStyle()->deprecatedCopyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> blockquoteStyle = Position(blockquote, 0).computedStyle()->deprecatedCopyInheritableProperties();
parentStyle->diff(blockquoteStyle.get());
blockquoteStyle->diff(style);
}
@@ -303,7 +303,7 @@ static void removeDefaultStyles(CSSMutableStyleDeclaration* style, Document* doc
if (!document || !document->documentElement())
return;
- RefPtr<CSSMutableStyleDeclaration> documentStyle = computedStyle(document->documentElement())->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> documentStyle = computedStyle(document->documentElement())->deprecatedCopyInheritableProperties();
documentStyle->diff(style);
}
@@ -692,7 +692,7 @@ static PassRefPtr<CSSMutableStyleDeclaration> styleFromMatchedRulesAndInlineDecl
return style.release();
}
-static bool propertyMissingOrEqualToNone(CSSMutableStyleDeclaration* style, int propertyID)
+static bool propertyMissingOrEqualToNone(CSSStyleDeclaration* style, int propertyID)
{
if (!style)
return false;
@@ -704,8 +704,11 @@ static bool propertyMissingOrEqualToNone(CSSMutableStyleDeclaration* style, int
return static_cast<CSSPrimitiveValue*>(value.get())->getIdent() == CSSValueNone;
}
-static bool elementHasTextDecorationProperty(const Node* node)
+static bool isElementPresentational(const Node* node)
{
+ if (node->hasTagName(uTag) || node->hasTagName(sTag) || node->hasTagName(strikeTag) ||
+ node->hasTagName(iTag) || node->hasTagName(emTag) || node->hasTagName(bTag) || node->hasTagName(strongTag))
+ return true;
RefPtr<CSSMutableStyleDeclaration> style = styleFromMatchedRulesAndInlineDecl(node);
if (!style)
return false;
@@ -763,6 +766,25 @@ static bool shouldIncludeWrapperForFullySelectedRoot(Node* fullySelectedRoot, CS
style->getPropertyCSSValue(CSSPropertyBackgroundColor);
}
+static void addStyleMarkup(Vector<String>& preMarkups, Vector<String>& postMarkups, CSSStyleDeclaration* style, Document* document, bool isBlock = false)
+{
+ // All text-decoration-related elements should have been treated as special ancestors
+ // If we ever hit this ASSERT, we should export StyleChange in ApplyStyleCommand and use it here
+ ASSERT(propertyMissingOrEqualToNone(style, CSSPropertyTextDecoration) && propertyMissingOrEqualToNone(style, CSSPropertyWebkitTextDecorationsInEffect));
+ DEFINE_STATIC_LOCAL(const String, divStyle, ("<div style=\""));
+ DEFINE_STATIC_LOCAL(const String, divClose, ("</div>"));
+ DEFINE_STATIC_LOCAL(const String, styleSpanOpen, ("<span class=\"" AppleStyleSpanClass "\" style=\""));
+ DEFINE_STATIC_LOCAL(const String, styleSpanClose, ("</span>"));
+ Vector<UChar> openTag;
+ append(openTag, isBlock ? divStyle : styleSpanOpen);
+ appendAttributeValue(openTag, style->cssText(), document->isHTMLDocument());
+ openTag.append('\"');
+ openTag.append('>');
+ preMarkups.append(String::adopt(openTag));
+
+ postMarkups.append(isBlock ? divClose : styleSpanClose);
+}
+
// FIXME: Shouldn't we omit style info when annotate == DoNotAnnotateForInterchange?
// FIXME: At least, annotation and style info should probably not be included in range.markupString()
String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterchange annotate, bool convertBlocksToInlines)
@@ -776,8 +798,6 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (!document)
return "";
- bool documentIsHTML = document->isHTMLDocument();
-
// Disable the delete button so it's elements are not serialized into the markup,
// but make sure neither endpoint is inside the delete user interface.
Frame* frame = document->frame();
@@ -927,12 +947,12 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (isMailBlockquote(ancestor))
specialCommonAncestor = ancestor;
}
-
+
Node* checkAncestor = specialCommonAncestor ? specialCommonAncestor : commonAncestor;
if (checkAncestor->renderer()) {
- RefPtr<CSSMutableStyleDeclaration> checkAncestorStyle = computedStyle(checkAncestor)->copyInheritableProperties();
- if (!propertyMissingOrEqualToNone(checkAncestorStyle.get(), CSSPropertyWebkitTextDecorationsInEffect))
- specialCommonAncestor = enclosingNodeOfType(Position(checkAncestor, 0), &elementHasTextDecorationProperty);
+ Node* newSpecialCommonAncestor = highestEnclosingNodeOfType(Position(checkAncestor, 0), &isElementPresentational);
+ if (newSpecialCommonAncestor)
+ specialCommonAncestor = newSpecialCommonAncestor;
}
// If a single tab is selected, commonAncestor will be a text node inside a tab span.
@@ -966,18 +986,8 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (!fullySelectedRootStyle->getPropertyCSSValue(CSSPropertyBackgroundImage) && static_cast<Element*>(fullySelectedRoot)->hasAttribute(backgroundAttr))
fullySelectedRootStyle->setProperty(CSSPropertyBackgroundImage, "url('" + static_cast<Element*>(fullySelectedRoot)->getAttribute(backgroundAttr) + "')");
- if (fullySelectedRootStyle->length()) {
- Vector<UChar> openTag;
- DEFINE_STATIC_LOCAL(const String, divStyle, ("<div style=\""));
- append(openTag, divStyle);
- appendAttributeValue(openTag, fullySelectedRootStyle->cssText(), documentIsHTML);
- openTag.append('\"');
- openTag.append('>');
- preMarkups.append(String::adopt(openTag));
-
- DEFINE_STATIC_LOCAL(const String, divCloseTag, ("</div>"));
- markups.append(divCloseTag);
- }
+ if (fullySelectedRootStyle->length())
+ addStyleMarkup(preMarkups, markups, fullySelectedRootStyle.get(), document, true);
} else {
// Since this node and all the other ancestors are not in the selection we want to set RangeFullySelectsNode to DoesNotFullySelectNode
// so that styles that affect the exterior of the node are not included.
@@ -993,14 +1003,11 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
break;
}
}
-
- DEFINE_STATIC_LOCAL(const String, styleSpanOpen, ("<span class=\"" AppleStyleSpanClass "\" style=\""));
- DEFINE_STATIC_LOCAL(const String, styleSpanClose, ("</span>"));
-
+
// Add a wrapper span with the styles that all of the nodes in the markup inherit.
Node* parentOfLastClosed = lastClosed ? lastClosed->parentNode() : 0;
if (parentOfLastClosed && parentOfLastClosed->renderer()) {
- RefPtr<CSSMutableStyleDeclaration> style = computedStyle(parentOfLastClosed)->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> style = computedStyle(parentOfLastClosed)->deprecatedCopyInheritableProperties();
// Styles that Mail blockquotes contribute should only be placed on the Mail blockquote, to help
// us differentiate those styles from ones that the user has applied. This helps us
@@ -1016,33 +1023,18 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
if (convertBlocksToInlines)
style->removeBlockProperties();
- if (style->length() > 0) {
- Vector<UChar> openTag;
- append(openTag, styleSpanOpen);
- appendAttributeValue(openTag, style->cssText(), documentIsHTML);
- openTag.append('\"');
- openTag.append('>');
- preMarkups.append(String::adopt(openTag));
-
- markups.append(styleSpanClose);
- }
+ if (style->length() > 0)
+ addStyleMarkup(preMarkups, markups, style.get(), document);
}
if (lastClosed && lastClosed != document->documentElement()) {
// Add a style span with the document's default styles. We add these in a separate
// span so that at paste time we can differentiate between document defaults and user
// applied styles.
- RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(document->documentElement())->copyInheritableProperties();
+ RefPtr<CSSMutableStyleDeclaration> defaultStyle = computedStyle(document->documentElement())->deprecatedCopyInheritableProperties();
- if (defaultStyle->length() > 0) {
- Vector<UChar> openTag;
- append(openTag, styleSpanOpen);
- appendAttributeValue(openTag, defaultStyle->cssText(), documentIsHTML);
- openTag.append('\"');
- openTag.append('>');
- preMarkups.append(String::adopt(openTag));
- markups.append(styleSpanClose);
- }
+ if (defaultStyle->length() > 0)
+ addStyleMarkup(preMarkups, markups, defaultStyle.get(), document);
}
// FIXME: The interchange newline should be placed in the block that it's in, not after all of the content, unconditionally.
diff --git a/src/3rdparty/webkit/WebCore/editing/visible_units.cpp b/src/3rdparty/webkit/WebCore/editing/visible_units.cpp
index 02e9fb8..869c893 100644
--- a/src/3rdparty/webkit/WebCore/editing/visible_units.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/visible_units.cpp
@@ -1178,9 +1178,6 @@ VisiblePosition logicalStartOfLine(const VisiblePosition& c)
{
VisiblePosition visPos = logicalStartPositionForLine(c);
- if (visPos.isNull())
- return c.honorEditableBoundaryAtOrAfter(visPos);
-
return c.honorEditableBoundaryAtOrAfter(visPos);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h b/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h
index da67f2e..d3d7d36 100644
--- a/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/ArrayPrototype.lut.h
@@ -29,6 +29,6 @@ static const struct HashTableValue arrayTableValues[22] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable arrayTable =
+extern JSC_CONST_HASHTABLE HashTable arrayTable =
{ 65, 63, arrayTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
index 4c85bee..bdd4346 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse cssyyparse
-#define yylex cssyylex
-#define yyerror cssyyerror
-#define yylval cssyylval
-#define yychar cssyychar
-#define yydebug cssyydebug
-#define yynerrs cssyynerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOKEN_EOF = 0,
- LOWEST_PREC = 258,
- UNIMPORTANT_TOK = 259,
- WHITESPACE = 260,
- SGML_CD = 261,
- INCLUDES = 262,
- DASHMATCH = 263,
- BEGINSWITH = 264,
- ENDSWITH = 265,
- CONTAINS = 266,
- STRING = 267,
- IDENT = 268,
- NTH = 269,
- HEX = 270,
- IDSEL = 271,
- IMPORT_SYM = 272,
- PAGE_SYM = 273,
- MEDIA_SYM = 274,
- FONT_FACE_SYM = 275,
- CHARSET_SYM = 276,
- NAMESPACE_SYM = 277,
- WEBKIT_RULE_SYM = 278,
- WEBKIT_DECLS_SYM = 279,
- WEBKIT_KEYFRAME_RULE_SYM = 280,
- WEBKIT_KEYFRAMES_SYM = 281,
- WEBKIT_VALUE_SYM = 282,
- WEBKIT_MEDIAQUERY_SYM = 283,
- WEBKIT_SELECTOR_SYM = 284,
- WEBKIT_VARIABLES_SYM = 285,
- WEBKIT_DEFINE_SYM = 286,
- VARIABLES_FOR = 287,
- WEBKIT_VARIABLES_DECLS_SYM = 288,
- ATKEYWORD = 289,
- IMPORTANT_SYM = 290,
- MEDIA_ONLY = 291,
- MEDIA_NOT = 292,
- MEDIA_AND = 293,
- QEMS = 294,
- EMS = 295,
- EXS = 296,
- PXS = 297,
- CMS = 298,
- MMS = 299,
- INS = 300,
- PTS = 301,
- PCS = 302,
- DEGS = 303,
- RADS = 304,
- GRADS = 305,
- TURNS = 306,
- MSECS = 307,
- SECS = 308,
- HERZ = 309,
- KHERZ = 310,
- DIMEN = 311,
- PERCENTAGE = 312,
- FLOATTOKEN = 313,
- INTEGER = 314,
- URI = 315,
- FUNCTION = 316,
- NOTFUNCTION = 317,
- UNICODERANGE = 318,
- VARCALL = 319
- };
-#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define WEBKIT_VARIABLES_SYM 285
-#define WEBKIT_DEFINE_SYM 286
-#define VARIABLES_FOR 287
-#define WEBKIT_VARIABLES_DECLS_SYM 288
-#define ATKEYWORD 289
-#define IMPORTANT_SYM 290
-#define MEDIA_ONLY 291
-#define MEDIA_NOT 292
-#define MEDIA_AND 293
-#define QEMS 294
-#define EMS 295
-#define EXS 296
-#define PXS 297
-#define CMS 298
-#define MMS 299
-#define INS 300
-#define PTS 301
-#define PCS 302
-#define DEGS 303
-#define RADS 304
-#define GRADS 305
-#define TURNS 306
-#define MSECS 307
-#define SECS 308
-#define HERZ 309
-#define KHERZ 310
-#define DIMEN 311
-#define PERCENTAGE 312
-#define FLOATTOKEN 313
-#define INTEGER 314
-#define URI 315
-#define FUNCTION 316
-#define NOTFUNCTION 317
-#define UNICODERANGE 318
-#define VARCALL 319
-
-
+#define yyparse cssyyparse
+#define yylex cssyylex
+#define yyerror cssyyerror
+#define yylval cssyylval
+#define yychar cssyychar
+#define yydebug cssyydebug
+#define yynerrs cssyynerrs
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 1 "../css/CSSGrammar.y"
@@ -247,12 +115,16 @@
#include "MediaList.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
+#include <wtf/FastMalloc.h>
#include <stdlib.h>
#include <string.h>
using namespace WebCore;
using namespace HTMLNames;
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYENABLE_NLS 0
#define YYLTYPE_IS_TRIVIAL 1
#define YYMAXDEPTH 10000
@@ -264,6 +136,9 @@ using namespace HTMLNames;
+/* Line 189 of yacc.c */
+#line 141 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -282,10 +157,89 @@ using namespace HTMLNames;
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ TOKEN_EOF = 0,
+ LOWEST_PREC = 258,
+ UNIMPORTANT_TOK = 259,
+ WHITESPACE = 260,
+ SGML_CD = 261,
+ INCLUDES = 262,
+ DASHMATCH = 263,
+ BEGINSWITH = 264,
+ ENDSWITH = 265,
+ CONTAINS = 266,
+ STRING = 267,
+ IDENT = 268,
+ NTH = 269,
+ HEX = 270,
+ IDSEL = 271,
+ IMPORT_SYM = 272,
+ PAGE_SYM = 273,
+ MEDIA_SYM = 274,
+ FONT_FACE_SYM = 275,
+ CHARSET_SYM = 276,
+ NAMESPACE_SYM = 277,
+ WEBKIT_RULE_SYM = 278,
+ WEBKIT_DECLS_SYM = 279,
+ WEBKIT_KEYFRAME_RULE_SYM = 280,
+ WEBKIT_KEYFRAMES_SYM = 281,
+ WEBKIT_VALUE_SYM = 282,
+ WEBKIT_MEDIAQUERY_SYM = 283,
+ WEBKIT_SELECTOR_SYM = 284,
+ WEBKIT_VARIABLES_SYM = 285,
+ WEBKIT_DEFINE_SYM = 286,
+ VARIABLES_FOR = 287,
+ WEBKIT_VARIABLES_DECLS_SYM = 288,
+ ATKEYWORD = 289,
+ IMPORTANT_SYM = 290,
+ MEDIA_ONLY = 291,
+ MEDIA_NOT = 292,
+ MEDIA_AND = 293,
+ REMS = 294,
+ QEMS = 295,
+ EMS = 296,
+ EXS = 297,
+ PXS = 298,
+ CMS = 299,
+ MMS = 300,
+ INS = 301,
+ PTS = 302,
+ PCS = 303,
+ DEGS = 304,
+ RADS = 305,
+ GRADS = 306,
+ TURNS = 307,
+ MSECS = 308,
+ SECS = 309,
+ HERZ = 310,
+ KHERZ = 311,
+ DIMEN = 312,
+ PERCENTAGE = 313,
+ FLOATTOKEN = 314,
+ INTEGER = 315,
+ URI = 316,
+ FUNCTION = 317,
+ NOTFUNCTION = 318,
+ UNICODERANGE = 319,
+ VARCALL = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 58 "../css/CSSGrammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 62 "../css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -307,19 +261,22 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 187 of yacc.c. */
-#line 313 "WebCore/tmp/../generated/CSSGrammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 269 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
-#line 82 "../css/CSSGrammar.y"
+
+/* Line 264 of yacc.c */
+#line 86 "../css/CSSGrammar.y"
static inline int cssyyerror(const char*)
@@ -334,8 +291,8 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
-/* Line 216 of yacc.c. */
-#line 339 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+/* Line 264 of yacc.c */
+#line 296 "WebCore/tmp/../generated/CSSGrammar.tab.c"
#ifdef short
# undef short
@@ -410,14 +367,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -498,9 +455,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -534,12 +491,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -550,20 +507,20 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 28
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1315
+#define YYLAST 1329
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 85
+#define YYNTOKENS 86
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 90
/* YYNRULES -- Number of rules. */
-#define YYNRULES 267
+#define YYNRULES 268
/* YYNRULES -- Number of states. */
-#define YYNSTATES 513
+#define YYNSTATES 515
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 319
+#define YYMAXUTOK 320
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -574,16 +531,16 @@ static const yytype_uint8 yytranslate[] =
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 83, 2, 84, 2, 2,
- 73, 74, 20, 76, 75, 79, 18, 82, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 17, 72,
- 2, 81, 78, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 84, 2, 85, 2, 2,
+ 74, 75, 20, 77, 76, 80, 18, 83, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 17, 73,
+ 2, 82, 79, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 19, 2, 80, 2, 2, 2, 2, 2, 2,
+ 2, 19, 2, 81, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 70, 21, 71, 77, 2, 2, 2,
+ 2, 2, 2, 71, 21, 72, 78, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -602,7 +559,8 @@ static const yytype_uint8 yytranslate[] =
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70
};
#if YYDEBUG
@@ -635,137 +593,137 @@ static const yytype_uint16 yyprhs[] =
761, 764, 767, 771, 774, 777, 779, 782, 784, 787,
790, 793, 796, 799, 802, 805, 808, 811, 814, 817,
820, 823, 826, 829, 832, 835, 838, 841, 844, 847,
- 850, 852, 858, 862, 865, 868, 870, 873, 877, 881,
- 884, 888, 890, 892, 895, 901, 905, 907
+ 850, 853, 855, 861, 865, 868, 871, 873, 876, 880,
+ 884, 887, 891, 893, 895, 898, 904, 908, 910
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
- 86, 0, -1, 97, 96, 100, 101, 102, 103, -1,
- 88, 95, -1, 90, 95, -1, 92, 95, -1, 93,
- 95, -1, 94, 95, -1, 91, 95, -1, 89, 95,
- -1, 104, -1, 109, -1, 28, 70, 95, 87, 95,
- 71, -1, 30, 70, 95, 133, 95, 71, -1, 29,
- 70, 95, 155, 71, -1, 38, 70, 95, 112, 71,
- -1, 32, 70, 95, 160, 71, -1, 33, 5, 95,
- 125, 71, -1, 34, 70, 95, 141, 71, -1, -1,
- 95, 5, -1, -1, 96, 6, -1, 96, 5, -1,
- -1, 99, -1, 71, -1, 0, -1, 26, 95, 12,
- 95, 72, -1, 26, 1, 173, -1, 26, 1, 72,
- -1, -1, 100, 109, 96, -1, 169, -1, -1, 101,
- 110, 96, -1, -1, 102, 116, 96, -1, -1, 103,
- 105, 96, -1, 140, -1, 128, -1, 136, -1, 137,
- -1, 130, -1, 104, -1, 172, -1, 168, -1, 170,
- -1, -1, 106, 108, 96, -1, 140, -1, 136, -1,
- 137, -1, 130, -1, 107, -1, 172, -1, 168, -1,
- 170, -1, 171, -1, 22, 95, 118, 95, 126, 72,
- -1, 22, 95, 118, 95, 126, 173, -1, 22, 1,
- 72, -1, 22, 1, 173, -1, 35, 95, 126, 70,
- 95, 112, 71, -1, 36, 95, 111, 70, 95, 112,
- 71, -1, -1, 37, 5, 127, -1, 114, -1, 113,
- 114, -1, 113, -1, 1, 174, 1, -1, 1, -1,
- 113, 1, -1, 114, 72, 95, -1, 114, 174, 72,
- 95, -1, 1, 72, 95, -1, 1, 174, 1, 72,
- 95, -1, 113, 114, 72, 95, -1, 113, 1, 72,
- 95, -1, 113, 1, 174, 1, 72, 95, -1, 115,
- 17, 95, 160, -1, 115, 95, 70, 95, 155, 71,
- 95, -1, 115, 1, -1, 115, 17, 95, 1, 160,
- -1, 115, 17, 95, -1, 115, 17, 95, 1, -1,
- 13, 95, -1, 27, 95, 117, 118, 95, 72, -1,
- 27, 1, 173, -1, 27, 1, 72, -1, -1, 13,
- 5, -1, 12, -1, 65, -1, 13, 95, -1, -1,
- 17, 95, 160, 95, -1, 73, 95, 119, 95, 120,
- 74, 95, -1, 121, -1, 122, 95, 43, 95, 121,
- -1, -1, 43, 95, 122, -1, -1, 41, -1, 42,
- -1, 122, -1, 124, 95, 129, 123, -1, -1, 127,
- -1, 125, -1, 127, 75, 95, 125, -1, 127, 1,
- -1, 24, 95, 127, 70, 95, 106, 167, -1, 24,
- 95, 70, 95, 106, 167, -1, 13, 95, -1, 31,
- 95, 131, 95, 70, 95, 132, 71, -1, 13, -1,
- 12, -1, -1, 132, 133, 95, -1, 134, 95, 70,
- 95, 155, 71, -1, 135, -1, 134, 95, 75, 95,
- 135, -1, 62, -1, 13, -1, 23, 1, 173, -1,
- 23, 1, 72, -1, 25, 95, 70, 95, 155, 71,
- 95, -1, 25, 1, 173, -1, 25, 1, 72, -1,
- 76, 95, -1, 77, 95, -1, 78, 95, -1, 79,
- -1, 76, -1, 141, 70, 95, 155, 98, -1, 143,
- -1, 141, 75, 95, 143, -1, 141, 1, -1, 143,
- 5, -1, 145, -1, 142, -1, 142, 145, -1, 143,
- 138, 145, -1, 143, 1, -1, 21, -1, 20, 21,
- -1, 13, 21, -1, 146, -1, 146, 147, -1, 147,
- -1, 144, 146, -1, 144, 146, 147, -1, 144, 147,
- -1, 13, -1, 20, -1, 148, -1, 147, 148, -1,
- 147, 1, -1, 16, -1, 15, -1, 149, -1, 151,
- -1, 154, -1, 18, 13, -1, 13, 95, -1, 19,
- 95, 150, 80, -1, 19, 95, 150, 152, 95, 153,
- 95, 80, -1, 19, 95, 144, 150, 80, -1, 19,
- 95, 144, 150, 152, 95, 153, 95, 80, -1, 81,
+ 87, 0, -1, 98, 97, 101, 102, 103, 104, -1,
+ 89, 96, -1, 91, 96, -1, 93, 96, -1, 94,
+ 96, -1, 95, 96, -1, 92, 96, -1, 90, 96,
+ -1, 105, -1, 110, -1, 28, 71, 96, 88, 96,
+ 72, -1, 30, 71, 96, 134, 96, 72, -1, 29,
+ 71, 96, 156, 72, -1, 38, 71, 96, 113, 72,
+ -1, 32, 71, 96, 161, 72, -1, 33, 5, 96,
+ 126, 72, -1, 34, 71, 96, 142, 72, -1, -1,
+ 96, 5, -1, -1, 97, 6, -1, 97, 5, -1,
+ -1, 100, -1, 72, -1, 0, -1, 26, 96, 12,
+ 96, 73, -1, 26, 1, 174, -1, 26, 1, 73,
+ -1, -1, 101, 110, 97, -1, 170, -1, -1, 102,
+ 111, 97, -1, -1, 103, 117, 97, -1, -1, 104,
+ 106, 97, -1, 141, -1, 129, -1, 137, -1, 138,
+ -1, 131, -1, 105, -1, 173, -1, 169, -1, 171,
+ -1, -1, 107, 109, 97, -1, 141, -1, 137, -1,
+ 138, -1, 131, -1, 108, -1, 173, -1, 169, -1,
+ 171, -1, 172, -1, 22, 96, 119, 96, 127, 73,
+ -1, 22, 96, 119, 96, 127, 174, -1, 22, 1,
+ 73, -1, 22, 1, 174, -1, 35, 96, 127, 71,
+ 96, 113, 72, -1, 36, 96, 112, 71, 96, 113,
+ 72, -1, -1, 37, 5, 128, -1, 115, -1, 114,
+ 115, -1, 114, -1, 1, 175, 1, -1, 1, -1,
+ 114, 1, -1, 115, 73, 96, -1, 115, 175, 73,
+ 96, -1, 1, 73, 96, -1, 1, 175, 1, 73,
+ 96, -1, 114, 115, 73, 96, -1, 114, 1, 73,
+ 96, -1, 114, 1, 175, 1, 73, 96, -1, 116,
+ 17, 96, 161, -1, 116, 96, 71, 96, 156, 72,
+ 96, -1, 116, 1, -1, 116, 17, 96, 1, 161,
+ -1, 116, 17, 96, -1, 116, 17, 96, 1, -1,
+ 13, 96, -1, 27, 96, 118, 119, 96, 73, -1,
+ 27, 1, 174, -1, 27, 1, 73, -1, -1, 13,
+ 5, -1, 12, -1, 66, -1, 13, 96, -1, -1,
+ 17, 96, 161, 96, -1, 74, 96, 120, 96, 121,
+ 75, 96, -1, 122, -1, 123, 96, 43, 96, 122,
+ -1, -1, 43, 96, 123, -1, -1, 41, -1, 42,
+ -1, 123, -1, 125, 96, 130, 124, -1, -1, 128,
+ -1, 126, -1, 128, 76, 96, 126, -1, 128, 1,
+ -1, 24, 96, 128, 71, 96, 107, 168, -1, 24,
+ 96, 71, 96, 107, 168, -1, 13, 96, -1, 31,
+ 96, 132, 96, 71, 96, 133, 72, -1, 13, -1,
+ 12, -1, -1, 133, 134, 96, -1, 135, 96, 71,
+ 96, 156, 72, -1, 136, -1, 135, 96, 76, 96,
+ 136, -1, 63, -1, 13, -1, 23, 1, 174, -1,
+ 23, 1, 73, -1, 25, 96, 71, 96, 156, 72,
+ 96, -1, 25, 1, 174, -1, 25, 1, 73, -1,
+ 77, 96, -1, 78, 96, -1, 79, 96, -1, 80,
+ -1, 77, -1, 142, 71, 96, 156, 99, -1, 144,
+ -1, 142, 76, 96, 144, -1, 142, 1, -1, 144,
+ 5, -1, 146, -1, 143, -1, 143, 146, -1, 144,
+ 139, 146, -1, 144, 1, -1, 21, -1, 20, 21,
+ -1, 13, 21, -1, 147, -1, 147, 148, -1, 148,
+ -1, 145, 147, -1, 145, 147, 148, -1, 145, 148,
+ -1, 13, -1, 20, -1, 149, -1, 148, 149, -1,
+ 148, 1, -1, 16, -1, 15, -1, 150, -1, 152,
+ -1, 155, -1, 18, 13, -1, 13, 96, -1, 19,
+ 96, 151, 81, -1, 19, 96, 151, 153, 96, 154,
+ 96, 81, -1, 19, 96, 145, 151, 81, -1, 19,
+ 96, 145, 151, 153, 96, 154, 96, 81, -1, 82,
-1, 7, -1, 8, -1, 9, -1, 10, -1, 11,
-1, 13, -1, 12, -1, 17, 13, -1, 17, 17,
- 13, -1, 17, 66, 14, 74, -1, 17, 66, 64,
- 74, -1, 17, 66, 13, 74, -1, 17, 67, 95,
- 145, 95, 74, -1, 157, -1, 156, 157, -1, 156,
- -1, 1, 174, 1, -1, 1, -1, 156, 1, -1,
- 156, 174, -1, 157, 72, 95, -1, 157, 174, 72,
- 95, -1, 1, 72, 95, -1, 1, 174, 1, 72,
- 95, -1, 156, 157, 72, 95, -1, 156, 1, 72,
- 95, -1, 156, 1, 174, 1, 72, 95, -1, 158,
- 17, 95, 160, 159, -1, 164, 95, -1, 158, 1,
- -1, 158, 17, 95, 1, 160, 159, -1, 158, 17,
- 95, 160, 159, 1, -1, 40, 95, -1, 158, 17,
- 95, -1, 158, 17, 95, 1, -1, 158, 173, -1,
- 13, 95, -1, 40, 95, -1, -1, 162, -1, 160,
- 161, 162, -1, 160, 1, -1, 82, 95, -1, 75,
- 95, -1, -1, 163, -1, 139, 163, -1, 12, 95,
- -1, 13, 95, -1, 61, 95, -1, 139, 61, 95,
- -1, 65, 95, -1, 68, 95, -1, 166, -1, 83,
- 95, -1, 165, -1, 164, 95, -1, 84, 95, -1,
- 64, 95, -1, 63, 95, -1, 62, 95, -1, 47,
- 95, -1, 48, 95, -1, 49, 95, -1, 50, 95,
- -1, 51, 95, -1, 52, 95, -1, 53, 95, -1,
- 54, 95, -1, 55, 95, -1, 56, 95, -1, 57,
- 95, -1, 58, 95, -1, 59, 95, -1, 60, 95,
- -1, 45, 95, -1, 44, 95, -1, 46, 95, -1,
- 69, -1, 66, 95, 160, 74, 95, -1, 66, 95,
- 1, -1, 15, 95, -1, 16, 95, -1, 98, -1,
- 1, 98, -1, 39, 1, 173, -1, 39, 1, 72,
- -1, 168, 96, -1, 169, 168, 96, -1, 109, -1,
- 128, -1, 1, 173, -1, 70, 1, 174, 1, 98,
- -1, 70, 1, 98, -1, 173, -1, 174, 1, 173,
- -1
+ 13, -1, 17, 67, 14, 75, -1, 17, 67, 65,
+ 75, -1, 17, 67, 13, 75, -1, 17, 68, 96,
+ 146, 96, 75, -1, 158, -1, 157, 158, -1, 157,
+ -1, 1, 175, 1, -1, 1, -1, 157, 1, -1,
+ 157, 175, -1, 158, 73, 96, -1, 158, 175, 73,
+ 96, -1, 1, 73, 96, -1, 1, 175, 1, 73,
+ 96, -1, 157, 158, 73, 96, -1, 157, 1, 73,
+ 96, -1, 157, 1, 175, 1, 73, 96, -1, 159,
+ 17, 96, 161, 160, -1, 165, 96, -1, 159, 1,
+ -1, 159, 17, 96, 1, 161, 160, -1, 159, 17,
+ 96, 161, 160, 1, -1, 40, 96, -1, 159, 17,
+ 96, -1, 159, 17, 96, 1, -1, 159, 174, -1,
+ 13, 96, -1, 40, 96, -1, -1, 163, -1, 161,
+ 162, 163, -1, 161, 1, -1, 83, 96, -1, 76,
+ 96, -1, -1, 164, -1, 140, 164, -1, 12, 96,
+ -1, 13, 96, -1, 62, 96, -1, 140, 62, 96,
+ -1, 66, 96, -1, 69, 96, -1, 167, -1, 84,
+ 96, -1, 166, -1, 165, 96, -1, 85, 96, -1,
+ 65, 96, -1, 64, 96, -1, 63, 96, -1, 48,
+ 96, -1, 49, 96, -1, 50, 96, -1, 51, 96,
+ -1, 52, 96, -1, 53, 96, -1, 54, 96, -1,
+ 55, 96, -1, 56, 96, -1, 57, 96, -1, 58,
+ 96, -1, 59, 96, -1, 60, 96, -1, 61, 96,
+ -1, 46, 96, -1, 45, 96, -1, 47, 96, -1,
+ 44, 96, -1, 70, -1, 67, 96, 161, 75, 96,
+ -1, 67, 96, 1, -1, 15, 96, -1, 16, 96,
+ -1, 99, -1, 1, 99, -1, 39, 1, 174, -1,
+ 39, 1, 73, -1, 169, 97, -1, 170, 169, 97,
+ -1, 110, -1, 129, -1, 1, 174, -1, 71, 1,
+ 175, 1, 99, -1, 71, 1, 99, -1, 174, -1,
+ 175, 1, 174, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 266, 266, 267, 268, 269, 270, 271, 272, 273,
- 277, 278, 282, 288, 294, 300, 306, 320, 327, 337,
- 338, 341, 343, 344, 347, 349, 354, 355, 359, 365,
- 367, 371, 373, 378, 382, 384, 391, 393, 396, 398,
- 406, 407, 408, 409, 410, 414, 415, 416, 417, 421,
- 422, 433, 434, 435, 436, 440, 441, 442, 443, 444,
- 449, 452, 455, 458, 464, 468, 474, 478, 484, 487,
- 492, 495, 498, 501, 507, 510, 513, 516, 519, 524,
- 527, 533, 537, 541, 545, 549, 554, 561, 567, 572,
- 573, 577, 578, 582, 583, 587, 593, 596, 602, 609,
- 614, 621, 624, 630, 633, 636, 642, 647, 655, 658,
- 662, 667, 672, 678, 681, 687, 693, 700, 701, 705,
- 706, 714, 720, 725, 734, 735, 759, 762, 768, 772,
- 775, 781, 782, 783, 787, 788, 792, 798, 807, 815,
- 821, 827, 830, 834, 850, 870, 876, 877, 878, 882,
- 887, 894, 900, 910, 922, 935, 943, 951, 954, 967,
- 973, 981, 993, 994, 995, 999, 1010, 1021, 1026, 1032,
- 1040, 1052, 1055, 1058, 1061, 1064, 1067, 1073, 1074, 1078,
- 1108, 1128, 1146, 1164, 1183, 1198, 1201, 1206, 1209, 1212,
- 1215, 1218, 1224, 1227, 1230, 1233, 1236, 1241, 1244, 1250,
- 1264, 1276, 1280, 1287, 1292, 1297, 1302, 1307, 1314, 1320,
- 1321, 1325, 1330, 1344, 1350, 1353, 1356, 1362, 1363, 1364,
- 1365, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1381, 1384,
- 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399,
- 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409,
- 1413, 1421, 1430, 1446, 1447, 1454, 1457, 1463, 1466, 1472,
- 1473, 1477, 1483, 1489, 1507, 1508, 1512, 1513
+ 0, 271, 271, 272, 273, 274, 275, 276, 277, 278,
+ 282, 283, 287, 293, 299, 305, 311, 325, 332, 342,
+ 343, 346, 348, 349, 352, 354, 359, 360, 364, 370,
+ 372, 376, 378, 383, 387, 389, 396, 398, 401, 403,
+ 411, 412, 413, 414, 415, 419, 420, 421, 422, 426,
+ 427, 438, 439, 440, 441, 445, 446, 447, 448, 449,
+ 454, 457, 460, 463, 469, 473, 479, 483, 489, 492,
+ 497, 500, 503, 506, 512, 515, 518, 521, 524, 529,
+ 532, 538, 542, 546, 550, 554, 559, 566, 572, 577,
+ 578, 582, 583, 587, 588, 592, 598, 601, 607, 614,
+ 619, 626, 629, 635, 638, 641, 647, 652, 660, 663,
+ 667, 672, 677, 683, 686, 692, 698, 705, 706, 710,
+ 711, 719, 725, 730, 739, 740, 764, 767, 773, 777,
+ 780, 786, 787, 788, 792, 793, 797, 803, 812, 820,
+ 826, 832, 835, 839, 855, 875, 881, 882, 883, 887,
+ 892, 899, 905, 915, 927, 940, 948, 956, 959, 972,
+ 978, 986, 998, 999, 1000, 1004, 1015, 1026, 1031, 1037,
+ 1045, 1057, 1060, 1063, 1066, 1069, 1072, 1078, 1079, 1083,
+ 1113, 1133, 1151, 1169, 1188, 1203, 1206, 1211, 1214, 1217,
+ 1220, 1223, 1229, 1232, 1235, 1238, 1241, 1246, 1249, 1255,
+ 1269, 1281, 1285, 1292, 1297, 1302, 1307, 1312, 1319, 1325,
+ 1326, 1330, 1335, 1349, 1355, 1358, 1361, 1367, 1368, 1369,
+ 1370, 1376, 1377, 1378, 1379, 1380, 1381, 1383, 1386, 1389,
+ 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
+ 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414,
+ 1415, 1426, 1434, 1443, 1459, 1460, 1467, 1470, 1476, 1479,
+ 1485, 1486, 1490, 1496, 1502, 1520, 1521, 1525, 1526
};
#endif
@@ -783,19 +741,19 @@ static const char *const yytname[] =
"WEBKIT_VALUE_SYM", "WEBKIT_MEDIAQUERY_SYM", "WEBKIT_SELECTOR_SYM",
"WEBKIT_VARIABLES_SYM", "WEBKIT_DEFINE_SYM", "VARIABLES_FOR",
"WEBKIT_VARIABLES_DECLS_SYM", "ATKEYWORD", "IMPORTANT_SYM", "MEDIA_ONLY",
- "MEDIA_NOT", "MEDIA_AND", "QEMS", "EMS", "EXS", "PXS", "CMS", "MMS",
- "INS", "PTS", "PCS", "DEGS", "RADS", "GRADS", "TURNS", "MSECS", "SECS",
- "HERZ", "KHERZ", "DIMEN", "PERCENTAGE", "FLOATTOKEN", "INTEGER", "URI",
- "FUNCTION", "NOTFUNCTION", "UNICODERANGE", "VARCALL", "'{'", "'}'",
- "';'", "'('", "')'", "','", "'+'", "'~'", "'>'", "'-'", "']'", "'='",
- "'/'", "'#'", "'%'", "$accept", "stylesheet", "valid_rule_or_import",
- "webkit_rule", "webkit_keyframe_rule", "webkit_decls",
- "webkit_variables_decls", "webkit_value", "webkit_mediaquery",
- "webkit_selector", "maybe_space", "maybe_sgml", "maybe_charset",
- "closing_brace", "charset", "import_list", "variables_list",
- "namespace_list", "rule_list", "valid_rule", "rule", "block_rule_list",
- "block_valid_rule", "block_rule", "import", "variables_rule",
- "variables_media_list", "variables_declaration_list",
+ "MEDIA_NOT", "MEDIA_AND", "REMS", "QEMS", "EMS", "EXS", "PXS", "CMS",
+ "MMS", "INS", "PTS", "PCS", "DEGS", "RADS", "GRADS", "TURNS", "MSECS",
+ "SECS", "HERZ", "KHERZ", "DIMEN", "PERCENTAGE", "FLOATTOKEN", "INTEGER",
+ "URI", "FUNCTION", "NOTFUNCTION", "UNICODERANGE", "VARCALL", "'{'",
+ "'}'", "';'", "'('", "')'", "','", "'+'", "'~'", "'>'", "'-'", "']'",
+ "'='", "'/'", "'#'", "'%'", "$accept", "stylesheet",
+ "valid_rule_or_import", "webkit_rule", "webkit_keyframe_rule",
+ "webkit_decls", "webkit_variables_decls", "webkit_value",
+ "webkit_mediaquery", "webkit_selector", "maybe_space", "maybe_sgml",
+ "maybe_charset", "closing_brace", "charset", "import_list",
+ "variables_list", "namespace_list", "rule_list", "valid_rule", "rule",
+ "block_rule_list", "block_valid_rule", "block_rule", "import",
+ "variables_rule", "variables_media_list", "variables_declaration_list",
"variables_decl_list", "variables_declaration", "variable_name",
"namespace", "maybe_ns_prefix", "string_or_uri", "media_feature",
"maybe_media_value", "media_query_exp", "media_query_exp_list",
@@ -826,41 +784,41 @@ static const yytype_uint16 yytoknum[] =
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
- 123, 125, 59, 40, 41, 44, 43, 126, 62, 45,
- 93, 61, 47, 35, 37
+ 320, 123, 125, 59, 40, 41, 44, 43, 126, 62,
+ 45, 93, 61, 47, 35, 37
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 85, 86, 86, 86, 86, 86, 86, 86, 86,
- 87, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 95, 96, 96, 96, 97, 97, 98, 98, 99, 99,
- 99, 100, 100, 100, 101, 101, 102, 102, 103, 103,
- 104, 104, 104, 104, 104, 105, 105, 105, 105, 106,
- 106, 107, 107, 107, 107, 108, 108, 108, 108, 108,
- 109, 109, 109, 109, 110, 110, 111, 111, 112, 112,
- 112, 112, 112, 112, 113, 113, 113, 113, 113, 113,
- 113, 114, 114, 114, 114, 114, 114, 115, 116, 116,
- 116, 117, 117, 118, 118, 119, 120, 120, 121, 122,
- 122, 123, 123, 124, 124, 124, 125, 125, 126, 126,
- 127, 127, 127, 128, 128, 129, 130, 131, 131, 132,
- 132, 133, 134, 134, 135, 135, 136, 136, 137, 137,
- 137, 138, 138, 138, 139, 139, 140, 141, 141, 141,
- 142, 143, 143, 143, 143, 143, 144, 144, 144, 145,
- 145, 145, 145, 145, 145, 146, 146, 147, 147, 147,
- 148, 148, 148, 148, 148, 149, 150, 151, 151, 151,
- 151, 152, 152, 152, 152, 152, 152, 153, 153, 154,
- 154, 154, 154, 154, 154, 155, 155, 155, 155, 155,
- 155, 155, 156, 156, 156, 156, 156, 156, 156, 157,
- 157, 157, 157, 157, 157, 157, 157, 157, 158, 159,
- 159, 160, 160, 160, 161, 161, 161, 162, 162, 162,
- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
- 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
+ 0, 86, 87, 87, 87, 87, 87, 87, 87, 87,
+ 88, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 96, 97, 97, 97, 98, 98, 99, 99, 100, 100,
+ 100, 101, 101, 101, 102, 102, 103, 103, 104, 104,
+ 105, 105, 105, 105, 105, 106, 106, 106, 106, 107,
+ 107, 108, 108, 108, 108, 109, 109, 109, 109, 109,
+ 110, 110, 110, 110, 111, 111, 112, 112, 113, 113,
+ 113, 113, 113, 113, 114, 114, 114, 114, 114, 114,
+ 114, 115, 115, 115, 115, 115, 115, 116, 117, 117,
+ 117, 118, 118, 119, 119, 120, 121, 121, 122, 123,
+ 123, 124, 124, 125, 125, 125, 126, 126, 127, 127,
+ 128, 128, 128, 129, 129, 130, 131, 132, 132, 133,
+ 133, 134, 135, 135, 136, 136, 137, 137, 138, 138,
+ 138, 139, 139, 139, 140, 140, 141, 142, 142, 142,
+ 143, 144, 144, 144, 144, 144, 145, 145, 145, 146,
+ 146, 146, 146, 146, 146, 147, 147, 148, 148, 148,
+ 149, 149, 149, 149, 149, 150, 151, 152, 152, 152,
+ 152, 153, 153, 153, 153, 153, 153, 154, 154, 155,
+ 155, 155, 155, 155, 155, 156, 156, 156, 156, 156,
+ 156, 156, 157, 157, 157, 157, 157, 157, 157, 158,
+ 158, 158, 158, 158, 158, 158, 158, 158, 159, 160,
+ 160, 161, 161, 161, 162, 162, 162, 163, 163, 163,
163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
- 164, 165, 165, 166, 166, 167, 167, 168, 168, 169,
- 169, 170, 171, 172, 173, 173, 174, 174
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
+ 164, 165, 166, 166, 167, 167, 168, 168, 169, 169,
+ 170, 170, 171, 172, 173, 174, 174, 175, 175
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -891,8 +849,8 @@ static const yytype_uint8 yyr2[] =
2, 2, 3, 2, 2, 1, 2, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 1, 5, 3, 2, 2, 1, 2, 3, 3, 2,
- 3, 1, 1, 2, 5, 3, 1, 3
+ 2, 1, 5, 3, 2, 2, 1, 2, 3, 3,
+ 2, 3, 1, 1, 2, 5, 3, 1, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -909,136 +867,136 @@ static const yytype_uint16 yydefact[] =
0, 0, 19, 156, 146, 0, 0, 19, 0, 19,
19, 10, 11, 41, 44, 42, 43, 40, 0, 142,
0, 0, 141, 149, 0, 157, 162, 163, 164, 189,
- 19, 19, 250, 0, 0, 185, 0, 19, 125, 124,
+ 19, 19, 251, 0, 0, 185, 0, 19, 125, 124,
19, 19, 122, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
- 19, 135, 134, 19, 19, 0, 0, 211, 217, 19,
- 227, 225, 104, 105, 19, 99, 106, 19, 0, 0,
- 72, 19, 0, 0, 68, 0, 0, 36, 21, 259,
- 21, 27, 26, 265, 266, 0, 28, 148, 179, 0,
- 0, 19, 165, 0, 147, 0, 0, 0, 103, 0,
- 0, 0, 0, 139, 19, 19, 143, 145, 140, 19,
- 19, 19, 0, 155, 156, 152, 0, 0, 159, 158,
- 19, 0, 208, 204, 14, 190, 186, 0, 19, 0,
- 201, 19, 207, 200, 0, 0, 219, 220, 253, 254,
- 248, 247, 249, 233, 234, 235, 236, 237, 238, 239,
- 240, 241, 242, 243, 244, 245, 246, 221, 232, 231,
- 230, 223, 0, 224, 226, 229, 19, 218, 213, 16,
- 19, 19, 0, 228, 0, 0, 0, 17, 18, 19,
- 0, 87, 15, 73, 69, 19, 0, 83, 19, 0,
- 258, 257, 19, 19, 38, 21, 32, 260, 0, 180,
- 0, 0, 0, 0, 19, 0, 0, 0, 62, 63,
- 93, 94, 19, 127, 126, 19, 110, 0, 130, 129,
- 19, 118, 117, 19, 12, 0, 0, 131, 132, 133,
- 144, 0, 194, 188, 19, 0, 19, 0, 192, 19,
- 0, 13, 19, 19, 252, 0, 222, 215, 214, 212,
- 19, 19, 19, 19, 101, 76, 71, 19, 0, 19,
- 74, 19, 0, 19, 103, 66, 0, 0, 21, 35,
- 264, 267, 183, 181, 182, 19, 166, 19, 0, 172,
- 173, 174, 175, 176, 167, 171, 19, 108, 49, 112,
- 19, 19, 0, 0, 0, 0, 19, 197, 0, 196,
- 193, 206, 0, 0, 0, 19, 95, 96, 0, 115,
- 19, 107, 19, 79, 0, 78, 75, 86, 0, 0,
- 0, 0, 0, 0, 0, 91, 0, 45, 21, 261,
- 47, 48, 46, 37, 0, 169, 19, 0, 0, 0,
- 49, 103, 0, 19, 136, 195, 19, 0, 19, 0,
- 0, 123, 251, 19, 0, 100, 0, 77, 19, 0,
- 0, 19, 103, 19, 90, 89, 0, 0, 263, 39,
- 184, 0, 178, 177, 19, 60, 61, 0, 255, 55,
- 21, 262, 54, 52, 53, 51, 114, 57, 58, 59,
- 56, 0, 111, 19, 119, 198, 202, 209, 203, 121,
- 0, 19, 102, 80, 19, 0, 0, 0, 92, 19,
- 19, 0, 256, 50, 113, 128, 0, 0, 98, 82,
- 0, 0, 0, 0, 168, 116, 19, 97, 64, 65,
- 88, 170, 120
+ 19, 19, 135, 134, 19, 19, 0, 0, 211, 217,
+ 19, 227, 225, 104, 105, 19, 99, 106, 19, 0,
+ 0, 72, 19, 0, 0, 68, 0, 0, 36, 21,
+ 260, 21, 27, 26, 266, 267, 0, 28, 148, 179,
+ 0, 0, 19, 165, 0, 147, 0, 0, 0, 103,
+ 0, 0, 0, 0, 139, 19, 19, 143, 145, 140,
+ 19, 19, 19, 0, 155, 156, 152, 0, 0, 159,
+ 158, 19, 0, 208, 204, 14, 190, 186, 0, 19,
+ 0, 201, 19, 207, 200, 0, 0, 219, 220, 254,
+ 255, 250, 248, 247, 249, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 221,
+ 232, 231, 230, 223, 0, 224, 226, 229, 19, 218,
+ 213, 16, 19, 19, 0, 228, 0, 0, 0, 17,
+ 18, 19, 0, 87, 15, 73, 69, 19, 0, 83,
+ 19, 0, 259, 258, 19, 19, 38, 21, 32, 261,
+ 0, 180, 0, 0, 0, 0, 19, 0, 0, 0,
+ 62, 63, 93, 94, 19, 127, 126, 19, 110, 0,
+ 130, 129, 19, 118, 117, 19, 12, 0, 0, 131,
+ 132, 133, 144, 0, 194, 188, 19, 0, 19, 0,
+ 192, 19, 0, 13, 19, 19, 253, 0, 222, 215,
+ 214, 212, 19, 19, 19, 19, 101, 76, 71, 19,
+ 0, 19, 74, 19, 0, 19, 103, 66, 0, 0,
+ 21, 35, 265, 268, 183, 181, 182, 19, 166, 19,
+ 0, 172, 173, 174, 175, 176, 167, 171, 19, 108,
+ 49, 112, 19, 19, 0, 0, 0, 0, 19, 197,
+ 0, 196, 193, 206, 0, 0, 0, 19, 95, 96,
+ 0, 115, 19, 107, 19, 79, 0, 78, 75, 86,
+ 0, 0, 0, 0, 0, 0, 0, 91, 0, 45,
+ 21, 262, 47, 48, 46, 37, 0, 169, 19, 0,
+ 0, 0, 49, 103, 0, 19, 136, 195, 19, 0,
+ 19, 0, 0, 123, 252, 19, 0, 100, 0, 77,
+ 19, 0, 0, 19, 103, 19, 90, 89, 0, 0,
+ 264, 39, 184, 0, 178, 177, 19, 60, 61, 0,
+ 256, 55, 21, 263, 54, 52, 53, 51, 114, 57,
+ 58, 59, 56, 0, 111, 19, 119, 198, 202, 209,
+ 203, 121, 0, 19, 102, 80, 19, 0, 0, 0,
+ 92, 19, 19, 0, 257, 50, 113, 128, 0, 0,
+ 98, 82, 0, 0, 0, 0, 168, 116, 19, 97,
+ 64, 65, 88, 170, 120
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 9, 70, 10, 11, 12, 13, 14, 15, 16,
- 255, 36, 17, 458, 18, 52, 157, 274, 347, 71,
- 408, 419, 459, 460, 409, 275, 403, 152, 153, 154,
- 155, 348, 447, 292, 331, 434, 145, 146, 391, 147,
- 296, 400, 401, 73, 334, 74, 303, 496, 100, 101,
- 102, 75, 76, 192, 135, 77, 78, 79, 80, 81,
- 82, 83, 84, 85, 86, 287, 87, 366, 454, 88,
- 93, 94, 95, 96, 429, 136, 252, 137, 138, 139,
- 140, 141, 466, 467, 54, 468, 469, 470, 164, 165
+ 257, 36, 17, 460, 18, 52, 158, 276, 349, 71,
+ 410, 421, 461, 462, 411, 277, 405, 153, 154, 155,
+ 156, 350, 449, 294, 333, 436, 146, 147, 393, 148,
+ 298, 402, 403, 73, 336, 74, 305, 498, 100, 101,
+ 102, 75, 76, 193, 136, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 289, 87, 368, 456, 88,
+ 93, 94, 95, 96, 431, 137, 254, 138, 139, 140,
+ 141, 142, 468, 469, 54, 470, 471, 472, 165, 166
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -435
+#define YYPACT_NINF -301
static const yytype_int16 yypact[] =
{
- 818, 44, -36, -18, 112, 127, 66, 141, 162, 243,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, 239,
- 43, -435, -435, -435, -435, -435, -435, -435, -435, 250,
- 250, 250, 250, 250, 250, 250, 37, 304, -435, -435,
- -435, -435, 763, 354, 31, 1114, 144, 622, 49, -435,
- -435, 346, 344, -435, 332, 27, 23, 358, -435, -435,
- 401, 370, -435, 371, -435, 381, 406, -435, 193, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, 171, 702,
- 143, 631, -435, 756, 159, -435, -435, -435, -435, 240,
- -435, -435, -435, 329, 303, 254, 199, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, -435, -435, -435, 949, 903, -435, -435, -435,
- -435, -435, -435, -435, -435, -435, 34, -435, 342, 4,
- 274, -435, 353, 59, 291, 223, 331, 395, -435, 438,
- -435, -435, -435, -435, -435, 437, -435, -435, -435, 448,
- 24, -435, -435, 415, -435, 349, 295, 377, 375, 399,
- 198, 421, 190, -435, -435, -435, -435, -435, -435, -435,
- -435, -435, 702, -435, -435, 756, 334, 380, -435, -435,
- -435, 463, 250, 250, -435, 409, 398, 180, -435, 15,
- -435, -435, -435, 250, 221, 182, 250, 250, 250, 250,
- 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
- 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
- 250, 250, 1052, 250, 250, 250, -435, -435, -435, -435,
- -435, -435, 1172, 250, 188, 166, 301, -435, -435, -435,
- 472, 250, -435, 412, 404, -435, 62, -435, -435, 220,
- -435, -435, -435, -435, 458, -435, 438, 438, 27, -435,
- 413, 417, 430, 622, 358, 371, 473, 158, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, 172, -435, -435,
- -435, -435, -435, -435, -435, 354, 622, 250, 250, 250,
- -435, 555, 250, 420, -435, 502, -435, 459, 250, -435,
- 535, -435, -435, -435, -435, 976, 250, 250, 250, -435,
- -435, -435, -435, -435, 496, 250, 423, -435, 541, -435,
- 250, -435, 754, -435, 424, 36, 552, 685, -435, 438,
- -435, -435, -435, -435, -435, -435, 250, -435, 277, -435,
- -435, -435, -435, -435, -435, -435, -435, 856, 250, -435,
- -435, -435, 354, 226, 65, 203, -435, 250, 428, 250,
- 250, 1172, 462, 354, 31, -435, 250, 53, 186, 250,
- -435, -435, -435, 250, 429, 250, 250, 1172, 608, 354,
- 479, 83, 538, 485, 482, 320, 459, -435, -435, -435,
- -435, -435, -435, 438, 78, -435, -435, 447, 489, 1244,
- 250, 144, 487, -435, -435, 250, -435, 462, -435, 205,
- 491, -435, 250, -435, 492, -435, 186, 250, -435, 681,
- 497, -435, 5, -435, -435, -435, 558, 150, -435, 438,
- -435, 447, -435, -435, -435, -435, -435, 27, -435, -435,
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -435, 1244, -435, -435, 250, 250, -435, 250, -435, -435,
- 1114, -435, 34, 250, -435, 49, 178, 49, -435, -435,
- -435, 1, -435, 438, -435, 250, 306, 827, 250, 250,
- 498, 504, 151, 14, -435, -435, -435, 250, -435, -435,
- -435, -435, 250
+ 467, 43, -9, 143, 155, 174, 47, 179, 199, 202,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -15,
+ 220, -301, -301, -301, -301, -301, -301, -301, -301, 233,
+ 233, 233, 233, 233, 233, 233, 31, 325, -301, -301,
+ -301, -301, 769, 191, 420, 1125, 407, 556, 38, -301,
+ -301, 336, 290, -301, 345, 146, 14, 374, -301, -301,
+ 419, 393, -301, 397, -301, 402, 446, -301, 194, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, 82, 616,
+ 297, 629, -301, 454, 164, -301, -301, -301, -301, 236,
+ -301, -301, -301, 384, 640, 237, 277, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, 807, 911, -301, -301,
+ -301, -301, -301, -301, -301, -301, -301, 28, -301, 390,
+ 87, 248, -301, 394, 185, 308, 229, 355, 319, -301,
+ 405, -301, -301, -301, -301, -301, 450, -301, -301, -301,
+ 471, 292, -301, -301, 25, -301, 364, 285, 367, 311,
+ 379, 22, 37, 196, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 616, -301, -301, 454, 205, 344, -301,
+ -301, -301, 466, 233, 233, -301, 484, 416, 94, -301,
+ 62, -301, -301, -301, 233, 223, 183, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 1062, 233, 233, 233, -301, -301,
+ -301, -301, -301, -301, 1184, 233, 60, 29, 383, -301,
+ -301, -301, 493, 233, -301, 507, 429, -301, 83, -301,
+ -301, 192, -301, -301, -301, -301, 476, -301, 405, 405,
+ 146, -301, 431, 457, 470, 556, 374, 397, 529, 68,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, 96,
+ -301, -301, -301, -301, -301, -301, -301, 191, 556, 233,
+ 233, 233, -301, 382, 233, 508, -301, 545, -301, 481,
+ 233, -301, 538, -301, -301, -301, -301, 985, 233, 233,
+ 233, -301, -301, -301, -301, -301, 519, 233, 541, -301,
+ 569, -301, 233, -301, 760, -301, 404, 23, 555, 915,
+ -301, 405, -301, -301, -301, -301, -301, -301, 233, -301,
+ 167, -301, -301, -301, -301, -301, -301, -301, -301, 389,
+ 233, -301, -301, -301, 191, 208, 161, 487, -301, 233,
+ 546, 233, 233, 1184, 464, 191, 420, -301, 233, 36,
+ 131, 233, -301, -301, -301, 233, 579, 233, 233, 1184,
+ 612, 191, 535, 97, 611, 549, 620, 400, 481, -301,
+ -301, -301, -301, -301, -301, 405, 152, -301, -301, 323,
+ 632, 1257, 233, 407, 554, -301, -301, 233, -301, 464,
+ -301, 215, 558, -301, 233, -301, 563, -301, 131, 233,
+ -301, 686, 567, -301, 272, -301, -301, -301, 638, 299,
+ -301, 405, -301, 323, -301, -301, -301, -301, -301, 146,
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 1257, -301, -301, 233, 233, -301, 233,
+ -301, -301, 1125, -301, 28, 233, -301, 38, 136, 38,
+ -301, -301, -301, 0, -301, 405, -301, 233, 181, 834,
+ 233, 233, 582, 583, 182, 1, -301, -301, -301, 233,
+ -301, -301, -301, -301, 233
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
- -1, -21, -435, -51, -435, -435, -435, -435, -435, 229,
- -435, 147, -435, -435, 256, -435, -435, -434, -435, 425,
- -435, -435, -435, 130, -435, -435, 214, 174, -435, -435,
- -45, 241, -176, -389, -435, -227, -435, -435, 116, -435,
- 231, -154, -137, -435, -435, -130, 566, -435, 310, 449,
- -61, 547, -50, -55, -435, 348, -435, 278, 194, -435,
- -298, -435, 581, -435, 261, -185, -435, 443, 546, -35,
- -435, -435, 218, -19, -435, 352, -435, 364, -16, -3
+ -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
+ -1, -21, -301, -51, -301, -301, -301, -301, -301, 302,
+ -301, 264, -301, -301, 5, -301, -301, 217, -301, 536,
+ -301, -301, -301, 245, -301, -301, 310, 269, -301, -301,
+ -45, 339, -177, -202, -301, -146, -301, -301, 211, -301,
+ 327, -132, -130, -301, -301, -103, 667, -301, 408, 543,
+ -48, 634, -65, -55, -301, 430, -301, 359, 267, -301,
+ -300, -301, 627, -301, 293, -190, -301, 469, 588, -35,
+ -301, -301, 252, -19, -301, 377, -301, 378, -16, -3
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1048,332 +1006,334 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -217
static const yytype_int16 yytable[] =
{
- 20, 148, 297, 39, 163, 183, 40, 374, 97, 29,
- 30, 31, 32, 33, 34, 35, 317, 53, 186, 40,
- 42, 43, 44, 45, 46, 47, 48, 161, 40, 199,
- 461, 196, 159, 197, 21, 160, 40, 280, 281, -19,
- 56, 40, 49, 50, 98, 19, 142, 143, 40, -19,
- 150, 500, 22, 501, 40, 41, -19, 325, 40, 97,
- 263, 173, 151, 317, 176, 161, 178, 180, 181, 182,
- 433, 25, 151, 402, 422, 258, 51, -19, 144, 185,
- 212, 504, 461, 40, 369, 430, 201, 319, 282, 202,
- 203, 207, 209, 99, 511, 166, 213, 37, 162, 214,
- 215, 440, 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
- 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
- -70, 310, 244, 245, 341, 382, 162, 276, 253, 277,
- 271, 199, 199, 254, 187, 311, 256, 260, 188, 40,
- 261, 266, 450, -109, 269, -109, 40, 398, 371, 289,
- 198, 294, 290, 299, -151, 359, 360, 361, 362, 363,
- 283, 40, 183, 369, 58, 59, 60, 61, 62, 369,
- -191, 317, 23, 305, 306, 142, 143, 40, 307, 308,
- 309, 40, 462, 40, 179, 40, 427, 24, -19, 312,
- 210, 330, 315, 40, 187, -199, 478, 318, 188, 332,
- 320, 26, 439, -137, -137, 291, 211, 144, -137, 189,
- 190, 191, 355, 510, 267, 40, 40, 350, -19, -151,
- -151, 40, 27, -151, -151, -151, -151, -151, 364, 365,
- 268, 184, 370, 28, 462, 326, 185, 371, -67, 327,
- 328, -191, 322, 371, 349, 40, 199, 323, 335, 144,
- 338, 304, 351, -19, 340, 463, 486, 342, 300, 37,
- 97, 344, 345, -138, -138, -199, -199, -199, -138, 189,
- 190, 191, 464, 356, 359, 360, 361, 362, 363, 465,
- 343, 367, 321, -19, 368, 497, 423, 351, 72, 372,
- 40, 351, 373, -187, 205, 55, 40, 290, 158, 37,
- 37, 38, 200, 377, 333, 379, 90, 463, 380, 98,
- 351, 383, 384, 424, 37, 40, 208, 413, 410, 386,
- 387, 388, 389, 446, 464, 198, 393, 97, 395, -154,
- 396, 465, 399, 91, 37, 405, 259, 156, 97, 58,
- 59, 60, 61, 62, 414, 89, 356, 415, 365, 40,
- 291, 37, 351, 265, 97, 417, 65, 90, 99, 420,
- 421, 51, 92, 37, -187, 425, 472, 505, 351, 167,
- 40, 198, 175, 172, 432, -150, -19, 449, 445, 436,
- 448, 437, 174, -19, 91, 58, 59, 60, 61, 62,
- 204, 37, 456, 270, -154, -154, 492, 177, -154, -154,
- -154, -154, -154, 257, 168, 451, 142, 143, 169, 37,
- 40, 288, 474, 92, 262, 475, 40, 477, 284, 40,
- 272, 273, 480, 301, 302, 285, 64, 483, 278, 493,
- 485, 448, 487, 49, 50, 295, -19, 37, 144, 293,
- -150, -150, 40, 491, -150, -150, -150, -150, -150, 452,
- 453, 279, -210, 248, 313, 142, 143, 170, 171, 37,
- 316, 298, 495, 336, -216, -216, 339, -216, -216, 37,
- 498, 314, 37, 499, 337, 346, 357, 352, 502, 503,
- 37, 353, 376, 37, -108, 392, 507, 144, 37, 37,
- 426, 438, 428, 378, 354, 512, -216, -216, -216, -216,
+ 20, 149, 299, 39, 164, 40, 40, 376, 97, 29,
+ 30, 31, 32, 33, 34, 35, 197, 53, 198, 40,
+ 42, 43, 44, 45, 46, 47, 48, 40, 40, 200,
+ 40, 187, 160, -19, 40, 161, 49, 50, 286, 151,
+ 56, 40, 40, 40, 19, 287, 64, 72, -19, 303,
+ 304, 152, 25, 435, 327, -19, 37, 159, 38, 97,
+ 404, 174, 21, 319, 177, 40, 179, 181, 182, 183,
+ 51, -19, 334, 332, 424, 361, 362, 363, 364, 365,
+ 213, 506, 513, 184, 319, 432, 202, 167, 184, 203,
+ 204, 208, 210, 302, -191, 319, 214, 371, 371, 215,
+ 216, 442, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
+ 245, 313, 384, 246, 247, 321, 40, 371, 278, 255,
+ 279, 273, 200, 200, 256, 312, 162, 258, 262, 366,
+ 367, 263, 268, 185, 400, 271, 343, 40, 186, 260,
+ 291, 162, 296, 186, 301, 199, -191, 372, -109, -151,
+ -109, 285, 373, 373, 361, 362, 363, 364, 365, 58,
+ 59, 60, 61, 62, 307, 308, 265, 40, 40, 309,
+ 310, 311, 89, 429, 98, 180, 40, 40, 152, -19,
+ 314, 40, 28, 317, 90, 145, 199, -67, 320, 441,
+ -154, 322, 373, 40, 22, -199, 480, 37, 163, 463,
+ 58, 59, 60, 61, 62, 40, 23, 452, 40, 352,
+ 269, 91, 41, 163, -19, -151, -151, 357, 40, -151,
+ -151, -151, -151, -151, 99, 24, 270, 328, 417, 367,
+ 26, 329, 330, 507, 324, 512, 351, -70, 200, 325,
+ 337, 92, 340, 345, 353, -19, 342, 488, 306, 344,
+ 27, 463, 97, 346, 347, 464, -154, -154, 211, 425,
+ -154, -154, -154, -154, -154, 358, -199, -199, -199, 465,
+ 40, 466, 499, 369, 212, 323, 370, 292, 188, 353,
+ -19, 374, 189, 353, 375, 282, 283, 37, 37, 201,
+ 209, 292, 65, 143, 144, 379, 40, 381, 467, 37,
+ 382, 261, 353, 385, 386, 426, 55, 464, 40, 415,
+ 412, 388, 389, 390, 391, 454, 455, 157, 395, 97,
+ 397, 465, 398, 466, 401, 199, 145, 407, 37, -150,
+ 97, 293, 143, 144, 274, 275, 416, 284, 358, 58,
+ 59, 60, 61, 62, 353, 293, 97, 419, -137, -137,
+ 467, 422, 423, -137, 190, 191, 192, 427, 474, 37,
+ 353, 267, 297, 199, 51, 145, 434, -153, 40, 451,
+ 447, 438, 450, 439, 40, 168, 335, 58, 59, 60,
+ 61, 62, -103, 176, 458, 40, 173, -19, 494, 40,
+ 49, 50, 40, 448, -19, -150, -150, 453, 175, -150,
+ -150, -150, -150, -150, 476, 40, 37, 477, 272, 479,
+ 143, 144, 169, 98, 482, 37, 170, 290, 37, 485,
+ 295, 495, 487, 450, 489, 143, 144, 178, 143, 144,
+ 37, 280, 300, -153, -153, 493, 205, -153, -153, -153,
+ -153, -153, 259, 145, -210, 250, 264, 315, -19, 58,
+ 59, 60, 61, 62, 497, -108, -216, -216, 145, -216,
+ -216, 145, 500, 99, 281, 501, 171, 172, 188, 318,
+ 504, 505, 189, 1, 338, 2, 3, 4, 509, 5,
+ 6, 7, 341, 348, 430, 8, 354, 514, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, -216, -216, -216, -216, 37,
- -216, -216, -210, -210, -210, -205, 381, 250, -216, 390,
- 40, -216, 394, 442, 251, -216, -216, 103, 104, 441,
- 105, 106, 37, 404, 444, 443, 198, -19, 473, 37,
- -153, 455, 479, 488, -19, -19, 481, 471, 484, 508,
- 58, 59, 60, 61, 62, 509, 407, 489, 264, 107,
- 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
- 128, 129, 435, 130, 92, -205, -205, -205, 418, 248,
- 482, 131, 506, 149, 132, 431, 375, -19, 133, 134,
- -216, -216, 286, -216, -216, -153, -153, 40, 195, -153,
- -153, -153, -153, -153, 358, 57, 416, 58, 59, 60,
- 61, 62, 63, 64, 193, 490, 58, 59, 60, 61,
- 62, 194, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, 206, -216, -216, -81, -81,
- -81, 247, 248, 250, -216, -2, 406, -216, 476, 494,
- 251, -216, -216, -216, -216, 329, -216, -216, 57, 411,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
- 68, 412, 0, 0, 0, 57, 69, 58, 59, 60,
- 61, 62, 63, 64, 51, -216, -216, -216, -216, -216,
+ -216, -216, 355, -216, -216, -210, -210, -210, -205, 383,
+ 252, -216, 359, 40, -216, 356, 380, 253, -216, -216,
+ 103, 104, 37, 105, 106, 37, 406, 316, -138, -138,
+ -19, 40, 392, -138, 190, 191, 192, -19, -19, 57,
+ 396, 58, 59, 60, 61, 62, 63, 64, 37, 37,
+ 339, 378, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 443, 131, 92, -205,
+ -205, -205, 37, 250, 394, 132, 444, 37, 133, 428,
+ 445, -19, 134, 135, -216, -216, 475, -216, -216, 57,
+ 481, 58, 59, 60, 61, 62, 63, 64, 483, 486,
+ -187, 206, 194, 490, 58, 59, 60, 61, 62, 195,
+ 37, 409, 440, 90, 510, 511, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, -216, -216, -216, -216, 0, -216,
- -216, -84, -84, -84, 0, 397, 250, -216, 0, 40,
- -216, 0, 0, 251, -216, -216, 103, 104, 40, 105,
- 106, 58, 59, 60, 61, 62, 57, 0, 58, 59,
- 60, 61, 62, 63, 64, 65, 66, 67, 68, 0,
- 0, 0, 0, 0, 69, 0, 0, 0, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 0, 130, 92, -85, -85, -85, 0, 248, 0,
- 131, 0, -19, 132, 0, 0, 0, 133, 134, -216,
- -216, 0, -216, -216, 1, 0, 2, 3, 4, 0,
- 5, 6, 7, 0, 0, 0, 8, 0, 0, 0,
- 0, 40, 0, 0, 0, 0, 0, 0, 0, -103,
- 0, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- -216, -216, -216, -216, 0, -216, -216, 142, 143, 0,
- 0, -19, 250, -216, 248, 0, -216, 0, 0, 251,
- -216, -216, 0, 0, 0, -216, -216, 0, -216, -216,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, -216, -216, -216,
+ 91, -216, -216, -81, -81, -81, 473, 250, 252, -216,
+ 266, 37, -216, 446, 491, 253, -216, -216, -216, -216,
+ 437, -216, -216, 37, 502, 457, 503, 484, 420, 508,
+ 92, 37, -187, 433, 150, 196, 377, 288, 360, 418,
+ 492, 207, 478, 331, 249, 496, 413, 414, 0, 0,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
- 0, -216, -216, 0, 249, 0, 0, 248, 250, -216,
- 0, 0, -216, 0, 0, 251, -216, -216, -216, -216,
- 0, -216, -216, 107, 108, 109, 110, 111, 112, 113,
- 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
- 246, 125, 126, 127, 0, 0, 0, 0, 0, 0,
+ -216, -216, -216, -216, 0, -216, -216, -84, -84, -84,
+ 0, 399, 252, -216, 0, 40, -216, 0, 0, 253,
+ -216, -216, 103, 104, 40, 105, 106, 0, 0, 0,
+ 0, 0, 57, 0, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 0, 0, 0, 0, 0,
+ 69, 0, 0, 0, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 0, 131,
+ 92, -85, -85, -85, 0, 250, 0, 132, 0, -19,
+ 133, 0, 0, 0, 134, 135, -216, -216, 0, -216,
+ -216, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 248,
+ 126, 127, 128, 0, 0, 0, 0, 0, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, 0, -216, -216, 0, 0, 0, 0, -19,
+ 252, -216, 250, 0, -216, -2, 408, 253, -216, -216,
+ 0, 0, 0, -216, -216, 0, -216, -216, 57, 0,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 0, 0, 0, 0, 0, 69, 0, 0, 0,
+ 0, 0, 0, 0, 51, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
+ -216, -216, -216, -216, -216, -216, -216, -216, -216, 0,
+ -216, -216, 0, 251, 0, 0, 250, 252, -216, 0,
+ 0, -216, 0, 0, 253, -216, -216, -216, -216, 0,
+ -216, -216, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-216, -216, -216, 0, -216, -216, 0, 0, 0, 0,
- 385, 250, -216, 324, 0, -216, 0, 40, 251, -216,
+ 387, 252, -216, 326, 0, -216, 0, 40, 253, -216,
-216, 0, 0, 0, 103, 104, 0, 105, 106, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 40,
- 130, 92, 0, 0, 0, 0, 103, 104, 131, 105,
- 106, 132, 0, 0, 0, 133, 134, 0, 0, 0,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 40, 131, 92, 0, 0, 0, 0, 103, 104, 132,
+ 105, 106, 133, 0, 0, 0, 134, 135, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 0, 131, 92, 103, 104, 0, 105,
+ 106, 0, 132, 0, 0, 133, 0, 0, 0, 134,
+ 135, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 0, 130, 92, 103, 104, 0, 105, 106, 0,
- 131, 0, 0, 132, 0, 0, 0, 133, 134, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 0,
- 130, 92, 0, 0, 161, 457, 0, 0, 131, 0,
- 0, 132, 0, 0, 0, 133, 134, 57, 0, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 0, 0, 0, 0, 0, 69, 0, 0, 0, 0,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0,
+ 129, 130, 0, 131, 92, 0, 0, 162, 459, 0,
+ 0, 132, 0, 0, 133, 0, 0, 0, 134, 135,
+ 57, 0, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 0, 0, 0, 0, 0, 69, 0,
+ 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 162
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 163
};
static const yytype_int16 yycheck[] =
{
- 1, 46, 178, 19, 55, 1, 5, 305, 43, 10,
- 11, 12, 13, 14, 15, 16, 1, 36, 79, 5,
- 21, 22, 23, 24, 25, 26, 27, 0, 5, 84,
- 419, 81, 53, 83, 70, 54, 5, 13, 14, 5,
- 41, 5, 5, 6, 13, 1, 41, 42, 5, 5,
- 1, 485, 70, 487, 5, 12, 12, 242, 5, 94,
- 1, 62, 13, 1, 65, 0, 67, 68, 69, 70,
- 17, 5, 13, 37, 372, 71, 39, 43, 73, 75,
- 96, 80, 471, 5, 1, 383, 89, 72, 64, 90,
- 91, 94, 95, 62, 80, 72, 97, 70, 71, 100,
- 101, 399, 103, 104, 105, 106, 107, 108, 109, 110,
+ 1, 46, 179, 19, 55, 5, 5, 307, 43, 10,
+ 11, 12, 13, 14, 15, 16, 81, 36, 83, 5,
+ 21, 22, 23, 24, 25, 26, 27, 5, 5, 84,
+ 5, 79, 53, 5, 5, 54, 5, 6, 13, 1,
+ 41, 5, 5, 5, 1, 20, 21, 42, 5, 12,
+ 13, 13, 5, 17, 244, 12, 71, 52, 73, 94,
+ 37, 62, 71, 1, 65, 5, 67, 68, 69, 70,
+ 39, 43, 43, 13, 374, 7, 8, 9, 10, 11,
+ 96, 81, 81, 1, 1, 385, 89, 73, 1, 90,
+ 91, 94, 95, 71, 0, 1, 97, 1, 1, 100,
+ 101, 401, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 71, 192, 133, 134, 72, 320, 71, 158, 139, 160,
- 156, 196, 197, 144, 1, 195, 147, 150, 5, 5,
- 151, 154, 74, 70, 155, 72, 5, 342, 75, 175,
- 1, 177, 12, 179, 5, 7, 8, 9, 10, 11,
- 171, 5, 1, 1, 15, 16, 17, 18, 19, 1,
- 0, 1, 70, 184, 185, 41, 42, 5, 189, 190,
- 191, 5, 419, 5, 1, 5, 381, 70, 5, 200,
- 1, 13, 205, 5, 1, 0, 1, 208, 5, 43,
- 211, 70, 397, 70, 71, 65, 17, 73, 75, 76,
- 77, 78, 283, 72, 1, 5, 5, 278, 5, 70,
- 71, 5, 70, 74, 75, 76, 77, 78, 80, 81,
- 17, 70, 70, 0, 471, 246, 75, 75, 70, 250,
- 251, 71, 70, 75, 275, 5, 311, 75, 259, 73,
- 263, 71, 278, 70, 265, 419, 442, 268, 70, 70,
- 305, 272, 273, 70, 71, 70, 71, 72, 75, 76,
- 77, 78, 419, 284, 7, 8, 9, 10, 11, 419,
- 70, 292, 71, 70, 295, 480, 70, 313, 42, 300,
- 5, 317, 303, 0, 1, 1, 5, 12, 52, 70,
- 70, 72, 72, 314, 13, 316, 13, 471, 319, 13,
- 336, 322, 323, 374, 70, 5, 72, 348, 347, 330,
- 331, 332, 333, 13, 471, 1, 337, 372, 339, 5,
- 341, 471, 343, 40, 70, 346, 72, 1, 383, 15,
- 16, 17, 18, 19, 355, 1, 357, 80, 81, 5,
- 65, 70, 378, 72, 399, 366, 22, 13, 62, 370,
- 371, 39, 69, 70, 71, 376, 421, 71, 394, 21,
- 5, 1, 1, 13, 385, 5, 5, 408, 404, 390,
- 406, 392, 21, 12, 40, 15, 16, 17, 18, 19,
- 71, 70, 418, 72, 70, 71, 457, 1, 74, 75,
- 76, 77, 78, 71, 13, 416, 41, 42, 17, 70,
- 5, 72, 423, 69, 71, 426, 5, 428, 13, 5,
- 35, 36, 433, 12, 13, 20, 21, 438, 1, 460,
- 441, 457, 443, 5, 6, 70, 65, 70, 73, 72,
- 70, 71, 5, 454, 74, 75, 76, 77, 78, 12,
- 13, 13, 0, 1, 1, 41, 42, 66, 67, 70,
- 72, 72, 473, 1, 12, 13, 72, 15, 16, 70,
- 481, 72, 70, 484, 72, 27, 13, 74, 489, 490,
- 70, 74, 72, 70, 70, 72, 497, 73, 70, 70,
- 72, 72, 40, 1, 74, 506, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 70,
- 68, 69, 70, 71, 72, 0, 1, 75, 76, 43,
- 5, 79, 1, 5, 82, 83, 84, 12, 13, 70,
- 15, 16, 70, 1, 72, 70, 1, 5, 71, 70,
- 5, 72, 71, 5, 12, 13, 74, 420, 71, 71,
- 15, 16, 17, 18, 19, 71, 347, 447, 153, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 388, 68, 69, 70, 71, 72, 367, 1,
- 436, 76, 496, 47, 79, 384, 306, 65, 83, 84,
- 12, 13, 173, 15, 16, 70, 71, 5, 81, 74,
- 75, 76, 77, 78, 286, 13, 358, 15, 16, 17,
- 18, 19, 20, 21, 13, 451, 15, 16, 17, 18,
- 19, 20, 44, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
- 62, 63, 64, 65, 66, 94, 68, 69, 70, 71,
- 72, 135, 1, 75, 76, 0, 1, 79, 427, 471,
- 82, 83, 84, 12, 13, 252, 15, 16, 13, 347,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 347, -1, -1, -1, 13, 31, 15, 16, 17,
- 18, 19, 20, 21, 39, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, -1, 68,
- 69, 70, 71, 72, -1, 1, 75, 76, -1, 5,
- 79, -1, -1, 82, 83, 84, 12, 13, 5, 15,
- 16, 15, 16, 17, 18, 19, 13, -1, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
- -1, -1, -1, -1, 31, -1, -1, -1, 44, 45,
+ 131, 196, 322, 134, 135, 73, 5, 1, 159, 140,
+ 161, 157, 197, 198, 145, 193, 0, 148, 151, 81,
+ 82, 152, 155, 71, 344, 156, 73, 5, 76, 72,
+ 176, 0, 178, 76, 180, 1, 72, 71, 71, 5,
+ 73, 172, 76, 76, 7, 8, 9, 10, 11, 15,
+ 16, 17, 18, 19, 185, 186, 1, 5, 5, 190,
+ 191, 192, 1, 383, 13, 1, 5, 5, 13, 5,
+ 201, 5, 0, 206, 13, 74, 1, 71, 209, 399,
+ 5, 212, 76, 5, 71, 0, 1, 71, 72, 421,
+ 15, 16, 17, 18, 19, 5, 71, 75, 5, 280,
+ 1, 40, 12, 72, 5, 71, 72, 285, 5, 75,
+ 76, 77, 78, 79, 63, 71, 17, 248, 81, 82,
+ 71, 252, 253, 72, 71, 73, 277, 72, 313, 76,
+ 261, 70, 265, 71, 280, 71, 267, 444, 72, 270,
+ 71, 473, 307, 274, 275, 421, 71, 72, 1, 71,
+ 75, 76, 77, 78, 79, 286, 71, 72, 73, 421,
+ 5, 421, 482, 294, 17, 72, 297, 12, 1, 315,
+ 71, 302, 5, 319, 305, 13, 14, 71, 71, 73,
+ 73, 12, 22, 41, 42, 316, 5, 318, 421, 71,
+ 321, 73, 338, 324, 325, 376, 1, 473, 5, 350,
+ 349, 332, 333, 334, 335, 12, 13, 1, 339, 374,
+ 341, 473, 343, 473, 345, 1, 74, 348, 71, 5,
+ 385, 66, 41, 42, 35, 36, 357, 65, 359, 15,
+ 16, 17, 18, 19, 380, 66, 401, 368, 71, 72,
+ 473, 372, 373, 76, 77, 78, 79, 378, 423, 71,
+ 396, 73, 71, 1, 39, 74, 387, 5, 5, 410,
+ 406, 392, 408, 394, 5, 21, 13, 15, 16, 17,
+ 18, 19, 13, 1, 420, 5, 13, 5, 459, 5,
+ 5, 6, 5, 13, 12, 71, 72, 418, 21, 75,
+ 76, 77, 78, 79, 425, 5, 71, 428, 73, 430,
+ 41, 42, 13, 13, 435, 71, 17, 73, 71, 440,
+ 73, 462, 443, 459, 445, 41, 42, 1, 41, 42,
+ 71, 1, 73, 71, 72, 456, 72, 75, 76, 77,
+ 78, 79, 72, 74, 0, 1, 72, 1, 66, 15,
+ 16, 17, 18, 19, 475, 71, 12, 13, 74, 15,
+ 16, 74, 483, 63, 13, 486, 67, 68, 1, 73,
+ 491, 492, 5, 26, 1, 28, 29, 30, 499, 32,
+ 33, 34, 73, 27, 40, 38, 75, 508, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, -1, 68, 69, 70, 71, 72, -1, 1, -1,
- 76, -1, 5, 79, -1, -1, -1, 83, 84, 12,
- 13, -1, 15, 16, 26, -1, 28, 29, 30, -1,
- 32, 33, 34, -1, -1, -1, 38, -1, -1, -1,
- -1, 5, -1, -1, -1, -1, -1, -1, -1, 13,
- -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, -1, 68, 69, 41, 42, -1,
- -1, 74, 75, 76, 1, -1, 79, -1, -1, 82,
- 83, 84, -1, -1, -1, 12, 13, -1, 15, 16,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 73,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- -1, 68, 69, -1, 71, -1, -1, 1, 75, 76,
- -1, -1, 79, -1, -1, 82, 83, 84, 12, 13,
- -1, 15, 16, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, -1, -1, -1, -1, -1, -1,
+ 66, 67, 75, 69, 70, 71, 72, 73, 0, 1,
+ 76, 77, 13, 5, 80, 75, 1, 83, 84, 85,
+ 12, 13, 71, 15, 16, 71, 1, 73, 71, 72,
+ 5, 5, 43, 76, 77, 78, 79, 12, 13, 13,
+ 1, 15, 16, 17, 18, 19, 20, 21, 71, 71,
+ 73, 73, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 71, 69, 70, 71,
+ 72, 73, 71, 1, 73, 77, 5, 71, 80, 73,
+ 71, 66, 84, 85, 12, 13, 72, 15, 16, 13,
+ 72, 15, 16, 17, 18, 19, 20, 21, 75, 72,
+ 0, 1, 13, 5, 15, 16, 17, 18, 19, 20,
+ 71, 349, 73, 13, 72, 72, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 40, 69, 70, 71, 72, 73, 422, 1, 76, 77,
+ 154, 71, 80, 73, 449, 83, 84, 85, 12, 13,
+ 390, 15, 16, 71, 487, 73, 489, 438, 369, 498,
+ 70, 71, 72, 386, 47, 81, 308, 174, 288, 360,
+ 453, 94, 429, 254, 136, 473, 349, 349, -1, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, -1, 68, 69, -1, -1, -1, -1,
- 74, 75, 76, 1, -1, 79, -1, 5, 82, 83,
- 84, -1, -1, -1, 12, 13, -1, 15, 16, -1,
+ 64, 65, 66, 67, -1, 69, 70, 71, 72, 73,
+ -1, 1, 76, 77, -1, 5, 80, -1, -1, 83,
+ 84, 85, 12, 13, 5, 15, 16, -1, -1, -1,
+ -1, -1, 13, -1, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
+ 31, -1, -1, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, -1, 69,
+ 70, 71, 72, 73, -1, 1, -1, 77, -1, 5,
+ 80, -1, -1, -1, 84, 85, 12, 13, -1, 15,
+ 16, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, -1, -1, -1, -1, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, -1, 69, 70, -1, -1, -1, -1, 75,
+ 76, 77, 1, -1, 80, 0, 1, 83, 84, 85,
+ -1, -1, -1, 12, 13, -1, 15, 16, 13, -1,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, -1, -1, -1, -1, -1, 31, -1, -1, -1,
+ -1, -1, -1, -1, 39, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, -1,
+ 69, 70, -1, 72, -1, -1, 1, 76, 77, -1,
+ -1, 80, -1, -1, 83, 84, 85, 12, 13, -1,
+ 15, 16, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, -1, 69, 70, -1, -1, -1, -1,
+ 75, 76, 77, 1, -1, 80, -1, 5, 83, 84,
+ 85, -1, -1, -1, 12, 13, -1, 15, 16, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, 5,
- 68, 69, -1, -1, -1, -1, 12, 13, 76, 15,
- 16, 79, -1, -1, -1, 83, 84, -1, -1, -1,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 5, 69, 70, -1, -1, -1, -1, 12, 13, 77,
+ 15, 16, 80, -1, -1, -1, 84, 85, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, -1, 69, 70, 12, 13, -1, 15,
+ 16, -1, 77, -1, -1, 80, -1, -1, -1, 84,
+ 85, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
- 66, -1, 68, 69, 12, 13, -1, 15, 16, -1,
- 76, -1, -1, 79, -1, -1, -1, 83, 84, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
- 68, 69, -1, -1, 0, 1, -1, -1, 76, -1,
- -1, 79, -1, -1, -1, 83, 84, 13, -1, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- -1, -1, -1, -1, -1, 31, -1, -1, -1, -1,
- -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
+ 66, 67, -1, 69, 70, -1, -1, 0, 1, -1,
+ -1, 77, -1, -1, 80, -1, -1, -1, 84, 85,
+ 13, -1, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, -1, -1, -1, -1, -1, 31, -1,
+ -1, -1, -1, -1, -1, -1, 39, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 71
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 72
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint8 yystos[] =
{
- 0, 26, 28, 29, 30, 32, 33, 34, 38, 86,
- 88, 89, 90, 91, 92, 93, 94, 97, 99, 1,
- 95, 70, 70, 70, 70, 5, 70, 70, 0, 95,
- 95, 95, 95, 95, 95, 95, 96, 70, 72, 173,
- 5, 12, 95, 95, 95, 95, 95, 95, 95, 5,
- 6, 39, 100, 168, 169, 1, 95, 13, 15, 16,
+ 0, 26, 28, 29, 30, 32, 33, 34, 38, 87,
+ 89, 90, 91, 92, 93, 94, 95, 98, 100, 1,
+ 96, 71, 71, 71, 71, 5, 71, 71, 0, 96,
+ 96, 96, 96, 96, 96, 96, 97, 71, 73, 174,
+ 5, 12, 96, 96, 96, 96, 96, 96, 96, 5,
+ 6, 39, 101, 169, 170, 1, 96, 13, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 31,
- 87, 104, 109, 128, 130, 136, 137, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 151, 154, 1,
- 13, 40, 69, 155, 156, 157, 158, 164, 13, 62,
- 133, 134, 135, 12, 13, 15, 16, 44, 45, 46,
+ 88, 105, 110, 129, 131, 137, 138, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 152, 155, 1,
+ 13, 40, 70, 156, 157, 158, 159, 165, 13, 63,
+ 134, 135, 136, 12, 13, 15, 16, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 68, 76, 79, 83, 84, 139, 160, 162, 163, 164,
- 165, 166, 41, 42, 73, 121, 122, 124, 125, 141,
- 1, 13, 112, 113, 114, 115, 1, 101, 109, 96,
- 168, 0, 71, 98, 173, 174, 72, 21, 13, 17,
- 66, 67, 13, 95, 21, 1, 95, 1, 95, 1,
- 95, 95, 95, 1, 70, 75, 145, 1, 5, 76,
- 77, 78, 138, 13, 20, 146, 147, 147, 1, 148,
- 72, 174, 95, 95, 71, 1, 157, 174, 72, 174,
- 1, 17, 173, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 61, 163, 1, 71,
- 75, 82, 161, 95, 95, 95, 95, 71, 71, 72,
- 174, 95, 71, 1, 114, 72, 174, 1, 17, 95,
- 72, 173, 35, 36, 102, 110, 96, 96, 1, 13,
- 13, 14, 64, 95, 13, 20, 144, 150, 72, 173,
- 12, 65, 118, 72, 173, 70, 125, 127, 72, 173,
- 70, 12, 13, 131, 71, 95, 95, 95, 95, 95,
- 145, 147, 95, 1, 72, 174, 72, 1, 95, 72,
- 95, 71, 70, 75, 1, 160, 95, 95, 95, 162,
- 13, 119, 43, 13, 129, 95, 1, 72, 174, 72,
- 95, 72, 95, 70, 95, 95, 27, 103, 116, 96,
- 98, 173, 74, 74, 74, 145, 95, 13, 150, 7,
- 8, 9, 10, 11, 80, 81, 152, 95, 95, 1,
- 70, 75, 95, 95, 155, 143, 72, 95, 1, 95,
- 95, 1, 160, 95, 95, 74, 95, 95, 95, 95,
- 43, 123, 72, 95, 1, 95, 95, 1, 160, 95,
- 126, 127, 37, 111, 1, 95, 1, 104, 105, 109,
- 168, 170, 172, 96, 95, 80, 152, 95, 126, 106,
- 95, 95, 155, 70, 98, 95, 72, 160, 40, 159,
- 155, 135, 95, 17, 120, 121, 95, 95, 72, 160,
- 155, 70, 5, 70, 72, 173, 13, 117, 173, 96,
- 74, 95, 12, 13, 153, 72, 173, 1, 98, 107,
- 108, 128, 130, 136, 137, 140, 167, 168, 170, 171,
- 172, 106, 125, 71, 95, 95, 159, 95, 1, 71,
- 95, 74, 122, 95, 71, 95, 127, 95, 5, 118,
- 153, 95, 98, 96, 167, 95, 132, 160, 95, 95,
- 112, 112, 95, 95, 80, 71, 133, 95, 71, 71,
- 72, 80, 95
+ 67, 69, 77, 80, 84, 85, 140, 161, 163, 164,
+ 165, 166, 167, 41, 42, 74, 122, 123, 125, 126,
+ 142, 1, 13, 113, 114, 115, 116, 1, 102, 110,
+ 97, 169, 0, 72, 99, 174, 175, 73, 21, 13,
+ 17, 67, 68, 13, 96, 21, 1, 96, 1, 96,
+ 1, 96, 96, 96, 1, 71, 76, 146, 1, 5,
+ 77, 78, 79, 139, 13, 20, 147, 148, 148, 1,
+ 149, 73, 175, 96, 96, 72, 1, 158, 175, 73,
+ 175, 1, 17, 174, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96, 62, 164,
+ 1, 72, 76, 83, 162, 96, 96, 96, 96, 72,
+ 72, 73, 175, 96, 72, 1, 115, 73, 175, 1,
+ 17, 96, 73, 174, 35, 36, 103, 111, 97, 97,
+ 1, 13, 13, 14, 65, 96, 13, 20, 145, 151,
+ 73, 174, 12, 66, 119, 73, 174, 71, 126, 128,
+ 73, 174, 71, 12, 13, 132, 72, 96, 96, 96,
+ 96, 96, 146, 148, 96, 1, 73, 175, 73, 1,
+ 96, 73, 96, 72, 71, 76, 1, 161, 96, 96,
+ 96, 163, 13, 120, 43, 13, 130, 96, 1, 73,
+ 175, 73, 96, 73, 96, 71, 96, 96, 27, 104,
+ 117, 97, 99, 174, 75, 75, 75, 146, 96, 13,
+ 151, 7, 8, 9, 10, 11, 81, 82, 153, 96,
+ 96, 1, 71, 76, 96, 96, 156, 144, 73, 96,
+ 1, 96, 96, 1, 161, 96, 96, 75, 96, 96,
+ 96, 96, 43, 124, 73, 96, 1, 96, 96, 1,
+ 161, 96, 127, 128, 37, 112, 1, 96, 1, 105,
+ 106, 110, 169, 171, 173, 97, 96, 81, 153, 96,
+ 127, 107, 96, 96, 156, 71, 99, 96, 73, 161,
+ 40, 160, 156, 136, 96, 17, 121, 122, 96, 96,
+ 73, 161, 156, 71, 5, 71, 73, 174, 13, 118,
+ 174, 97, 75, 96, 12, 13, 154, 73, 174, 1,
+ 99, 108, 109, 129, 131, 137, 138, 141, 168, 169,
+ 171, 172, 173, 107, 126, 72, 96, 96, 160, 96,
+ 1, 72, 96, 75, 123, 96, 72, 96, 128, 96,
+ 5, 119, 154, 96, 99, 97, 168, 96, 133, 161,
+ 96, 96, 113, 113, 96, 96, 81, 72, 134, 96,
+ 72, 72, 73, 81, 96
};
#define yyerrok (yyerrstatus = 0)
@@ -1558,17 +1518,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -1602,11 +1565,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1886,10 +1849,8 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1908,10 +1869,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -1935,74 +1895,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ /* Number of syntax errors so far. */
+ int yynerrs;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -2032,7 +1993,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -2040,7 +2000,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -2063,9 +2022,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2076,7 +2034,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -2086,6 +2043,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2094,16 +2054,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2135,20 +2095,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -2188,35 +2144,45 @@ yyreduce:
switch (yyn)
{
case 12:
-#line 282 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 287 "../css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_rule = (yyvsp[(4) - (6)].rule);
;}
break;
case 13:
-#line 288 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 293 "../css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_keyframe = (yyvsp[(4) - (6)].keyframeRule);
;}
break;
case 14:
-#line 294 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 299 "../css/CSSGrammar.y"
{
/* can be empty */
;}
break;
case 15:
-#line 300 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 305 "../css/CSSGrammar.y"
{
/* can be empty */
;}
break;
case 16:
-#line 306 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 311 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(4) - (5)].valueList)) {
@@ -2231,7 +2197,9 @@ yyreduce:
break;
case 17:
-#line 320 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 325 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_mediaQuery = p->sinkFloatingMediaQuery((yyvsp[(4) - (5)].mediaQuery));
@@ -2239,7 +2207,9 @@ yyreduce:
break;
case 18:
-#line 327 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 332 "../css/CSSGrammar.y"
{
if ((yyvsp[(4) - (5)].selectorList)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2250,13 +2220,17 @@ yyreduce:
break;
case 25:
-#line 349 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 354 "../css/CSSGrammar.y"
{
;}
break;
case 28:
-#line 359 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 364 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.rule) = static_cast<CSSParser*>(parser)->createCharsetRule((yyvsp[(3) - (5)].string));
@@ -2266,19 +2240,25 @@ yyreduce:
break;
case 29:
-#line 365 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 370 "../css/CSSGrammar.y"
{
;}
break;
case 30:
-#line 367 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 372 "../css/CSSGrammar.y"
{
;}
break;
case 32:
-#line 373 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 378 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2287,13 +2267,17 @@ yyreduce:
break;
case 33:
-#line 378 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 383 "../css/CSSGrammar.y"
{
;}
break;
case 35:
-#line 384 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 389 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2302,7 +2286,9 @@ yyreduce:
break;
case 39:
-#line 398 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 403 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
@@ -2311,12 +2297,16 @@ yyreduce:
break;
case 49:
-#line 421 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 426 "../css/CSSGrammar.y"
{ (yyval.ruleList) = 0; ;}
break;
case 50:
-#line 422 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 427 "../css/CSSGrammar.y"
{
(yyval.ruleList) = (yyvsp[(1) - (3)].ruleList);
if ((yyvsp[(2) - (3)].rule)) {
@@ -2328,70 +2318,90 @@ yyreduce:
break;
case 60:
-#line 449 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 454 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createImportRule((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].mediaList));
;}
break;
case 61:
-#line 452 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 457 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 62:
-#line 455 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 460 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 63:
-#line 458 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 463 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 64:
-#line 464 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 469 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), true);
;}
break;
case 65:
-#line 468 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 473 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createVariablesRule((yyvsp[(3) - (7)].mediaList), false);
;}
break;
case 66:
-#line 474 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 479 "../css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
;}
break;
case 67:
-#line 478 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 483 "../css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(3) - (3)].mediaList);
;}
break;
case 68:
-#line 484 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 489 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 69:
-#line 487 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ((yyvsp[(2) - (2)].boolean))
@@ -2400,63 +2410,81 @@ yyreduce:
break;
case 70:
-#line 492 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 497 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 71:
-#line 495 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 500 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 72:
-#line 498 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 503 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 73:
-#line 501 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 506 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
break;
case 74:
-#line 507 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 512 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
;}
break;
case 75:
-#line 510 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 515 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 76:
-#line 513 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 518 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 77:
-#line 516 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 521 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 78:
-#line 519 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 524 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
@@ -2465,49 +2493,63 @@ yyreduce:
break;
case 79:
-#line 524 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 529 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
;}
break;
case 80:
-#line 527 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 532 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
;}
break;
case 81:
-#line 533 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 538 "../css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariable((yyvsp[(1) - (4)].string), (yyvsp[(4) - (4)].valueList));
;}
break;
case 82:
-#line 537 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 542 "../css/CSSGrammar.y"
{
(yyval.boolean) = static_cast<CSSParser*>(parser)->addVariableDeclarationBlock((yyvsp[(1) - (7)].string));
;}
break;
case 83:
-#line 541 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 546 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 84:
-#line 545 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 550 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 85:
-#line 549 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 554 "../css/CSSGrammar.y"
{
/* @variables { varname: } Just reduce away this variable with no value. */
(yyval.boolean) = false;
@@ -2515,7 +2557,9 @@ yyreduce:
break;
case 86:
-#line 554 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 559 "../css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: @variables { varname: *; }, just discard the property/value pair */
(yyval.boolean) = false;
@@ -2523,14 +2567,18 @@ yyreduce:
break;
case 87:
-#line 561 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 566 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
break;
case 88:
-#line 567 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 572 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if (p->m_styleSheet)
@@ -2539,38 +2587,50 @@ yyreduce:
break;
case 91:
-#line 577 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 582 "../css/CSSGrammar.y"
{ (yyval.string).characters = 0; ;}
break;
case 92:
-#line 578 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 583 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 95:
-#line 587 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 592 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
break;
case 96:
-#line 593 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 598 "../css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
break;
case 97:
-#line 596 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 601 "../css/CSSGrammar.y"
{
(yyval.valueList) = (yyvsp[(3) - (4)].valueList);
;}
break;
case 98:
-#line 602 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 607 "../css/CSSGrammar.y"
{
(yyvsp[(3) - (7)].string).lower();
(yyval.mediaQueryExp) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExp((yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].valueList));
@@ -2578,7 +2638,9 @@ yyreduce:
break;
case 99:
-#line 609 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 614 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQueryExpList) = p->createFloatingMediaQueryExpList();
@@ -2587,7 +2649,9 @@ yyreduce:
break;
case 100:
-#line 614 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 619 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(1) - (5)].mediaQueryExpList);
(yyval.mediaQueryExpList)->append(static_cast<CSSParser*>(parser)->sinkFloatingMediaQueryExp((yyvsp[(5) - (5)].mediaQueryExp)));
@@ -2595,42 +2659,54 @@ yyreduce:
break;
case 101:
-#line 621 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 626 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExpList();
;}
break;
case 102:
-#line 624 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 629 "../css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(3) - (3)].mediaQueryExpList);
;}
break;
case 103:
-#line 630 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 635 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::None;
;}
break;
case 104:
-#line 633 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 638 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Only;
;}
break;
case 105:
-#line 636 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 641 "../css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Not;
;}
break;
case 106:
-#line 642 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 647 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQuery) = p->createFloatingMediaQuery(p->sinkFloatingMediaQueryExpList((yyvsp[(1) - (1)].mediaQueryExpList)));
@@ -2638,7 +2714,9 @@ yyreduce:
break;
case 107:
-#line 647 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 652 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyvsp[(3) - (4)].string).lower();
@@ -2647,14 +2725,18 @@ yyreduce:
break;
case 108:
-#line 655 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 660 "../css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
;}
break;
case 110:
-#line 662 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 667 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaList) = p->createMediaList();
@@ -2663,7 +2745,9 @@ yyreduce:
break;
case 111:
-#line 667 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 672 "../css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(1) - (4)].mediaList);
if ((yyval.mediaList))
@@ -2672,35 +2756,45 @@ yyreduce:
break;
case 112:
-#line 672 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 677 "../css/CSSGrammar.y"
{
(yyval.mediaList) = 0;
;}
break;
case 113:
-#line 678 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 683 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule((yyvsp[(3) - (7)].mediaList), (yyvsp[(6) - (7)].ruleList));
;}
break;
case 114:
-#line 681 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 686 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule(0, (yyvsp[(5) - (6)].ruleList));
;}
break;
case 115:
-#line 687 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 692 "../css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
;}
break;
case 116:
-#line 693 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 698 "../css/CSSGrammar.y"
{
(yyval.rule) = (yyvsp[(7) - (8)].keyframesRule);
(yyvsp[(7) - (8)].keyframesRule)->setNameInternal((yyvsp[(3) - (8)].string));
@@ -2708,12 +2802,16 @@ yyreduce:
break;
case 119:
-#line 705 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 710 "../css/CSSGrammar.y"
{ (yyval.keyframesRule) = static_cast<CSSParser*>(parser)->createKeyframesRule(); ;}
break;
case 120:
-#line 706 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 711 "../css/CSSGrammar.y"
{
(yyval.keyframesRule) = (yyvsp[(1) - (3)].keyframesRule);
if ((yyvsp[(2) - (3)].keyframeRule))
@@ -2722,14 +2820,18 @@ yyreduce:
break;
case 121:
-#line 714 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 719 "../css/CSSGrammar.y"
{
(yyval.keyframeRule) = static_cast<CSSParser*>(parser)->createKeyframeRule((yyvsp[(1) - (6)].valueList));
;}
break;
case 122:
-#line 720 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 725 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
@@ -2738,7 +2840,9 @@ yyreduce:
break;
case 123:
-#line 725 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 730 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (5)].valueList);
@@ -2748,12 +2852,16 @@ yyreduce:
break;
case 124:
-#line 734 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 739 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (1)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 125:
-#line 735 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 740 "../css/CSSGrammar.y"
{
(yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER;
CSSParserString& str = (yyvsp[(1) - (1)].string);
@@ -2767,74 +2875,98 @@ yyreduce:
break;
case 126:
-#line 759 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 764 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 127:
-#line 762 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 767 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 128:
-#line 769 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 774 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createFontFaceRule();
;}
break;
case 129:
-#line 772 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 777 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 130:
-#line 775 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 780 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 131:
-#line 781 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 786 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::DirectAdjacent; ;}
break;
case 132:
-#line 782 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 787 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::IndirectAdjacent; ;}
break;
case 133:
-#line 783 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 788 "../css/CSSGrammar.y"
{ (yyval.relation) = CSSSelector::Child; ;}
break;
case 134:
-#line 787 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 792 "../css/CSSGrammar.y"
{ (yyval.integer) = -1; ;}
break;
case 135:
-#line 788 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 793 "../css/CSSGrammar.y"
{ (yyval.integer) = 1; ;}
break;
case 136:
-#line 792 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 797 "../css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createStyleRule((yyvsp[(1) - (5)].selectorList));
;}
break;
case 137:
-#line 798 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 803 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].selector)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2847,7 +2979,9 @@ yyreduce:
break;
case 138:
-#line 807 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 812 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (4)].selectorList) && (yyvsp[(4) - (4)].selector)) {
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2859,35 +2993,45 @@ yyreduce:
break;
case 139:
-#line 815 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 820 "../css/CSSGrammar.y"
{
(yyval.selectorList) = 0;
;}
break;
case 140:
-#line 821 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 826 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (2)].selector);
;}
break;
case 141:
-#line 827 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 832 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
break;
case 142:
-#line 831 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 836 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
break;
case 143:
-#line 835 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 840 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if (!(yyvsp[(1) - (2)].selector))
@@ -2906,7 +3050,9 @@ yyreduce:
break;
case 144:
-#line 850 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 855 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if (!(yyvsp[(1) - (3)].selector))
@@ -2930,29 +3076,39 @@ yyreduce:
break;
case 145:
-#line 870 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 875 "../css/CSSGrammar.y"
{
(yyval.selector) = 0;
;}
break;
case 146:
-#line 876 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 881 "../css/CSSGrammar.y"
{ (yyval.string).characters = 0; (yyval.string).length = 0; ;}
break;
case 147:
-#line 877 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 882 "../css/CSSGrammar.y"
{ static UChar star = '*'; (yyval.string).characters = &star; (yyval.string).length = 1; ;}
break;
case 148:
-#line 878 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 883 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 149:
-#line 882 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 887 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -2961,7 +3117,9 @@ yyreduce:
break;
case 150:
-#line 887 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 892 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector)) {
@@ -2972,7 +3130,9 @@ yyreduce:
break;
case 151:
-#line 894 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 899 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2982,7 +3142,9 @@ yyreduce:
break;
case 152:
-#line 900 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 905 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(1) - (2)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2996,7 +3158,9 @@ yyreduce:
break;
case 153:
-#line 910 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 915 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if ((yyval.selector)) {
@@ -3012,7 +3176,9 @@ yyreduce:
break;
case 154:
-#line 922 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 927 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector)) {
@@ -3026,7 +3192,9 @@ yyreduce:
break;
case 155:
-#line 935 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 940 "../css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (1)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3038,7 +3206,9 @@ yyreduce:
break;
case 156:
-#line 943 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 948 "../css/CSSGrammar.y"
{
static UChar star = '*';
(yyval.string).characters = &star;
@@ -3047,14 +3217,18 @@ yyreduce:
break;
case 157:
-#line 951 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 956 "../css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
;}
break;
case 158:
-#line 954 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 959 "../css/CSSGrammar.y"
{
if (!(yyvsp[(2) - (2)].selector))
(yyval.selector) = 0;
@@ -3071,14 +3245,18 @@ yyreduce:
break;
case 159:
-#line 967 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 972 "../css/CSSGrammar.y"
{
(yyval.selector) = 0;
;}
break;
case 160:
-#line 973 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 978 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3090,7 +3268,9 @@ yyreduce:
break;
case 161:
-#line 981 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 986 "../css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].string).characters[0] >= '0' && (yyvsp[(1) - (1)].string).characters[0] <= '9') {
(yyval.selector) = 0;
@@ -3106,7 +3286,9 @@ yyreduce:
break;
case 165:
-#line 999 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1004 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3118,7 +3300,9 @@ yyreduce:
break;
case 166:
-#line 1010 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1015 "../css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (2)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3130,7 +3314,9 @@ yyreduce:
break;
case 167:
-#line 1021 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1026 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (4)].string), nullAtom));
@@ -3139,7 +3325,9 @@ yyreduce:
break;
case 168:
-#line 1026 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1031 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (8)].string), nullAtom));
@@ -3149,7 +3337,9 @@ yyreduce:
break;
case 169:
-#line 1032 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1037 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (5)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3161,7 +3351,9 @@ yyreduce:
break;
case 170:
-#line 1040 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1045 "../css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (9)].string);
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3174,49 +3366,63 @@ yyreduce:
break;
case 171:
-#line 1052 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1057 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Exact;
;}
break;
case 172:
-#line 1055 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1060 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::List;
;}
break;
case 173:
-#line 1058 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1063 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Hyphen;
;}
break;
case 174:
-#line 1061 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1066 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Begin;
;}
break;
case 175:
-#line 1064 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1069 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::End;
;}
break;
case 176:
-#line 1067 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1072 "../css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Contain;
;}
break;
case 179:
-#line 1078 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1083 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->m_match = CSSSelector::PseudoClass;
@@ -3250,7 +3456,9 @@ yyreduce:
break;
case 180:
-#line 1108 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1113 "../css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->m_match = CSSSelector::PseudoElement;
@@ -3273,7 +3481,9 @@ yyreduce:
break;
case 181:
-#line 1128 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1133 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3294,7 +3504,9 @@ yyreduce:
break;
case 182:
-#line 1146 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1151 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3315,7 +3527,9 @@ yyreduce:
break;
case 183:
-#line 1164 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1169 "../css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
@@ -3337,7 +3551,9 @@ yyreduce:
break;
case 184:
-#line 1183 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1188 "../css/CSSGrammar.y"
{
if (!(yyvsp[(4) - (6)].selector) || (yyvsp[(4) - (6)].selector)->simpleSelector() || (yyvsp[(4) - (6)].selector)->tagHistory())
(yyval.selector) = 0;
@@ -3353,14 +3569,18 @@ yyreduce:
break;
case 185:
-#line 1198 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1203 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 186:
-#line 1201 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1206 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ( (yyvsp[(2) - (2)].boolean) )
@@ -3369,70 +3589,90 @@ yyreduce:
break;
case 187:
-#line 1206 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1211 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
;}
break;
case 188:
-#line 1209 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1214 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 189:
-#line 1212 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1217 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 190:
-#line 1215 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1220 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
break;
case 191:
-#line 1218 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1223 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
;}
break;
case 192:
-#line 1224 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1229 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
;}
break;
case 193:
-#line 1227 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1232 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 194:
-#line 1230 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1235 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 195:
-#line 1233 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1238 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 196:
-#line 1236 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1241 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
@@ -3441,21 +3681,27 @@ yyreduce:
break;
case 197:
-#line 1241 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1246 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
;}
break;
case 198:
-#line 1244 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1249 "../css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
;}
break;
case 199:
-#line 1250 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1255 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3472,7 +3718,9 @@ yyreduce:
break;
case 200:
-#line 1264 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1269 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_valueList = new CSSParserValueList;
@@ -3487,14 +3735,18 @@ yyreduce:
break;
case 201:
-#line 1276 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1281 "../css/CSSGrammar.y"
{
(yyval.boolean) = false;
;}
break;
case 202:
-#line 1280 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1285 "../css/CSSGrammar.y"
{
/* The default movable type template has letter-spacing: .none; Handle this by looking for
error tokens at the start of an expr, recover the expr and then treat as an error, cleaning
@@ -3504,7 +3756,9 @@ yyreduce:
break;
case 203:
-#line 1287 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1292 "../css/CSSGrammar.y"
{
/* When we encounter something like p {color: red !important fail;} we should drop the declaration */
(yyval.boolean) = false;
@@ -3512,7 +3766,9 @@ yyreduce:
break;
case 204:
-#line 1292 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1297 "../css/CSSGrammar.y"
{
/* Handle this case: div { text-align: center; !important } Just reduce away the stray !important. */
(yyval.boolean) = false;
@@ -3520,7 +3776,9 @@ yyreduce:
break;
case 205:
-#line 1297 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1302 "../css/CSSGrammar.y"
{
/* div { font-family: } Just reduce away this property with no value. */
(yyval.boolean) = false;
@@ -3528,7 +3786,9 @@ yyreduce:
break;
case 206:
-#line 1302 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1307 "../css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: p { weight: *; }, just discard the rule */
(yyval.boolean) = false;
@@ -3536,7 +3796,9 @@ yyreduce:
break;
case 207:
-#line 1307 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1312 "../css/CSSGrammar.y"
{
/* if we come across: div { color{;color:maroon} }, ignore everything within curly brackets */
(yyval.boolean) = false;
@@ -3544,24 +3806,32 @@ yyreduce:
break;
case 208:
-#line 1314 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1319 "../css/CSSGrammar.y"
{
(yyval.integer) = cssPropertyID((yyvsp[(1) - (2)].string));
;}
break;
case 209:
-#line 1320 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1325 "../css/CSSGrammar.y"
{ (yyval.boolean) = true; ;}
break;
case 210:
-#line 1321 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1326 "../css/CSSGrammar.y"
{ (yyval.boolean) = false; ;}
break;
case 211:
-#line 1325 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1330 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
@@ -3570,7 +3840,9 @@ yyreduce:
break;
case 212:
-#line 1330 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1335 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (3)].valueList);
@@ -3588,50 +3860,66 @@ yyreduce:
break;
case 213:
-#line 1344 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1349 "../css/CSSGrammar.y"
{
(yyval.valueList) = 0;
;}
break;
case 214:
-#line 1350 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1355 "../css/CSSGrammar.y"
{
(yyval.character) = '/';
;}
break;
case 215:
-#line 1353 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1358 "../css/CSSGrammar.y"
{
(yyval.character) = ',';
;}
break;
case 216:
-#line 1356 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1361 "../css/CSSGrammar.y"
{
(yyval.character) = 0;
;}
break;
case 217:
-#line 1362 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1367 "../css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(1) - (1)].value); ;}
break;
case 218:
-#line 1363 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1368 "../css/CSSGrammar.y"
{ (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); ;}
break;
case 219:
-#line 1364 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1369 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; ;}
break;
case 220:
-#line 1365 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1370 "../css/CSSGrammar.y"
{
(yyval.value).id = cssValueKeywordID((yyvsp[(1) - (2)].string));
(yyval.value).unit = CSSPrimitiveValue::CSS_IDENT;
@@ -3640,158 +3928,232 @@ yyreduce:
break;
case 221:
-#line 1371 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1376 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 222:
-#line 1372 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1377 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(2) - (3)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
break;
case 223:
-#line 1373 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1378 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; ;}
break;
case 224:
-#line 1374 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1379 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; ;}
break;
case 225:
-#line 1375 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1380 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (1)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 226:
-#line 1376 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1381 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
break;
case 227:
-#line 1378 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1383 "../css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
;}
break;
case 228:
-#line 1381 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1386 "../css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (2)].value);
;}
break;
case 229:
-#line 1384 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1389 "../css/CSSGrammar.y"
{ /* Handle width: %; */
(yyval.value).id = 0; (yyval.value).unit = 0;
;}
break;
case 230:
-#line 1390 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1395 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 231:
-#line 1391 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1396 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
break;
case 232:
-#line 1392 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1397 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;}
break;
case 233:
-#line 1393 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1398 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; ;}
break;
case 234:
-#line 1394 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1399 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; ;}
break;
case 235:
-#line 1395 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1400 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; ;}
break;
case 236:
-#line 1396 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1401 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; ;}
break;
case 237:
-#line 1397 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1402 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; ;}
break;
case 238:
-#line 1398 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1403 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; ;}
break;
case 239:
-#line 1399 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1404 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; ;}
break;
case 240:
-#line 1400 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1405 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; ;}
break;
case 241:
-#line 1401 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1406 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; ;}
break;
case 242:
-#line 1402 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1407 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; ;}
break;
case 243:
-#line 1403 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1408 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; ;}
break;
case 244:
-#line 1404 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1409 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; ;}
break;
case 245:
-#line 1405 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1410 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; ;}
break;
case 246:
-#line 1406 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1411 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; ;}
break;
case 247:
-#line 1407 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1412 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; ;}
break;
case 248:
-#line 1408 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1413 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSParserValue::Q_EMS; ;}
break;
case 249:
-#line 1409 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1414 "../css/CSSGrammar.y"
{ (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; ;}
break;
case 250:
-#line 1413 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1415 "../css/CSSGrammar.y"
+ {
+ (yyval.value).id = 0;
+ (yyval.value).fValue = (yyvsp[(1) - (2)].number);
+ (yyval.value).unit = CSSPrimitiveValue::CSS_REMS;
+ CSSParser* p = static_cast<CSSParser*>(parser);
+ if (Document* doc = p->document())
+ doc->setUsesRemUnits(true);
+ ;}
+ break;
+
+ case 251:
+
+/* Line 1455 of yacc.c */
+#line 1426 "../css/CSSGrammar.y"
{
(yyval.value).id = 0;
(yyval.value).string = (yyvsp[(1) - (1)].string);
@@ -3799,8 +4161,10 @@ yyreduce:
;}
break;
- case 251:
-#line 1421 "../css/CSSGrammar.y"
+ case 252:
+
+/* Line 1455 of yacc.c */
+#line 1434 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
@@ -3812,8 +4176,10 @@ yyreduce:
;}
break;
- case 252:
-#line 1430 "../css/CSSGrammar.y"
+ case 253:
+
+/* Line 1455 of yacc.c */
+#line 1443 "../css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
CSSParserFunction* f = p->createFloatingFunction();
@@ -3825,68 +4191,87 @@ yyreduce:
;}
break;
- case 253:
-#line 1446 "../css/CSSGrammar.y"
- { (yyval.string) = (yyvsp[(1) - (2)].string); ;}
- break;
-
case 254:
-#line 1447 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1459 "../css/CSSGrammar.y"
{ (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 255:
-#line 1454 "../css/CSSGrammar.y"
- {
- (yyval.rule) = 0;
- ;}
+
+/* Line 1455 of yacc.c */
+#line 1460 "../css/CSSGrammar.y"
+ { (yyval.string) = (yyvsp[(1) - (2)].string); ;}
break;
case 256:
-#line 1457 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1467 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 257:
-#line 1463 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1470 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 258:
-#line 1466 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1476 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
- case 261:
-#line 1477 "../css/CSSGrammar.y"
+ case 259:
+
+/* Line 1455 of yacc.c */
+#line 1479 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 262:
-#line 1483 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1490 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
case 263:
-#line 1489 "../css/CSSGrammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1496 "../css/CSSGrammar.y"
+ {
+ (yyval.rule) = 0;
+ ;}
+ break;
+
+ case 264:
+
+/* Line 1455 of yacc.c */
+#line 1502 "../css/CSSGrammar.y"
{
(yyval.rule) = 0;
;}
break;
-/* Line 1267 of yacc.c. */
-#line 3890 "WebCore/tmp/../generated/CSSGrammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 4275 "WebCore/tmp/../generated/CSSGrammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3897,7 +4282,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -3962,7 +4346,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -3979,7 +4363,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4036,9 +4420,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -4063,7 +4444,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4074,7 +4455,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4100,6 +4481,8 @@ yyreturn:
}
-#line 1516 "../css/CSSGrammar.y"
+
+/* Line 1675 of yacc.c */
+#line 1529 "../css/CSSGrammar.y"
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
index 61ba1f5..ad6b20a 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSGrammar.h
@@ -1,26 +1,25 @@
#ifndef CSSGRAMMAR_H
#define CSSGRAMMAR_H
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -31,10 +30,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -78,106 +78,45 @@
MEDIA_ONLY = 291,
MEDIA_NOT = 292,
MEDIA_AND = 293,
- QEMS = 294,
- EMS = 295,
- EXS = 296,
- PXS = 297,
- CMS = 298,
- MMS = 299,
- INS = 300,
- PTS = 301,
- PCS = 302,
- DEGS = 303,
- RADS = 304,
- GRADS = 305,
- TURNS = 306,
- MSECS = 307,
- SECS = 308,
- HERZ = 309,
- KHERZ = 310,
- DIMEN = 311,
- PERCENTAGE = 312,
- FLOATTOKEN = 313,
- INTEGER = 314,
- URI = 315,
- FUNCTION = 316,
- NOTFUNCTION = 317,
- UNICODERANGE = 318,
- VARCALL = 319
+ REMS = 294,
+ QEMS = 295,
+ EMS = 296,
+ EXS = 297,
+ PXS = 298,
+ CMS = 299,
+ MMS = 300,
+ INS = 301,
+ PTS = 302,
+ PCS = 303,
+ DEGS = 304,
+ RADS = 305,
+ GRADS = 306,
+ TURNS = 307,
+ MSECS = 308,
+ SECS = 309,
+ HERZ = 310,
+ KHERZ = 311,
+ DIMEN = 312,
+ PERCENTAGE = 313,
+ FLOATTOKEN = 314,
+ INTEGER = 315,
+ URI = 316,
+ FUNCTION = 317,
+ NOTFUNCTION = 318,
+ UNICODERANGE = 319,
+ VARCALL = 320
};
#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define WEBKIT_VARIABLES_SYM 285
-#define WEBKIT_DEFINE_SYM 286
-#define VARIABLES_FOR 287
-#define WEBKIT_VARIABLES_DECLS_SYM 288
-#define ATKEYWORD 289
-#define IMPORTANT_SYM 290
-#define MEDIA_ONLY 291
-#define MEDIA_NOT 292
-#define MEDIA_AND 293
-#define QEMS 294
-#define EMS 295
-#define EXS 296
-#define PXS 297
-#define CMS 298
-#define MMS 299
-#define INS 300
-#define PTS 301
-#define PCS 302
-#define DEGS 303
-#define RADS 304
-#define GRADS 305
-#define TURNS 306
-#define MSECS 307
-#define SECS 308
-#define HERZ 309
-#define KHERZ 310
-#define DIMEN 311
-#define PERCENTAGE 312
-#define FLOATTOKEN 313
-#define INTEGER 314
-#define URI 315
-#define FUNCTION 316
-#define NOTFUNCTION 317
-#define UNICODERANGE 318
-#define VARCALL 319
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 58 "../css/CSSGrammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 62 "../css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -199,15 +138,18 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 1489 of yacc.c. */
-#line 203 "WebCore/tmp/../generated/CSSGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 144 "WebCore/tmp/../generated/CSSGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
index dc00054..65b49d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp
@@ -37,7 +37,7 @@ struct props {
const char* name;
int id;
};
-/* maximum key range = 1603, duplicates = 0 */
+/* maximum key range = 1853, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -51,32 +51,32 @@ hash_prop (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 0, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 5, 0, 75,
- 0, 0, 325, 5, 295, 0, 0, 0, 105, 0,
- 5, 0, 55, 20, 5, 25, 0, 50, 55, 15,
- 400, 295, 145, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609, 1609,
- 1609, 1609, 1609, 1609, 1609, 1609
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 0, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 5, 0, 75,
+ 0, 0, 355, 5, 315, 0, 0, 0, 105, 0,
+ 5, 0, 55, 20, 5, 25, 0, 140, 30, 15,
+ 420, 395, 10, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859, 1859,
+ 1859, 1859, 1859, 1859, 1859, 1859
};
register int hval = len;
@@ -226,667 +226,676 @@ findProp (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 269,
+ TOTAL_KEYWORDS = 271,
MIN_WORD_LENGTH = 3,
MAX_WORD_LENGTH = 43,
MIN_HASH_VALUE = 6,
- MAX_HASH_VALUE = 1608
+ MAX_HASH_VALUE = 1858
};
static const struct props wordlist_prop[] =
{
-#line 40 "CSSPropertyNames.gperf"
+#line 42 "CSSPropertyNames.gperf"
{"bottom", CSSPropertyBottom},
-#line 18 "CSSPropertyNames.gperf"
+#line 140 "CSSPropertyNames.gperf"
+ {"zoom", CSSPropertyZoom},
+#line 20 "CSSPropertyNames.gperf"
{"border", CSSPropertyBorder},
-#line 257 "CSSPropertyNames.gperf"
+#line 259 "CSSPropertyNames.gperf"
{"marker", CSSPropertyMarker},
-#line 19 "CSSPropertyNames.gperf"
+#line 21 "CSSPropertyNames.gperf"
{"border-bottom", CSSPropertyBorderBottom},
-#line 259 "CSSPropertyNames.gperf"
+#line 261 "CSSPropertyNames.gperf"
{"marker-mid", CSSPropertyMarkerMid},
-#line 68 "CSSPropertyNames.gperf"
+#line 71 "CSSPropertyNames.gperf"
{"margin", CSSPropertyMargin},
-#line 276 "CSSPropertyNames.gperf"
+#line 278 "CSSPropertyNames.gperf"
{"kerning", CSSPropertyKerning},
-#line 258 "CSSPropertyNames.gperf"
+#line 260 "CSSPropertyNames.gperf"
{"marker-end", CSSPropertyMarkerEnd},
-#line 69 "CSSPropertyNames.gperf"
+#line 72 "CSSPropertyNames.gperf"
{"margin-bottom", CSSPropertyMarginBottom},
-#line 241 "CSSPropertyNames.gperf"
+#line 243 "CSSPropertyNames.gperf"
{"mask", CSSPropertyMask},
-#line 262 "CSSPropertyNames.gperf"
+#line 264 "CSSPropertyNames.gperf"
{"stroke", CSSPropertyStroke},
-#line 133 "CSSPropertyNames.gperf"
+#line 104 "CSSPropertyNames.gperf"
+ {"size", CSSPropertySize},
+#line 136 "CSSPropertyNames.gperf"
{"word-break", CSSPropertyWordBreak},
-#line 278 "CSSPropertyNames.gperf"
+#line 280 "CSSPropertyNames.gperf"
{"writing-mode", CSSPropertyWritingMode},
-#line 151 "CSSPropertyNames.gperf"
+#line 154 "CSSPropertyNames.gperf"
{"-webkit-binding", CSSPropertyWebkitBinding},
-#line 256 "CSSPropertyNames.gperf"
+#line 102 "CSSPropertyNames.gperf"
+ {"resize", CSSPropertyResize},
+#line 258 "CSSPropertyNames.gperf"
{"image-rendering", CSSPropertyImageRendering},
-#line 138 "CSSPropertyNames.gperf"
+#line 141 "CSSPropertyNames.gperf"
{"-webkit-animation", CSSPropertyWebkitAnimation},
-#line 156 "CSSPropertyNames.gperf"
+#line 159 "CSSPropertyNames.gperf"
{"-webkit-border-image", CSSPropertyWebkitBorderImage},
-#line 197 "CSSPropertyNames.gperf"
+#line 199 "CSSPropertyNames.gperf"
{"-webkit-mask", CSSPropertyWebkitMask},
-#line 125 "CSSPropertyNames.gperf"
+#line 128 "CSSPropertyNames.gperf"
{"top", CSSPropertyTop},
-#line 131 "CSSPropertyNames.gperf"
+#line 134 "CSSPropertyNames.gperf"
{"widows", CSSPropertyWidows},
-#line 260 "CSSPropertyNames.gperf"
+#line 262 "CSSPropertyNames.gperf"
{"marker-start", CSSPropertyMarkerStart},
-#line 143 "CSSPropertyNames.gperf"
+#line 146 "CSSPropertyNames.gperf"
{"-webkit-animation-name", CSSPropertyWebkitAnimationName},
-#line 92 "CSSPropertyNames.gperf"
+#line 95 "CSSPropertyNames.gperf"
{"page", CSSPropertyPage},
-#line 202 "CSSPropertyNames.gperf"
+#line 204 "CSSPropertyNames.gperf"
{"-webkit-mask-image", CSSPropertyWebkitMaskImage},
-#line 35 "CSSPropertyNames.gperf"
+#line 37 "CSSPropertyNames.gperf"
{"border-top", CSSPropertyBorderTop},
-#line 87 "CSSPropertyNames.gperf"
+#line 90 "CSSPropertyNames.gperf"
{"padding", CSSPropertyPadding},
-#line 230 "CSSPropertyNames.gperf"
+#line 232 "CSSPropertyNames.gperf"
{"-webkit-transition", CSSPropertyWebkitTransition},
-#line 203 "CSSPropertyNames.gperf"
+#line 205 "CSSPropertyNames.gperf"
{"-webkit-mask-origin", CSSPropertyWebkitMaskOrigin},
-#line 88 "CSSPropertyNames.gperf"
+#line 91 "CSSPropertyNames.gperf"
{"padding-bottom", CSSPropertyPaddingBottom},
-#line 72 "CSSPropertyNames.gperf"
+#line 75 "CSSPropertyNames.gperf"
{"margin-top", CSSPropertyMarginTop},
-#line 189 "CSSPropertyNames.gperf"
+#line 191 "CSSPropertyNames.gperf"
{"-webkit-margin-start", CSSPropertyWebkitMarginStart},
-#line 45 "CSSPropertyNames.gperf"
+#line 48 "CSSPropertyNames.gperf"
{"content", CSSPropertyContent},
-#line 97 "CSSPropertyNames.gperf"
+#line 100 "CSSPropertyNames.gperf"
{"position", CSSPropertyPosition},
-#line 49 "CSSPropertyNames.gperf"
+#line 52 "CSSPropertyNames.gperf"
{"direction", CSSPropertyDirection},
-#line 98 "CSSPropertyNames.gperf"
- {"quotes", CSSPropertyQuotes},
-#line 102 "CSSPropertyNames.gperf"
+#line 210 "CSSPropertyNames.gperf"
+ {"-webkit-mask-size", CSSPropertyWebkitMaskSize},
+#line 105 "CSSPropertyNames.gperf"
{"src", CSSPropertySrc},
-#line 135 "CSSPropertyNames.gperf"
+#line 138 "CSSPropertyNames.gperf"
{"word-wrap", CSSPropertyWordWrap},
-#line 191 "CSSPropertyNames.gperf"
- {"-webkit-marquee", CSSPropertyWebkitMarquee},
-#line 210 "CSSPropertyNames.gperf"
+#line 212 "CSSPropertyNames.gperf"
{"-webkit-nbsp-mode", CSSPropertyWebkitNbspMode},
-#line 95 "CSSPropertyNames.gperf"
+#line 98 "CSSPropertyNames.gperf"
{"page-break-inside", CSSPropertyPageBreakInside},
-#line 141 "CSSPropertyNames.gperf"
- {"-webkit-animation-duration", CSSPropertyWebkitAnimationDuration},
-#line 235 "CSSPropertyNames.gperf"
- {"-webkit-user-drag", CSSPropertyWebkitUserDrag},
-#line 207 "CSSPropertyNames.gperf"
+#line 209 "CSSPropertyNames.gperf"
{"-webkit-mask-repeat", CSSPropertyWebkitMaskRepeat},
-#line 157 "CSSPropertyNames.gperf"
- {"-webkit-border-radius", CSSPropertyWebkitBorderRadius},
-#line 91 "CSSPropertyNames.gperf"
+#line 94 "CSSPropertyNames.gperf"
{"padding-top", CSSPropertyPaddingTop},
-#line 211 "CSSPropertyNames.gperf"
+#line 99 "CSSPropertyNames.gperf"
+ {"pointer-events", CSSPropertyPointerEvents},
+#line 213 "CSSPropertyNames.gperf"
{"-webkit-padding-start", CSSPropertyWebkitPaddingStart},
-#line 126 "CSSPropertyNames.gperf"
- {"unicode-bidi", CSSPropertyUnicodeBidi},
-#line 140 "CSSPropertyNames.gperf"
+#line 143 "CSSPropertyNames.gperf"
{"-webkit-animation-direction", CSSPropertyWebkitAnimationDirection},
-#line 137 "CSSPropertyNames.gperf"
- {"zoom", CSSPropertyZoom},
-#line 204 "CSSPropertyNames.gperf"
+#line 206 "CSSPropertyNames.gperf"
{"-webkit-mask-position", CSSPropertyWebkitMaskPosition},
-#line 232 "CSSPropertyNames.gperf"
- {"-webkit-transition-duration", CSSPropertyWebkitTransitionDuration},
-#line 185 "CSSPropertyNames.gperf"
+#line 187 "CSSPropertyNames.gperf"
{"-webkit-line-break", CSSPropertyWebkitLineBreak},
-#line 10 "CSSPropertyNames.gperf"
- {"background", CSSPropertyBackground},
-#line 267 "CSSPropertyNames.gperf"
+#line 269 "CSSPropertyNames.gperf"
{"stroke-miterlimit", CSSPropertyStrokeMiterlimit},
-#line 266 "CSSPropertyNames.gperf"
+#line 268 "CSSPropertyNames.gperf"
{"stroke-linejoin", CSSPropertyStrokeLinejoin},
-#line 127 "CSSPropertyNames.gperf"
- {"unicode-range", CSSPropertyUnicodeRange},
-#line 96 "CSSPropertyNames.gperf"
- {"pointer-events", CSSPropertyPointerEvents},
-#line 216 "CSSPropertyNames.gperf"
+#line 218 "CSSPropertyNames.gperf"
{"-webkit-rtl-ordering", CSSPropertyWebkitRtlOrdering},
-#line 48 "CSSPropertyNames.gperf"
- {"cursor", CSSPropertyCursor},
-#line 79 "CSSPropertyNames.gperf"
- {"outline", CSSPropertyOutline},
-#line 13 "CSSPropertyNames.gperf"
- {"background-image", CSSPropertyBackgroundImage},
-#line 273 "CSSPropertyNames.gperf"
+#line 275 "CSSPropertyNames.gperf"
{"dominant-baseline", CSSPropertyDominantBaseline},
-#line 101 "CSSPropertyNames.gperf"
- {"size", CSSPropertySize},
-#line 41 "CSSPropertyNames.gperf"
+#line 44 "CSSPropertyNames.gperf"
{"caption-side", CSSPropertyCaptionSide},
#line 47 "CSSPropertyNames.gperf"
- {"counter-reset", CSSPropertyCounterReset},
-#line 99 "CSSPropertyNames.gperf"
- {"resize", CSSPropertyResize},
-#line 194 "CSSPropertyNames.gperf"
- {"-webkit-marquee-repetition", CSSPropertyWebkitMarqueeRepetition},
-#line 44 "CSSPropertyNames.gperf"
{"color", CSSPropertyColor},
-#line 33 "CSSPropertyNames.gperf"
+#line 101 "CSSPropertyNames.gperf"
+ {"quotes", CSSPropertyQuotes},
+#line 35 "CSSPropertyNames.gperf"
{"border-spacing", CSSPropertyBorderSpacing},
-#line 42 "CSSPropertyNames.gperf"
+#line 45 "CSSPropertyNames.gperf"
{"clear", CSSPropertyClear},
-#line 195 "CSSPropertyNames.gperf"
- {"-webkit-marquee-speed", CSSPropertyWebkitMarqueeSpeed},
-#line 149 "CSSPropertyNames.gperf"
- {"-webkit-background-origin", CSSPropertyWebkitBackgroundOrigin},
-#line 134 "CSSPropertyNames.gperf"
+#line 193 "CSSPropertyNames.gperf"
+ {"-webkit-marquee", CSSPropertyWebkitMarquee},
+#line 137 "CSSPropertyNames.gperf"
{"word-spacing", CSSPropertyWordSpacing},
-#line 192 "CSSPropertyNames.gperf"
- {"-webkit-marquee-direction", CSSPropertyWebkitMarqueeDirection},
-#line 24 "CSSPropertyNames.gperf"
+#line 26 "CSSPropertyNames.gperf"
{"border-color", CSSPropertyBorderColor},
-#line 193 "CSSPropertyNames.gperf"
- {"-webkit-marquee-increment", CSSPropertyWebkitMarqueeIncrement},
-#line 142 "CSSPropertyNames.gperf"
- {"-webkit-animation-iteration-count", CSSPropertyWebkitAnimationIterationCount},
-#line 20 "CSSPropertyNames.gperf"
+#line 22 "CSSPropertyNames.gperf"
{"border-bottom-color", CSSPropertyBorderBottomColor},
-#line 201 "CSSPropertyNames.gperf"
+#line 144 "CSSPropertyNames.gperf"
+ {"-webkit-animation-duration", CSSPropertyWebkitAnimationDuration},
+#line 237 "CSSPropertyNames.gperf"
+ {"-webkit-user-drag", CSSPropertyWebkitUserDrag},
+#line 160 "CSSPropertyNames.gperf"
+ {"-webkit-border-radius", CSSPropertyWebkitBorderRadius},
+#line 203 "CSSPropertyNames.gperf"
{"-webkit-mask-composite", CSSPropertyWebkitMaskComposite},
-#line 252 "CSSPropertyNames.gperf"
+#line 254 "CSSPropertyNames.gperf"
{"color-rendering", CSSPropertyColorRendering},
-#line 17 "CSSPropertyNames.gperf"
- {"background-repeat", CSSPropertyBackgroundRepeat},
-#line 208 "CSSPropertyNames.gperf"
- {"-webkit-mask-size", CSSPropertyWebkitMaskSize},
-#line 43 "CSSPropertyNames.gperf"
- {"clip", CSSPropertyClip},
+#line 129 "CSSPropertyNames.gperf"
+ {"unicode-bidi", CSSPropertyUnicodeBidi},
#line 46 "CSSPropertyNames.gperf"
- {"counter-increment", CSSPropertyCounterIncrement},
-#line 145 "CSSPropertyNames.gperf"
+ {"clip", CSSPropertyClip},
+#line 234 "CSSPropertyNames.gperf"
+ {"-webkit-transition-duration", CSSPropertyWebkitTransitionDuration},
+#line 148 "CSSPropertyNames.gperf"
{"-webkit-appearance", CSSPropertyWebkitAppearance},
+#line 10 "CSSPropertyNames.gperf"
+ {"background", CSSPropertyBackground},
+#line 130 "CSSPropertyNames.gperf"
+ {"unicode-range", CSSPropertyUnicodeRange},
+#line 51 "CSSPropertyNames.gperf"
+ {"cursor", CSSPropertyCursor},
+#line 82 "CSSPropertyNames.gperf"
+ {"outline", CSSPropertyOutline},
#line 14 "CSSPropertyNames.gperf"
- {"background-position", CSSPropertyBackgroundPosition},
-#line 36 "CSSPropertyNames.gperf"
+ {"background-image", CSSPropertyBackgroundImage},
+#line 38 "CSSPropertyNames.gperf"
{"border-top-color", CSSPropertyBorderTopColor},
-#line 247 "CSSPropertyNames.gperf"
+#line 15 "CSSPropertyNames.gperf"
+ {"background-origin", CSSPropertyBackgroundOrigin},
+#line 50 "CSSPropertyNames.gperf"
+ {"counter-reset", CSSPropertyCounterReset},
+#line 249 "CSSPropertyNames.gperf"
{"stop-color", CSSPropertyStopColor},
-#line 242 "CSSPropertyNames.gperf"
- {"enable-background", CSSPropertyEnableBackground},
-#line 271 "CSSPropertyNames.gperf"
+#line 196 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-repetition", CSSPropertyWebkitMarqueeRepetition},
+#line 214 "CSSPropertyNames.gperf"
+ {"-webkit-perspective", CSSPropertyWebkitPerspective},
+#line 273 "CSSPropertyNames.gperf"
{"alignment-baseline", CSSPropertyAlignmentBaseline},
-#line 265 "CSSPropertyNames.gperf"
+#line 197 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-speed", CSSPropertyWebkitMarqueeSpeed},
+#line 267 "CSSPropertyNames.gperf"
{"stroke-linecap", CSSPropertyStrokeLinecap},
-#line 182 "CSSPropertyNames.gperf"
- {"-webkit-columns", CSSPropertyWebkitColumns},
-#line 62 "CSSPropertyNames.gperf"
+#line 152 "CSSPropertyNames.gperf"
+ {"-webkit-background-origin", CSSPropertyWebkitBackgroundOrigin},
+#line 65 "CSSPropertyNames.gperf"
{"letter-spacing", CSSPropertyLetterSpacing},
-#line 200 "CSSPropertyNames.gperf"
+#line 194 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-direction", CSSPropertyWebkitMarqueeDirection},
+#line 202 "CSSPropertyNames.gperf"
{"-webkit-mask-clip", CSSPropertyWebkitMaskClip},
-#line 212 "CSSPropertyNames.gperf"
- {"-webkit-perspective", CSSPropertyWebkitPerspective},
-#line 100 "CSSPropertyNames.gperf"
+#line 195 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-increment", CSSPropertyWebkitMarqueeIncrement},
+#line 215 "CSSPropertyNames.gperf"
+ {"-webkit-perspective-origin", CSSPropertyWebkitPerspectiveOrigin},
+#line 145 "CSSPropertyNames.gperf"
+ {"-webkit-animation-iteration-count", CSSPropertyWebkitAnimationIterationCount},
+#line 153 "CSSPropertyNames.gperf"
+ {"-webkit-background-size", CSSPropertyWebkitBackgroundSize},
+#line 19 "CSSPropertyNames.gperf"
+ {"background-repeat", CSSPropertyBackgroundRepeat},
+#line 103 "CSSPropertyNames.gperf"
{"right", CSSPropertyRight},
-#line 132 "CSSPropertyNames.gperf"
+#line 49 "CSSPropertyNames.gperf"
+ {"counter-increment", CSSPropertyCounterIncrement},
+#line 135 "CSSPropertyNames.gperf"
{"width", CSSPropertyWidth},
-#line 174 "CSSPropertyNames.gperf"
- {"-webkit-column-break-inside", CSSPropertyWebkitColumnBreakInside},
-#line 237 "CSSPropertyNames.gperf"
- {"-webkit-user-select", CSSPropertyWebkitUserSelect},
-#line 76 "CSSPropertyNames.gperf"
+#line 16 "CSSPropertyNames.gperf"
+ {"background-position", CSSPropertyBackgroundPosition},
+#line 79 "CSSPropertyNames.gperf"
{"min-width", CSSPropertyMinWidth},
-#line 213 "CSSPropertyNames.gperf"
- {"-webkit-perspective-origin", CSSPropertyWebkitPerspectiveOrigin},
-#line 29 "CSSPropertyNames.gperf"
+#line 31 "CSSPropertyNames.gperf"
{"border-right", CSSPropertyBorderRight},
-#line 39 "CSSPropertyNames.gperf"
+#line 41 "CSSPropertyNames.gperf"
{"border-width", CSSPropertyBorderWidth},
-#line 176 "CSSPropertyNames.gperf"
- {"-webkit-column-gap", CSSPropertyWebkitColumnGap},
-#line 53 "CSSPropertyNames.gperf"
- {"font", CSSPropertyFont},
-#line 71 "CSSPropertyNames.gperf"
+#line 131 "CSSPropertyNames.gperf"
+ {"vertical-align", CSSPropertyVerticalAlign},
+#line 74 "CSSPropertyNames.gperf"
{"margin-right", CSSPropertyMarginRight},
-#line 22 "CSSPropertyNames.gperf"
+#line 24 "CSSPropertyNames.gperf"
{"border-bottom-width", CSSPropertyBorderBottomWidth},
-#line 148 "CSSPropertyNames.gperf"
- {"-webkit-background-composite", CSSPropertyWebkitBackgroundComposite},
-#line 12 "CSSPropertyNames.gperf"
- {"background-color", CSSPropertyBackgroundColor},
-#line 269 "CSSPropertyNames.gperf"
+#line 56 "CSSPropertyNames.gperf"
+ {"font", CSSPropertyFont},
+#line 244 "CSSPropertyNames.gperf"
+ {"enable-background", CSSPropertyEnableBackground},
+#line 271 "CSSPropertyNames.gperf"
{"stroke-width", CSSPropertyStrokeWidth},
-#line 150 "CSSPropertyNames.gperf"
- {"-webkit-background-size", CSSPropertyWebkitBackgroundSize},
-#line 80 "CSSPropertyNames.gperf"
- {"outline-color", CSSPropertyOutlineColor},
-#line 154 "CSSPropertyNames.gperf"
- {"-webkit-border-fit", CSSPropertyWebkitBorderFit},
-#line 128 "CSSPropertyNames.gperf"
- {"vertical-align", CSSPropertyVerticalAlign},
-#line 186 "CSSPropertyNames.gperf"
+#line 184 "CSSPropertyNames.gperf"
+ {"-webkit-columns", CSSPropertyWebkitColumns},
+#line 188 "CSSPropertyNames.gperf"
{"-webkit-line-clamp", CSSPropertyWebkitLineClamp},
-#line 249 "CSSPropertyNames.gperf"
+#line 251 "CSSPropertyNames.gperf"
{"color-interpolation", CSSPropertyColorInterpolation},
-#line 90 "CSSPropertyNames.gperf"
+#line 25 "CSSPropertyNames.gperf"
+ {"border-collapse", CSSPropertyBorderCollapse},
+#line 157 "CSSPropertyNames.gperf"
+ {"-webkit-border-fit", CSSPropertyWebkitBorderFit},
+#line 58 "CSSPropertyNames.gperf"
+ {"font-size", CSSPropertyFontSize},
+#line 176 "CSSPropertyNames.gperf"
+ {"-webkit-column-break-inside", CSSPropertyWebkitColumnBreakInside},
+#line 93 "CSSPropertyNames.gperf"
{"padding-right", CSSPropertyPaddingRight},
-#line 38 "CSSPropertyNames.gperf"
+#line 239 "CSSPropertyNames.gperf"
+ {"-webkit-user-select", CSSPropertyWebkitUserSelect},
+#line 40 "CSSPropertyNames.gperf"
{"border-top-width", CSSPropertyBorderTopWidth},
-#line 23 "CSSPropertyNames.gperf"
- {"border-collapse", CSSPropertyBorderCollapse},
-#line 78 "CSSPropertyNames.gperf"
+#line 81 "CSSPropertyNames.gperf"
{"orphans", CSSPropertyOrphans},
-#line 175 "CSSPropertyNames.gperf"
- {"-webkit-column-count", CSSPropertyWebkitColumnCount},
-#line 224 "CSSPropertyNames.gperf"
- {"-webkit-transform", CSSPropertyWebkitTransform},
-#line 240 "CSSPropertyNames.gperf"
- {"clip-rule", CSSPropertyClipRule},
-#line 58 "CSSPropertyNames.gperf"
+#line 61 "CSSPropertyNames.gperf"
{"font-variant", CSSPropertyFontVariant},
-#line 147 "CSSPropertyNames.gperf"
- {"-webkit-background-clip", CSSPropertyWebkitBackgroundClip},
-#line 261 "CSSPropertyNames.gperf"
+#line 178 "CSSPropertyNames.gperf"
+ {"-webkit-column-gap", CSSPropertyWebkitColumnGap},
+#line 190 "CSSPropertyNames.gperf"
+ {"-webkit-margin-collapse", CSSPropertyWebkitMarginCollapse},
+#line 226 "CSSPropertyNames.gperf"
+ {"-webkit-transform", CSSPropertyWebkitTransform},
+#line 151 "CSSPropertyNames.gperf"
+ {"-webkit-background-composite", CSSPropertyWebkitBackgroundComposite},
+#line 189 "CSSPropertyNames.gperf"
+ {"-webkit-margin-bottom-collapse", CSSPropertyWebkitMarginBottomCollapse},
+#line 13 "CSSPropertyNames.gperf"
+ {"background-color", CSSPropertyBackgroundColor},
+#line 263 "CSSPropertyNames.gperf"
{"shape-rendering", CSSPropertyShapeRendering},
-#line 106 "CSSPropertyNames.gperf"
+#line 109 "CSSPropertyNames.gperf"
{"text-indent", CSSPropertyTextIndent},
-#line 94 "CSSPropertyNames.gperf"
+#line 139 "CSSPropertyNames.gperf"
+ {"z-index", CSSPropertyZIndex},
+#line 163 "CSSPropertyNames.gperf"
+ {"-webkit-border-vertical-spacing", CSSPropertyWebkitBorderVerticalSpacing},
+#line 83 "CSSPropertyNames.gperf"
+ {"outline-color", CSSPropertyOutlineColor},
+#line 97 "CSSPropertyNames.gperf"
{"page-break-before", CSSPropertyPageBreakBefore},
-#line 225 "CSSPropertyNames.gperf"
+#line 227 "CSSPropertyNames.gperf"
{"-webkit-transform-origin", CSSPropertyWebkitTransformOrigin},
-#line 93 "CSSPropertyNames.gperf"
+#line 96 "CSSPropertyNames.gperf"
{"page-break-after", CSSPropertyPageBreakAfter},
-#line 188 "CSSPropertyNames.gperf"
- {"-webkit-margin-collapse", CSSPropertyWebkitMarginCollapse},
-#line 177 "CSSPropertyNames.gperf"
- {"-webkit-column-rule", CSSPropertyWebkitColumnRule},
-#line 61 "CSSPropertyNames.gperf"
- {"left", CSSPropertyLeft},
-#line 187 "CSSPropertyNames.gperf"
- {"-webkit-margin-bottom-collapse", CSSPropertyWebkitMarginBottomCollapse},
-#line 77 "CSSPropertyNames.gperf"
- {"opacity", CSSPropertyOpacity},
-#line 270 "CSSPropertyNames.gperf"
+#line 272 "CSSPropertyNames.gperf"
{"text-rendering", CSSPropertyTextRendering},
-#line 52 "CSSPropertyNames.gperf"
+#line 170 "CSSPropertyNames.gperf"
+ {"-webkit-box-orient", CSSPropertyWebkitBoxOrient},
+#line 64 "CSSPropertyNames.gperf"
+ {"left", CSSPropertyLeft},
+#line 230 "CSSPropertyNames.gperf"
+ {"-webkit-transform-origin-z", CSSPropertyWebkitTransformOriginZ},
+#line 55 "CSSPropertyNames.gperf"
{"float", CSSPropertyFloat},
-#line 243 "CSSPropertyNames.gperf"
+#line 245 "CSSPropertyNames.gperf"
{"filter", CSSPropertyFilter},
-#line 167 "CSSPropertyNames.gperf"
- {"-webkit-box-orient", CSSPropertyWebkitBoxOrient},
-#line 34 "CSSPropertyNames.gperf"
- {"border-style", CSSPropertyBorderStyle},
-#line 206 "CSSPropertyNames.gperf"
- {"-webkit-mask-position-y", CSSPropertyWebkitMaskPositionY},
-#line 153 "CSSPropertyNames.gperf"
- {"-webkit-border-bottom-right-radius", CSSPropertyWebkitBorderBottomRightRadius},
-#line 25 "CSSPropertyNames.gperf"
- {"border-left", CSSPropertyBorderLeft},
-#line 198 "CSSPropertyNames.gperf"
+#line 200 "CSSPropertyNames.gperf"
{"-webkit-mask-attachment", CSSPropertyWebkitMaskAttachment},
-#line 21 "CSSPropertyNames.gperf"
- {"border-bottom-style", CSSPropertyBorderBottomStyle},
-#line 70 "CSSPropertyNames.gperf"
- {"margin-left", CSSPropertyMarginLeft},
-#line 139 "CSSPropertyNames.gperf"
- {"-webkit-animation-delay", CSSPropertyWebkitAnimationDelay},
-#line 221 "CSSPropertyNames.gperf"
+#line 27 "CSSPropertyNames.gperf"
+ {"border-left", CSSPropertyBorderLeft},
+#line 223 "CSSPropertyNames.gperf"
{"-webkit-text-stroke", CSSPropertyWebkitTextStroke},
-#line 160 "CSSPropertyNames.gperf"
- {"-webkit-border-vertical-spacing", CSSPropertyWebkitBorderVerticalSpacing},
-#line 268 "CSSPropertyNames.gperf"
- {"stroke-opacity", CSSPropertyStrokeOpacity},
-#line 199 "CSSPropertyNames.gperf"
+#line 12 "CSSPropertyNames.gperf"
+ {"background-clip", CSSPropertyBackgroundClip},
+#line 192 "CSSPropertyNames.gperf"
+ {"-webkit-margin-top-collapse", CSSPropertyWebkitMarginTopCollapse},
+#line 73 "CSSPropertyNames.gperf"
+ {"margin-left", CSSPropertyMarginLeft},
+#line 242 "CSSPropertyNames.gperf"
+ {"clip-rule", CSSPropertyClipRule},
+#line 201 "CSSPropertyNames.gperf"
{"-webkit-mask-box-image", CSSPropertyWebkitMaskBoxImage},
-#line 130 "CSSPropertyNames.gperf"
+#line 173 "CSSPropertyNames.gperf"
+ {"-webkit-box-sizing", CSSPropertyWebkitBoxSizing},
+#line 133 "CSSPropertyNames.gperf"
{"white-space", CSSPropertyWhiteSpace},
-#line 83 "CSSPropertyNames.gperf"
- {"outline-width", CSSPropertyOutlineWidth},
-#line 190 "CSSPropertyNames.gperf"
- {"-webkit-margin-top-collapse", CSSPropertyWebkitMarginTopCollapse},
-#line 231 "CSSPropertyNames.gperf"
- {"-webkit-transition-delay", CSSPropertyWebkitTransitionDelay},
-#line 129 "CSSPropertyNames.gperf"
- {"visibility", CSSPropertyVisibility},
-#line 50 "CSSPropertyNames.gperf"
- {"display", CSSPropertyDisplay},
-#line 159 "CSSPropertyNames.gperf"
- {"-webkit-border-top-right-radius", CSSPropertyWebkitBorderTopRightRadius},
-#line 233 "CSSPropertyNames.gperf"
- {"-webkit-transition-property", CSSPropertyWebkitTransitionProperty},
-#line 105 "CSSPropertyNames.gperf"
- {"text-decoration", CSSPropertyTextDecoration},
-#line 37 "CSSPropertyNames.gperf"
- {"border-top-style", CSSPropertyBorderTopStyle},
-#line 55 "CSSPropertyNames.gperf"
- {"font-size", CSSPropertyFontSize},
-#line 89 "CSSPropertyNames.gperf"
- {"padding-left", CSSPropertyPaddingLeft},
-#line 84 "CSSPropertyNames.gperf"
+#line 150 "CSSPropertyNames.gperf"
+ {"-webkit-background-clip", CSSPropertyWebkitBackgroundClip},
+#line 87 "CSSPropertyNames.gperf"
{"overflow", CSSPropertyOverflow},
-#line 30 "CSSPropertyNames.gperf"
+#line 108 "CSSPropertyNames.gperf"
+ {"text-decoration", CSSPropertyTextDecoration},
+#line 80 "CSSPropertyNames.gperf"
+ {"opacity", CSSPropertyOpacity},
+#line 32 "CSSPropertyNames.gperf"
{"border-right-color", CSSPropertyBorderRightColor},
-#line 162 "CSSPropertyNames.gperf"
+#line 165 "CSSPropertyNames.gperf"
{"-webkit-box-direction", CSSPropertyWebkitBoxDirection},
-#line 248 "CSSPropertyNames.gperf"
- {"stop-opacity", CSSPropertyStopOpacity},
-#line 104 "CSSPropertyNames.gperf"
+#line 92 "CSSPropertyNames.gperf"
+ {"padding-left", CSSPropertyPaddingLeft},
+#line 185 "CSSPropertyNames.gperf"
+ {"-webkit-font-size-delta", CSSPropertyWebkitFontSizeDelta},
+#line 36 "CSSPropertyNames.gperf"
+ {"border-style", CSSPropertyBorderStyle},
+#line 208 "CSSPropertyNames.gperf"
+ {"-webkit-mask-position-y", CSSPropertyWebkitMaskPositionY},
+#line 107 "CSSPropertyNames.gperf"
{"text-align", CSSPropertyTextAlign},
-#line 144 "CSSPropertyNames.gperf"
- {"-webkit-animation-timing-function", CSSPropertyWebkitAnimationTimingFunction},
-#line 253 "CSSPropertyNames.gperf"
+#line 23 "CSSPropertyNames.gperf"
+ {"border-bottom-style", CSSPropertyBorderBottomStyle},
+#line 156 "CSSPropertyNames.gperf"
+ {"-webkit-border-bottom-right-radius", CSSPropertyWebkitBorderBottomRightRadius},
+#line 142 "CSSPropertyNames.gperf"
+ {"-webkit-animation-delay", CSSPropertyWebkitAnimationDelay},
+#line 132 "CSSPropertyNames.gperf"
+ {"visibility", CSSPropertyVisibility},
+#line 255 "CSSPropertyNames.gperf"
{"fill", CSSPropertyFill},
-#line 196 "CSSPropertyNames.gperf"
- {"-webkit-marquee-style", CSSPropertyWebkitMarqueeStyle},
-#line 16 "CSSPropertyNames.gperf"
- {"background-position-y", CSSPropertyBackgroundPositionY},
-#line 11 "CSSPropertyNames.gperf"
- {"background-attachment", CSSPropertyBackgroundAttachment},
-#line 161 "CSSPropertyNames.gperf"
+#line 164 "CSSPropertyNames.gperf"
{"-webkit-box-align", CSSPropertyWebkitBoxAlign},
-#line 205 "CSSPropertyNames.gperf"
+#line 207 "CSSPropertyNames.gperf"
{"-webkit-mask-position-x", CSSPropertyWebkitMaskPositionX},
-#line 136 "CSSPropertyNames.gperf"
- {"z-index", CSSPropertyZIndex},
-#line 234 "CSSPropertyNames.gperf"
- {"-webkit-transition-timing-function", CSSPropertyWebkitTransitionTimingFunction},
-#line 64 "CSSPropertyNames.gperf"
- {"list-style", CSSPropertyListStyle},
-#line 168 "CSSPropertyNames.gperf"
- {"-webkit-box-pack", CSSPropertyWebkitBoxPack},
-#line 165 "CSSPropertyNames.gperf"
- {"-webkit-box-lines", CSSPropertyWebkitBoxLines},
-#line 228 "CSSPropertyNames.gperf"
- {"-webkit-transform-origin-z", CSSPropertyWebkitTransformOriginZ},
-#line 152 "CSSPropertyNames.gperf"
- {"-webkit-border-bottom-left-radius", CSSPropertyWebkitBorderBottomLeftRadius},
-#line 103 "CSSPropertyNames.gperf"
- {"table-layout", CSSPropertyTableLayout},
-#line 181 "CSSPropertyNames.gperf"
- {"-webkit-column-width", CSSPropertyWebkitColumnWidth},
-#line 65 "CSSPropertyNames.gperf"
- {"list-style-image", CSSPropertyListStyleImage},
-#line 113 "CSSPropertyNames.gperf"
+#line 270 "CSSPropertyNames.gperf"
+ {"stroke-opacity", CSSPropertyStrokeOpacity},
+#line 116 "CSSPropertyNames.gperf"
{"text-overline", CSSPropertyTextOverline},
-#line 120 "CSSPropertyNames.gperf"
- {"text-underline", CSSPropertyTextUnderline},
-#line 115 "CSSPropertyNames.gperf"
+#line 240 "CSSPropertyNames.gperf"
+ {"-webkit-variable-declaration-block", CSSPropertyWebkitVariableDeclarationBlock},
+#line 177 "CSSPropertyNames.gperf"
+ {"-webkit-column-count", CSSPropertyWebkitColumnCount},
+#line 118 "CSSPropertyNames.gperf"
{"text-overline-mode", CSSPropertyTextOverlineMode},
-#line 122 "CSSPropertyNames.gperf"
- {"text-underline-mode", CSSPropertyTextUnderlineMode},
-#line 82 "CSSPropertyNames.gperf"
- {"outline-style", CSSPropertyOutlineStyle},
-#line 239 "CSSPropertyNames.gperf"
+#line 171 "CSSPropertyNames.gperf"
+ {"-webkit-box-pack", CSSPropertyWebkitBoxPack},
+#line 168 "CSSPropertyNames.gperf"
+ {"-webkit-box-lines", CSSPropertyWebkitBoxLines},
+#line 233 "CSSPropertyNames.gperf"
+ {"-webkit-transition-delay", CSSPropertyWebkitTransitionDelay},
+#line 53 "CSSPropertyNames.gperf"
+ {"display", CSSPropertyDisplay},
+#line 86 "CSSPropertyNames.gperf"
+ {"outline-width", CSSPropertyOutlineWidth},
+#line 235 "CSSPropertyNames.gperf"
+ {"-webkit-transition-property", CSSPropertyWebkitTransitionProperty},
+#line 39 "CSSPropertyNames.gperf"
+ {"border-top-style", CSSPropertyBorderTopStyle},
+#line 179 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule", CSSPropertyWebkitColumnRule},
+#line 162 "CSSPropertyNames.gperf"
+ {"-webkit-border-top-right-radius", CSSPropertyWebkitBorderTopRightRadius},
+#line 241 "CSSPropertyNames.gperf"
{"clip-path", CSSPropertyClipPath},
-#line 60 "CSSPropertyNames.gperf"
+#line 250 "CSSPropertyNames.gperf"
+ {"stop-opacity", CSSPropertyStopOpacity},
+#line 248 "CSSPropertyNames.gperf"
+ {"lighting-color", CSSPropertyLightingColor},
+#line 63 "CSSPropertyNames.gperf"
{"height", CSSPropertyHeight},
-#line 238 "CSSPropertyNames.gperf"
- {"-webkit-variable-declaration-block", CSSPropertyWebkitVariableDeclarationBlock},
-#line 75 "CSSPropertyNames.gperf"
+#line 78 "CSSPropertyNames.gperf"
{"min-height", CSSPropertyMinHeight},
-#line 171 "CSSPropertyNames.gperf"
- {"-webkit-box-sizing", CSSPropertyWebkitBoxSizing},
#line 246 "CSSPropertyNames.gperf"
- {"lighting-color", CSSPropertyLightingColor},
-#line 173 "CSSPropertyNames.gperf"
- {"-webkit-column-break-before", CSSPropertyWebkitColumnBreakBefore},
-#line 178 "CSSPropertyNames.gperf"
- {"-webkit-column-rule-color", CSSPropertyWebkitColumnRuleColor},
-#line 172 "CSSPropertyNames.gperf"
- {"-webkit-column-break-after", CSSPropertyWebkitColumnBreakAfter},
-#line 215 "CSSPropertyNames.gperf"
- {"-webkit-perspective-origin-y", CSSPropertyWebkitPerspectiveOriginY},
-#line 158 "CSSPropertyNames.gperf"
- {"-webkit-border-top-left-radius", CSSPropertyWebkitBorderTopLeftRadius},
-#line 244 "CSSPropertyNames.gperf"
{"flood-color", CSSPropertyFloodColor},
-#line 26 "CSSPropertyNames.gperf"
+#line 147 "CSSPropertyNames.gperf"
+ {"-webkit-animation-timing-function", CSSPropertyWebkitAnimationTimingFunction},
+#line 11 "CSSPropertyNames.gperf"
+ {"background-attachment", CSSPropertyBackgroundAttachment},
+#line 222 "CSSPropertyNames.gperf"
+ {"-webkit-text-size-adjust", CSSPropertyWebkitTextSizeAdjust},
+#line 67 "CSSPropertyNames.gperf"
+ {"list-style", CSSPropertyListStyle},
+#line 28 "CSSPropertyNames.gperf"
{"border-left-color", CSSPropertyBorderLeftColor},
-#line 32 "CSSPropertyNames.gperf"
+#line 158 "CSSPropertyNames.gperf"
+ {"-webkit-border-horizontal-spacing", CSSPropertyWebkitBorderHorizontalSpacing},
+#line 224 "CSSPropertyNames.gperf"
+ {"-webkit-text-stroke-color", CSSPropertyWebkitTextStrokeColor},
+#line 68 "CSSPropertyNames.gperf"
+ {"list-style-image", CSSPropertyListStyleImage},
+#line 34 "CSSPropertyNames.gperf"
{"border-right-width", CSSPropertyBorderRightWidth},
+#line 236 "CSSPropertyNames.gperf"
+ {"-webkit-transition-timing-function", CSSPropertyWebkitTransitionTimingFunction},
#line 183 "CSSPropertyNames.gperf"
- {"-webkit-font-size-delta", CSSPropertyWebkitFontSizeDelta},
-#line 15 "CSSPropertyNames.gperf"
- {"background-position-x", CSSPropertyBackgroundPositionX},
-#line 222 "CSSPropertyNames.gperf"
- {"-webkit-text-stroke-color", CSSPropertyWebkitTextStrokeColor},
-#line 59 "CSSPropertyNames.gperf"
+ {"-webkit-column-width", CSSPropertyWebkitColumnWidth},
+#line 155 "CSSPropertyNames.gperf"
+ {"-webkit-border-bottom-left-radius", CSSPropertyWebkitBorderBottomLeftRadius},
+#line 123 "CSSPropertyNames.gperf"
+ {"text-underline", CSSPropertyTextUnderline},
+#line 217 "CSSPropertyNames.gperf"
+ {"-webkit-perspective-origin-y", CSSPropertyWebkitPerspectiveOriginY},
+#line 125 "CSSPropertyNames.gperf"
+ {"text-underline-mode", CSSPropertyTextUnderlineMode},
+#line 62 "CSSPropertyNames.gperf"
{"font-weight", CSSPropertyFontWeight},
+#line 253 "CSSPropertyNames.gperf"
+ {"color-profile", CSSPropertyColorProfile},
+#line 216 "CSSPropertyNames.gperf"
+ {"-webkit-perspective-origin-x", CSSPropertyWebkitPerspectiveOriginX},
+#line 198 "CSSPropertyNames.gperf"
+ {"-webkit-marquee-style", CSSPropertyWebkitMarqueeStyle},
+#line 18 "CSSPropertyNames.gperf"
+ {"background-position-y", CSSPropertyBackgroundPositionY},
+#line 175 "CSSPropertyNames.gperf"
+ {"-webkit-column-break-before", CSSPropertyWebkitColumnBreakBefore},
+#line 174 "CSSPropertyNames.gperf"
+ {"-webkit-column-break-after", CSSPropertyWebkitColumnBreakAfter},
+#line 161 "CSSPropertyNames.gperf"
+ {"-webkit-border-top-left-radius", CSSPropertyWebkitBorderTopLeftRadius},
#line 66 "CSSPropertyNames.gperf"
+ {"line-height", CSSPropertyLineHeight},
+#line 69 "CSSPropertyNames.gperf"
{"list-style-position", CSSPropertyListStylePosition},
-#line 51 "CSSPropertyNames.gperf"
+#line 17 "CSSPropertyNames.gperf"
+ {"background-position-x", CSSPropertyBackgroundPositionX},
+#line 77 "CSSPropertyNames.gperf"
+ {"max-width", CSSPropertyMaxWidth},
+#line 106 "CSSPropertyNames.gperf"
+ {"table-layout", CSSPropertyTableLayout},
+#line 117 "CSSPropertyNames.gperf"
+ {"text-overline-color", CSSPropertyTextOverlineColor},
+#line 54 "CSSPropertyNames.gperf"
{"empty-cells", CSSPropertyEmptyCells},
-#line 166 "CSSPropertyNames.gperf"
+#line 169 "CSSPropertyNames.gperf"
{"-webkit-box-ordinal-group", CSSPropertyWebkitBoxOrdinalGroup},
-#line 263 "CSSPropertyNames.gperf"
- {"stroke-dasharray", CSSPropertyStrokeDasharray},
-#line 251 "CSSPropertyNames.gperf"
- {"color-profile", CSSPropertyColorProfile},
-#line 220 "CSSPropertyNames.gperf"
- {"-webkit-text-size-adjust", CSSPropertyWebkitTextSizeAdjust},
-#line 255 "CSSPropertyNames.gperf"
- {"fill-rule", CSSPropertyFillRule},
-#line 63 "CSSPropertyNames.gperf"
- {"line-height", CSSPropertyLineHeight},
-#line 227 "CSSPropertyNames.gperf"
- {"-webkit-transform-origin-y", CSSPropertyWebkitTransformOriginY},
-#line 74 "CSSPropertyNames.gperf"
- {"max-width", CSSPropertyMaxWidth},
-#line 214 "CSSPropertyNames.gperf"
- {"-webkit-perspective-origin-x", CSSPropertyWebkitPerspectiveOriginX},
-#line 236 "CSSPropertyNames.gperf"
- {"-webkit-user-modify", CSSPropertyWebkitUserModify},
-#line 56 "CSSPropertyNames.gperf"
+#line 85 "CSSPropertyNames.gperf"
+ {"outline-style", CSSPropertyOutlineStyle},
+#line 43 "CSSPropertyNames.gperf"
+ {"box-shadow", CSSPropertyBoxShadow},
+#line 121 "CSSPropertyNames.gperf"
+ {"text-shadow", CSSPropertyTextShadow},
+#line 59 "CSSPropertyNames.gperf"
{"font-stretch", CSSPropertyFontStretch},
#line 180 "CSSPropertyNames.gperf"
- {"-webkit-column-rule-width", CSSPropertyWebkitColumnRuleWidth},
-#line 118 "CSSPropertyNames.gperf"
- {"text-shadow", CSSPropertyTextShadow},
-#line 31 "CSSPropertyNames.gperf"
- {"border-right-style", CSSPropertyBorderRightStyle},
-#line 57 "CSSPropertyNames.gperf"
- {"font-style", CSSPropertyFontStyle},
-#line 28 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule-color", CSSPropertyWebkitColumnRuleColor},
+#line 265 "CSSPropertyNames.gperf"
+ {"stroke-dasharray", CSSPropertyStrokeDasharray},
+#line 30 "CSSPropertyNames.gperf"
{"border-left-width", CSSPropertyBorderLeftWidth},
-#line 170 "CSSPropertyNames.gperf"
- {"-webkit-box-shadow", CSSPropertyWebkitBoxShadow},
-#line 114 "CSSPropertyNames.gperf"
- {"text-overline-color", CSSPropertyTextOverlineColor},
-#line 121 "CSSPropertyNames.gperf"
- {"text-underline-color", CSSPropertyTextUnderlineColor},
-#line 223 "CSSPropertyNames.gperf"
+#line 225 "CSSPropertyNames.gperf"
{"-webkit-text-stroke-width", CSSPropertyWebkitTextStrokeWidth},
-#line 119 "CSSPropertyNames.gperf"
+#line 257 "CSSPropertyNames.gperf"
+ {"fill-rule", CSSPropertyFillRule},
+#line 122 "CSSPropertyNames.gperf"
{"text-transform", CSSPropertyTextTransform},
-#line 155 "CSSPropertyNames.gperf"
- {"-webkit-border-horizontal-spacing", CSSPropertyWebkitBorderHorizontalSpacing},
-#line 277 "CSSPropertyNames.gperf"
+#line 279 "CSSPropertyNames.gperf"
{"text-anchor", CSSPropertyTextAnchor},
-#line 272 "CSSPropertyNames.gperf"
+#line 274 "CSSPropertyNames.gperf"
{"baseline-shift", CSSPropertyBaselineShift},
-#line 86 "CSSPropertyNames.gperf"
- {"overflow-y", CSSPropertyOverflowY},
-#line 226 "CSSPropertyNames.gperf"
- {"-webkit-transform-origin-x", CSSPropertyWebkitTransformOriginX},
#line 229 "CSSPropertyNames.gperf"
- {"-webkit-transform-style", CSSPropertyWebkitTransformStyle},
-#line 81 "CSSPropertyNames.gperf"
- {"outline-offset", CSSPropertyOutlineOffset},
-#line 250 "CSSPropertyNames.gperf"
+ {"-webkit-transform-origin-y", CSSPropertyWebkitTransformOriginY},
+#line 228 "CSSPropertyNames.gperf"
+ {"-webkit-transform-origin-x", CSSPropertyWebkitTransformOriginX},
+#line 33 "CSSPropertyNames.gperf"
+ {"border-right-style", CSSPropertyBorderRightStyle},
+#line 252 "CSSPropertyNames.gperf"
{"color-interpolation-filters", CSSPropertyColorInterpolationFilters},
-#line 179 "CSSPropertyNames.gperf"
- {"-webkit-column-rule-style", CSSPropertyWebkitColumnRuleStyle},
-#line 245 "CSSPropertyNames.gperf"
- {"flood-opacity", CSSPropertyFloodOpacity},
-#line 27 "CSSPropertyNames.gperf"
- {"border-left-style", CSSPropertyBorderLeftStyle},
-#line 219 "CSSPropertyNames.gperf"
- {"-webkit-text-security", CSSPropertyWebkitTextSecurity},
-#line 117 "CSSPropertyNames.gperf"
- {"text-overline-width", CSSPropertyTextOverlineWidth},
#line 124 "CSSPropertyNames.gperf"
- {"text-underline-width", CSSPropertyTextUnderlineWidth},
-#line 85 "CSSPropertyNames.gperf"
+ {"text-underline-color", CSSPropertyTextUnderlineColor},
+#line 60 "CSSPropertyNames.gperf"
+ {"font-style", CSSPropertyFontStyle},
+#line 120 "CSSPropertyNames.gperf"
+ {"text-overline-width", CSSPropertyTextOverlineWidth},
+#line 89 "CSSPropertyNames.gperf"
+ {"overflow-y", CSSPropertyOverflowY},
+#line 88 "CSSPropertyNames.gperf"
{"overflow-x", CSSPropertyOverflowX},
-#line 112 "CSSPropertyNames.gperf"
+#line 115 "CSSPropertyNames.gperf"
{"text-overflow", CSSPropertyTextOverflow},
-#line 67 "CSSPropertyNames.gperf"
- {"list-style-type", CSSPropertyListStyleType},
-#line 169 "CSSPropertyNames.gperf"
+#line 182 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule-width", CSSPropertyWebkitColumnRuleWidth},
+#line 238 "CSSPropertyNames.gperf"
+ {"-webkit-user-modify", CSSPropertyWebkitUserModify},
+#line 231 "CSSPropertyNames.gperf"
+ {"-webkit-transform-style", CSSPropertyWebkitTransformStyle},
+#line 172 "CSSPropertyNames.gperf"
{"-webkit-box-reflect", CSSPropertyWebkitBoxReflect},
-#line 254 "CSSPropertyNames.gperf"
- {"fill-opacity", CSSPropertyFillOpacity},
-#line 146 "CSSPropertyNames.gperf"
- {"-webkit-backface-visibility", CSSPropertyWebkitBackfaceVisibility},
-#line 73 "CSSPropertyNames.gperf"
+#line 84 "CSSPropertyNames.gperf"
+ {"outline-offset", CSSPropertyOutlineOffset},
+#line 247 "CSSPropertyNames.gperf"
+ {"flood-opacity", CSSPropertyFloodOpacity},
+#line 29 "CSSPropertyNames.gperf"
+ {"border-left-style", CSSPropertyBorderLeftStyle},
+#line 127 "CSSPropertyNames.gperf"
+ {"text-underline-width", CSSPropertyTextUnderlineWidth},
+#line 76 "CSSPropertyNames.gperf"
{"max-height", CSSPropertyMaxHeight},
-#line 116 "CSSPropertyNames.gperf"
+#line 186 "CSSPropertyNames.gperf"
+ {"-webkit-highlight", CSSPropertyWebkitHighlight},
+#line 221 "CSSPropertyNames.gperf"
+ {"-webkit-text-security", CSSPropertyWebkitTextSecurity},
+#line 256 "CSSPropertyNames.gperf"
+ {"fill-opacity", CSSPropertyFillOpacity},
+#line 119 "CSSPropertyNames.gperf"
{"text-overline-style", CSSPropertyTextOverlineStyle},
-#line 123 "CSSPropertyNames.gperf"
- {"text-underline-style", CSSPropertyTextUnderlineStyle},
-#line 209 "CSSPropertyNames.gperf"
+#line 149 "CSSPropertyNames.gperf"
+ {"-webkit-backface-visibility", CSSPropertyWebkitBackfaceVisibility},
+#line 70 "CSSPropertyNames.gperf"
+ {"list-style-type", CSSPropertyListStyleType},
+#line 266 "CSSPropertyNames.gperf"
+ {"stroke-dashoffset", CSSPropertyStrokeDashoffset},
+#line 211 "CSSPropertyNames.gperf"
{"-webkit-match-nearest-mail-blockquote-color", CSSPropertyWebkitMatchNearestMailBlockquoteColor},
-#line 184 "CSSPropertyNames.gperf"
- {"-webkit-highlight", CSSPropertyWebkitHighlight},
-#line 275 "CSSPropertyNames.gperf"
+#line 181 "CSSPropertyNames.gperf"
+ {"-webkit-column-rule-style", CSSPropertyWebkitColumnRuleStyle},
+#line 277 "CSSPropertyNames.gperf"
{"glyph-orientation-vertical", CSSPropertyGlyphOrientationVertical},
-#line 264 "CSSPropertyNames.gperf"
- {"stroke-dashoffset", CSSPropertyStrokeDashoffset},
-#line 54 "CSSPropertyNames.gperf"
- {"font-family", CSSPropertyFontFamily},
-#line 218 "CSSPropertyNames.gperf"
+#line 220 "CSSPropertyNames.gperf"
{"-webkit-text-fill-color", CSSPropertyWebkitTextFillColor},
-#line 107 "CSSPropertyNames.gperf"
+#line 126 "CSSPropertyNames.gperf"
+ {"text-underline-style", CSSPropertyTextUnderlineStyle},
+#line 57 "CSSPropertyNames.gperf"
+ {"font-family", CSSPropertyFontFamily},
+#line 110 "CSSPropertyNames.gperf"
{"text-line-through", CSSPropertyTextLineThrough},
-#line 109 "CSSPropertyNames.gperf"
- {"text-line-through-mode", CSSPropertyTextLineThroughMode},
-#line 163 "CSSPropertyNames.gperf"
+#line 166 "CSSPropertyNames.gperf"
{"-webkit-box-flex", CSSPropertyWebkitBoxFlex},
-#line 217 "CSSPropertyNames.gperf"
- {"-webkit-text-decorations-in-effect", CSSPropertyWebkitTextDecorationsInEffect},
-#line 274 "CSSPropertyNames.gperf"
+#line 112 "CSSPropertyNames.gperf"
+ {"text-line-through-mode", CSSPropertyTextLineThroughMode},
+#line 276 "CSSPropertyNames.gperf"
{"glyph-orientation-horizontal", CSSPropertyGlyphOrientationHorizontal},
-#line 108 "CSSPropertyNames.gperf"
+#line 219 "CSSPropertyNames.gperf"
+ {"-webkit-text-decorations-in-effect", CSSPropertyWebkitTextDecorationsInEffect},
+#line 111 "CSSPropertyNames.gperf"
{"text-line-through-color", CSSPropertyTextLineThroughColor},
-#line 164 "CSSPropertyNames.gperf"
+#line 167 "CSSPropertyNames.gperf"
{"-webkit-box-flex-group", CSSPropertyWebkitBoxFlexGroup},
-#line 111 "CSSPropertyNames.gperf"
+#line 114 "CSSPropertyNames.gperf"
{"text-line-through-width", CSSPropertyTextLineThroughWidth},
-#line 110 "CSSPropertyNames.gperf"
+#line 113 "CSSPropertyNames.gperf"
{"text-line-through-style", CSSPropertyTextLineThroughStyle}
};
static const short lookup[] =
{
-1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 1, -1, -1, -1,
- -1, 2, -1, 3, -1, 4, 5, 6, -1, -1,
- 7, -1, -1, 8, 9, -1, 10, -1, -1, -1,
- 11, -1, 12, -1, -1, 13, -1, -1, -1, -1,
- 14, -1, 15, -1, -1, 16, -1, 17, 18, -1,
- -1, 19, 20, -1, -1, -1, -1, 21, -1, 22,
- -1, -1, -1, 23, -1, 24, -1, 25, 26, 27,
- -1, -1, -1, -1, 28, 29, -1, -1, -1, -1,
- 30, -1, 31, 32, 33, -1, -1, -1, -1, -1,
- -1, 34, -1, -1, -1, -1, -1, -1, 35, 36,
- 37, -1, -1, -1, -1, -1, -1, 38, -1, -1,
- -1, -1, 39, -1, -1, -1, 40, 41, -1, 42,
- -1, 43, -1, -1, -1, -1, 44, -1, -1, -1,
- -1, 45, 46, -1, -1, -1, -1, 47, -1, 48,
- -1, 49, 50, 51, -1, 52, -1, 53, -1, -1,
- 54, -1, -1, 55, 56, 57, 58, 59, -1, -1,
- -1, 60, 61, -1, 62, -1, -1, 63, 64, -1,
- -1, 65, -1, -1, -1, -1, 66, -1, -1, -1,
- 67, -1, -1, -1, 68, 69, 70, -1, -1, -1,
- 71, -1, 72, -1, -1, 73, -1, 74, -1, -1,
- 75, -1, -1, 76, 77, -1, -1, -1, -1, -1,
- -1, -1, 78, -1, -1, 79, -1, 80, -1, -1,
- -1, -1, 81, -1, -1, -1, -1, -1, -1, 82,
- -1, -1, 83, 84, -1, -1, -1, -1, -1, 85,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 86, -1, -1, -1,
- -1, -1, -1, -1, -1, 87, -1, 88, -1, -1,
- -1, -1, -1, 89, -1, -1, -1, -1, -1, 90,
- 91, -1, -1, -1, 92, -1, -1, 93, -1, -1,
- -1, -1, -1, -1, 94, -1, -1, -1, -1, -1,
- 95, -1, -1, -1, -1, 96, -1, 97, -1, 98,
- -1, -1, -1, -1, 99, -1, 100, 101, -1, -1,
- -1, -1, 102, 103, 104, -1, -1, 105, -1, 106,
- -1, -1, -1, 107, -1, -1, 108, -1, -1, -1,
- -1, -1, 109, 110, -1, -1, -1, -1, 111, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 113,
- -1, -1, -1, 114, 115, -1, -1, -1, 116, -1,
- -1, 117, -1, -1, -1, 118, -1, 119, -1, -1,
- 120, -1, 121, -1, 122, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 123, 124, -1,
- 125, 126, 127, -1, 128, -1, 129, -1, 130, 131,
- -1, -1, -1, -1, 132, 133, -1, 134, -1, 135,
- 136, 137, -1, 138, -1, -1, -1, 139, 140, 141,
- -1, 142, -1, 143, 144, -1, -1, -1, -1, -1,
- -1, 145, -1, 146, 147, -1, -1, -1, -1, -1,
- -1, 148, -1, -1, 149, -1, -1, 150, -1, -1,
- -1, 151, -1, 152, -1, -1, -1, 153, -1, 154,
- 155, -1, 156, -1, -1, -1, -1, -1, -1, -1,
- -1, 157, 158, -1, -1, 159, 160, -1, -1, 161,
- -1, -1, 162, 163, -1, -1, -1, -1, 164, -1,
- -1, 165, 166, -1, -1, -1, -1, -1, -1, -1,
- 167, -1, -1, -1, -1, -1, -1, -1, 168, 169,
- -1, 170, -1, -1, -1, -1, 171, -1, -1, -1,
- -1, 172, 173, 174, -1, -1, -1, 175, -1, -1,
- -1, -1, -1, -1, 176, 177, 178, 179, -1, -1,
- -1, 180, -1, 181, -1, -1, -1, 182, -1, -1,
- 183, 184, -1, 185, 186, -1, -1, -1, 187, 188,
- -1, -1, -1, -1, -1, -1, -1, -1, 189, 190,
- -1, 191, -1, -1, 192, -1, -1, -1, -1, -1,
- 193, -1, -1, 194, 195, -1, -1, 196, -1, -1,
- 197, 198, -1, 199, -1, 200, 201, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 202, 203, -1, -1, -1, -1, 204, -1,
- -1, 205, -1, -1, -1, 206, 207, -1, -1, 208,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 209, -1, -1, -1, 210, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 211, -1, 212, 213,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 214, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 215, -1, -1, -1,
- -1, 216, -1, -1, 217, -1, -1, -1, 218, -1,
- -1, -1, -1, -1, 219, -1, -1, -1, -1, -1,
- -1, -1, 220, -1, -1, 221, -1, -1, -1, -1,
- -1, 222, -1, -1, -1, -1, -1, -1, 223, -1,
- -1, -1, -1, -1, -1, 224, -1, 225, -1, -1,
- -1, -1, -1, 226, 227, 228, -1, -1, -1, -1,
- 229, -1, -1, -1, 230, -1, -1, -1, 231, -1,
- -1, -1, -1, -1, -1, -1, 232, -1, -1, 233,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 234, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 235, -1, -1, -1,
- -1, -1, -1, 236, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 237,
- -1, -1, 238, -1, -1, -1, -1, -1, -1, -1,
- 239, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 240, -1, -1, -1, -1, -1, -1,
- -1, -1, 241, -1, -1, -1, 242, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 243,
- 244, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 245, -1, -1, 246, -1,
- 247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1, -1, 2, -1, -1, -1,
+ -1, 3, -1, 4, -1, 5, 6, 7, -1, -1,
+ 8, -1, -1, 9, 10, -1, 11, -1, -1, 12,
+ 13, -1, 14, -1, -1, 15, 16, -1, -1, -1,
+ 17, -1, 18, -1, -1, 19, -1, 20, 21, -1,
+ -1, 22, 23, -1, -1, -1, -1, 24, -1, 25,
+ -1, -1, -1, 26, -1, 27, -1, 28, 29, 30,
+ -1, -1, -1, -1, 31, 32, -1, -1, -1, -1,
+ 33, -1, 34, 35, 36, -1, -1, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 38, 39,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ -1, -1, 41, -1, -1, -1, -1, -1, -1, 42,
+ -1, -1, -1, -1, -1, -1, 43, -1, -1, 44,
+ -1, 45, -1, -1, -1, -1, -1, 46, -1, -1,
+ -1, 47, -1, 48, -1, -1, -1, 49, -1, -1,
+ 50, -1, -1, -1, -1, 51, -1, -1, -1, -1,
+ -1, -1, 52, -1, -1, -1, -1, 53, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 54, 55, -1, -1, 56, 57, -1, -1, -1, -1,
+ 58, -1, 59, -1, -1, -1, -1, 60, -1, -1,
+ -1, -1, -1, -1, 61, -1, 62, 63, -1, -1,
+ -1, 64, 65, -1, -1, 66, -1, -1, -1, -1,
+ -1, -1, 67, -1, -1, -1, -1, -1, -1, 68,
+ -1, -1, 69, 70, -1, 71, -1, -1, -1, -1,
+ -1, -1, -1, 72, -1, -1, 73, 74, -1, -1,
+ -1, 75, -1, -1, -1, -1, 76, 77, 78, -1,
+ -1, -1, -1, -1, -1, 79, 80, -1, -1, 81,
+ -1, -1, -1, 82, -1, -1, 83, -1, -1, 84,
+ 85, -1, -1, -1, 86, 87, -1, 88, -1, -1,
+ 89, 90, -1, 91, -1, -1, -1, -1, 92, -1,
+ -1, -1, -1, -1, -1, -1, -1, 93, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 248, -1, -1, -1, -1, -1,
+ 94, -1, 95, -1, -1, 96, -1, -1, -1, 97,
+ -1, -1, -1, -1, 98, -1, -1, 99, -1, -1,
+ -1, -1, 100, -1, 101, -1, -1, 102, -1, 103,
+ -1, -1, -1, -1, 104, -1, -1, 105, -1, -1,
+ -1, -1, 106, -1, -1, -1, -1, -1, -1, -1,
+ 107, -1, -1, 108, 109, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 110, -1, -1, 111, -1,
+ -1, -1, -1, -1, 112, -1, -1, 113, 114, 115,
+ -1, 116, -1, -1, -1, -1, -1, 117, -1, -1,
+ -1, -1, 118, 119, -1, -1, -1, -1, 120, -1,
+ -1, -1, 121, 122, -1, 123, 124, -1, -1, -1,
+ 125, 126, 127, -1, -1, -1, 128, -1, 129, -1,
+ -1, -1, 130, -1, 131, -1, 132, -1, -1, 133,
+ -1, -1, -1, 134, 135, -1, 136, -1, -1, -1,
+ 137, 138, -1, 139, -1, -1, -1, -1, -1, -1,
+ -1, 140, -1, -1, 141, 142, -1, 143, -1, -1,
+ -1, 144, -1, -1, 145, -1, -1, 146, 147, -1,
+ -1, 148, -1, -1, -1, -1, -1, -1, 149, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 150, -1,
+ -1, -1, -1, -1, -1, 151, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 152, 153, -1,
+ -1, 154, 155, 156, -1, -1, -1, 157, 158, -1,
+ 159, -1, -1, -1, 160, -1, -1, -1, -1, 161,
+ -1, -1, -1, 162, -1, 163, -1, -1, -1, 164,
+ -1, -1, 165, 166, 167, -1, -1, -1, 168, 169,
+ 170, -1, -1, 171, -1, -1, 172, 173, -1, 174,
+ -1, -1, 175, 176, -1, -1, -1, -1, -1, -1,
+ -1, -1, 177, -1, -1, -1, 178, -1, -1, 179,
+ -1, 180, -1, -1, -1, -1, -1, -1, -1, 181,
+ -1, -1, 182, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 183, -1, -1, -1, -1, -1,
+ -1, 184, -1, -1, -1, -1, -1, -1, -1, -1,
+ 185, -1, -1, -1, -1, -1, 186, -1, 187, -1,
+ -1, 188, -1, -1, 189, 190, -1, -1, -1, -1,
+ -1, -1, 191, 192, -1, 193, -1, -1, -1, -1,
+ -1, 194, -1, 195, 196, -1, -1, -1, -1, -1,
+ 197, -1, -1, 198, 199, -1, -1, -1, 200, 201,
+ -1, -1, -1, -1, -1, -1, 202, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 203, -1,
+ -1, -1, -1, 204, -1, -1, -1, -1, -1, -1,
+ -1, 205, -1, -1, -1, -1, 206, 207, -1, -1,
+ -1, 208, -1, -1, -1, 209, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 210, -1, -1, 211,
+ -1, 212, -1, -1, 213, -1, -1, 214, -1, 215,
+ -1, 216, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 217, -1, -1, 218, -1,
+ 219, 220, 221, -1, -1, -1, -1, -1, -1, -1,
+ 222, -1, -1, -1, -1, -1, 223, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 224, -1, -1,
+ 225, -1, -1, -1, 226, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 227, -1, 228, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 229,
+ -1, 230, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 231, -1, 232, -1,
+ -1, -1, 233, -1, -1, 234, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 235, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 249, -1, -1,
+ -1, -1, -1, -1, 236, 237, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 250, -1, -1,
- 251, -1, -1, -1, 252, 253, -1, -1, 254, -1,
+ 238, -1, -1, 239, -1, 240, -1, -1, -1, -1,
+ -1, -1, -1, -1, 241, -1, -1, -1, -1, -1,
+ -1, -1, -1, 242, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 256, 257, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 243, -1, -1, -1, -1, 244,
+ -1, -1, -1, 245, -1, -1, -1, -1, -1, -1,
+ -1, -1, 246, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 258, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 248, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 249, -1, -1, -1, 250, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 251, -1, 252,
+ -1, -1, 253, -1, -1, -1, -1, -1, -1, -1,
+ 254, -1, -1, -1, -1, -1, -1, 255, 256, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 257, 258, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -894,30 +903,39 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 259, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
- -1, -1, 261, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
+ -1, 261, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
+ -1, 263, 264, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 265, -1,
+ -1, -1, -1, -1, 266, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 262, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 263, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 264, -1, -1, -1, -1, 265, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 266, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 267, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 268, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -926,10 +944,10 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 267, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 269, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -937,7 +955,18 @@ findProp (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 268
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 270
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -959,13 +988,15 @@ findProp (register const char *str, register unsigned int len)
}
return 0;
}
-#line 279 "CSSPropertyNames.gperf"
+#line 281 "CSSPropertyNames.gperf"
-static const char * const propertyNameStrings[269] = {
+static const char * const propertyNameStrings[271] = {
"background",
"background-attachment",
+"background-clip",
"background-color",
"background-image",
+"background-origin",
"background-position",
"background-position-x",
"background-position-y",
@@ -993,6 +1024,7 @@ static const char * const propertyNameStrings[269] = {
"border-top-width",
"border-width",
"bottom",
+"box-shadow",
"caption-side",
"clear",
"clip",
@@ -1122,7 +1154,6 @@ static const char * const propertyNameStrings[269] = {
"-webkit-box-orient",
"-webkit-box-pack",
"-webkit-box-reflect",
-"-webkit-box-shadow",
"-webkit-box-sizing",
"-webkit-column-break-after",
"-webkit-column-break-before",
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
index aaddf05..cc3627d 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
@@ -7,277 +7,279 @@ enum CSSPropertyID {
CSSPropertyInvalid = 0,
CSSPropertyBackground = 1001,
CSSPropertyBackgroundAttachment = 1002,
- CSSPropertyBackgroundColor = 1003,
- CSSPropertyBackgroundImage = 1004,
- CSSPropertyBackgroundPosition = 1005,
- CSSPropertyBackgroundPositionX = 1006,
- CSSPropertyBackgroundPositionY = 1007,
- CSSPropertyBackgroundRepeat = 1008,
- CSSPropertyBorder = 1009,
- CSSPropertyBorderBottom = 1010,
- CSSPropertyBorderBottomColor = 1011,
- CSSPropertyBorderBottomStyle = 1012,
- CSSPropertyBorderBottomWidth = 1013,
- CSSPropertyBorderCollapse = 1014,
- CSSPropertyBorderColor = 1015,
- CSSPropertyBorderLeft = 1016,
- CSSPropertyBorderLeftColor = 1017,
- CSSPropertyBorderLeftStyle = 1018,
- CSSPropertyBorderLeftWidth = 1019,
- CSSPropertyBorderRight = 1020,
- CSSPropertyBorderRightColor = 1021,
- CSSPropertyBorderRightStyle = 1022,
- CSSPropertyBorderRightWidth = 1023,
- CSSPropertyBorderSpacing = 1024,
- CSSPropertyBorderStyle = 1025,
- CSSPropertyBorderTop = 1026,
- CSSPropertyBorderTopColor = 1027,
- CSSPropertyBorderTopStyle = 1028,
- CSSPropertyBorderTopWidth = 1029,
- CSSPropertyBorderWidth = 1030,
- CSSPropertyBottom = 1031,
- CSSPropertyCaptionSide = 1032,
- CSSPropertyClear = 1033,
- CSSPropertyClip = 1034,
- CSSPropertyColor = 1035,
- CSSPropertyContent = 1036,
- CSSPropertyCounterIncrement = 1037,
- CSSPropertyCounterReset = 1038,
- CSSPropertyCursor = 1039,
- CSSPropertyDirection = 1040,
- CSSPropertyDisplay = 1041,
- CSSPropertyEmptyCells = 1042,
- CSSPropertyFloat = 1043,
- CSSPropertyFont = 1044,
- CSSPropertyFontFamily = 1045,
- CSSPropertyFontSize = 1046,
- CSSPropertyFontStretch = 1047,
- CSSPropertyFontStyle = 1048,
- CSSPropertyFontVariant = 1049,
- CSSPropertyFontWeight = 1050,
- CSSPropertyHeight = 1051,
- CSSPropertyLeft = 1052,
- CSSPropertyLetterSpacing = 1053,
- CSSPropertyLineHeight = 1054,
- CSSPropertyListStyle = 1055,
- CSSPropertyListStyleImage = 1056,
- CSSPropertyListStylePosition = 1057,
- CSSPropertyListStyleType = 1058,
- CSSPropertyMargin = 1059,
- CSSPropertyMarginBottom = 1060,
- CSSPropertyMarginLeft = 1061,
- CSSPropertyMarginRight = 1062,
- CSSPropertyMarginTop = 1063,
- CSSPropertyMaxHeight = 1064,
- CSSPropertyMaxWidth = 1065,
- CSSPropertyMinHeight = 1066,
- CSSPropertyMinWidth = 1067,
- CSSPropertyOpacity = 1068,
- CSSPropertyOrphans = 1069,
- CSSPropertyOutline = 1070,
- CSSPropertyOutlineColor = 1071,
- CSSPropertyOutlineOffset = 1072,
- CSSPropertyOutlineStyle = 1073,
- CSSPropertyOutlineWidth = 1074,
- CSSPropertyOverflow = 1075,
- CSSPropertyOverflowX = 1076,
- CSSPropertyOverflowY = 1077,
- CSSPropertyPadding = 1078,
- CSSPropertyPaddingBottom = 1079,
- CSSPropertyPaddingLeft = 1080,
- CSSPropertyPaddingRight = 1081,
- CSSPropertyPaddingTop = 1082,
- CSSPropertyPage = 1083,
- CSSPropertyPageBreakAfter = 1084,
- CSSPropertyPageBreakBefore = 1085,
- CSSPropertyPageBreakInside = 1086,
- CSSPropertyPointerEvents = 1087,
- CSSPropertyPosition = 1088,
- CSSPropertyQuotes = 1089,
- CSSPropertyResize = 1090,
- CSSPropertyRight = 1091,
- CSSPropertySize = 1092,
- CSSPropertySrc = 1093,
- CSSPropertyTableLayout = 1094,
- CSSPropertyTextAlign = 1095,
- CSSPropertyTextDecoration = 1096,
- CSSPropertyTextIndent = 1097,
- CSSPropertyTextLineThrough = 1098,
- CSSPropertyTextLineThroughColor = 1099,
- CSSPropertyTextLineThroughMode = 1100,
- CSSPropertyTextLineThroughStyle = 1101,
- CSSPropertyTextLineThroughWidth = 1102,
- CSSPropertyTextOverflow = 1103,
- CSSPropertyTextOverline = 1104,
- CSSPropertyTextOverlineColor = 1105,
- CSSPropertyTextOverlineMode = 1106,
- CSSPropertyTextOverlineStyle = 1107,
- CSSPropertyTextOverlineWidth = 1108,
- CSSPropertyTextShadow = 1109,
- CSSPropertyTextTransform = 1110,
- CSSPropertyTextUnderline = 1111,
- CSSPropertyTextUnderlineColor = 1112,
- CSSPropertyTextUnderlineMode = 1113,
- CSSPropertyTextUnderlineStyle = 1114,
- CSSPropertyTextUnderlineWidth = 1115,
- CSSPropertyTop = 1116,
- CSSPropertyUnicodeBidi = 1117,
- CSSPropertyUnicodeRange = 1118,
- CSSPropertyVerticalAlign = 1119,
- CSSPropertyVisibility = 1120,
- CSSPropertyWhiteSpace = 1121,
- CSSPropertyWidows = 1122,
- CSSPropertyWidth = 1123,
- CSSPropertyWordBreak = 1124,
- CSSPropertyWordSpacing = 1125,
- CSSPropertyWordWrap = 1126,
- CSSPropertyZIndex = 1127,
- CSSPropertyZoom = 1128,
- CSSPropertyWebkitAnimation = 1129,
- CSSPropertyWebkitAnimationDelay = 1130,
- CSSPropertyWebkitAnimationDirection = 1131,
- CSSPropertyWebkitAnimationDuration = 1132,
- CSSPropertyWebkitAnimationIterationCount = 1133,
- CSSPropertyWebkitAnimationName = 1134,
- CSSPropertyWebkitAnimationTimingFunction = 1135,
- CSSPropertyWebkitAppearance = 1136,
- CSSPropertyWebkitBackfaceVisibility = 1137,
- CSSPropertyWebkitBackgroundClip = 1138,
- CSSPropertyWebkitBackgroundComposite = 1139,
- CSSPropertyWebkitBackgroundOrigin = 1140,
- CSSPropertyWebkitBackgroundSize = 1141,
- CSSPropertyWebkitBinding = 1142,
- CSSPropertyWebkitBorderBottomLeftRadius = 1143,
- CSSPropertyWebkitBorderBottomRightRadius = 1144,
- CSSPropertyWebkitBorderFit = 1145,
- CSSPropertyWebkitBorderHorizontalSpacing = 1146,
- CSSPropertyWebkitBorderImage = 1147,
- CSSPropertyWebkitBorderRadius = 1148,
- CSSPropertyWebkitBorderTopLeftRadius = 1149,
- CSSPropertyWebkitBorderTopRightRadius = 1150,
- CSSPropertyWebkitBorderVerticalSpacing = 1151,
- CSSPropertyWebkitBoxAlign = 1152,
- CSSPropertyWebkitBoxDirection = 1153,
- CSSPropertyWebkitBoxFlex = 1154,
- CSSPropertyWebkitBoxFlexGroup = 1155,
- CSSPropertyWebkitBoxLines = 1156,
- CSSPropertyWebkitBoxOrdinalGroup = 1157,
- CSSPropertyWebkitBoxOrient = 1158,
- CSSPropertyWebkitBoxPack = 1159,
- CSSPropertyWebkitBoxReflect = 1160,
- CSSPropertyWebkitBoxShadow = 1161,
- CSSPropertyWebkitBoxSizing = 1162,
- CSSPropertyWebkitColumnBreakAfter = 1163,
- CSSPropertyWebkitColumnBreakBefore = 1164,
- CSSPropertyWebkitColumnBreakInside = 1165,
- CSSPropertyWebkitColumnCount = 1166,
- CSSPropertyWebkitColumnGap = 1167,
- CSSPropertyWebkitColumnRule = 1168,
- CSSPropertyWebkitColumnRuleColor = 1169,
- CSSPropertyWebkitColumnRuleStyle = 1170,
- CSSPropertyWebkitColumnRuleWidth = 1171,
- CSSPropertyWebkitColumnWidth = 1172,
- CSSPropertyWebkitColumns = 1173,
- CSSPropertyWebkitFontSizeDelta = 1174,
- CSSPropertyWebkitHighlight = 1175,
- CSSPropertyWebkitLineBreak = 1176,
- CSSPropertyWebkitLineClamp = 1177,
- CSSPropertyWebkitMarginBottomCollapse = 1178,
- CSSPropertyWebkitMarginCollapse = 1179,
- CSSPropertyWebkitMarginStart = 1180,
- CSSPropertyWebkitMarginTopCollapse = 1181,
- CSSPropertyWebkitMarquee = 1182,
- CSSPropertyWebkitMarqueeDirection = 1183,
- CSSPropertyWebkitMarqueeIncrement = 1184,
- CSSPropertyWebkitMarqueeRepetition = 1185,
- CSSPropertyWebkitMarqueeSpeed = 1186,
- CSSPropertyWebkitMarqueeStyle = 1187,
- CSSPropertyWebkitMask = 1188,
- CSSPropertyWebkitMaskAttachment = 1189,
- CSSPropertyWebkitMaskBoxImage = 1190,
- CSSPropertyWebkitMaskClip = 1191,
- CSSPropertyWebkitMaskComposite = 1192,
- CSSPropertyWebkitMaskImage = 1193,
- CSSPropertyWebkitMaskOrigin = 1194,
- CSSPropertyWebkitMaskPosition = 1195,
- CSSPropertyWebkitMaskPositionX = 1196,
- CSSPropertyWebkitMaskPositionY = 1197,
- CSSPropertyWebkitMaskRepeat = 1198,
- CSSPropertyWebkitMaskSize = 1199,
- CSSPropertyWebkitMatchNearestMailBlockquoteColor = 1200,
- CSSPropertyWebkitNbspMode = 1201,
- CSSPropertyWebkitPaddingStart = 1202,
- CSSPropertyWebkitPerspective = 1203,
- CSSPropertyWebkitPerspectiveOrigin = 1204,
- CSSPropertyWebkitPerspectiveOriginX = 1205,
- CSSPropertyWebkitPerspectiveOriginY = 1206,
- CSSPropertyWebkitRtlOrdering = 1207,
- CSSPropertyWebkitTextDecorationsInEffect = 1208,
- CSSPropertyWebkitTextFillColor = 1209,
- CSSPropertyWebkitTextSecurity = 1210,
- CSSPropertyWebkitTextSizeAdjust = 1211,
- CSSPropertyWebkitTextStroke = 1212,
- CSSPropertyWebkitTextStrokeColor = 1213,
- CSSPropertyWebkitTextStrokeWidth = 1214,
- CSSPropertyWebkitTransform = 1215,
- CSSPropertyWebkitTransformOrigin = 1216,
- CSSPropertyWebkitTransformOriginX = 1217,
- CSSPropertyWebkitTransformOriginY = 1218,
- CSSPropertyWebkitTransformOriginZ = 1219,
- CSSPropertyWebkitTransformStyle = 1220,
- CSSPropertyWebkitTransition = 1221,
- CSSPropertyWebkitTransitionDelay = 1222,
- CSSPropertyWebkitTransitionDuration = 1223,
- CSSPropertyWebkitTransitionProperty = 1224,
- CSSPropertyWebkitTransitionTimingFunction = 1225,
- CSSPropertyWebkitUserDrag = 1226,
- CSSPropertyWebkitUserModify = 1227,
- CSSPropertyWebkitUserSelect = 1228,
- CSSPropertyWebkitVariableDeclarationBlock = 1229,
- CSSPropertyClipPath = 1230,
- CSSPropertyClipRule = 1231,
- CSSPropertyMask = 1232,
- CSSPropertyEnableBackground = 1233,
- CSSPropertyFilter = 1234,
- CSSPropertyFloodColor = 1235,
- CSSPropertyFloodOpacity = 1236,
- CSSPropertyLightingColor = 1237,
- CSSPropertyStopColor = 1238,
- CSSPropertyStopOpacity = 1239,
- CSSPropertyColorInterpolation = 1240,
- CSSPropertyColorInterpolationFilters = 1241,
- CSSPropertyColorProfile = 1242,
- CSSPropertyColorRendering = 1243,
- CSSPropertyFill = 1244,
- CSSPropertyFillOpacity = 1245,
- CSSPropertyFillRule = 1246,
- CSSPropertyImageRendering = 1247,
- CSSPropertyMarker = 1248,
- CSSPropertyMarkerEnd = 1249,
- CSSPropertyMarkerMid = 1250,
- CSSPropertyMarkerStart = 1251,
- CSSPropertyShapeRendering = 1252,
- CSSPropertyStroke = 1253,
- CSSPropertyStrokeDasharray = 1254,
- CSSPropertyStrokeDashoffset = 1255,
- CSSPropertyStrokeLinecap = 1256,
- CSSPropertyStrokeLinejoin = 1257,
- CSSPropertyStrokeMiterlimit = 1258,
- CSSPropertyStrokeOpacity = 1259,
- CSSPropertyStrokeWidth = 1260,
- CSSPropertyTextRendering = 1261,
- CSSPropertyAlignmentBaseline = 1262,
- CSSPropertyBaselineShift = 1263,
- CSSPropertyDominantBaseline = 1264,
- CSSPropertyGlyphOrientationHorizontal = 1265,
- CSSPropertyGlyphOrientationVertical = 1266,
- CSSPropertyKerning = 1267,
- CSSPropertyTextAnchor = 1268,
- CSSPropertyWritingMode = 1269,
+ CSSPropertyBackgroundClip = 1003,
+ CSSPropertyBackgroundColor = 1004,
+ CSSPropertyBackgroundImage = 1005,
+ CSSPropertyBackgroundOrigin = 1006,
+ CSSPropertyBackgroundPosition = 1007,
+ CSSPropertyBackgroundPositionX = 1008,
+ CSSPropertyBackgroundPositionY = 1009,
+ CSSPropertyBackgroundRepeat = 1010,
+ CSSPropertyBorder = 1011,
+ CSSPropertyBorderBottom = 1012,
+ CSSPropertyBorderBottomColor = 1013,
+ CSSPropertyBorderBottomStyle = 1014,
+ CSSPropertyBorderBottomWidth = 1015,
+ CSSPropertyBorderCollapse = 1016,
+ CSSPropertyBorderColor = 1017,
+ CSSPropertyBorderLeft = 1018,
+ CSSPropertyBorderLeftColor = 1019,
+ CSSPropertyBorderLeftStyle = 1020,
+ CSSPropertyBorderLeftWidth = 1021,
+ CSSPropertyBorderRight = 1022,
+ CSSPropertyBorderRightColor = 1023,
+ CSSPropertyBorderRightStyle = 1024,
+ CSSPropertyBorderRightWidth = 1025,
+ CSSPropertyBorderSpacing = 1026,
+ CSSPropertyBorderStyle = 1027,
+ CSSPropertyBorderTop = 1028,
+ CSSPropertyBorderTopColor = 1029,
+ CSSPropertyBorderTopStyle = 1030,
+ CSSPropertyBorderTopWidth = 1031,
+ CSSPropertyBorderWidth = 1032,
+ CSSPropertyBottom = 1033,
+ CSSPropertyBoxShadow = 1034,
+ CSSPropertyCaptionSide = 1035,
+ CSSPropertyClear = 1036,
+ CSSPropertyClip = 1037,
+ CSSPropertyColor = 1038,
+ CSSPropertyContent = 1039,
+ CSSPropertyCounterIncrement = 1040,
+ CSSPropertyCounterReset = 1041,
+ CSSPropertyCursor = 1042,
+ CSSPropertyDirection = 1043,
+ CSSPropertyDisplay = 1044,
+ CSSPropertyEmptyCells = 1045,
+ CSSPropertyFloat = 1046,
+ CSSPropertyFont = 1047,
+ CSSPropertyFontFamily = 1048,
+ CSSPropertyFontSize = 1049,
+ CSSPropertyFontStretch = 1050,
+ CSSPropertyFontStyle = 1051,
+ CSSPropertyFontVariant = 1052,
+ CSSPropertyFontWeight = 1053,
+ CSSPropertyHeight = 1054,
+ CSSPropertyLeft = 1055,
+ CSSPropertyLetterSpacing = 1056,
+ CSSPropertyLineHeight = 1057,
+ CSSPropertyListStyle = 1058,
+ CSSPropertyListStyleImage = 1059,
+ CSSPropertyListStylePosition = 1060,
+ CSSPropertyListStyleType = 1061,
+ CSSPropertyMargin = 1062,
+ CSSPropertyMarginBottom = 1063,
+ CSSPropertyMarginLeft = 1064,
+ CSSPropertyMarginRight = 1065,
+ CSSPropertyMarginTop = 1066,
+ CSSPropertyMaxHeight = 1067,
+ CSSPropertyMaxWidth = 1068,
+ CSSPropertyMinHeight = 1069,
+ CSSPropertyMinWidth = 1070,
+ CSSPropertyOpacity = 1071,
+ CSSPropertyOrphans = 1072,
+ CSSPropertyOutline = 1073,
+ CSSPropertyOutlineColor = 1074,
+ CSSPropertyOutlineOffset = 1075,
+ CSSPropertyOutlineStyle = 1076,
+ CSSPropertyOutlineWidth = 1077,
+ CSSPropertyOverflow = 1078,
+ CSSPropertyOverflowX = 1079,
+ CSSPropertyOverflowY = 1080,
+ CSSPropertyPadding = 1081,
+ CSSPropertyPaddingBottom = 1082,
+ CSSPropertyPaddingLeft = 1083,
+ CSSPropertyPaddingRight = 1084,
+ CSSPropertyPaddingTop = 1085,
+ CSSPropertyPage = 1086,
+ CSSPropertyPageBreakAfter = 1087,
+ CSSPropertyPageBreakBefore = 1088,
+ CSSPropertyPageBreakInside = 1089,
+ CSSPropertyPointerEvents = 1090,
+ CSSPropertyPosition = 1091,
+ CSSPropertyQuotes = 1092,
+ CSSPropertyResize = 1093,
+ CSSPropertyRight = 1094,
+ CSSPropertySize = 1095,
+ CSSPropertySrc = 1096,
+ CSSPropertyTableLayout = 1097,
+ CSSPropertyTextAlign = 1098,
+ CSSPropertyTextDecoration = 1099,
+ CSSPropertyTextIndent = 1100,
+ CSSPropertyTextLineThrough = 1101,
+ CSSPropertyTextLineThroughColor = 1102,
+ CSSPropertyTextLineThroughMode = 1103,
+ CSSPropertyTextLineThroughStyle = 1104,
+ CSSPropertyTextLineThroughWidth = 1105,
+ CSSPropertyTextOverflow = 1106,
+ CSSPropertyTextOverline = 1107,
+ CSSPropertyTextOverlineColor = 1108,
+ CSSPropertyTextOverlineMode = 1109,
+ CSSPropertyTextOverlineStyle = 1110,
+ CSSPropertyTextOverlineWidth = 1111,
+ CSSPropertyTextShadow = 1112,
+ CSSPropertyTextTransform = 1113,
+ CSSPropertyTextUnderline = 1114,
+ CSSPropertyTextUnderlineColor = 1115,
+ CSSPropertyTextUnderlineMode = 1116,
+ CSSPropertyTextUnderlineStyle = 1117,
+ CSSPropertyTextUnderlineWidth = 1118,
+ CSSPropertyTop = 1119,
+ CSSPropertyUnicodeBidi = 1120,
+ CSSPropertyUnicodeRange = 1121,
+ CSSPropertyVerticalAlign = 1122,
+ CSSPropertyVisibility = 1123,
+ CSSPropertyWhiteSpace = 1124,
+ CSSPropertyWidows = 1125,
+ CSSPropertyWidth = 1126,
+ CSSPropertyWordBreak = 1127,
+ CSSPropertyWordSpacing = 1128,
+ CSSPropertyWordWrap = 1129,
+ CSSPropertyZIndex = 1130,
+ CSSPropertyZoom = 1131,
+ CSSPropertyWebkitAnimation = 1132,
+ CSSPropertyWebkitAnimationDelay = 1133,
+ CSSPropertyWebkitAnimationDirection = 1134,
+ CSSPropertyWebkitAnimationDuration = 1135,
+ CSSPropertyWebkitAnimationIterationCount = 1136,
+ CSSPropertyWebkitAnimationName = 1137,
+ CSSPropertyWebkitAnimationTimingFunction = 1138,
+ CSSPropertyWebkitAppearance = 1139,
+ CSSPropertyWebkitBackfaceVisibility = 1140,
+ CSSPropertyWebkitBackgroundClip = 1141,
+ CSSPropertyWebkitBackgroundComposite = 1142,
+ CSSPropertyWebkitBackgroundOrigin = 1143,
+ CSSPropertyWebkitBackgroundSize = 1144,
+ CSSPropertyWebkitBinding = 1145,
+ CSSPropertyWebkitBorderBottomLeftRadius = 1146,
+ CSSPropertyWebkitBorderBottomRightRadius = 1147,
+ CSSPropertyWebkitBorderFit = 1148,
+ CSSPropertyWebkitBorderHorizontalSpacing = 1149,
+ CSSPropertyWebkitBorderImage = 1150,
+ CSSPropertyWebkitBorderRadius = 1151,
+ CSSPropertyWebkitBorderTopLeftRadius = 1152,
+ CSSPropertyWebkitBorderTopRightRadius = 1153,
+ CSSPropertyWebkitBorderVerticalSpacing = 1154,
+ CSSPropertyWebkitBoxAlign = 1155,
+ CSSPropertyWebkitBoxDirection = 1156,
+ CSSPropertyWebkitBoxFlex = 1157,
+ CSSPropertyWebkitBoxFlexGroup = 1158,
+ CSSPropertyWebkitBoxLines = 1159,
+ CSSPropertyWebkitBoxOrdinalGroup = 1160,
+ CSSPropertyWebkitBoxOrient = 1161,
+ CSSPropertyWebkitBoxPack = 1162,
+ CSSPropertyWebkitBoxReflect = 1163,
+ CSSPropertyWebkitBoxSizing = 1164,
+ CSSPropertyWebkitColumnBreakAfter = 1165,
+ CSSPropertyWebkitColumnBreakBefore = 1166,
+ CSSPropertyWebkitColumnBreakInside = 1167,
+ CSSPropertyWebkitColumnCount = 1168,
+ CSSPropertyWebkitColumnGap = 1169,
+ CSSPropertyWebkitColumnRule = 1170,
+ CSSPropertyWebkitColumnRuleColor = 1171,
+ CSSPropertyWebkitColumnRuleStyle = 1172,
+ CSSPropertyWebkitColumnRuleWidth = 1173,
+ CSSPropertyWebkitColumnWidth = 1174,
+ CSSPropertyWebkitColumns = 1175,
+ CSSPropertyWebkitFontSizeDelta = 1176,
+ CSSPropertyWebkitHighlight = 1177,
+ CSSPropertyWebkitLineBreak = 1178,
+ CSSPropertyWebkitLineClamp = 1179,
+ CSSPropertyWebkitMarginBottomCollapse = 1180,
+ CSSPropertyWebkitMarginCollapse = 1181,
+ CSSPropertyWebkitMarginStart = 1182,
+ CSSPropertyWebkitMarginTopCollapse = 1183,
+ CSSPropertyWebkitMarquee = 1184,
+ CSSPropertyWebkitMarqueeDirection = 1185,
+ CSSPropertyWebkitMarqueeIncrement = 1186,
+ CSSPropertyWebkitMarqueeRepetition = 1187,
+ CSSPropertyWebkitMarqueeSpeed = 1188,
+ CSSPropertyWebkitMarqueeStyle = 1189,
+ CSSPropertyWebkitMask = 1190,
+ CSSPropertyWebkitMaskAttachment = 1191,
+ CSSPropertyWebkitMaskBoxImage = 1192,
+ CSSPropertyWebkitMaskClip = 1193,
+ CSSPropertyWebkitMaskComposite = 1194,
+ CSSPropertyWebkitMaskImage = 1195,
+ CSSPropertyWebkitMaskOrigin = 1196,
+ CSSPropertyWebkitMaskPosition = 1197,
+ CSSPropertyWebkitMaskPositionX = 1198,
+ CSSPropertyWebkitMaskPositionY = 1199,
+ CSSPropertyWebkitMaskRepeat = 1200,
+ CSSPropertyWebkitMaskSize = 1201,
+ CSSPropertyWebkitMatchNearestMailBlockquoteColor = 1202,
+ CSSPropertyWebkitNbspMode = 1203,
+ CSSPropertyWebkitPaddingStart = 1204,
+ CSSPropertyWebkitPerspective = 1205,
+ CSSPropertyWebkitPerspectiveOrigin = 1206,
+ CSSPropertyWebkitPerspectiveOriginX = 1207,
+ CSSPropertyWebkitPerspectiveOriginY = 1208,
+ CSSPropertyWebkitRtlOrdering = 1209,
+ CSSPropertyWebkitTextDecorationsInEffect = 1210,
+ CSSPropertyWebkitTextFillColor = 1211,
+ CSSPropertyWebkitTextSecurity = 1212,
+ CSSPropertyWebkitTextSizeAdjust = 1213,
+ CSSPropertyWebkitTextStroke = 1214,
+ CSSPropertyWebkitTextStrokeColor = 1215,
+ CSSPropertyWebkitTextStrokeWidth = 1216,
+ CSSPropertyWebkitTransform = 1217,
+ CSSPropertyWebkitTransformOrigin = 1218,
+ CSSPropertyWebkitTransformOriginX = 1219,
+ CSSPropertyWebkitTransformOriginY = 1220,
+ CSSPropertyWebkitTransformOriginZ = 1221,
+ CSSPropertyWebkitTransformStyle = 1222,
+ CSSPropertyWebkitTransition = 1223,
+ CSSPropertyWebkitTransitionDelay = 1224,
+ CSSPropertyWebkitTransitionDuration = 1225,
+ CSSPropertyWebkitTransitionProperty = 1226,
+ CSSPropertyWebkitTransitionTimingFunction = 1227,
+ CSSPropertyWebkitUserDrag = 1228,
+ CSSPropertyWebkitUserModify = 1229,
+ CSSPropertyWebkitUserSelect = 1230,
+ CSSPropertyWebkitVariableDeclarationBlock = 1231,
+ CSSPropertyClipPath = 1232,
+ CSSPropertyClipRule = 1233,
+ CSSPropertyMask = 1234,
+ CSSPropertyEnableBackground = 1235,
+ CSSPropertyFilter = 1236,
+ CSSPropertyFloodColor = 1237,
+ CSSPropertyFloodOpacity = 1238,
+ CSSPropertyLightingColor = 1239,
+ CSSPropertyStopColor = 1240,
+ CSSPropertyStopOpacity = 1241,
+ CSSPropertyColorInterpolation = 1242,
+ CSSPropertyColorInterpolationFilters = 1243,
+ CSSPropertyColorProfile = 1244,
+ CSSPropertyColorRendering = 1245,
+ CSSPropertyFill = 1246,
+ CSSPropertyFillOpacity = 1247,
+ CSSPropertyFillRule = 1248,
+ CSSPropertyImageRendering = 1249,
+ CSSPropertyMarker = 1250,
+ CSSPropertyMarkerEnd = 1251,
+ CSSPropertyMarkerMid = 1252,
+ CSSPropertyMarkerStart = 1253,
+ CSSPropertyShapeRendering = 1254,
+ CSSPropertyStroke = 1255,
+ CSSPropertyStrokeDasharray = 1256,
+ CSSPropertyStrokeDashoffset = 1257,
+ CSSPropertyStrokeLinecap = 1258,
+ CSSPropertyStrokeLinejoin = 1259,
+ CSSPropertyStrokeMiterlimit = 1260,
+ CSSPropertyStrokeOpacity = 1261,
+ CSSPropertyStrokeWidth = 1262,
+ CSSPropertyTextRendering = 1263,
+ CSSPropertyAlignmentBaseline = 1264,
+ CSSPropertyBaselineShift = 1265,
+ CSSPropertyDominantBaseline = 1266,
+ CSSPropertyGlyphOrientationHorizontal = 1267,
+ CSSPropertyGlyphOrientationVertical = 1268,
+ CSSPropertyKerning = 1269,
+ CSSPropertyTextAnchor = 1270,
+ CSSPropertyWritingMode = 1271,
};
const int firstCSSProperty = 1001;
-const int numCSSProperties = 269;
+const int numCSSProperties = 271;
const size_t maxCSSPropertyNameLength = 43;
const char* getPropertyName(CSSPropertyID);
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
index e84ca9e..44df1ce 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
+++ b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c
@@ -38,7 +38,7 @@ struct css_value {
const char* name;
int id;
};
-/* maximum key range = 8752, duplicates = 0 */
+/* maximum key range = 7172, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -52,38 +52,41 @@ hash_val (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 970, 27, 8752, 8752, 0,
- 55, 5, 50, 40, 35, 30, 25, 20, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 5, 200, 15,
- 590, 0, 515, 251, 21, 35, 1, 905, 10, 20,
- 30, 10, 45, 651, 160, 5, 80, 145, 960, 136,
- 920, 971, 105, 0, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752, 8752,
- 8752, 8752, 8752, 8752, 8752, 8752, 8752
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 500, 17, 7172, 7172, 0,
+ 55, 5, 50, 40, 35, 30, 25, 20, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 5, 245, 15,
+ 200, 0, 695, 401, 825, 35, 136, 86, 10, 20,
+ 30, 10, 45, 127, 370, 5, 80, 450, 1, 456,
+ 936, 1021, 95, 0, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172, 7172,
+ 7172, 7172, 7172, 7172, 7172, 7172, 7172
};
register int hval = 0;
switch (len)
{
default:
+ hval += asso_values[(unsigned char)str[30]];
+ /*FALLTHROUGH*/
+ case 30:
hval += asso_values[(unsigned char)str[29]];
/*FALLTHROUGH*/
case 29:
@@ -188,11 +191,11 @@ findValue (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 537,
+ TOTAL_KEYWORDS = 540,
MIN_WORD_LENGTH = 2,
- MAX_WORD_LENGTH = 30,
+ MAX_WORD_LENGTH = 31,
MIN_HASH_VALUE = 0,
- MAX_HASH_VALUE = 8751
+ MAX_HASH_VALUE = 7171
};
static const struct css_value wordlist_value[] =
@@ -201,52 +204,46 @@ findValue (register const char *str, register unsigned int len)
{"100", CSSValue100},
#line 42 "CSSValueKeywords.gperf"
{"300", CSSValue300},
-#line 287 "CSSValueKeywords.gperf"
+#line 288 "CSSValueKeywords.gperf"
{"end", CSSValueEnd},
-#line 545 "CSSValueKeywords.gperf"
+#line 548 "CSSValueKeywords.gperf"
{"lr", CSSValueLr},
#line 48 "CSSValueKeywords.gperf"
{"900", CSSValue900},
-#line 256 "CSSValueKeywords.gperf"
- {"hide", CSSValueHide},
+#line 146 "CSSValueKeywords.gperf"
+ {"sub", CSSValueSub},
#line 47 "CSSValueKeywords.gperf"
{"800", CSSValue800},
-#line 369 "CSSValueKeywords.gperf"
- {"lines", CSSValueLines},
#line 46 "CSSValueKeywords.gperf"
{"700", CSSValue700},
#line 45 "CSSValueKeywords.gperf"
{"600", CSSValue600},
-#line 209 "CSSValueKeywords.gperf"
- {"alias", CSSValueAlias},
#line 44 "CSSValueKeywords.gperf"
{"500", CSSValue500},
-#line 81 "CSSValueKeywords.gperf"
- {"lime", CSSValueLime},
#line 34 "CSSValueKeywords.gperf"
{"all", CSSValueAll},
-#line 164 "CSSValueKeywords.gperf"
- {"circle", CSSValueCircle},
#line 43 "CSSValueKeywords.gperf"
{"400", CSSValue400},
-#line 463 "CSSValueKeywords.gperf"
- {"linen", CSSValueLinen},
#line 41 "CSSValueKeywords.gperf"
{"200", CSSValue200},
-#line 479 "CSSValueKeywords.gperf"
+#line 482 "CSSValueKeywords.gperf"
{"oldlace", CSSValueOldlace},
+#line 71 "CSSValueKeywords.gperf"
+ {"cursive", CSSValueCursive},
+#line 242 "CSSValueKeywords.gperf"
+ {"above", CSSValueAbove},
#line 252 "CSSValueKeywords.gperf"
{"cross", CSSValueCross},
-#line 400 "CSSValueKeywords.gperf"
+#line 403 "CSSValueKeywords.gperf"
{"coral", CSSValueCoral},
-#line 312 "CSSValueKeywords.gperf"
- {"clip", CSSValueClip},
#line 13 "CSSValueKeywords.gperf"
{"none", CSSValueNone},
-#line 403 "CSSValueKeywords.gperf"
- {"crimson", CSSValueCrimson},
-#line 547 "CSSValueKeywords.gperf"
+#line 494 "CSSValueKeywords.gperf"
+ {"plum", CSSValuePlum},
+#line 550 "CSSValueKeywords.gperf"
{"tb", CSSValueTb},
+#line 86 "CSSValueKeywords.gperf"
+ {"purple", CSSValuePurple},
#line 251 "CSSValueKeywords.gperf"
{"crop", CSSValueCrop},
#line 36 "CSSValueKeywords.gperf"
@@ -255,1018 +252,1030 @@ findValue (register const char *str, register unsigned int len)
{"inline", CSSValueInline},
#line 176 "CSSValueKeywords.gperf"
{"armenian", CSSValueArmenian},
-#line 367 "CSSValueKeywords.gperf"
- {"logical", CSSValueLogical},
#line 241 "CSSValueKeywords.gperf"
{"collapse", CSSValueCollapse},
-#line 282 "CSSValueKeywords.gperf"
- {"thin", CSSValueThin},
#line 73 "CSSValueKeywords.gperf"
{"monospace", CSSValueMonospace},
-#line 235 "CSSValueKeywords.gperf"
- {"ltr", CSSValueLtr},
-#line 313 "CSSValueKeywords.gperf"
- {"ellipsis", CSSValueEllipsis},
-#line 12 "CSSValueKeywords.gperf"
- {"initial", CSSValueInitial},
#line 215 "CSSValueKeywords.gperf"
{"e-resize", CSSValueEResize},
-#line 546 "CSSValueKeywords.gperf"
- {"rl", CSSValueRl},
+#line 372 "CSSValueKeywords.gperf"
+ {"lines", CSSValueLines},
#line 221 "CSSValueKeywords.gperf"
{"s-resize", CSSValueSResize},
-#line 375 "CSSValueKeywords.gperf"
- {"linear", CSSValueLinear},
-#line 505 "CSSValueKeywords.gperf"
- {"snow", CSSValueSnow},
-#line 205 "CSSValueKeywords.gperf"
- {"move", CSSValueMove},
-#line 15 "CSSValueKeywords.gperf"
- {"inset", CSSValueInset},
-#line 300 "CSSValueKeywords.gperf"
- {"slow", CSSValueSlow},
+#line 314 "CSSValueKeywords.gperf"
+ {"ellipsis", CSSValueEllipsis},
+#line 84 "CSSValueKeywords.gperf"
+ {"olive", CSSValueOlive},
+#line 209 "CSSValueKeywords.gperf"
+ {"alias", CSSValueAlias},
+#line 81 "CSSValueKeywords.gperf"
+ {"lime", CSSValueLime},
+#line 164 "CSSValueKeywords.gperf"
+ {"circle", CSSValueCircle},
+#line 466 "CSSValueKeywords.gperf"
+ {"linen", CSSValueLinen},
#line 218 "CSSValueKeywords.gperf"
{"n-resize", CSSValueNResize},
-#line 509 "CSSValueKeywords.gperf"
- {"thistle", CSSValueThistle},
-#line 455 "CSSValueKeywords.gperf"
- {"lightsalmon", CSSValueLightsalmon},
-#line 399 "CSSValueKeywords.gperf"
+#line 15 "CSSValueKeywords.gperf"
+ {"inset", CSSValueInset},
+#line 295 "CSSValueKeywords.gperf"
+ {"multiple", CSSValueMultiple},
+#line 402 "CSSValueKeywords.gperf"
{"chocolate", CSSValueChocolate},
-#line 279 "CSSValueKeywords.gperf"
- {"show", CSSValueShow},
-#line 257 "CSSValueKeywords.gperf"
- {"higher", CSSValueHigher},
-#line 520 "CSSValueKeywords.gperf"
- {"srgb", CSSValueSrgb},
+#line 313 "CSSValueKeywords.gperf"
+ {"clip", CSSValueClip},
+#line 406 "CSSValueKeywords.gperf"
+ {"crimson", CSSValueCrimson},
+#line 405 "CSSValueKeywords.gperf"
+ {"cornsilk", CSSValueCornsilk},
#line 187 "CSSValueKeywords.gperf"
{"compact", CSSValueCompact},
-#line 309 "CSSValueKeywords.gperf"
- {"ignore", CSSValueIgnore},
-#line 510 "CSSValueKeywords.gperf"
+#line 278 "CSSValueKeywords.gperf"
+ {"scroll", CSSValueScroll},
+#line 253 "CSSValueKeywords.gperf"
+ {"embed", CSSValueEmbed},
+#line 513 "CSSValueKeywords.gperf"
{"tomato", CSSValueTomato},
-#line 90 "CSSValueKeywords.gperf"
- {"white", CSSValueWhite},
+#line 150 "CSSValueKeywords.gperf"
+ {"top", CSSValueTop},
+#line 263 "CSSValueKeywords.gperf"
+ {"loud", CSSValueLoud},
+#line 366 "CSSValueKeywords.gperf"
+ {"content", CSSValueContent},
+#line 77 "CSSValueKeywords.gperf"
+ {"blue", CSSValueBlue},
+#line 262 "CSSValueKeywords.gperf"
+ {"local", CSSValueLocal},
+#line 515 "CSSValueKeywords.gperf"
+ {"violet", CSSValueViolet},
+#line 493 "CSSValueKeywords.gperf"
+ {"pink", CSSValuePink},
+#line 283 "CSSValueKeywords.gperf"
+ {"thin", CSSValueThin},
#line 51 "CSSValueKeywords.gperf"
{"small", CSSValueSmall},
-#line 362 "CSSValueKeywords.gperf"
- {"content", CSSValueContent},
-#line 285 "CSSValueKeywords.gperf"
- {"stretch", CSSValueStretch},
+#line 21 "CSSValueKeywords.gperf"
+ {"solid", CSSValueSolid},
+#line 24 "CSSValueKeywords.gperf"
+ {"icon", CSSValueIcon},
+#line 12 "CSSValueKeywords.gperf"
+ {"initial", CSSValueInitial},
#line 82 "CSSValueKeywords.gperf"
{"maroon", CSSValueMaroon},
-#line 293 "CSSValueKeywords.gperf"
- {"single", CSSValueSingle},
-#line 374 "CSSValueKeywords.gperf"
+#line 377 "CSSValueKeywords.gperf"
{"ease", CSSValueEase},
-#line 155 "CSSValueKeywords.gperf"
- {"right", CSSValueRight},
-#line 496 "CSSValueKeywords.gperf"
+#line 499 "CSSValueKeywords.gperf"
{"salmon", CSSValueSalmon},
-#line 508 "CSSValueKeywords.gperf"
+#line 511 "CSSValueKeywords.gperf"
{"tan", CSSValueTan},
-#line 544 "CSSValueKeywords.gperf"
- {"tb-rl", CSSValueTbRl},
-#line 39 "CSSValueKeywords.gperf"
- {"lighter", CSSValueLighter},
-#line 202 "CSSValueKeywords.gperf"
- {"crosshair", CSSValueCrosshair},
-#line 59 "CSSValueKeywords.gperf"
- {"wider", CSSValueWider},
-#line 351 "CSSValueKeywords.gperf"
+#line 354 "CSSValueKeywords.gperf"
{"caret", CSSValueCaret},
+#line 512 "CSSValueKeywords.gperf"
+ {"thistle", CSSValueThistle},
#line 189 "CSSValueKeywords.gperf"
{"table", CSSValueTable},
-#line 332 "CSSValueKeywords.gperf"
- {"listitem", CSSValueListitem},
-#line 475 "CSSValueKeywords.gperf"
- {"mintcream", CSSValueMintcream},
-#line 222 "CSSValueKeywords.gperf"
- {"w-resize", CSSValueWResize},
-#line 542 "CSSValueKeywords.gperf"
+#line 282 "CSSValueKeywords.gperf"
+ {"thick", CSSValueThick},
+#line 480 "CSSValueKeywords.gperf"
+ {"moccasin", CSSValueMoccasin},
+#line 545 "CSSValueKeywords.gperf"
{"lr-tb", CSSValueLrTb},
-#line 179 "CSSValueKeywords.gperf"
- {"hiragana", CSSValueHiragana},
-#line 236 "CSSValueKeywords.gperf"
- {"rtl", CSSValueRtl},
-#line 527 "CSSValueKeywords.gperf"
- {"miter", CSSValueMiter},
-#line 448 "CSSValueKeywords.gperf"
- {"lightcoral", CSSValueLightcoral},
-#line 440 "CSSValueKeywords.gperf"
- {"indigo", CSSValueIndigo},
-#line 243 "CSSValueKeywords.gperf"
- {"absolute", CSSValueAbsolute},
-#line 289 "CSSValueKeywords.gperf"
- {"horizontal", CSSValueHorizontal},
-#line 404 "CSSValueKeywords.gperf"
+#line 162 "CSSValueKeywords.gperf"
+ {"inside", CSSValueInside},
+#line 304 "CSSValueKeywords.gperf"
+ {"slide", CSSValueSlide},
+#line 145 "CSSValueKeywords.gperf"
+ {"middle", CSSValueMiddle},
+#line 393 "CSSValueKeywords.gperf"
+ {"azure", CSSValueAzure},
+#line 75 "CSSValueKeywords.gperf"
+ {"aqua", CSSValueAqua},
+#line 407 "CSSValueKeywords.gperf"
{"cyan", CSSValueCyan},
+#line 549 "CSSValueKeywords.gperf"
+ {"rl", CSSValueRl},
+#line 323 "CSSValueKeywords.gperf"
+ {"space", CSSValueSpace},
+#line 397 "CSSValueKeywords.gperf"
+ {"blueviolet", CSSValueBlueviolet},
+#line 184 "CSSValueKeywords.gperf"
+ {"block", CSSValueBlock},
+#line 163 "CSSValueKeywords.gperf"
+ {"disc", CSSValueDisc},
+#line 333 "CSSValueKeywords.gperf"
+ {"listitem", CSSValueListitem},
+#line 16 "CSSValueKeywords.gperf"
+ {"groove", CSSValueGroove},
+#line 235 "CSSValueKeywords.gperf"
+ {"ltr", CSSValueLtr},
+#line 201 "CSSValueKeywords.gperf"
+ {"auto", CSSValueAuto},
+#line 445 "CSSValueKeywords.gperf"
+ {"khaki", CSSValueKhaki},
+#line 443 "CSSValueKeywords.gperf"
+ {"indigo", CSSValueIndigo},
+#line 547 "CSSValueKeywords.gperf"
+ {"tb-rl", CSSValueTbRl},
+#line 374 "CSSValueKeywords.gperf"
+ {"paused", CSSValuePaused},
+#line 22 "CSSValueKeywords.gperf"
+ {"double", CSSValueDouble},
+#line 147 "CSSValueKeywords.gperf"
+ {"super", CSSValueSuper},
+#line 63 "CSSValueKeywords.gperf"
+ {"condensed", CSSValueCondensed},
+#line 240 "CSSValueKeywords.gperf"
+ {"visible", CSSValueVisible},
+#line 37 "CSSValueKeywords.gperf"
+ {"bold", CSSValueBold},
+#line 508 "CSSValueKeywords.gperf"
+ {"snow", CSSValueSnow},
+#line 248 "CSSValueKeywords.gperf"
+ {"blink", CSSValueBlink},
+#line 205 "CSSValueKeywords.gperf"
+ {"move", CSSValueMove},
+#line 301 "CSSValueKeywords.gperf"
+ {"slow", CSSValueSlow},
+#line 378 "CSSValueKeywords.gperf"
+ {"linear", CSSValueLinear},
+#line 88 "CSSValueKeywords.gperf"
+ {"silver", CSSValueSilver},
+#line 259 "CSSValueKeywords.gperf"
+ {"landscape", CSSValueLandscape},
+#line 280 "CSSValueKeywords.gperf"
+ {"show", CSSValueShow},
+#line 23 "CSSValueKeywords.gperf"
+ {"caption", CSSValueCaption},
+#line 18 "CSSValueKeywords.gperf"
+ {"outset", CSSValueOutset},
+#line 389 "CSSValueKeywords.gperf"
+ {"stroke", CSSValueStroke},
+#line 519 "CSSValueKeywords.gperf"
+ {"nonzero", CSSValueNonzero},
+#line 294 "CSSValueKeywords.gperf"
+ {"single", CSSValueSingle},
#line 11 "CSSValueKeywords.gperf"
{"inherit", CSSValueInherit},
-#line 464 "CSSValueKeywords.gperf"
- {"magenta", CSSValueMagenta},
-#line 516 "CSSValueKeywords.gperf"
- {"nonzero", CSSValueNonzero},
-#line 204 "CSSValueKeywords.gperf"
- {"pointer", CSSValuePointer},
-#line 283 "CSSValueKeywords.gperf"
- {"underline", CSSValueUnderline},
+#line 299 "CSSValueKeywords.gperf"
+ {"up", CSSValueUp},
#line 130 "CSSValueKeywords.gperf"
{"no-repeat", CSSValueNoRepeat},
-#line 387 "CSSValueKeywords.gperf"
- {"aliceblue", CSSValueAliceblue},
-#line 112 "CSSValueKeywords.gperf"
- {"match", CSSValueMatch},
-#line 325 "CSSValueKeywords.gperf"
+#line 76 "CSSValueKeywords.gperf"
+ {"black", CSSValueBlack},
+#line 222 "CSSValueKeywords.gperf"
+ {"w-resize", CSSValueWResize},
+#line 420 "CSSValueKeywords.gperf"
+ {"darksalmon", CSSValueDarksalmon},
+#line 303 "CSSValueKeywords.gperf"
+ {"infinite", CSSValueInfinite},
+#line 224 "CSSValueKeywords.gperf"
+ {"ns-resize", CSSValueNsResize},
+#line 108 "CSSValueKeywords.gperf"
+ {"inactivecaption", CSSValueInactivecaption},
+#line 144 "CSSValueKeywords.gperf"
+ {"baseline", CSSValueBaseline},
+#line 363 "CSSValueKeywords.gperf"
+ {"round", CSSValueRound},
+#line 237 "CSSValueKeywords.gperf"
+ {"capitalize", CSSValueCapitalize},
+#line 243 "CSSValueKeywords.gperf"
+ {"absolute", CSSValueAbsolute},
+#line 478 "CSSValueKeywords.gperf"
+ {"mintcream", CSSValueMintcream},
+#line 33 "CSSValueKeywords.gperf"
+ {"oblique", CSSValueOblique},
+#line 326 "CSSValueKeywords.gperf"
{"radio", CSSValueRadio},
-#line 249 "CSSValueKeywords.gperf"
- {"both", CSSValueBoth},
-#line 17 "CSSValueKeywords.gperf"
- {"ridge", CSSValueRidge},
+#line 53 "CSSValueKeywords.gperf"
+ {"large", CSSValueLarge},
+#line 273 "CSSValueKeywords.gperf"
+ {"portrait", CSSValuePortrait},
+#line 437 "CSSValueKeywords.gperf"
+ {"gold", CSSValueGold},
#line 57 "CSSValueKeywords.gperf"
{"smaller", CSSValueSmaller},
-#line 395 "CSSValueKeywords.gperf"
+#line 426 "CSSValueKeywords.gperf"
+ {"darkviolet", CSSValueDarkviolet},
+#line 371 "CSSValueKeywords.gperf"
+ {"visual", CSSValueVisual},
+#line 442 "CSSValueKeywords.gperf"
+ {"indianred", CSSValueIndianred},
+#line 85 "CSSValueKeywords.gperf"
+ {"orange", CSSValueOrange},
+#line 161 "CSSValueKeywords.gperf"
+ {"outside", CSSValueOutside},
+#line 204 "CSSValueKeywords.gperf"
+ {"pointer", CSSValuePointer},
+#line 90 "CSSValueKeywords.gperf"
+ {"white", CSSValueWhite},
+#line 514 "CSSValueKeywords.gperf"
+ {"turquoise", CSSValueTurquoise},
+#line 211 "CSSValueKeywords.gperf"
+ {"no-drop", CSSValueNoDrop},
+#line 546 "CSSValueKeywords.gperf"
+ {"rl-tb", CSSValueRlTb},
+#line 387 "CSSValueKeywords.gperf"
+ {"painted", CSSValuePainted},
+#line 207 "CSSValueKeywords.gperf"
+ {"cell", CSSValueCell},
+#line 245 "CSSValueKeywords.gperf"
+ {"avoid", CSSValueAvoid},
+#line 274 "CSSValueKeywords.gperf"
+ {"pre", CSSValuePre},
+#line 165 "CSSValueKeywords.gperf"
+ {"square", CSSValueSquare},
+#line 529 "CSSValueKeywords.gperf"
+ {"butt", CSSValueButt},
+#line 398 "CSSValueKeywords.gperf"
{"brown", CSSValueBrown},
-#line 230 "CSSValueKeywords.gperf"
- {"wait", CSSValueWait},
-#line 258 "CSSValueKeywords.gperf"
- {"invert", CSSValueInvert},
-#line 540 "CSSValueKeywords.gperf"
- {"no-change", CSSValueNoChange},
#line 32 "CSSValueKeywords.gperf"
{"italic", CSSValueItalic},
-#line 224 "CSSValueKeywords.gperf"
- {"ns-resize", CSSValueNsResize},
-#line 304 "CSSValueKeywords.gperf"
- {"alternate", CSSValueAlternate},
-#line 272 "CSSValueKeywords.gperf"
- {"portrait", CSSValuePortrait},
-#line 105 "CSSValueKeywords.gperf"
- {"highlight", CSSValueHighlight},
-#line 53 "CSSValueKeywords.gperf"
- {"large", CSSValueLarge},
-#line 310 "CSSValueKeywords.gperf"
- {"intrinsic", CSSValueIntrinsic},
-#line 317 "CSSValueKeywords.gperf"
- {"wave", CSSValueWave},
-#line 501 "CSSValueKeywords.gperf"
+#line 527 "CSSValueKeywords.gperf"
+ {"crispedges", CSSValueCrispedges},
+#line 504 "CSSValueKeywords.gperf"
{"skyblue", CSSValueSkyblue},
-#line 302 "CSSValueKeywords.gperf"
- {"infinite", CSSValueInfinite},
-#line 280 "CSSValueKeywords.gperf"
+#line 329 "CSSValueKeywords.gperf"
+ {"button", CSSValueButton},
+#line 517 "CSSValueKeywords.gperf"
+ {"whitesmoke", CSSValueWhitesmoke},
+#line 281 "CSSValueKeywords.gperf"
{"static", CSSValueStatic},
-#line 462 "CSSValueKeywords.gperf"
- {"limegreen", CSSValueLimegreen},
-#line 543 "CSSValueKeywords.gperf"
- {"rl-tb", CSSValueRlTb},
-#line 447 "CSSValueKeywords.gperf"
- {"lightblue", CSSValueLightblue},
-#line 85 "CSSValueKeywords.gperf"
- {"orange", CSSValueOrange},
+#line 236 "CSSValueKeywords.gperf"
+ {"rtl", CSSValueRtl},
+#line 392 "CSSValueKeywords.gperf"
+ {"aquamarine", CSSValueAquamarine},
+#line 309 "CSSValueKeywords.gperf"
+ {"element", CSSValueElement},
+#line 291 "CSSValueKeywords.gperf"
+ {"vertical", CSSValueVertical},
#line 151 "CSSValueKeywords.gperf"
{"bottom", CSSValueBottom},
+#line 114 "CSSValueKeywords.gperf"
+ {"scrollbar", CSSValueScrollbar},
+#line 388 "CSSValueKeywords.gperf"
+ {"fill", CSSValueFill},
+#line 364 "CSSValueKeywords.gperf"
+ {"border", CSSValueBorder},
+#line 35 "CSSValueKeywords.gperf"
+ {"small-caps", CSSValueSmallCaps},
#line 210 "CSSValueKeywords.gperf"
{"progress", CSSValueProgress},
-#line 318 "CSSValueKeywords.gperf"
- {"continuous", CSSValueContinuous},
-#line 385 "CSSValueKeywords.gperf"
- {"fill", CSSValueFill},
-#line 144 "CSSValueKeywords.gperf"
- {"baseline", CSSValueBaseline},
-#line 538 "CSSValueKeywords.gperf"
- {"mathematical", CSSValueMathematical},
-#line 207 "CSSValueKeywords.gperf"
- {"cell", CSSValueCell},
-#line 273 "CSSValueKeywords.gperf"
- {"pre", CSSValuePre},
-#line 452 "CSSValueKeywords.gperf"
- {"lightgreen", CSSValueLightgreen},
-#line 460 "CSSValueKeywords.gperf"
- {"lightsteelblue", CSSValueLightsteelblue},
-#line 456 "CSSValueKeywords.gperf"
- {"lightseagreen", CSSValueLightseagreen},
-#line 500 "CSSValueKeywords.gperf"
+#line 373 "CSSValueKeywords.gperf"
+ {"running", CSSValueRunning},
+#line 38 "CSSValueKeywords.gperf"
+ {"bolder", CSSValueBolder},
+#line 390 "CSSValueKeywords.gperf"
+ {"aliceblue", CSSValueAliceblue},
+#line 197 "CSSValueKeywords.gperf"
+ {"table-cell", CSSValueTableCell},
+#line 379 "CSSValueKeywords.gperf"
+ {"ease-in", CSSValueEaseIn},
+#line 92 "CSSValueKeywords.gperf"
+ {"transparent", CSSValueTransparent},
+#line 503 "CSSValueKeywords.gperf"
{"sienna", CSSValueSienna},
-#line 286 "CSSValueKeywords.gperf"
- {"start", CSSValueStart},
-#line 231 "CSSValueKeywords.gperf"
- {"help", CSSValueHelp},
-#line 303 "CSSValueKeywords.gperf"
- {"slide", CSSValueSlide},
-#line 145 "CSSValueKeywords.gperf"
- {"middle", CSSValueMiddle},
+#line 384 "CSSValueKeywords.gperf"
+ {"visiblepainted", CSSValueVisiblepainted},
+#line 284 "CSSValueKeywords.gperf"
+ {"underline", CSSValueUnderline},
+#line 17 "CSSValueKeywords.gperf"
+ {"ridge", CSSValueRidge},
+#line 96 "CSSValueKeywords.gperf"
+ {"activecaption", CSSValueActivecaption},
+#line 180 "CSSValueKeywords.gperf"
+ {"katakana", CSSValueKatakana},
+#line 124 "CSSValueKeywords.gperf"
+ {"currentcolor", CSSValueCurrentcolor},
+#line 230 "CSSValueKeywords.gperf"
+ {"wait", CSSValueWait},
+#line 298 "CSSValueKeywords.gperf"
+ {"ahead", CSSValueAhead},
+#line 185 "CSSValueKeywords.gperf"
+ {"list-item", CSSValueListItem},
+#line 370 "CSSValueKeywords.gperf"
+ {"logical", CSSValueLogical},
+#line 186 "CSSValueKeywords.gperf"
+ {"run-in", CSSValueRunIn},
+#line 258 "CSSValueKeywords.gperf"
+ {"invert", CSSValueInvert},
+#line 368 "CSSValueKeywords.gperf"
+ {"padding", CSSValuePadding},
+#line 305 "CSSValueKeywords.gperf"
+ {"alternate", CSSValueAlternate},
+#line 256 "CSSValueKeywords.gperf"
+ {"hide", CSSValueHide},
+#line 59 "CSSValueKeywords.gperf"
+ {"wider", CSSValueWider},
+#line 232 "CSSValueKeywords.gperf"
+ {"all-scroll", CSSValueAllScroll},
+#line 190 "CSSValueKeywords.gperf"
+ {"inline-table", CSSValueInlineTable},
+#line 19 "CSSValueKeywords.gperf"
+ {"dotted", CSSValueDotted},
+#line 530 "CSSValueKeywords.gperf"
+ {"miter", CSSValueMiter},
+#line 465 "CSSValueKeywords.gperf"
+ {"limegreen", CSSValueLimegreen},
+#line 311 "CSSValueKeywords.gperf"
+ {"intrinsic", CSSValueIntrinsic},
+#line 141 "CSSValueKeywords.gperf"
+ {"xor", CSSValueXor},
+#line 483 "CSSValueKeywords.gperf"
+ {"olivedrab", CSSValueOlivedrab},
+#line 188 "CSSValueKeywords.gperf"
+ {"inline-block", CSSValueInlineBlock},
+#line 134 "CSSValueKeywords.gperf"
+ {"source-in", CSSValueSourceIn},
+#line 315 "CSSValueKeywords.gperf"
+ {"discard", CSSValueDiscard},
+#line 489 "CSSValueKeywords.gperf"
+ {"palevioletred", CSSValuePalevioletred},
+#line 27 "CSSValueKeywords.gperf"
+ {"small-caption", CSSValueSmallCaption},
+#line 525 "CSSValueKeywords.gperf"
+ {"optimizespeed", CSSValueOptimizespeed},
+#line 382 "CSSValueKeywords.gperf"
+ {"document", CSSValueDocument},
+#line 89 "CSSValueKeywords.gperf"
+ {"teal", CSSValueTeal},
#line 58 "CSSValueKeywords.gperf"
{"larger", CSSValueLarger},
-#line 277 "CSSValueKeywords.gperf"
- {"scroll", CSSValueScroll},
-#line 253 "CSSValueKeywords.gperf"
- {"embed", CSSValueEmbed},
-#line 92 "CSSValueKeywords.gperf"
- {"transparent", CSSValueTransparent},
-#line 14 "CSSValueKeywords.gperf"
- {"hidden", CSSValueHidden},
-#line 397 "CSSValueKeywords.gperf"
+#line 116 "CSSValueKeywords.gperf"
+ {"threedface", CSSValueThreedface},
+#line 395 "CSSValueKeywords.gperf"
+ {"bisque", CSSValueBisque},
+#line 375 "CSSValueKeywords.gperf"
+ {"flat", CSSValueFlat},
+#line 400 "CSSValueKeywords.gperf"
{"cadetblue", CSSValueCadetblue},
-#line 478 "CSSValueKeywords.gperf"
- {"navajowhite", CSSValueNavajowhite},
-#line 502 "CSSValueKeywords.gperf"
+#line 505 "CSSValueKeywords.gperf"
{"slateblue", CSSValueSlateblue},
-#line 308 "CSSValueKeywords.gperf"
- {"element", CSSValueElement},
-#line 260 "CSSValueKeywords.gperf"
- {"level", CSSValueLevel},
+#line 386 "CSSValueKeywords.gperf"
+ {"visiblestroke", CSSValueVisiblestroke},
#line 87 "CSSValueKeywords.gperf"
{"red", CSSValueRed},
-#line 494 "CSSValueKeywords.gperf"
- {"royalblue", CSSValueRoyalblue},
-#line 163 "CSSValueKeywords.gperf"
- {"disc", CSSValueDisc},
-#line 433 "CSSValueKeywords.gperf"
- {"ghostwhite", CSSValueGhostwhite},
-#line 25 "CSSValueKeywords.gperf"
- {"menu", CSSValueMenu},
-#line 21 "CSSValueKeywords.gperf"
- {"solid", CSSValueSolid},
-#line 24 "CSSValueKeywords.gperf"
- {"icon", CSSValueIcon},
-#line 60 "CSSValueKeywords.gperf"
- {"narrower", CSSValueNarrower},
-#line 484 "CSSValueKeywords.gperf"
- {"palegreen", CSSValuePalegreen},
-#line 489 "CSSValueKeywords.gperf"
- {"peru", CSSValuePeru},
+#line 198 "CSSValueKeywords.gperf"
+ {"table-caption", CSSValueTableCaption},
+#line 136 "CSSValueKeywords.gperf"
+ {"source-atop", CSSValueSourceAtop},
+#line 415 "CSSValueKeywords.gperf"
+ {"darkmagenta", CSSValueDarkmagenta},
+#line 50 "CSSValueKeywords.gperf"
+ {"x-small", CSSValueXSmall},
+#line 523 "CSSValueKeywords.gperf"
+ {"srgb", CSSValueSrgb},
+#line 227 "CSSValueKeywords.gperf"
+ {"col-resize", CSSValueColResize},
+#line 238 "CSSValueKeywords.gperf"
+ {"uppercase", CSSValueUppercase},
+#line 302 "CSSValueKeywords.gperf"
+ {"fast", CSSValueFast},
#line 131 "CSSValueKeywords.gperf"
{"clear", CSSValueClear},
-#line 52 "CSSValueKeywords.gperf"
- {"medium", CSSValueMedium},
-#line 477 "CSSValueKeywords.gperf"
- {"moccasin", CSSValueMoccasin},
-#line 162 "CSSValueKeywords.gperf"
- {"inside", CSSValueInside},
-#line 499 "CSSValueKeywords.gperf"
- {"seashell", CSSValueSeashell},
-#line 513 "CSSValueKeywords.gperf"
- {"wheat", CSSValueWheat},
-#line 150 "CSSValueKeywords.gperf"
- {"top", CSSValueTop},
+#line 419 "CSSValueKeywords.gperf"
+ {"darkred", CSSValueDarkred},
+#line 487 "CSSValueKeywords.gperf"
+ {"palegreen", CSSValuePalegreen},
+#line 319 "CSSValueKeywords.gperf"
+ {"continuous", CSSValueContinuous},
+#line 80 "CSSValueKeywords.gperf"
+ {"green", CSSValueGreen},
+#line 290 "CSSValueKeywords.gperf"
+ {"horizontal", CSSValueHorizontal},
+#line 287 "CSSValueKeywords.gperf"
+ {"start", CSSValueStart},
+#line 318 "CSSValueKeywords.gperf"
+ {"wave", CSSValueWave},
+#line 166 "CSSValueKeywords.gperf"
+ {"decimal", CSSValueDecimal},
#line 156 "CSSValueKeywords.gperf"
{"center", CSSValueCenter},
-#line 474 "CSSValueKeywords.gperf"
- {"midnightblue", CSSValueMidnightblue},
-#line 532 "CSSValueKeywords.gperf"
+#line 260 "CSSValueKeywords.gperf"
+ {"level", CSSValueLevel},
+#line 25 "CSSValueKeywords.gperf"
+ {"menu", CSSValueMenu},
+#line 266 "CSSValueKeywords.gperf"
+ {"mix", CSSValueMix},
+#line 535 "CSSValueKeywords.gperf"
{"central", CSSValueCentral},
-#line 298 "CSSValueKeywords.gperf"
- {"up", CSSValueUp},
-#line 521 "CSSValueKeywords.gperf"
- {"linearrgb", CSSValueLinearrgb},
-#line 537 "CSSValueKeywords.gperf"
- {"hanging", CSSValueHanging},
-#line 398 "CSSValueKeywords.gperf"
- {"chartreuse", CSSValueChartreuse},
-#line 80 "CSSValueKeywords.gperf"
- {"green", CSSValueGreen},
-#line 89 "CSSValueKeywords.gperf"
- {"teal", CSSValueTeal},
-#line 245 "CSSValueKeywords.gperf"
- {"avoid", CSSValueAvoid},
-#line 372 "CSSValueKeywords.gperf"
- {"flat", CSSValueFlat},
-#line 343 "CSSValueKeywords.gperf"
- {"menulist", CSSValueMenulist},
-#line 255 "CSSValueKeywords.gperf"
- {"hand", CSSValueHand},
-#line 380 "CSSValueKeywords.gperf"
- {"reset", CSSValueReset},
-#line 175 "CSSValueKeywords.gperf"
- {"hebrew", CSSValueHebrew},
-#line 219 "CSSValueKeywords.gperf"
- {"se-resize", CSSValueSeResize},
-#line 37 "CSSValueKeywords.gperf"
- {"bold", CSSValueBold},
#line 154 "CSSValueKeywords.gperf"
{"left", CSSValueLeft},
-#line 528 "CSSValueKeywords.gperf"
- {"bevel", CSSValueBevel},
-#line 439 "CSSValueKeywords.gperf"
- {"indianred", CSSValueIndianred},
-#line 432 "CSSValueKeywords.gperf"
- {"gainsboro", CSSValueGainsboro},
-#line 322 "CSSValueKeywords.gperf"
- {"space", CSSValueSpace},
-#line 301 "CSSValueKeywords.gperf"
- {"fast", CSSValueFast},
-#line 33 "CSSValueKeywords.gperf"
- {"oblique", CSSValueOblique},
+#line 14 "CSSValueKeywords.gperf"
+ {"hidden", CSSValueHidden},
+#line 492 "CSSValueKeywords.gperf"
+ {"peru", CSSValuePeru},
+#line 467 "CSSValueKeywords.gperf"
+ {"magenta", CSSValueMagenta},
+#line 277 "CSSValueKeywords.gperf"
+ {"relative", CSSValueRelative},
+#line 132 "CSSValueKeywords.gperf"
+ {"copy", CSSValueCopy},
+#line 300 "CSSValueKeywords.gperf"
+ {"down", CSSValueDown},
+#line 52 "CSSValueKeywords.gperf"
+ {"medium", CSSValueMedium},
+#line 219 "CSSValueKeywords.gperf"
+ {"se-resize", CSSValueSeResize},
+#line 383 "CSSValueKeywords.gperf"
+ {"reset", CSSValueReset},
+#line 497 "CSSValueKeywords.gperf"
+ {"royalblue", CSSValueRoyalblue},
+#line 408 "CSSValueKeywords.gperf"
+ {"darkblue", CSSValueDarkblue},
#line 216 "CSSValueKeywords.gperf"
{"ne-resize", CSSValueNeResize},
-#line 259 "CSSValueKeywords.gperf"
- {"landscape", CSSValueLandscape},
-#line 246 "CSSValueKeywords.gperf"
- {"below", CSSValueBelow},
+#line 310 "CSSValueKeywords.gperf"
+ {"ignore", CSSValueIgnore},
+#line 97 "CSSValueKeywords.gperf"
+ {"appworkspace", CSSValueAppworkspace},
+#line 250 "CSSValueKeywords.gperf"
+ {"close-quote", CSSValueCloseQuote},
+#line 385 "CSSValueKeywords.gperf"
+ {"visiblefill", CSSValueVisiblefill},
+#line 484 "CSSValueKeywords.gperf"
+ {"orangered", CSSValueOrangered},
#line 120 "CSSValueKeywords.gperf"
{"window", CSSValueWindow},
-#line 271 "CSSValueKeywords.gperf"
- {"overline", CSSValueOverline},
-#line 434 "CSSValueKeywords.gperf"
- {"gold", CSSValueGold},
-#line 211 "CSSValueKeywords.gperf"
- {"no-drop", CSSValueNoDrop},
-#line 524 "CSSValueKeywords.gperf"
- {"crispedges", CSSValueCrispedges},
-#line 384 "CSSValueKeywords.gperf"
- {"painted", CSSValuePainted},
-#line 490 "CSSValueKeywords.gperf"
- {"pink", CSSValuePink},
-#line 391 "CSSValueKeywords.gperf"
- {"beige", CSSValueBeige},
-#line 141 "CSSValueKeywords.gperf"
- {"xor", CSSValueXor},
-#line 288 "CSSValueKeywords.gperf"
- {"reverse", CSSValueReverse},
-#line 146 "CSSValueKeywords.gperf"
- {"sub", CSSValueSub},
-#line 84 "CSSValueKeywords.gperf"
- {"olive", CSSValueOlive},
-#line 265 "CSSValueKeywords.gperf"
- {"mix", CSSValueMix},
-#line 114 "CSSValueKeywords.gperf"
- {"scrollbar", CSSValueScrollbar},
-#line 361 "CSSValueKeywords.gperf"
- {"border", CSSValueBorder},
-#line 38 "CSSValueKeywords.gperf"
- {"bolder", CSSValueBolder},
-#line 23 "CSSValueKeywords.gperf"
- {"caption", CSSValueCaption},
-#line 242 "CSSValueKeywords.gperf"
- {"above", CSSValueAbove},
-#line 430 "CSSValueKeywords.gperf"
- {"floralwhite", CSSValueFloralwhite},
-#line 507 "CSSValueKeywords.gperf"
- {"steelblue", CSSValueSteelblue},
-#line 536 "CSSValueKeywords.gperf"
- {"alphabetic", CSSValueAlphabetic},
-#line 281 "CSSValueKeywords.gperf"
- {"thick", CSSValueThick},
-#line 491 "CSSValueKeywords.gperf"
- {"plum", CSSValuePlum},
-#line 402 "CSSValueKeywords.gperf"
- {"cornsilk", CSSValueCornsilk},
-#line 86 "CSSValueKeywords.gperf"
- {"purple", CSSValuePurple},
-#line 386 "CSSValueKeywords.gperf"
- {"stroke", CSSValueStroke},
-#line 50 "CSSValueKeywords.gperf"
- {"x-small", CSSValueXSmall},
-#line 69 "CSSValueKeywords.gperf"
- {"serif", CSSValueSerif},
-#line 392 "CSSValueKeywords.gperf"
- {"bisque", CSSValueBisque},
-#line 466 "CSSValueKeywords.gperf"
- {"mediumblue", CSSValueMediumblue},
-#line 431 "CSSValueKeywords.gperf"
- {"forestgreen", CSSValueForestgreen},
-#line 535 "CSSValueKeywords.gperf"
- {"ideographic", CSSValueIdeographic},
-#line 512 "CSSValueKeywords.gperf"
- {"violet", CSSValueViolet},
-#line 201 "CSSValueKeywords.gperf"
- {"auto", CSSValueAuto},
-#line 390 "CSSValueKeywords.gperf"
- {"azure", CSSValueAzure},
-#line 443 "CSSValueKeywords.gperf"
+#line 516 "CSSValueKeywords.gperf"
+ {"wheat", CSSValueWheat},
+#line 485 "CSSValueKeywords.gperf"
+ {"orchid", CSSValueOrchid},
+#line 438 "CSSValueKeywords.gperf"
+ {"goldenrod", CSSValueGoldenrod},
+#line 127 "CSSValueKeywords.gperf"
+ {"repeat", CSSValueRepeat},
+#line 255 "CSSValueKeywords.gperf"
+ {"hand", CSSValueHand},
+#line 279 "CSSValueKeywords.gperf"
+ {"separate", CSSValueSeparate},
+#line 267 "CSSValueKeywords.gperf"
+ {"no-close-quote", CSSValueNoCloseQuote},
+#line 312 "CSSValueKeywords.gperf"
+ {"min-intrinsic", CSSValueMinIntrinsic},
+#line 346 "CSSValueKeywords.gperf"
+ {"menulist", CSSValueMenulist},
+#line 202 "CSSValueKeywords.gperf"
+ {"crosshair", CSSValueCrosshair},
+#line 446 "CSSValueKeywords.gperf"
{"lavender", CSSValueLavender},
-#line 75 "CSSValueKeywords.gperf"
- {"aqua", CSSValueAqua},
-#line 263 "CSSValueKeywords.gperf"
+#line 133 "CSSValueKeywords.gperf"
+ {"source-over", CSSValueSourceOver},
+#line 275 "CSSValueKeywords.gperf"
+ {"pre-line", CSSValuePreLine},
+#line 412 "CSSValueKeywords.gperf"
+ {"darkgreen", CSSValueDarkgreen},
+#line 422 "CSSValueKeywords.gperf"
+ {"darkslateblue", CSSValueDarkslateblue},
+#line 268 "CSSValueKeywords.gperf"
+ {"no-open-quote", CSSValueNoOpenQuote},
+#line 421 "CSSValueKeywords.gperf"
+ {"darkseagreen", CSSValueDarkseagreen},
+#line 417 "CSSValueKeywords.gperf"
+ {"darkorange", CSSValueDarkorange},
+#line 539 "CSSValueKeywords.gperf"
+ {"alphabetic", CSSValueAlphabetic},
+#line 264 "CSSValueKeywords.gperf"
{"lower", CSSValueLower},
-#line 237 "CSSValueKeywords.gperf"
- {"capitalize", CSSValueCapitalize},
-#line 468 "CSSValueKeywords.gperf"
- {"mediumpurple", CSSValueMediumpurple},
-#line 88 "CSSValueKeywords.gperf"
- {"silver", CSSValueSilver},
-#line 454 "CSSValueKeywords.gperf"
- {"lightpink", CSSValueLightpink},
-#line 297 "CSSValueKeywords.gperf"
- {"ahead", CSSValueAhead},
-#line 363 "CSSValueKeywords.gperf"
- {"padding", CSSValuePadding},
-#line 449 "CSSValueKeywords.gperf"
- {"lightcyan", CSSValueLightcyan},
-#line 248 "CSSValueKeywords.gperf"
- {"blink", CSSValueBlink},
+#line 380 "CSSValueKeywords.gperf"
+ {"ease-out", CSSValueEaseOut},
+#line 543 "CSSValueKeywords.gperf"
+ {"no-change", CSSValueNoChange},
+#line 286 "CSSValueKeywords.gperf"
+ {"stretch", CSSValueStretch},
+#line 196 "CSSValueKeywords.gperf"
+ {"table-column", CSSValueTableColumn},
#line 239 "CSSValueKeywords.gperf"
{"lowercase", CSSValueLowercase},
-#line 498 "CSSValueKeywords.gperf"
- {"seagreen", CSSValueSeagreen},
-#line 294 "CSSValueKeywords.gperf"
- {"multiple", CSSValueMultiple},
-#line 77 "CSSValueKeywords.gperf"
- {"blue", CSSValueBlue},
-#line 184 "CSSValueKeywords.gperf"
- {"block", CSSValueBlock},
-#line 469 "CSSValueKeywords.gperf"
- {"mediumseagreen", CSSValueMediumseagreen},
-#line 470 "CSSValueKeywords.gperf"
- {"mediumslateblue", CSSValueMediumslateblue},
-#line 514 "CSSValueKeywords.gperf"
- {"whitesmoke", CSSValueWhitesmoke},
-#line 18 "CSSValueKeywords.gperf"
- {"outset", CSSValueOutset},
-#line 368 "CSSValueKeywords.gperf"
- {"visual", CSSValueVisual},
-#line 268 "CSSValueKeywords.gperf"
+#line 416 "CSSValueKeywords.gperf"
+ {"darkolivegreen", CSSValueDarkolivegreen},
+#line 509 "CSSValueKeywords.gperf"
+ {"springgreen", CSSValueSpringgreen},
+#line 531 "CSSValueKeywords.gperf"
+ {"bevel", CSSValueBevel},
+#line 179 "CSSValueKeywords.gperf"
+ {"hiragana", CSSValueHiragana},
+#line 521 "CSSValueKeywords.gperf"
+ {"accumulate", CSSValueAccumulate},
+#line 246 "CSSValueKeywords.gperf"
+ {"below", CSSValueBelow},
+#line 269 "CSSValueKeywords.gperf"
{"nowrap", CSSValueNowrap},
-#line 232 "CSSValueKeywords.gperf"
- {"all-scroll", CSSValueAllScroll},
-#line 438 "CSSValueKeywords.gperf"
- {"hotpink", CSSValueHotpink},
-#line 116 "CSSValueKeywords.gperf"
- {"threedface", CSSValueThreedface},
-#line 481 "CSSValueKeywords.gperf"
- {"orangered", CSSValueOrangered},
-#line 482 "CSSValueKeywords.gperf"
- {"orchid", CSSValueOrchid},
+#line 69 "CSSValueKeywords.gperf"
+ {"serif", CSSValueSerif},
+#line 435 "CSSValueKeywords.gperf"
+ {"gainsboro", CSSValueGainsboro},
#line 223 "CSSValueKeywords.gperf"
{"ew-resize", CSSValueEwResize},
#line 220 "CSSValueKeywords.gperf"
{"sw-resize", CSSValueSwResize},
-#line 388 "CSSValueKeywords.gperf"
- {"antiquewhite", CSSValueAntiquewhite},
-#line 461 "CSSValueKeywords.gperf"
- {"lightyellow", CSSValueLightyellow},
-#line 16 "CSSValueKeywords.gperf"
- {"groove", CSSValueGroove},
-#line 185 "CSSValueKeywords.gperf"
- {"list-item", CSSValueListItem},
-#line 401 "CSSValueKeywords.gperf"
- {"cornflowerblue", CSSValueCornflowerblue},
+#line 135 "CSSValueKeywords.gperf"
+ {"source-out", CSSValueSourceOut},
+#line 394 "CSSValueKeywords.gperf"
+ {"beige", CSSValueBeige},
+#line 60 "CSSValueKeywords.gperf"
+ {"narrower", CSSValueNarrower},
#line 217 "CSSValueKeywords.gperf"
{"nw-resize", CSSValueNwResize},
-#line 63 "CSSValueKeywords.gperf"
- {"condensed", CSSValueCondensed},
-#line 240 "CSSValueKeywords.gperf"
- {"visible", CSSValueVisible},
-#line 165 "CSSValueKeywords.gperf"
- {"square", CSSValueSquare},
-#line 177 "CSSValueKeywords.gperf"
- {"georgian", CSSValueGeorgian},
-#line 35 "CSSValueKeywords.gperf"
- {"small-caps", CSSValueSmallCaps},
-#line 331 "CSSValueKeywords.gperf"
+#line 332 "CSSValueKeywords.gperf"
{"listbox", CSSValueListbox},
-#line 197 "CSSValueKeywords.gperf"
- {"table-cell", CSSValueTableCell},
-#line 376 "CSSValueKeywords.gperf"
- {"ease-in", CSSValueEaseIn},
-#line 476 "CSSValueKeywords.gperf"
- {"mistyrose", CSSValueMistyrose},
-#line 83 "CSSValueKeywords.gperf"
- {"navy", CSSValueNavy},
-#line 76 "CSSValueKeywords.gperf"
- {"black", CSSValueBlack},
-#line 495 "CSSValueKeywords.gperf"
- {"saddlebrown", CSSValueSaddlebrown},
#line 441 "CSSValueKeywords.gperf"
- {"ivory", CSSValueIvory},
-#line 227 "CSSValueKeywords.gperf"
- {"col-resize", CSSValueColResize},
-#line 389 "CSSValueKeywords.gperf"
- {"aquamarine", CSSValueAquamarine},
-#line 54 "CSSValueKeywords.gperf"
- {"x-large", CSSValueXLarge},
-#line 526 "CSSValueKeywords.gperf"
- {"butt", CSSValueButt},
+ {"hotpink", CSSValueHotpink},
+#line 99 "CSSValueKeywords.gperf"
+ {"buttonface", CSSValueButtonface},
+#line 486 "CSSValueKeywords.gperf"
+ {"palegoldenrod", CSSValuePalegoldenrod},
+#line 524 "CSSValueKeywords.gperf"
+ {"linearrgb", CSSValueLinearrgb},
+#line 20 "CSSValueKeywords.gperf"
+ {"dashed", CSSValueDashed},
#line 111 "CSSValueKeywords.gperf"
{"infotext", CSSValueInfotext},
-#line 190 "CSSValueKeywords.gperf"
- {"inline-table", CSSValueInlineTable},
-#line 428 "CSSValueKeywords.gperf"
- {"dodgerblue", CSSValueDodgerblue},
-#line 127 "CSSValueKeywords.gperf"
- {"repeat", CSSValueRepeat},
-#line 506 "CSSValueKeywords.gperf"
- {"springgreen", CSSValueSpringgreen},
-#line 278 "CSSValueKeywords.gperf"
- {"separate", CSSValueSeparate},
-#line 328 "CSSValueKeywords.gperf"
- {"button", CSSValueButton},
-#line 311 "CSSValueKeywords.gperf"
- {"min-intrinsic", CSSValueMinIntrinsic},
+#line 112 "CSSValueKeywords.gperf"
+ {"match", CSSValueMatch},
+#line 321 "CSSValueKeywords.gperf"
+ {"break-all", CSSValueBreakAll},
+#line 249 "CSSValueKeywords.gperf"
+ {"both", CSSValueBoth},
+#line 401 "CSSValueKeywords.gperf"
+ {"chartreuse", CSSValueChartreuse},
+#line 498 "CSSValueKeywords.gperf"
+ {"saddlebrown", CSSValueSaddlebrown},
+#line 330 "CSSValueKeywords.gperf"
+ {"button-bevel", CSSValueButtonBevel},
+#line 414 "CSSValueKeywords.gperf"
+ {"darkkhaki", CSSValueDarkkhaki},
+#line 66 "CSSValueKeywords.gperf"
+ {"expanded", CSSValueExpanded},
+#line 231 "CSSValueKeywords.gperf"
+ {"help", CSSValueHelp},
+#line 432 "CSSValueKeywords.gperf"
+ {"firebrick", CSSValueFirebrick},
+#line 520 "CSSValueKeywords.gperf"
+ {"evenodd", CSSValueEvenodd},
+#line 142 "CSSValueKeywords.gperf"
+ {"plus-darker", CSSValuePlusDarker},
+#line 272 "CSSValueKeywords.gperf"
+ {"overline", CSSValueOverline},
+#line 409 "CSSValueKeywords.gperf"
+ {"darkcyan", CSSValueDarkcyan},
+#line 292 "CSSValueKeywords.gperf"
+ {"inline-axis", CSSValueInlineAxis},
+#line 107 "CSSValueKeywords.gperf"
+ {"inactiveborder", CSSValueInactiveborder},
+#line 434 "CSSValueKeywords.gperf"
+ {"forestgreen", CSSValueForestgreen},
+#line 103 "CSSValueKeywords.gperf"
+ {"captiontext", CSSValueCaptiontext},
+#line 522 "CSSValueKeywords.gperf"
+ {"new", CSSValueNew},
#line 79 "CSSValueKeywords.gperf"
{"gray", CSSValueGray},
-#line 117 "CSSValueKeywords.gperf"
- {"threedhighlight", CSSValueThreedhighlight},
-#line 314 "CSSValueKeywords.gperf"
- {"discard", CSSValueDiscard},
-#line 27 "CSSValueKeywords.gperf"
- {"small-caption", CSSValueSmallCaption},
-#line 19 "CSSValueKeywords.gperf"
- {"dotted", CSSValueDotted},
-#line 124 "CSSValueKeywords.gperf"
- {"currentcolor", CSSValueCurrentcolor},
-#line 525 "CSSValueKeywords.gperf"
- {"geometricprecision", CSSValueGeometricprecision},
-#line 295 "CSSValueKeywords.gperf"
+#line 194 "CSSValueKeywords.gperf"
+ {"table-row", CSSValueTableRow},
+#line 541 "CSSValueKeywords.gperf"
+ {"mathematical", CSSValueMathematical},
+#line 212 "CSSValueKeywords.gperf"
+ {"not-allowed", CSSValueNotAllowed},
+#line 431 "CSSValueKeywords.gperf"
+ {"dodgerblue", CSSValueDodgerblue},
+#line 479 "CSSValueKeywords.gperf"
+ {"mistyrose", CSSValueMistyrose},
+#line 174 "CSSValueKeywords.gperf"
+ {"upper-latin", CSSValueUpperLatin},
+#line 109 "CSSValueKeywords.gperf"
+ {"inactivecaptiontext", CSSValueInactivecaptiontext},
+#line 501 "CSSValueKeywords.gperf"
+ {"seagreen", CSSValueSeagreen},
+#line 351 "CSSValueKeywords.gperf"
+ {"slider-vertical", CSSValueSliderVertical},
+#line 54 "CSSValueKeywords.gperf"
+ {"x-large", CSSValueXLarge},
+#line 83 "CSSValueKeywords.gperf"
+ {"navy", CSSValueNavy},
+#line 64 "CSSValueKeywords.gperf"
+ {"semi-condensed", CSSValueSemiCondensed},
+#line 78 "CSSValueKeywords.gperf"
+ {"fuchsia", CSSValueFuchsia},
+#line 410 "CSSValueKeywords.gperf"
+ {"darkgoldenrod", CSSValueDarkgoldenrod},
+#line 296 "CSSValueKeywords.gperf"
{"forwards", CSSValueForwards},
-#line 519 "CSSValueKeywords.gperf"
- {"new", CSSValueNew},
-#line 370 "CSSValueKeywords.gperf"
- {"running", CSSValueRunning},
+#line 502 "CSSValueKeywords.gperf"
+ {"seashell", CSSValueSeashell},
+#line 297 "CSSValueKeywords.gperf"
+ {"backwards", CSSValueBackwards},
#line 119 "CSSValueKeywords.gperf"
{"threedshadow", CSSValueThreedshadow},
-#line 20 "CSSValueKeywords.gperf"
- {"dashed", CSSValueDashed},
-#line 377 "CSSValueKeywords.gperf"
- {"ease-out", CSSValueEaseOut},
-#line 198 "CSSValueKeywords.gperf"
- {"table-caption", CSSValueTableCaption},
-#line 485 "CSSValueKeywords.gperf"
+#line 376 "CSSValueKeywords.gperf"
+ {"preserve-3d", CSSValuePreserve3d},
+#line 427 "CSSValueKeywords.gperf"
+ {"deeppink", CSSValueDeeppink},
+#line 488 "CSSValueKeywords.gperf"
{"paleturquoise", CSSValuePaleturquoise},
-#line 379 "CSSValueKeywords.gperf"
- {"document", CSSValueDocument},
-#line 196 "CSSValueKeywords.gperf"
- {"table-column", CSSValueTableColumn},
-#line 444 "CSSValueKeywords.gperf"
- {"lavenderblush", CSSValueLavenderblush},
-#line 453 "CSSValueKeywords.gperf"
- {"lightgrey", CSSValueLightgrey},
-#line 451 "CSSValueKeywords.gperf"
- {"lightgray", CSSValueLightgray},
-#line 181 "CSSValueKeywords.gperf"
- {"hiragana-iroha", CSSValueHiraganaIroha},
-#line 106 "CSSValueKeywords.gperf"
- {"highlighttext", CSSValueHighlighttext},
-#line 108 "CSSValueKeywords.gperf"
- {"inactivecaption", CSSValueInactivecaption},
-#line 467 "CSSValueKeywords.gperf"
- {"mediumorchid", CSSValueMediumorchid},
-#line 194 "CSSValueKeywords.gperf"
- {"table-row", CSSValueTableRow},
-#line 121 "CSSValueKeywords.gperf"
- {"windowframe", CSSValueWindowframe},
-#line 299 "CSSValueKeywords.gperf"
- {"down", CSSValueDown},
-#line 518 "CSSValueKeywords.gperf"
- {"accumulate", CSSValueAccumulate},
#line 203 "CSSValueKeywords.gperf"
{"default", CSSValueDefault},
-#line 445 "CSSValueKeywords.gperf"
- {"lawngreen", CSSValueLawngreen},
-#line 262 "CSSValueKeywords.gperf"
- {"loud", CSSValueLoud},
-#line 274 "CSSValueKeywords.gperf"
- {"pre-line", CSSValuePreLine},
-#line 459 "CSSValueKeywords.gperf"
- {"lightslategrey", CSSValueLightslategrey},
-#line 458 "CSSValueKeywords.gperf"
- {"lightslategray", CSSValueLightslategray},
-#line 290 "CSSValueKeywords.gperf"
- {"vertical", CSSValueVertical},
-#line 238 "CSSValueKeywords.gperf"
- {"uppercase", CSSValueUppercase},
-#line 522 "CSSValueKeywords.gperf"
- {"optimizespeed", CSSValueOptimizespeed},
-#line 229 "CSSValueKeywords.gperf"
- {"text", CSSValueText},
-#line 91 "CSSValueKeywords.gperf"
- {"yellow", CSSValueYellow},
-#line 261 "CSSValueKeywords.gperf"
- {"line-through", CSSValueLineThrough},
-#line 132 "CSSValueKeywords.gperf"
- {"copy", CSSValueCopy},
-#line 504 "CSSValueKeywords.gperf"
- {"slategrey", CSSValueSlategrey},
-#line 503 "CSSValueKeywords.gperf"
- {"slategray", CSSValueSlategray},
-#line 435 "CSSValueKeywords.gperf"
- {"goldenrod", CSSValueGoldenrod},
-#line 471 "CSSValueKeywords.gperf"
- {"mediumspringgreen", CSSValueMediumspringgreen},
-#line 446 "CSSValueKeywords.gperf"
- {"lemonchiffon", CSSValueLemonchiffon},
-#line 393 "CSSValueKeywords.gperf"
+#line 138 "CSSValueKeywords.gperf"
+ {"destination-in", CSSValueDestinationIn},
+#line 396 "CSSValueKeywords.gperf"
{"blanchedalmond", CSSValueBlanchedalmond},
-#line 125 "CSSValueKeywords.gperf"
- {"grey", CSSValueGrey},
-#line 161 "CSSValueKeywords.gperf"
- {"outside", CSSValueOutside},
-#line 166 "CSSValueKeywords.gperf"
- {"decimal", CSSValueDecimal},
-#line 113 "CSSValueKeywords.gperf"
- {"menutext", CSSValueMenutext},
-#line 437 "CSSValueKeywords.gperf"
- {"honeydew", CSSValueHoneydew},
-#line 276 "CSSValueKeywords.gperf"
- {"relative", CSSValueRelative},
-#line 147 "CSSValueKeywords.gperf"
- {"super", CSSValueSuper},
-#line 417 "CSSValueKeywords.gperf"
- {"darksalmon", CSSValueDarksalmon},
-#line 360 "CSSValueKeywords.gperf"
- {"round", CSSValueRound},
-#line 72 "CSSValueKeywords.gperf"
- {"fantasy", CSSValueFantasy},
-#line 465 "CSSValueKeywords.gperf"
- {"mediumaquamarine", CSSValueMediumaquamarine},
-#line 493 "CSSValueKeywords.gperf"
- {"rosybrown", CSSValueRosybrown},
-#line 371 "CSSValueKeywords.gperf"
- {"paused", CSSValuePaused},
-#line 22 "CSSValueKeywords.gperf"
- {"double", CSSValueDouble},
-#line 270 "CSSValueKeywords.gperf"
- {"overlay", CSSValueOverlay},
-#line 358 "CSSValueKeywords.gperf"
- {"textarea", CSSValueTextarea},
-#line 429 "CSSValueKeywords.gperf"
- {"firebrick", CSSValueFirebrick},
-#line 382 "CSSValueKeywords.gperf"
- {"visiblefill", CSSValueVisiblefill},
-#line 517 "CSSValueKeywords.gperf"
- {"evenodd", CSSValueEvenodd},
-#line 118 "CSSValueKeywords.gperf"
- {"threedlightshadow", CSSValueThreedlightshadow},
-#line 275 "CSSValueKeywords.gperf"
- {"pre-wrap", CSSValuePreWrap},
-#line 511 "CSSValueKeywords.gperf"
- {"turquoise", CSSValueTurquoise},
+#line 544 "CSSValueKeywords.gperf"
+ {"reset-size", CSSValueResetSize},
+#line 510 "CSSValueKeywords.gperf"
+ {"steelblue", CSSValueSteelblue},
#line 70 "CSSValueKeywords.gperf"
{"sans-serif", CSSValueSansSerif},
-#line 31 "CSSValueKeywords.gperf"
- {"status-bar", CSSValueStatusBar},
-#line 483 "CSSValueKeywords.gperf"
- {"palegoldenrod", CSSValuePalegoldenrod},
+#line 341 "CSSValueKeywords.gperf"
+ {"media-slider", CSSValueMediaSlider},
+#line 229 "CSSValueKeywords.gperf"
+ {"text", CSSValueText},
+#line 95 "CSSValueKeywords.gperf"
+ {"activeborder", CSSValueActiveborder},
+#line 293 "CSSValueKeywords.gperf"
+ {"block-axis", CSSValueBlockAxis},
+#line 289 "CSSValueKeywords.gperf"
+ {"reverse", CSSValueReverse},
+#line 247 "CSSValueKeywords.gperf"
+ {"bidi-override", CSSValueBidiOverride},
+#line 102 "CSSValueKeywords.gperf"
+ {"buttontext", CSSValueButtontext},
+#line 140 "CSSValueKeywords.gperf"
+ {"destination-atop", CSSValueDestinationAtop},
+#line 469 "CSSValueKeywords.gperf"
+ {"mediumblue", CSSValueMediumblue},
+#line 476 "CSSValueKeywords.gperf"
+ {"mediumvioletred", CSSValueMediumvioletred},
+#line 444 "CSSValueKeywords.gperf"
+ {"ivory", CSSValueIvory},
+#line 381 "CSSValueKeywords.gperf"
+ {"ease-in-out", CSSValueEaseInOut},
+#line 540 "CSSValueKeywords.gperf"
+ {"hanging", CSSValueHanging},
+#line 367 "CSSValueKeywords.gperf"
+ {"content-box", CSSValueContentBox},
+#line 458 "CSSValueKeywords.gperf"
+ {"lightsalmon", CSSValueLightsalmon},
+#line 399 "CSSValueKeywords.gperf"
+ {"burlywood", CSSValueBurlywood},
+#line 436 "CSSValueKeywords.gperf"
+ {"ghostwhite", CSSValueGhostwhite},
+#line 177 "CSSValueKeywords.gperf"
+ {"georgian", CSSValueGeorgian},
+#line 418 "CSSValueKeywords.gperf"
+ {"darkorchid", CSSValueDarkorchid},
#line 244 "CSSValueKeywords.gperf"
{"always", CSSValueAlways},
-#line 436 "CSSValueKeywords.gperf"
- {"greenyellow", CSSValueGreenyellow},
-#line 250 "CSSValueKeywords.gperf"
- {"close-quote", CSSValueCloseQuote},
-#line 480 "CSSValueKeywords.gperf"
- {"olivedrab", CSSValueOlivedrab},
-#line 541 "CSSValueKeywords.gperf"
- {"reset-size", CSSValueResetSize},
-#line 212 "CSSValueKeywords.gperf"
- {"not-allowed", CSSValueNotAllowed},
-#line 96 "CSSValueKeywords.gperf"
- {"activecaption", CSSValueActivecaption},
-#line 99 "CSSValueKeywords.gperf"
- {"buttonface", CSSValueButtonface},
-#line 122 "CSSValueKeywords.gperf"
- {"windowtext", CSSValueWindowtext},
-#line 472 "CSSValueKeywords.gperf"
- {"mediumturquoise", CSSValueMediumturquoise},
+#line 169 "CSSValueKeywords.gperf"
+ {"upper-roman", CSSValueUpperRoman},
+#line 172 "CSSValueKeywords.gperf"
+ {"lower-latin", CSSValueLowerLatin},
+#line 448 "CSSValueKeywords.gperf"
+ {"lawngreen", CSSValueLawngreen},
#line 49 "CSSValueKeywords.gperf"
{"xx-small", CSSValueXxSmall},
-#line 71 "CSSValueKeywords.gperf"
- {"cursive", CSSValueCursive},
-#line 266 "CSSValueKeywords.gperf"
- {"no-close-quote", CSSValueNoCloseQuote},
-#line 427 "CSSValueKeywords.gperf"
+#line 473 "CSSValueKeywords.gperf"
+ {"mediumslateblue", CSSValueMediumslateblue},
+#line 270 "CSSValueKeywords.gperf"
+ {"open-quote", CSSValueOpenQuote},
+#line 472 "CSSValueKeywords.gperf"
+ {"mediumseagreen", CSSValueMediumseagreen},
+#line 325 "CSSValueKeywords.gperf"
+ {"checkbox", CSSValueCheckbox},
+#line 157 "CSSValueKeywords.gperf"
+ {"justify", CSSValueJustify},
+#line 226 "CSSValueKeywords.gperf"
+ {"nwse-resize", CSSValueNwseResize},
+#line 254 "CSSValueKeywords.gperf"
+ {"fixed", CSSValueFixed},
+#line 72 "CSSValueKeywords.gperf"
+ {"fantasy", CSSValueFantasy},
+#line 425 "CSSValueKeywords.gperf"
+ {"darkturquoise", CSSValueDarkturquoise},
+#line 457 "CSSValueKeywords.gperf"
+ {"lightpink", CSSValueLightpink},
+#line 276 "CSSValueKeywords.gperf"
+ {"pre-wrap", CSSValuePreWrap},
+#line 125 "CSSValueKeywords.gperf"
+ {"grey", CSSValueGrey},
+#line 471 "CSSValueKeywords.gperf"
+ {"mediumpurple", CSSValueMediumpurple},
+#line 507 "CSSValueKeywords.gperf"
+ {"slategrey", CSSValueSlategrey},
+#line 328 "CSSValueKeywords.gperf"
+ {"square-button", CSSValueSquareButton},
+#line 506 "CSSValueKeywords.gperf"
+ {"slategray", CSSValueSlategray},
+#line 430 "CSSValueKeywords.gperf"
{"dimgrey", CSSValueDimgrey},
-#line 426 "CSSValueKeywords.gperf"
+#line 137 "CSSValueKeywords.gperf"
+ {"destination-over", CSSValueDestinationOver},
+#line 429 "CSSValueKeywords.gperf"
{"dimgray", CSSValueDimgray},
-#line 488 "CSSValueKeywords.gperf"
- {"peachpuff", CSSValuePeachpuff},
+#line 208 "CSSValueKeywords.gperf"
+ {"context-menu", CSSValueContextMenu},
+#line 528 "CSSValueKeywords.gperf"
+ {"geometricprecision", CSSValueGeometricprecision},
+#line 91 "CSSValueKeywords.gperf"
+ {"yellow", CSSValueYellow},
+#line 316 "CSSValueKeywords.gperf"
+ {"dot-dash", CSSValueDotDash},
+#line 477 "CSSValueKeywords.gperf"
+ {"midnightblue", CSSValueMidnightblue},
+#line 155 "CSSValueKeywords.gperf"
+ {"right", CSSValueRight},
+#line 98 "CSSValueKeywords.gperf"
+ {"background", CSSValueBackground},
+#line 39 "CSSValueKeywords.gperf"
+ {"lighter", CSSValueLighter},
+#line 361 "CSSValueKeywords.gperf"
+ {"textarea", CSSValueTextarea},
#line 225 "CSSValueKeywords.gperf"
{"nesw-resize", CSSValueNeswResize},
-#line 267 "CSSValueKeywords.gperf"
- {"no-open-quote", CSSValueNoOpenQuote},
-#line 539 "CSSValueKeywords.gperf"
+#line 468 "CSSValueKeywords.gperf"
+ {"mediumaquamarine", CSSValueMediumaquamarine},
+#line 110 "CSSValueKeywords.gperf"
+ {"infobackground", CSSValueInfobackground},
+#line 113 "CSSValueKeywords.gperf"
+ {"menutext", CSSValueMenutext},
+#line 542 "CSSValueKeywords.gperf"
{"use-script", CSSValueUseScript},
-#line 405 "CSSValueKeywords.gperf"
- {"darkblue", CSSValueDarkblue},
-#line 291 "CSSValueKeywords.gperf"
- {"inline-axis", CSSValueInlineAxis},
-#line 352 "CSSValueKeywords.gperf"
- {"searchfield", CSSValueSearchfield},
-#line 381 "CSSValueKeywords.gperf"
- {"visiblepainted", CSSValueVisiblepainted},
-#line 254 "CSSValueKeywords.gperf"
- {"fixed", CSSValueFixed},
-#line 442 "CSSValueKeywords.gperf"
- {"khaki", CSSValueKhaki},
-#line 412 "CSSValueKeywords.gperf"
- {"darkmagenta", CSSValueDarkmagenta},
-#line 103 "CSSValueKeywords.gperf"
- {"captiontext", CSSValueCaptiontext},
-#line 515 "CSSValueKeywords.gperf"
- {"yellowgreen", CSSValueYellowgreen},
-#line 486 "CSSValueKeywords.gperf"
- {"palevioletred", CSSValuePalevioletred},
-#line 487 "CSSValueKeywords.gperf"
- {"papayawhip", CSSValuePapayawhip},
-#line 492 "CSSValueKeywords.gperf"
+#line 481 "CSSValueKeywords.gperf"
+ {"navajowhite", CSSValueNavajowhite},
+#line 61 "CSSValueKeywords.gperf"
+ {"ultra-condensed", CSSValueUltraCondensed},
+#line 451 "CSSValueKeywords.gperf"
+ {"lightcoral", CSSValueLightcoral},
+#line 143 "CSSValueKeywords.gperf"
+ {"plus-lighter", CSSValuePlusLighter},
+#line 362 "CSSValueKeywords.gperf"
+ {"caps-lock-indicator", CSSValueCapsLockIndicator},
+#line 168 "CSSValueKeywords.gperf"
+ {"lower-roman", CSSValueLowerRoman},
+#line 495 "CSSValueKeywords.gperf"
{"powderblue", CSSValuePowderblue},
-#line 78 "CSSValueKeywords.gperf"
- {"fuchsia", CSSValueFuchsia},
-#line 409 "CSSValueKeywords.gperf"
- {"darkgreen", CSSValueDarkgreen},
-#line 100 "CSSValueKeywords.gperf"
- {"buttonhighlight", CSSValueButtonhighlight},
-#line 418 "CSSValueKeywords.gperf"
- {"darkseagreen", CSSValueDarkseagreen},
-#line 419 "CSSValueKeywords.gperf"
- {"darkslateblue", CSSValueDarkslateblue},
-#line 414 "CSSValueKeywords.gperf"
- {"darkorange", CSSValueDarkorange},
-#line 186 "CSSValueKeywords.gperf"
- {"run-in", CSSValueRunIn},
-#line 171 "CSSValueKeywords.gperf"
- {"lower-alpha", CSSValueLowerAlpha},
#line 101 "CSSValueKeywords.gperf"
{"buttonshadow", CSSValueButtonshadow},
-#line 180 "CSSValueKeywords.gperf"
- {"katakana", CSSValueKatakana},
-#line 347 "CSSValueKeywords.gperf"
- {"slider-horizontal", CSSValueSliderHorizontal},
-#line 134 "CSSValueKeywords.gperf"
- {"source-in", CSSValueSourceIn},
-#line 188 "CSSValueKeywords.gperf"
- {"inline-block", CSSValueInlineBlock},
-#line 172 "CSSValueKeywords.gperf"
- {"lower-latin", CSSValueLowerLatin},
-#line 394 "CSSValueKeywords.gperf"
- {"blueviolet", CSSValueBlueviolet},
-#line 136 "CSSValueKeywords.gperf"
- {"source-atop", CSSValueSourceAtop},
-#line 226 "CSSValueKeywords.gperf"
- {"nwse-resize", CSSValueNwseResize},
-#line 497 "CSSValueKeywords.gperf"
- {"sandybrown", CSSValueSandybrown},
-#line 208 "CSSValueKeywords.gperf"
- {"context-menu", CSSValueContextMenu},
-#line 168 "CSSValueKeywords.gperf"
- {"lower-roman", CSSValueLowerRoman},
-#line 344 "CSSValueKeywords.gperf"
- {"menulist-button", CSSValueMenulistButton},
-#line 319 "CSSValueKeywords.gperf"
- {"skip-white-space", CSSValueSkipWhiteSpace},
-#line 55 "CSSValueKeywords.gperf"
- {"xx-large", CSSValueXxLarge},
-#line 338 "CSSValueKeywords.gperf"
- {"media-slider", CSSValueMediaSlider},
-#line 366 "CSSValueKeywords.gperf"
- {"content-box", CSSValueContentBox},
-#line 457 "CSSValueKeywords.gperf"
- {"lightskyblue", CSSValueLightskyblue},
-#line 315 "CSSValueKeywords.gperf"
- {"dot-dash", CSSValueDotDash},
-#line 531 "CSSValueKeywords.gperf"
+#line 139 "CSSValueKeywords.gperf"
+ {"destination-out", CSSValueDestinationOut},
+#line 534 "CSSValueKeywords.gperf"
{"after-edge", CSSValueAfterEdge},
-#line 135 "CSSValueKeywords.gperf"
- {"source-out", CSSValueSourceOut},
+#line 413 "CSSValueKeywords.gperf"
+ {"darkgrey", CSSValueDarkgrey},
+#line 411 "CSSValueKeywords.gperf"
+ {"darkgray", CSSValueDarkgray},
+#line 404 "CSSValueKeywords.gperf"
+ {"cornflowerblue", CSSValueCornflowerblue},
+#line 327 "CSSValueKeywords.gperf"
+ {"push-button", CSSValuePushButton},
+#line 31 "CSSValueKeywords.gperf"
+ {"status-bar", CSSValueStatusBar},
#line 228 "CSSValueKeywords.gperf"
{"row-resize", CSSValueRowResize},
-#line 383 "CSSValueKeywords.gperf"
- {"visiblestroke", CSSValueVisiblestroke},
-#line 416 "CSSValueKeywords.gperf"
- {"darkred", CSSValueDarkred},
-#line 107 "CSSValueKeywords.gperf"
- {"inactiveborder", CSSValueInactiveborder},
-#line 102 "CSSValueKeywords.gperf"
- {"buttontext", CSSValueButtontext},
-#line 104 "CSSValueKeywords.gperf"
- {"graytext", CSSValueGraytext},
-#line 378 "CSSValueKeywords.gperf"
- {"ease-in-out", CSSValueEaseInOut},
-#line 138 "CSSValueKeywords.gperf"
- {"destination-in", CSSValueDestinationIn},
-#line 415 "CSSValueKeywords.gperf"
- {"darkorchid", CSSValueDarkorchid},
-#line 143 "CSSValueKeywords.gperf"
- {"plus-lighter", CSSValuePlusLighter},
-#line 473 "CSSValueKeywords.gperf"
- {"mediumvioletred", CSSValueMediumvioletred},
-#line 97 "CSSValueKeywords.gperf"
- {"appworkspace", CSSValueAppworkspace},
-#line 140 "CSSValueKeywords.gperf"
- {"destination-atop", CSSValueDestinationAtop},
-#line 324 "CSSValueKeywords.gperf"
- {"checkbox", CSSValueCheckbox},
-#line 110 "CSSValueKeywords.gperf"
- {"infobackground", CSSValueInfobackground},
-#line 326 "CSSValueKeywords.gperf"
- {"push-button", CSSValuePushButton},
-#line 320 "CSSValueKeywords.gperf"
- {"break-all", CSSValueBreakAll},
-#line 529 "CSSValueKeywords.gperf"
- {"optimizelegibility", CSSValueOptimizelegibility},
-#line 109 "CSSValueKeywords.gperf"
- {"inactivecaptiontext", CSSValueInactivecaptiontext},
-#line 157 "CSSValueKeywords.gperf"
- {"justify", CSSValueJustify},
+#line 121 "CSSValueKeywords.gperf"
+ {"windowframe", CSSValueWindowframe},
+#line 175 "CSSValueKeywords.gperf"
+ {"hebrew", CSSValueHebrew},
+#line 122 "CSSValueKeywords.gperf"
+ {"windowtext", CSSValueWindowtext},
+#line 424 "CSSValueKeywords.gperf"
+ {"darkslategrey", CSSValueDarkslategrey},
+#line 423 "CSSValueKeywords.gperf"
+ {"darkslategray", CSSValueDarkslategray},
+#line 538 "CSSValueKeywords.gperf"
+ {"ideographic", CSSValueIdeographic},
+#line 206 "CSSValueKeywords.gperf"
+ {"vertical-text", CSSValueVerticalText},
#line 173 "CSSValueKeywords.gperf"
{"upper-alpha", CSSValueUpperAlpha},
-#line 349 "CSSValueKeywords.gperf"
- {"sliderthumb-horizontal", CSSValueSliderthumbHorizontal},
-#line 424 "CSSValueKeywords.gperf"
- {"deeppink", CSSValueDeeppink},
-#line 139 "CSSValueKeywords.gperf"
- {"destination-out", CSSValueDestinationOut},
-#line 61 "CSSValueKeywords.gperf"
- {"ultra-condensed", CSSValueUltraCondensed},
-#line 406 "CSSValueKeywords.gperf"
- {"darkcyan", CSSValueDarkcyan},
-#line 174 "CSSValueKeywords.gperf"
- {"upper-latin", CSSValueUpperLatin},
+#line 391 "CSSValueKeywords.gperf"
+ {"antiquewhite", CSSValueAntiquewhite},
+#line 115 "CSSValueKeywords.gperf"
+ {"threeddarkshadow", CSSValueThreeddarkshadow},
+#line 526 "CSSValueKeywords.gperf"
+ {"optimizequality", CSSValueOptimizequality},
#line 148 "CSSValueKeywords.gperf"
{"text-top", CSSValueTextTop},
-#line 296 "CSSValueKeywords.gperf"
- {"backwards", CSSValueBackwards},
-#line 423 "CSSValueKeywords.gperf"
- {"darkviolet", CSSValueDarkviolet},
-#line 357 "CSSValueKeywords.gperf"
- {"textfield", CSSValueTextfield},
-#line 169 "CSSValueKeywords.gperf"
- {"upper-roman", CSSValueUpperRoman},
-#line 327 "CSSValueKeywords.gperf"
- {"square-button", CSSValueSquareButton},
-#line 339 "CSSValueKeywords.gperf"
- {"media-sliderthumb", CSSValueMediaSliderthumb},
-#line 64 "CSSValueKeywords.gperf"
- {"semi-condensed", CSSValueSemiCondensed},
-#line 66 "CSSValueKeywords.gperf"
- {"expanded", CSSValueExpanded},
-#line 323 "CSSValueKeywords.gperf"
- {"after-white-space", CSSValueAfterWhiteSpace},
-#line 306 "CSSValueKeywords.gperf"
- {"read-write", CSSValueReadWrite},
-#line 95 "CSSValueKeywords.gperf"
- {"activeborder", CSSValueActiveborder},
-#line 345 "CSSValueKeywords.gperf"
- {"menulist-text", CSSValueMenulistText},
-#line 396 "CSSValueKeywords.gperf"
- {"burlywood", CSSValueBurlywood},
-#line 523 "CSSValueKeywords.gperf"
- {"optimizequality", CSSValueOptimizequality},
-#line 450 "CSSValueKeywords.gperf"
- {"lightgoldenrodyellow", CSSValueLightgoldenrodyellow},
-#line 422 "CSSValueKeywords.gperf"
- {"darkturquoise", CSSValueDarkturquoise},
-#line 530 "CSSValueKeywords.gperf"
- {"before-edge", CSSValueBeforeEdge},
-#line 26 "CSSValueKeywords.gperf"
- {"message-box", CSSValueMessageBox},
-#line 348 "CSSValueKeywords.gperf"
- {"slider-vertical", CSSValueSliderVertical},
-#line 149 "CSSValueKeywords.gperf"
- {"text-bottom", CSSValueTextBottom},
-#line 269 "CSSValueKeywords.gperf"
- {"open-quote", CSSValueOpenQuote},
+#line 433 "CSSValueKeywords.gperf"
+ {"floralwhite", CSSValueFloralwhite},
#line 178 "CSSValueKeywords.gperf"
{"cjk-ideographic", CSSValueCjkIdeographic},
-#line 98 "CSSValueKeywords.gperf"
- {"background", CSSValueBackground},
-#line 410 "CSSValueKeywords.gperf"
- {"darkgrey", CSSValueDarkgrey},
-#line 195 "CSSValueKeywords.gperf"
- {"table-column-group", CSSValueTableColumnGroup},
-#line 408 "CSSValueKeywords.gperf"
- {"darkgray", CSSValueDarkgray},
-#line 340 "CSSValueKeywords.gperf"
- {"media-timeline-container", CSSValueMediaTimelineContainer},
#line 365 "CSSValueKeywords.gperf"
{"border-box", CSSValueBorderBox},
-#line 330 "CSSValueKeywords.gperf"
- {"default-button", CSSValueDefaultButton},
-#line 292 "CSSValueKeywords.gperf"
- {"block-axis", CSSValueBlockAxis},
-#line 247 "CSSValueKeywords.gperf"
- {"bidi-override", CSSValueBidiOverride},
-#line 115 "CSSValueKeywords.gperf"
- {"threeddarkshadow", CSSValueThreeddarkshadow},
-#line 413 "CSSValueKeywords.gperf"
- {"darkolivegreen", CSSValueDarkolivegreen},
-#line 191 "CSSValueKeywords.gperf"
- {"table-row-group", CSSValueTableRowGroup},
-#line 421 "CSSValueKeywords.gperf"
- {"darkslategrey", CSSValueDarkslategrey},
-#line 420 "CSSValueKeywords.gperf"
- {"darkslategray", CSSValueDarkslategray},
-#line 364 "CSSValueKeywords.gperf"
+#line 440 "CSSValueKeywords.gperf"
+ {"honeydew", CSSValueHoneydew},
+#line 271 "CSSValueKeywords.gperf"
+ {"overlay", CSSValueOverlay},
+#line 322 "CSSValueKeywords.gperf"
+ {"break-word", CSSValueBreakWord},
+#line 450 "CSSValueKeywords.gperf"
+ {"lightblue", CSSValueLightblue},
+#line 500 "CSSValueKeywords.gperf"
+ {"sandybrown", CSSValueSandybrown},
+#line 496 "CSSValueKeywords.gperf"
+ {"rosybrown", CSSValueRosybrown},
+#line 439 "CSSValueKeywords.gperf"
+ {"greenyellow", CSSValueGreenyellow},
+#line 532 "CSSValueKeywords.gperf"
+ {"optimizelegibility", CSSValueOptimizelegibility},
+#line 369 "CSSValueKeywords.gperf"
{"padding-box", CSSValuePaddingBox},
-#line 373 "CSSValueKeywords.gperf"
- {"preserve-3d", CSSValuePreserve3d},
-#line 133 "CSSValueKeywords.gperf"
- {"source-over", CSSValueSourceOver},
-#line 128 "CSSValueKeywords.gperf"
- {"repeat-x", CSSValueRepeatX},
-#line 334 "CSSValueKeywords.gperf"
- {"media-mute-button", CSSValueMediaMuteButton},
-#line 407 "CSSValueKeywords.gperf"
- {"darkgoldenrod", CSSValueDarkgoldenrod},
-#line 129 "CSSValueKeywords.gperf"
- {"repeat-y", CSSValueRepeatY},
#line 182 "CSSValueKeywords.gperf"
{"katakana-iroha", CSSValueKatakanaIroha},
+#line 320 "CSSValueKeywords.gperf"
+ {"skip-white-space", CSSValueSkipWhiteSpace},
+#line 470 "CSSValueKeywords.gperf"
+ {"mediumorchid", CSSValueMediumorchid},
+#line 463 "CSSValueKeywords.gperf"
+ {"lightsteelblue", CSSValueLightsteelblue},
+#line 455 "CSSValueKeywords.gperf"
+ {"lightgreen", CSSValueLightgreen},
+#line 65 "CSSValueKeywords.gperf"
+ {"semi-expanded", CSSValueSemiExpanded},
+#line 459 "CSSValueKeywords.gperf"
+ {"lightseagreen", CSSValueLightseagreen},
+#line 347 "CSSValueKeywords.gperf"
+ {"menulist-button", CSSValueMenulistButton},
+#line 350 "CSSValueKeywords.gperf"
+ {"slider-horizontal", CSSValueSliderHorizontal},
+#line 128 "CSSValueKeywords.gperf"
+ {"repeat-x", CSSValueRepeatX},
#line 170 "CSSValueKeywords.gperf"
{"lower-greek", CSSValueLowerGreek},
-#line 305 "CSSValueKeywords.gperf"
- {"read-only", CSSValueReadOnly},
-#line 350 "CSSValueKeywords.gperf"
- {"sliderthumb-vertical", CSSValueSliderthumbVertical},
-#line 321 "CSSValueKeywords.gperf"
- {"break-word", CSSValueBreakWord},
+#line 475 "CSSValueKeywords.gperf"
+ {"mediumturquoise", CSSValueMediumturquoise},
+#line 171 "CSSValueKeywords.gperf"
+ {"lower-alpha", CSSValueLowerAlpha},
+#line 55 "CSSValueKeywords.gperf"
+ {"xx-large", CSSValueXxLarge},
+#line 104 "CSSValueKeywords.gperf"
+ {"graytext", CSSValueGraytext},
+#line 129 "CSSValueKeywords.gperf"
+ {"repeat-y", CSSValueRepeatY},
+#line 490 "CSSValueKeywords.gperf"
+ {"papayawhip", CSSValuePapayawhip},
+#line 360 "CSSValueKeywords.gperf"
+ {"textfield", CSSValueTextfield},
+#line 149 "CSSValueKeywords.gperf"
+ {"text-bottom", CSSValueTextBottom},
+#line 533 "CSSValueKeywords.gperf"
+ {"before-edge", CSSValueBeforeEdge},
#line 62 "CSSValueKeywords.gperf"
{"extra-condensed", CSSValueExtraCondensed},
-#line 329 "CSSValueKeywords.gperf"
- {"button-bevel", CSSValueButtonBevel},
-#line 411 "CSSValueKeywords.gperf"
- {"darkkhaki", CSSValueDarkkhaki},
-#line 137 "CSSValueKeywords.gperf"
- {"destination-over", CSSValueDestinationOver},
+#line 447 "CSSValueKeywords.gperf"
+ {"lavenderblush", CSSValueLavenderblush},
+#line 26 "CSSValueKeywords.gperf"
+ {"message-box", CSSValueMessageBox},
+#line 348 "CSSValueKeywords.gperf"
+ {"menulist-text", CSSValueMenulistText},
+#line 474 "CSSValueKeywords.gperf"
+ {"mediumspringgreen", CSSValueMediumspringgreen},
+#line 452 "CSSValueKeywords.gperf"
+ {"lightcyan", CSSValueLightcyan},
+#line 307 "CSSValueKeywords.gperf"
+ {"read-write", CSSValueReadWrite},
+#line 257 "CSSValueKeywords.gperf"
+ {"higher", CSSValueHigher},
+#line 518 "CSSValueKeywords.gperf"
+ {"yellowgreen", CSSValueYellowgreen},
+#line 317 "CSSValueKeywords.gperf"
+ {"dot-dot-dash", CSSValueDotDotDash},
+#line 449 "CSSValueKeywords.gperf"
+ {"lemonchiffon", CSSValueLemonchiffon},
+#line 306 "CSSValueKeywords.gperf"
+ {"read-only", CSSValueReadOnly},
+#line 355 "CSSValueKeywords.gperf"
+ {"searchfield", CSSValueSearchfield},
+#line 181 "CSSValueKeywords.gperf"
+ {"hiragana-iroha", CSSValueHiraganaIroha},
+#line 195 "CSSValueKeywords.gperf"
+ {"table-column-group", CSSValueTableColumnGroup},
+#line 118 "CSSValueKeywords.gperf"
+ {"threedlightshadow", CSSValueThreedlightshadow},
+#line 335 "CSSValueKeywords.gperf"
+ {"media-mute-button", CSSValueMediaMuteButton},
#line 68 "CSSValueKeywords.gperf"
{"ultra-expanded", CSSValueUltraExpanded},
-#line 193 "CSSValueKeywords.gperf"
- {"table-footer-group", CSSValueTableFooterGroup},
-#line 192 "CSSValueKeywords.gperf"
- {"table-header-group", CSSValueTableHeaderGroup},
-#line 206 "CSSValueKeywords.gperf"
- {"vertical-text", CSSValueVerticalText},
-#line 65 "CSSValueKeywords.gperf"
- {"semi-expanded", CSSValueSemiExpanded},
-#line 142 "CSSValueKeywords.gperf"
- {"plus-darker", CSSValuePlusDarker},
-#line 425 "CSSValueKeywords.gperf"
- {"deepskyblue", CSSValueDeepskyblue},
-#line 333 "CSSValueKeywords.gperf"
- {"media-fullscreen-button", CSSValueMediaFullscreenButton},
+#line 331 "CSSValueKeywords.gperf"
+ {"default-button", CSSValueDefaultButton},
+#line 93 "CSSValueKeywords.gperf"
+ {"-webkit-link", CSSValueWebkitLink},
+#line 167 "CSSValueKeywords.gperf"
+ {"decimal-leading-zero", CSSValueDecimalLeadingZero},
#line 353 "CSSValueKeywords.gperf"
- {"searchfield-decoration", CSSValueSearchfieldDecoration},
-#line 346 "CSSValueKeywords.gperf"
- {"menulist-textfield", CSSValueMenulistTextfield},
-#line 316 "CSSValueKeywords.gperf"
- {"dot-dot-dash", CSSValueDotDotDash},
-#line 335 "CSSValueKeywords.gperf"
- {"media-play-button", CSSValueMediaPlayButton},
-#line 67 "CSSValueKeywords.gperf"
- {"extra-expanded", CSSValueExtraExpanded},
-#line 356 "CSSValueKeywords.gperf"
- {"searchfield-cancel-button", CSSValueSearchfieldCancelButton},
-#line 359 "CSSValueKeywords.gperf"
- {"caps-lock-indicator", CSSValueCapsLockIndicator},
-#line 153 "CSSValueKeywords.gperf"
- {"-webkit-auto", CSSValueWebkitAuto},
+ {"sliderthumb-vertical", CSSValueSliderthumbVertical},
+#line 94 "CSSValueKeywords.gperf"
+ {"-webkit-activelink", CSSValueWebkitActivelink},
+#line 464 "CSSValueKeywords.gperf"
+ {"lightyellow", CSSValueLightyellow},
+#line 428 "CSSValueKeywords.gperf"
+ {"deepskyblue", CSSValueDeepskyblue},
+#line 191 "CSSValueKeywords.gperf"
+ {"table-row-group", CSSValueTableRowGroup},
+#line 342 "CSSValueKeywords.gperf"
+ {"media-sliderthumb", CSSValueMediaSliderthumb},
#line 160 "CSSValueKeywords.gperf"
{"-webkit-center", CSSValueWebkitCenter},
-#line 167 "CSSValueKeywords.gperf"
- {"decimal-leading-zero", CSSValueDecimalLeadingZero},
+#line 337 "CSSValueKeywords.gperf"
+ {"media-seek-back-button", CSSValueMediaSeekBackButton},
#line 30 "CSSValueKeywords.gperf"
{"-webkit-control", CSSValueWebkitControl},
-#line 355 "CSSValueKeywords.gperf"
- {"searchfield-results-button", CSSValueSearchfieldResultsButton},
-#line 284 "CSSValueKeywords.gperf"
- {"-webkit-nowrap", CSSValueWebkitNowrap},
-#line 159 "CSSValueKeywords.gperf"
- {"-webkit-right", CSSValueWebkitRight},
-#line 534 "CSSValueKeywords.gperf"
- {"text-after-edge", CSSValueTextAfterEdge},
+#line 261 "CSSValueKeywords.gperf"
+ {"line-through", CSSValueLineThrough},
+#line 153 "CSSValueKeywords.gperf"
+ {"-webkit-auto", CSSValueWebkitAuto},
+#line 456 "CSSValueKeywords.gperf"
+ {"lightgrey", CSSValueLightgrey},
+#line 454 "CSSValueKeywords.gperf"
+ {"lightgray", CSSValueLightgray},
+#line 324 "CSSValueKeywords.gperf"
+ {"after-white-space", CSSValueAfterWhiteSpace},
+#line 460 "CSSValueKeywords.gperf"
+ {"lightskyblue", CSSValueLightskyblue},
+#line 491 "CSSValueKeywords.gperf"
+ {"peachpuff", CSSValuePeachpuff},
+#line 336 "CSSValueKeywords.gperf"
+ {"media-play-button", CSSValueMediaPlayButton},
+#line 339 "CSSValueKeywords.gperf"
+ {"media-rewind-button", CSSValueMediaRewindButton},
+#line 117 "CSSValueKeywords.gperf"
+ {"threedhighlight", CSSValueThreedhighlight},
+#line 67 "CSSValueKeywords.gperf"
+ {"extra-expanded", CSSValueExtraExpanded},
+#line 462 "CSSValueKeywords.gperf"
+ {"lightslategrey", CSSValueLightslategrey},
+#line 461 "CSSValueKeywords.gperf"
+ {"lightslategray", CSSValueLightslategray},
+#line 213 "CSSValueKeywords.gperf"
+ {"-webkit-zoom-in", CSSValueWebkitZoomIn},
+#line 193 "CSSValueKeywords.gperf"
+ {"table-footer-group", CSSValueTableFooterGroup},
+#line 349 "CSSValueKeywords.gperf"
+ {"menulist-textfield", CSSValueMenulistTextfield},
#line 158 "CSSValueKeywords.gperf"
{"-webkit-left", CSSValueWebkitLeft},
+#line 105 "CSSValueKeywords.gperf"
+ {"highlight", CSSValueHighlight},
+#line 285 "CSSValueKeywords.gperf"
+ {"-webkit-nowrap", CSSValueWebkitNowrap},
+#line 192 "CSSValueKeywords.gperf"
+ {"table-header-group", CSSValueTableHeaderGroup},
+#line 265 "CSSValueKeywords.gperf"
+ {"-webkit-marquee", CSSValueWebkitMarquee},
+#line 343 "CSSValueKeywords.gperf"
+ {"media-controls-background", CSSValueMediaControlsBackground},
#line 233 "CSSValueKeywords.gperf"
{"-webkit-grab", CSSValueWebkitGrab},
-#line 533 "CSSValueKeywords.gperf"
- {"text-before-edge", CSSValueTextBeforeEdge},
-#line 354 "CSSValueKeywords.gperf"
- {"searchfield-results-decoration", CSSValueSearchfieldResultsDecoration},
-#line 93 "CSSValueKeywords.gperf"
- {"-webkit-link", CSSValueWebkitLink},
-#line 264 "CSSValueKeywords.gperf"
- {"-webkit-marquee", CSSValueWebkitMarquee},
-#line 126 "CSSValueKeywords.gperf"
- {"-webkit-text", CSSValueWebkitText},
-#line 199 "CSSValueKeywords.gperf"
- {"-webkit-box", CSSValueWebkitBox},
-#line 234 "CSSValueKeywords.gperf"
- {"-webkit-grabbing", CSSValueWebkitGrabbing},
-#line 213 "CSSValueKeywords.gperf"
- {"-webkit-zoom-in", CSSValueWebkitZoomIn},
-#line 342 "CSSValueKeywords.gperf"
- {"media-time-remaining-display", CSSValueMediaTimeRemainingDisplay},
-#line 341 "CSSValueKeywords.gperf"
- {"media-current-time-display", CSSValueMediaCurrentTimeDisplay},
#line 29 "CSSValueKeywords.gperf"
{"-webkit-small-control", CSSValueWebkitSmallControl},
-#line 214 "CSSValueKeywords.gperf"
- {"-webkit-zoom-out", CSSValueWebkitZoomOut},
+#line 126 "CSSValueKeywords.gperf"
+ {"-webkit-text", CSSValueWebkitText},
#line 28 "CSSValueKeywords.gperf"
{"-webkit-mini-control", CSSValueWebkitMiniControl},
-#line 336 "CSSValueKeywords.gperf"
- {"media-seek-back-button", CSSValueMediaSeekBackButton},
+#line 334 "CSSValueKeywords.gperf"
+ {"media-fullscreen-button", CSSValueMediaFullscreenButton},
+#line 214 "CSSValueKeywords.gperf"
+ {"-webkit-zoom-out", CSSValueWebkitZoomOut},
+#line 100 "CSSValueKeywords.gperf"
+ {"buttonhighlight", CSSValueButtonhighlight},
+#line 199 "CSSValueKeywords.gperf"
+ {"-webkit-box", CSSValueWebkitBox},
+#line 352 "CSSValueKeywords.gperf"
+ {"sliderthumb-horizontal", CSSValueSliderthumbHorizontal},
+#line 356 "CSSValueKeywords.gperf"
+ {"searchfield-decoration", CSSValueSearchfieldDecoration},
+#line 152 "CSSValueKeywords.gperf"
+ {"-webkit-baseline-middle", CSSValueWebkitBaselineMiddle},
#line 74 "CSSValueKeywords.gperf"
{"-webkit-body", CSSValueWebkitBody},
-#line 337 "CSSValueKeywords.gperf"
- {"media-seek-forward-button", CSSValueMediaSeekForwardButton},
-#line 94 "CSSValueKeywords.gperf"
- {"-webkit-activelink", CSSValueWebkitActivelink},
+#line 453 "CSSValueKeywords.gperf"
+ {"lightgoldenrodyellow", CSSValueLightgoldenrodyellow},
+#line 537 "CSSValueKeywords.gperf"
+ {"text-after-edge", CSSValueTextAfterEdge},
+#line 345 "CSSValueKeywords.gperf"
+ {"media-time-remaining-display", CSSValueMediaTimeRemainingDisplay},
+#line 159 "CSSValueKeywords.gperf"
+ {"-webkit-right", CSSValueWebkitRight},
+#line 536 "CSSValueKeywords.gperf"
+ {"text-before-edge", CSSValueTextBeforeEdge},
+#line 234 "CSSValueKeywords.gperf"
+ {"-webkit-grabbing", CSSValueWebkitGrabbing},
#line 200 "CSSValueKeywords.gperf"
{"-webkit-inline-box", CSSValueWebkitInlineBox},
-#line 307 "CSSValueKeywords.gperf"
+#line 344 "CSSValueKeywords.gperf"
+ {"media-current-time-display", CSSValueMediaCurrentTimeDisplay},
+#line 106 "CSSValueKeywords.gperf"
+ {"highlighttext", CSSValueHighlighttext},
+#line 359 "CSSValueKeywords.gperf"
+ {"searchfield-cancel-button", CSSValueSearchfieldCancelButton},
+#line 338 "CSSValueKeywords.gperf"
+ {"media-seek-forward-button", CSSValueMediaSeekForwardButton},
+#line 340 "CSSValueKeywords.gperf"
+ {"media-return-to-realtime-button", CSSValueMediaReturnToRealtimeButton},
+#line 357 "CSSValueKeywords.gperf"
+ {"searchfield-results-decoration", CSSValueSearchfieldResultsDecoration},
+#line 358 "CSSValueKeywords.gperf"
+ {"searchfield-results-button", CSSValueSearchfieldResultsButton},
+#line 308 "CSSValueKeywords.gperf"
{"read-write-plaintext-only", CSSValueReadWritePlaintextOnly},
-#line 152 "CSSValueKeywords.gperf"
- {"-webkit-baseline-middle", CSSValueWebkitBaselineMiddle},
#line 123 "CSSValueKeywords.gperf"
{"-webkit-focus-ring-color", CSSValueWebkitFocusRingColor},
#line 56 "CSSValueKeywords.gperf"
@@ -1277,477 +1286,391 @@ findValue (register const char *str, register unsigned int len)
{
0, -1, -1, -1, -1, 1, -1, -1, -1, -1,
2, -1, -1, -1, -1, 3, -1, -1, -1, -1,
- 4, -1, 5, -1, -1, 6, 7, -1, -1, -1,
- 8, -1, -1, -1, -1, 9, 10, -1, -1, -1,
- 11, 12, -1, -1, -1, 13, 14, -1, -1, -1,
- 15, 16, -1, -1, -1, 17, -1, -1, -1, -1,
- 18, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 19, -1, -1, -1, -1,
- 20, 21, -1, -1, -1, 22, 23, -1, -1, -1,
- -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4, 5, -1, -1, -1, 6, -1, -1, -1, -1,
+ 7, -1, -1, -1, -1, 8, -1, -1, -1, -1,
+ 9, -1, -1, -1, -1, 10, -1, -1, -1, -1,
+ 11, -1, -1, -1, -1, 12, -1, -1, -1, -1,
+ 13, -1, 14, -1, -1, -1, 15, -1, -1, -1,
+ -1, -1, -1, -1, -1, 16, -1, -1, -1, -1,
+ 17, -1, -1, -1, -1, 18, 19, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 21, -1, -1, -1,
+ 22, -1, -1, -1, -1, 23, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 24, -1, -1, -1, -1, -1, -1, -1, -1, -1,
25, -1, -1, -1, -1, 26, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 27, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 28, 29, -1, -1, -1, 30, 31, -1, -1, -1,
- -1, -1, -1, -1, -1, 32, -1, -1, -1, -1,
- 33, -1, -1, -1, -1, 34, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 35, 36, -1, -1,
- 37, -1, 38, -1, -1, -1, 39, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
- -1, 41, -1, -1, -1, 42, 43, 44, -1, -1,
- -1, 45, -1, 46, -1, 47, -1, -1, -1, -1,
- -1, 48, -1, -1, 49, -1, -1, -1, -1, -1,
- -1, 50, -1, -1, -1, 51, 52, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 53, -1, 54, -1, -1, 55, -1, -1, -1, -1,
- 56, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 57, -1, -1, -1, 58, -1, 59, -1, -1,
- 60, -1, -1, 61, -1, 62, -1, -1, -1, -1,
- 63, -1, 64, 65, -1, -1, 66, 67, -1, -1,
- 68, -1, -1, -1, -1, 69, 70, -1, -1, -1,
- -1, 71, -1, 72, -1, -1, -1, -1, -1, -1,
- -1, -1, 73, 74, -1, 75, 76, -1, -1, -1,
- -1, -1, -1, 77, -1, -1, -1, -1, -1, -1,
- -1, 78, -1, -1, -1, 79, 80, -1, -1, -1,
- 81, -1, -1, -1, -1, 82, 83, -1, -1, -1,
- 84, 85, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 86, -1, 87, -1, -1, -1, 88, -1, -1, -1,
- -1, 89, -1, -1, -1, 90, -1, -1, -1, -1,
- -1, 91, 92, -1, -1, 93, 94, 95, -1, -1,
- -1, 96, -1, -1, 97, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 98, -1, 99, -1, -1, 100, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 101, -1, -1, -1, -1,
- -1, 102, -1, -1, -1, -1, 103, -1, -1, -1,
- 104, -1, 105, -1, -1, 106, 107, -1, -1, -1,
- 108, -1, 109, -1, -1, -1, -1, 110, 111, -1,
- -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
- 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 114, -1, -1, -1,
- 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
- -1, -1, -1, -1, -1, 117, 118, -1, -1, -1,
- 119, -1, -1, -1, -1, 120, -1, -1, -1, -1,
- -1, -1, -1, -1, 121, -1, -1, -1, -1, -1,
- -1, -1, -1, 122, 123, -1, 124, -1, -1, -1,
- 125, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 126, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 127, -1, -1, -1,
- -1, 128, -1, -1, -1, -1, 129, -1, -1, -1,
- 130, -1, -1, -1, -1, 131, -1, -1, -1, -1,
- 132, -1, 133, -1, -1, -1, -1, -1, -1, -1,
- 134, -1, -1, -1, 135, -1, -1, -1, -1, -1,
- 136, -1, -1, -1, -1, 137, -1, -1, -1, -1,
- -1, 138, -1, -1, -1, 139, -1, -1, -1, -1,
- 140, -1, -1, -1, -1, -1, 141, -1, 142, -1,
- 143, -1, -1, -1, -1, 144, -1, -1, -1, -1,
- 145, 146, -1, -1, -1, -1, 147, -1, -1, -1,
- 148, -1, -1, -1, -1, 149, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 150, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 151, -1, -1, -1, -1,
- 152, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 153, -1, -1, -1,
- -1, 154, -1, -1, -1, -1, 155, -1, -1, -1,
- 156, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 157, -1, 158, 159, 160, 161, -1,
- 162, 163, -1, -1, -1, 164, -1, -1, -1, -1,
- -1, 165, -1, -1, -1, 166, -1, -1, -1, -1,
- 167, 168, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 169, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 170, -1, -1,
- -1, -1, 171, -1, -1, 172, 173, -1, -1, -1,
- -1, 174, -1, -1, -1, 175, -1, 176, -1, -1,
- -1, 177, -1, -1, -1, 178, 179, 180, -1, -1,
- 181, 182, -1, 183, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 184, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 185, 186, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 187, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 188, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 189, -1, -1, -1, -1, -1, 190, -1, -1,
- 191, -1, -1, -1, -1, -1, 192, -1, -1, -1,
- 193, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 194, 195, -1, -1, 196, -1, -1, -1, -1,
- 197, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 198, -1, -1, -1, -1,
- -1, 199, -1, -1, -1, 200, -1, 201, -1, -1,
- 202, -1, 203, -1, -1, -1, 204, -1, -1, -1,
- -1, -1, -1, -1, -1, 205, -1, -1, -1, -1,
- 206, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 207, -1, -1, -1, -1,
- 208, -1, 209, -1, -1, 210, -1, 211, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 212, 213, 214, -1, -1, -1, 215, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 216, -1, -1, -1, -1, 217, 218, -1, -1, -1,
- 219, -1, -1, -1, -1, 220, 221, -1, -1, -1,
- 222, -1, -1, -1, -1, -1, 223, -1, 224, -1,
- 225, 226, -1, -1, 227, -1, 228, -1, -1, -1,
- 229, 230, -1, -1, -1, -1, -1, -1, -1, -1,
- 231, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 232, -1, -1, -1, -1, 233, 234, -1, -1, -1,
- 235, -1, 236, -1, -1, -1, -1, -1, -1, -1,
- 237, 238, -1, -1, -1, 239, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 240, 241, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 242, 243, -1, -1, -1,
- -1, 244, 245, -1, -1, -1, -1, 246, -1, -1,
- -1, -1, -1, 247, -1, -1, -1, -1, -1, -1,
- 248, 249, -1, -1, -1, -1, 250, -1, -1, -1,
- -1, 251, 252, -1, -1, 253, 254, -1, -1, -1,
- 255, -1, 256, -1, -1, 257, -1, -1, -1, -1,
- -1, 258, -1, -1, -1, -1, -1, -1, -1, -1,
- 259, -1, -1, -1, -1, 260, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 27, -1, 28, -1, -1,
+ -1, 29, 30, -1, -1, 31, -1, 32, -1, -1,
+ -1, 33, -1, -1, -1, -1, 34, -1, -1, -1,
+ -1, 35, -1, -1, -1, -1, 36, 37, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 38, -1, -1, -1, -1,
+ -1, 39, -1, -1, -1, 40, 41, -1, -1, -1,
+ -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 43, -1, -1, -1, 44, -1, -1, -1, -1,
+ 45, -1, -1, -1, -1, 46, -1, -1, -1, -1,
+ 47, -1, 48, -1, -1, -1, 49, -1, -1, -1,
+ 50, -1, -1, -1, -1, -1, 51, -1, -1, -1,
+ 52, -1, 53, -1, -1, -1, -1, 54, -1, -1,
+ -1, 55, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 56, -1, -1, -1, -1, 57, -1, -1, -1, -1,
+ 58, 59, -1, -1, -1, -1, -1, -1, -1, -1,
+ 60, -1, -1, -1, -1, 61, -1, -1, -1, -1,
+ 62, -1, -1, -1, -1, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 64, 65, -1, -1, -1,
+ 66, -1, 67, -1, -1, 68, -1, 69, -1, -1,
+ 70, 71, -1, -1, -1, -1, 72, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 73, -1, -1, -1,
+ -1, 74, -1, -1, -1, 75, -1, -1, -1, -1,
+ 76, -1, 77, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
+ -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 80, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 81, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 82, -1, -1, 83, 84, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 85, -1, -1,
+ -1, 86, 87, -1, -1, -1, 88, -1, -1, -1,
+ -1, 89, -1, 90, -1, 91, -1, 92, -1, -1,
+ 93, -1, -1, -1, -1, -1, 94, 95, -1, -1,
+ -1, 96, -1, -1, -1, -1, 97, -1, -1, -1,
+ -1, 98, 99, -1, -1, 100, -1, -1, -1, -1,
+ -1, 101, 102, -1, -1, -1, 103, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 104, -1, -1, -1,
+ 105, -1, 106, -1, -1, 107, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 108, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 110, -1, 111, -1, -1, 112, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 113, -1, -1, -1,
+ -1, -1, 114, -1, -1, -1, -1, -1, -1, -1,
+ -1, 115, -1, -1, -1, 116, 117, 118, -1, -1,
+ 119, -1, -1, -1, -1, -1, 120, 121, -1, -1,
+ 122, 123, -1, -1, -1, 124, 125, -1, -1, -1,
+ 126, -1, 127, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 128, -1, -1, 129, -1, -1, -1, -1,
+ -1, 130, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 131, -1, -1, -1, -1, 132, 133, -1, -1,
+ -1, -1, -1, 134, -1, -1, -1, 135, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 136, -1, -1, -1, 137, -1, -1, -1,
+ 138, 139, -1, -1, -1, 140, -1, -1, -1, -1,
+ -1, 141, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 142, -1, -1, -1,
+ -1, 143, -1, -1, -1, -1, -1, -1, -1, -1,
+ 144, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 145, -1, -1, 146, 147, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 148, -1,
+ 149, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 150, 151, -1, -1, -1, 152, 153, -1, -1, -1,
+ 154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 155, 156, -1, -1, -1, 157, -1, -1, -1, -1,
+ 158, -1, -1, -1, -1, -1, 159, 160, -1, -1,
+ 161, 162, -1, -1, -1, 163, -1, -1, -1, -1,
+ 164, -1, -1, -1, -1, 165, -1, -1, -1, -1,
+ -1, 166, 167, -1, -1, 168, -1, 169, -1, -1,
+ -1, 170, 171, -1, -1, -1, 172, 173, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 174, 175, -1, -1, -1, 176, 177, -1, -1, -1,
+ -1, 178, -1, -1, -1, -1, 179, -1, -1, -1,
+ 180, 181, 182, -1, -1, 183, -1, -1, -1, -1,
+ 184, -1, -1, -1, -1, 185, 186, 187, -1, -1,
+ -1, -1, -1, -1, -1, 188, 189, 190, -1, -1,
+ -1, -1, -1, -1, -1, -1, 191, -1, -1, -1,
+ -1, 192, -1, -1, -1, -1, 193, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 194, -1, -1, -1,
+ 195, -1, 196, -1, -1, 197, -1, -1, -1, -1,
+ 198, 199, -1, -1, -1, 200, -1, -1, 201, -1,
+ 202, -1, -1, -1, -1, 203, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 204, -1, -1, 205, -1,
+ -1, -1, -1, -1, -1, 206, -1, -1, -1, -1,
+ 207, -1, -1, -1, -1, -1, 208, 209, 210, -1,
+ 211, -1, -1, -1, -1, 212, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 213,
+ 214, -1, -1, -1, -1, 215, 216, -1, -1, -1,
+ -1, 217, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 218, 219, -1, -1, -1, -1, -1, -1, -1, -1,
+ 220, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 221, -1, -1, -1, -1, -1, -1, 222, -1, -1,
+ -1, -1, -1, -1, -1, 223, -1, -1, -1, -1,
+ 224, 225, -1, -1, -1, 226, -1, 227, -1, -1,
+ -1, -1, -1, -1, -1, 228, 229, -1, -1, -1,
+ -1, 230, -1, -1, -1, 231, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 232, 233, -1, 234, -1,
+ -1, 235, -1, -1, -1, -1, -1, -1, -1, -1,
+ 236, -1, 237, -1, -1, 238, -1, -1, -1, -1,
+ 239, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 240, -1, -1, -1, -1, -1, 241, -1, -1,
+ 242, 243, 244, -1, -1, -1, -1, 245, -1, -1,
+ -1, 246, -1, -1, -1, -1, -1, -1, 247, -1,
+ -1, 248, -1, -1, -1, 249, 250, 251, -1, -1,
+ 252, -1, -1, -1, -1, -1, -1, 253, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 254,
+ -1, 255, -1, -1, -1, 256, -1, -1, -1, -1,
+ 257, 258, -1, -1, -1, -1, -1, 259, -1, -1,
+ 260, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 261, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
- 263, 264, -1, -1, -1, -1, -1, 265, -1, -1,
- -1, -1, -1, -1, -1, 266, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 267, -1, -1, 268, -1, 269, 270, -1, -1, -1,
- -1, -1, -1, -1, -1, 271, -1, -1, -1, -1,
- -1, 272, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 273, -1, -1, -1, -1, -1, -1, 274, -1,
- -1, 275, -1, -1, -1, 276, 277, 278, -1, -1,
- -1, -1, -1, -1, -1, 279, -1, -1, -1, -1,
- -1, 280, -1, -1, -1, 281, -1, -1, -1, -1,
- 282, -1, -1, -1, -1, 283, 284, -1, -1, -1,
- -1, 285, -1, -1, -1, 286, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 287, 288, -1, -1,
- -1, 289, -1, -1, -1, 290, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 291, 292, -1, -1, -1,
- 293, -1, -1, -1, -1, 294, -1, 295, -1, -1,
- -1, -1, -1, -1, -1, 296, -1, -1, -1, -1,
- 297, -1, -1, -1, 298, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 299, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 300, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 301, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 302, -1, 303, -1, 304, -1, -1, -1, -1,
- 305, -1, -1, -1, -1, -1, 306, -1, -1, -1,
- -1, 307, -1, -1, -1, 308, -1, -1, -1, -1,
- 309, -1, -1, -1, -1, 310, -1, -1, -1, -1,
- 311, -1, -1, -1, -1, 312, -1, -1, -1, -1,
- -1, -1, 313, -1, -1, -1, -1, -1, -1, -1,
- -1, 314, -1, -1, -1, -1, 315, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 316, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 317,
- -1, -1, 318, -1, -1, -1, -1, 319, -1, -1,
- -1, -1, 320, -1, -1, -1, 321, -1, -1, -1,
- -1, -1, 322, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 262, -1, -1, 263, -1, -1, 264, -1, -1,
+ -1, -1, 265, -1, -1, -1, -1, 266, -1, -1,
+ -1, 267, -1, -1, -1, 268, -1, -1, 269, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 270, -1, -1, -1, -1, 271, 272, -1, -1, -1,
+ -1, -1, -1, 273, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 274, -1, 275, -1, -1, -1,
+ -1, -1, 276, -1, -1, -1, -1, -1, -1, -1,
+ 277, -1, -1, -1, -1, -1, 278, -1, -1, -1,
+ -1, 279, -1, -1, -1, 280, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 323, -1, -1, -1,
- -1, 324, 325, -1, -1, 326, -1, -1, -1, -1,
+ -1, -1, 281, -1, -1, -1, -1, -1, 282, -1,
+ -1, -1, -1, 283, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 284, 285, -1, -1,
+ -1, -1, -1, -1, -1, -1, 286, -1, 287, -1,
+ -1, -1, -1, -1, -1, -1, -1, 288, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 327, -1, -1, -1, -1,
- 328, -1, -1, 329, -1, 330, 331, -1, -1, -1,
- 332, -1, -1, -1, -1, 333, 334, -1, -1, -1,
- -1, 335, 336, -1, -1, -1, -1, -1, -1, -1,
- 337, -1, -1, -1, -1, 338, -1, 339, -1, -1,
- -1, -1, -1, -1, -1, -1, 340, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 289, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 341, -1, -1, -1,
+ -1, 290, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 291, -1, -1, -1, -1, -1, 292, -1, -1,
+ 293, -1, 294, -1, -1, 295, -1, -1, -1, -1,
+ -1, 296, -1, -1, -1, 297, -1, -1, -1, -1,
+ 298, 299, 300, 301, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 302, -1, 303, -1, 304, -1, -1,
+ -1, 305, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 306, -1, -1, -1, 307, 308, -1, -1,
+ -1, 309, -1, -1, -1, -1, 310, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 342, -1, -1, -1,
+ -1, 311, -1, -1, -1, -1, -1, -1, 312, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 343, -1, -1, 344, -1, -1, -1, -1, -1,
- -1, 345, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 346, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 347, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 350, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 351, -1,
- -1, 352, -1, -1, -1, -1, 353, -1, -1, -1,
- 354, 355, -1, -1, -1, 356, -1, -1, -1, -1,
- 357, -1, -1, 358, -1, -1, 359, -1, 360, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 361, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 362, -1,
- -1, -1, -1, 363, -1, -1, -1, -1, 364, -1,
- -1, -1, -1, -1, -1, -1, 365, -1, -1, -1,
+ -1, 313, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 314, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 315, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 366, -1, -1, -1,
- -1, -1, -1, 367, -1, -1, -1, -1, -1, -1,
- 368, -1, -1, -1, -1, 369, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 370, 371, -1, -1, -1,
- -1, 372, -1, -1, -1, -1, -1, 373, -1, -1,
- 374, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 375, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 376, -1, 377, -1, -1, -1, -1, -1, -1,
- 378, -1, -1, -1, 379, 380, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 381, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 382, -1, -1, -1, -1, -1, -1, -1, -1,
- 383, 384, -1, -1, -1, 385, 386, -1, -1, -1,
- -1, -1, -1, -1, -1, 387, -1, -1, -1, -1,
+ 316, -1, -1, -1, -1, -1, 317, -1, -1, -1,
+ -1, 318, 319, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 320, -1, -1, 321, -1, -1,
+ -1, -1, -1, -1, -1, -1, 322, 323, -1, 324,
+ -1, -1, 325, -1, -1, 326, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 327, 328, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 329, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 330, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 388, 389, -1, -1, -1, -1, -1, -1, -1,
- 390, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 391, -1, -1, -1, -1, -1, -1, -1,
- 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 331, -1, -1, -1, -1, -1, -1, -1,
+ -1, 332, -1, -1, -1, -1, 333, -1, -1, -1,
+ -1, 334, -1, -1, -1, -1, -1, 335, -1, -1,
+ -1, 336, -1, -1, -1, 337, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 338, -1, -1, -1, -1,
+ 339, -1, -1, -1, -1, 340, -1, -1, -1, -1,
+ 341, -1, -1, -1, -1, 342, 343, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 344, -1, -1, -1,
+ -1, -1, 345, -1, -1, -1, 346, -1, -1, -1,
+ -1, -1, 347, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 348, -1, -1, -1, -1, -1, -1, -1,
+ 349, -1, -1, -1, -1, 350, 351, 352, -1, -1,
+ 353, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 354, -1, -1,
+ -1, 355, -1, -1, -1, -1, 356, -1, 357, -1,
+ -1, -1, 358, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 393, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 359, -1, -1, -1, -1, -1, -1, -1,
+ -1, 360, 361, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 362,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 394, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 395, -1, -1, -1, -1,
+ -1, 363, 364, -1, 365, 366, -1, -1, -1, 367,
+ -1, 368, -1, -1, -1, -1, -1, 369, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 370, -1,
+ -1, 371, 372, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, -1, 374, -1, -1, -1, -1, -1, -1,
+ -1, -1, 375, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 396, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 397, -1, -1, -1, -1,
- -1, -1, 398, -1, -1, 399, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 400, -1, -1, -1, -1, 401, -1, -1, -1, -1,
- -1, -1, -1, 402, 403, 404, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 405, -1, -1, -1, -1, -1, -1, -1, -1, 406,
- -1, 407, 408, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 409, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 410, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 376, 377, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 378, -1, 379, -1, -1, -1, 380, 381, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 382, -1,
+ -1, 383, -1, 384, -1, -1, 385, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 411, -1, -1, -1,
- 412, -1, -1, -1, -1, 413, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 386, -1, -1, -1,
+ -1, -1, 387, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 388, -1, 389, -1, -1, -1, 390, 391, -1, -1,
+ -1, -1, -1, -1, -1, -1, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 393, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 394, 395, 396, -1,
+ -1, 397, -1, -1, -1, 398, -1, -1, 399, -1,
+ -1, -1, -1, -1, -1, 400, 401, -1, -1, -1,
+ -1, -1, 402, 403, -1, -1, 404, -1, -1, -1,
+ -1, 405, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 406, -1, -1,
+ 407, -1, -1, -1, -1, -1, -1, 408, 409, -1,
+ -1, -1, -1, 410, -1, -1, -1, -1, -1, -1,
+ -1, 411, -1, -1, -1, -1, 412, -1, -1, -1,
+ -1, -1, -1, -1, -1, 413, 414, -1, 415, -1,
+ -1, 416, -1, -1, 417, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 414, -1, 415, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 416, -1, -1, -1, -1, 417, -1, -1, -1, -1,
- -1, 418, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 419, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 418, -1,
+ -1, -1, -1, 419, -1, -1, 420, -1, -1, -1,
+ -1, -1, 421, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 420, -1, -1, -1, -1, -1, -1, -1, 421, -1,
+ -1, -1, -1, -1, 422, -1, -1, -1, -1, -1,
+ -1, -1, -1, 423, -1, -1, -1, -1, -1, -1,
+ -1, -1, 424, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 422, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 423, -1, 424, -1, -1,
- -1, 425, -1, -1, -1, 426, -1, -1, 427, -1,
- -1, -1, -1, -1, -1, 428, -1, -1, -1, -1,
- -1, -1, 429, -1, -1, -1, -1, -1, -1, -1,
+ 425, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 426, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 430, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 431, -1,
- 432, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 433, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 434, -1, -1, -1, -1,
- -1, 435, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 436, -1, -1,
+ -1, 427, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 428, -1, -1, -1, 429, 430, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 431, -1, -1,
+ -1, -1, 432, -1, -1, -1, -1, -1, -1, -1,
+ -1, 433, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 434, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 437, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 435, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 436, -1,
+ -1, -1, -1, -1, 437, -1, -1, 438, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 439, -1, -1,
+ -1, -1, 440, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 441, 442, 443, -1, -1,
+ -1, 444, -1, -1, -1, -1, -1, 445, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 446, 447, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 448, -1, -1, -1, -1, 449, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 438, -1, -1, -1, 439, 440, -1, -1, -1,
- -1, -1, 441, -1, -1, 442, -1, -1, -1, -1,
- -1, 443, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 444, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 445, -1, -1,
- -1, -1, -1, 446, -1, -1, 447, -1, -1, -1,
- -1, -1, -1, -1, -1, 448, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 449, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 450, -1, -1,
+ -1, 451, -1, -1, -1, -1, -1, -1, -1, -1,
+ 452, -1, -1, -1, -1, -1, -1, -1, 453, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 450, -1, -1, -1, -1, -1, 451, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 454, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 455,
+ -1, -1, -1, -1, -1, -1, 456, -1, -1, -1,
+ -1, 457, 458, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 459, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 460, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 452, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 453, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 454, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 455, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 461, -1, -1,
+ -1, 462, -1, -1, -1, -1, -1, 463, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 456, -1, -1, -1, -1, 457, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 464, -1, -1,
+ -1, 465, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 458, -1, -1, -1, -1, 459, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 460, 461, -1, -1, -1, 462, 463, -1, -1,
- 464, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 465, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 466, -1, -1, -1, -1, -1, -1, -1, -1,
- 467, 468, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 469, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 470, -1, -1, -1,
- -1, -1, 471, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 472, -1, -1, -1, -1, 473, -1, -1,
+ -1, -1, -1, 467, -1, -1, -1, -1, -1, -1,
+ 468, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 469, 470, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 471, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 474, -1, -1, -1, 475, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 476, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 477, -1, -1, -1, 478, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 472, -1, -1,
+ -1, 473, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 474, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 475, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 476, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 479, 480, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 477, -1, 478, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 481, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 482, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 483, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 484, -1, -1,
+ -1, 479, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 485, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 486, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 480, -1, -1,
+ -1, -1, -1, -1, 481, -1, -1, -1, -1, -1,
+ -1, -1, -1, 482, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 487, -1, -1, -1, -1,
- -1, 488, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 489, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 490, -1, -1, -1, -1,
- -1, 491, 492, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 483, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 484, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 485, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 493, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 494, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 486, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 487, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 488, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 489, -1, -1,
+ -1, -1, 490, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 491, -1,
+ -1, -1, -1, 492, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 493, 494, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 496, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 497, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 498, -1, -1,
+ -1, -1, 499, -1, -1, -1, -1, -1, 500, -1,
+ -1, -1, -1, 501, -1, -1, -1, 502, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 497, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 498, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 499, 500, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 501, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 502, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 503, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 503, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 504, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 505, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1757,66 +1680,48 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 505, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 506, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 507, -1, -1, -1, -1, -1, -1, -1, -1,
- 508, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 509, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 510, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 506, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 507, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 508, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 509,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 511, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 512, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 510, 511, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 513, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 514, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 512, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 513, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 515, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 514, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 515, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 516, 517, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 518, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 516, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 519, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 520, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 521, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1832,89 +1737,44 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 517, 518, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 522, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 523, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 524, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 525, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 519, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 520, -1, 521, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 522, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 526, -1,
+ -1, -1, -1, -1, -1, -1, -1, 527, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 523, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 524, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 525, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 526, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 527, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 528, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 529, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 529, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1929,6 +1789,8 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, 530, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 531, -1,
+ -1, -1, -1, -1, -1, 532, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1942,23 +1804,9 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 531, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 532, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1970,13 +1818,13 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 533, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 533, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1984,7 +1832,6 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 534, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -1993,6 +1840,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 534, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2013,6 +1861,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 535, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2026,6 +1875,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 536, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2058,6 +1908,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 537, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2065,7 +1916,6 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 535, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2084,6 +1934,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 538, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -2150,7 +2001,7 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 536
+ -1, 539
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -2172,7 +2023,7 @@ findValue (register const char *str, register unsigned int len)
}
return 0;
}
-#line 548 "CSSValueKeywords.gperf"
+#line 551 "CSSValueKeywords.gperf"
static const char * const valueList[] = {
"",
@@ -2427,6 +2278,7 @@ static const char * const valueList[] = {
"landscape",
"level",
"line-through",
+"local",
"loud",
"lower",
"-webkit-marquee",
@@ -2503,9 +2355,11 @@ static const char * const valueList[] = {
"media-play-button",
"media-seek-back-button",
"media-seek-forward-button",
+"media-rewind-button",
+"media-return-to-realtime-button",
"media-slider",
"media-sliderthumb",
-"media-timeline-container",
+"media-controls-background",
"media-current-time-display",
"media-time-remaining-display",
"menulist",
@@ -2527,11 +2381,11 @@ static const char * const valueList[] = {
"caps-lock-indicator",
"round",
"border",
+"border-box",
"content",
+"content-box",
"padding",
"padding-box",
-"border-box",
-"content-box",
"logical",
"visual",
"lines",
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h
index 8b6c669..6d2667d 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h
@@ -255,294 +255,297 @@ const int CSSValueInvert = 248;
const int CSSValueLandscape = 249;
const int CSSValueLevel = 250;
const int CSSValueLineThrough = 251;
-const int CSSValueLoud = 252;
-const int CSSValueLower = 253;
-const int CSSValueWebkitMarquee = 254;
-const int CSSValueMix = 255;
-const int CSSValueNoCloseQuote = 256;
-const int CSSValueNoOpenQuote = 257;
-const int CSSValueNowrap = 258;
-const int CSSValueOpenQuote = 259;
-const int CSSValueOverlay = 260;
-const int CSSValueOverline = 261;
-const int CSSValuePortrait = 262;
-const int CSSValuePre = 263;
-const int CSSValuePreLine = 264;
-const int CSSValuePreWrap = 265;
-const int CSSValueRelative = 266;
-const int CSSValueScroll = 267;
-const int CSSValueSeparate = 268;
-const int CSSValueShow = 269;
-const int CSSValueStatic = 270;
-const int CSSValueThick = 271;
-const int CSSValueThin = 272;
-const int CSSValueUnderline = 273;
-const int CSSValueWebkitNowrap = 274;
-const int CSSValueStretch = 275;
-const int CSSValueStart = 276;
-const int CSSValueEnd = 277;
-const int CSSValueReverse = 278;
-const int CSSValueHorizontal = 279;
-const int CSSValueVertical = 280;
-const int CSSValueInlineAxis = 281;
-const int CSSValueBlockAxis = 282;
-const int CSSValueSingle = 283;
-const int CSSValueMultiple = 284;
-const int CSSValueForwards = 285;
-const int CSSValueBackwards = 286;
-const int CSSValueAhead = 287;
-const int CSSValueUp = 288;
-const int CSSValueDown = 289;
-const int CSSValueSlow = 290;
-const int CSSValueFast = 291;
-const int CSSValueInfinite = 292;
-const int CSSValueSlide = 293;
-const int CSSValueAlternate = 294;
-const int CSSValueReadOnly = 295;
-const int CSSValueReadWrite = 296;
-const int CSSValueReadWritePlaintextOnly = 297;
-const int CSSValueElement = 298;
-const int CSSValueIgnore = 299;
-const int CSSValueIntrinsic = 300;
-const int CSSValueMinIntrinsic = 301;
-const int CSSValueClip = 302;
-const int CSSValueEllipsis = 303;
-const int CSSValueDiscard = 304;
-const int CSSValueDotDash = 305;
-const int CSSValueDotDotDash = 306;
-const int CSSValueWave = 307;
-const int CSSValueContinuous = 308;
-const int CSSValueSkipWhiteSpace = 309;
-const int CSSValueBreakAll = 310;
-const int CSSValueBreakWord = 311;
-const int CSSValueSpace = 312;
-const int CSSValueAfterWhiteSpace = 313;
-const int CSSValueCheckbox = 314;
-const int CSSValueRadio = 315;
-const int CSSValuePushButton = 316;
-const int CSSValueSquareButton = 317;
-const int CSSValueButton = 318;
-const int CSSValueButtonBevel = 319;
-const int CSSValueDefaultButton = 320;
-const int CSSValueListbox = 321;
-const int CSSValueListitem = 322;
-const int CSSValueMediaFullscreenButton = 323;
-const int CSSValueMediaMuteButton = 324;
-const int CSSValueMediaPlayButton = 325;
-const int CSSValueMediaSeekBackButton = 326;
-const int CSSValueMediaSeekForwardButton = 327;
-const int CSSValueMediaSlider = 328;
-const int CSSValueMediaSliderthumb = 329;
-const int CSSValueMediaTimelineContainer = 330;
-const int CSSValueMediaCurrentTimeDisplay = 331;
-const int CSSValueMediaTimeRemainingDisplay = 332;
-const int CSSValueMenulist = 333;
-const int CSSValueMenulistButton = 334;
-const int CSSValueMenulistText = 335;
-const int CSSValueMenulistTextfield = 336;
-const int CSSValueSliderHorizontal = 337;
-const int CSSValueSliderVertical = 338;
-const int CSSValueSliderthumbHorizontal = 339;
-const int CSSValueSliderthumbVertical = 340;
-const int CSSValueCaret = 341;
-const int CSSValueSearchfield = 342;
-const int CSSValueSearchfieldDecoration = 343;
-const int CSSValueSearchfieldResultsDecoration = 344;
-const int CSSValueSearchfieldResultsButton = 345;
-const int CSSValueSearchfieldCancelButton = 346;
-const int CSSValueTextfield = 347;
-const int CSSValueTextarea = 348;
-const int CSSValueCapsLockIndicator = 349;
-const int CSSValueRound = 350;
-const int CSSValueBorder = 351;
-const int CSSValueContent = 352;
-const int CSSValuePadding = 353;
-const int CSSValuePaddingBox = 354;
+const int CSSValueLocal = 252;
+const int CSSValueLoud = 253;
+const int CSSValueLower = 254;
+const int CSSValueWebkitMarquee = 255;
+const int CSSValueMix = 256;
+const int CSSValueNoCloseQuote = 257;
+const int CSSValueNoOpenQuote = 258;
+const int CSSValueNowrap = 259;
+const int CSSValueOpenQuote = 260;
+const int CSSValueOverlay = 261;
+const int CSSValueOverline = 262;
+const int CSSValuePortrait = 263;
+const int CSSValuePre = 264;
+const int CSSValuePreLine = 265;
+const int CSSValuePreWrap = 266;
+const int CSSValueRelative = 267;
+const int CSSValueScroll = 268;
+const int CSSValueSeparate = 269;
+const int CSSValueShow = 270;
+const int CSSValueStatic = 271;
+const int CSSValueThick = 272;
+const int CSSValueThin = 273;
+const int CSSValueUnderline = 274;
+const int CSSValueWebkitNowrap = 275;
+const int CSSValueStretch = 276;
+const int CSSValueStart = 277;
+const int CSSValueEnd = 278;
+const int CSSValueReverse = 279;
+const int CSSValueHorizontal = 280;
+const int CSSValueVertical = 281;
+const int CSSValueInlineAxis = 282;
+const int CSSValueBlockAxis = 283;
+const int CSSValueSingle = 284;
+const int CSSValueMultiple = 285;
+const int CSSValueForwards = 286;
+const int CSSValueBackwards = 287;
+const int CSSValueAhead = 288;
+const int CSSValueUp = 289;
+const int CSSValueDown = 290;
+const int CSSValueSlow = 291;
+const int CSSValueFast = 292;
+const int CSSValueInfinite = 293;
+const int CSSValueSlide = 294;
+const int CSSValueAlternate = 295;
+const int CSSValueReadOnly = 296;
+const int CSSValueReadWrite = 297;
+const int CSSValueReadWritePlaintextOnly = 298;
+const int CSSValueElement = 299;
+const int CSSValueIgnore = 300;
+const int CSSValueIntrinsic = 301;
+const int CSSValueMinIntrinsic = 302;
+const int CSSValueClip = 303;
+const int CSSValueEllipsis = 304;
+const int CSSValueDiscard = 305;
+const int CSSValueDotDash = 306;
+const int CSSValueDotDotDash = 307;
+const int CSSValueWave = 308;
+const int CSSValueContinuous = 309;
+const int CSSValueSkipWhiteSpace = 310;
+const int CSSValueBreakAll = 311;
+const int CSSValueBreakWord = 312;
+const int CSSValueSpace = 313;
+const int CSSValueAfterWhiteSpace = 314;
+const int CSSValueCheckbox = 315;
+const int CSSValueRadio = 316;
+const int CSSValuePushButton = 317;
+const int CSSValueSquareButton = 318;
+const int CSSValueButton = 319;
+const int CSSValueButtonBevel = 320;
+const int CSSValueDefaultButton = 321;
+const int CSSValueListbox = 322;
+const int CSSValueListitem = 323;
+const int CSSValueMediaFullscreenButton = 324;
+const int CSSValueMediaMuteButton = 325;
+const int CSSValueMediaPlayButton = 326;
+const int CSSValueMediaSeekBackButton = 327;
+const int CSSValueMediaSeekForwardButton = 328;
+const int CSSValueMediaRewindButton = 329;
+const int CSSValueMediaReturnToRealtimeButton = 330;
+const int CSSValueMediaSlider = 331;
+const int CSSValueMediaSliderthumb = 332;
+const int CSSValueMediaControlsBackground = 333;
+const int CSSValueMediaCurrentTimeDisplay = 334;
+const int CSSValueMediaTimeRemainingDisplay = 335;
+const int CSSValueMenulist = 336;
+const int CSSValueMenulistButton = 337;
+const int CSSValueMenulistText = 338;
+const int CSSValueMenulistTextfield = 339;
+const int CSSValueSliderHorizontal = 340;
+const int CSSValueSliderVertical = 341;
+const int CSSValueSliderthumbHorizontal = 342;
+const int CSSValueSliderthumbVertical = 343;
+const int CSSValueCaret = 344;
+const int CSSValueSearchfield = 345;
+const int CSSValueSearchfieldDecoration = 346;
+const int CSSValueSearchfieldResultsDecoration = 347;
+const int CSSValueSearchfieldResultsButton = 348;
+const int CSSValueSearchfieldCancelButton = 349;
+const int CSSValueTextfield = 350;
+const int CSSValueTextarea = 351;
+const int CSSValueCapsLockIndicator = 352;
+const int CSSValueRound = 353;
+const int CSSValueBorder = 354;
const int CSSValueBorderBox = 355;
-const int CSSValueContentBox = 356;
-const int CSSValueLogical = 357;
-const int CSSValueVisual = 358;
-const int CSSValueLines = 359;
-const int CSSValueRunning = 360;
-const int CSSValuePaused = 361;
-const int CSSValueFlat = 362;
-const int CSSValuePreserve3d = 363;
-const int CSSValueEase = 364;
-const int CSSValueLinear = 365;
-const int CSSValueEaseIn = 366;
-const int CSSValueEaseOut = 367;
-const int CSSValueEaseInOut = 368;
-const int CSSValueDocument = 369;
-const int CSSValueReset = 370;
-const int CSSValueVisiblepainted = 371;
-const int CSSValueVisiblefill = 372;
-const int CSSValueVisiblestroke = 373;
-const int CSSValuePainted = 374;
-const int CSSValueFill = 375;
-const int CSSValueStroke = 376;
-const int CSSValueAliceblue = 377;
-const int CSSValueAntiquewhite = 378;
-const int CSSValueAquamarine = 379;
-const int CSSValueAzure = 380;
-const int CSSValueBeige = 381;
-const int CSSValueBisque = 382;
-const int CSSValueBlanchedalmond = 383;
-const int CSSValueBlueviolet = 384;
-const int CSSValueBrown = 385;
-const int CSSValueBurlywood = 386;
-const int CSSValueCadetblue = 387;
-const int CSSValueChartreuse = 388;
-const int CSSValueChocolate = 389;
-const int CSSValueCoral = 390;
-const int CSSValueCornflowerblue = 391;
-const int CSSValueCornsilk = 392;
-const int CSSValueCrimson = 393;
-const int CSSValueCyan = 394;
-const int CSSValueDarkblue = 395;
-const int CSSValueDarkcyan = 396;
-const int CSSValueDarkgoldenrod = 397;
-const int CSSValueDarkgray = 398;
-const int CSSValueDarkgreen = 399;
-const int CSSValueDarkgrey = 400;
-const int CSSValueDarkkhaki = 401;
-const int CSSValueDarkmagenta = 402;
-const int CSSValueDarkolivegreen = 403;
-const int CSSValueDarkorange = 404;
-const int CSSValueDarkorchid = 405;
-const int CSSValueDarkred = 406;
-const int CSSValueDarksalmon = 407;
-const int CSSValueDarkseagreen = 408;
-const int CSSValueDarkslateblue = 409;
-const int CSSValueDarkslategray = 410;
-const int CSSValueDarkslategrey = 411;
-const int CSSValueDarkturquoise = 412;
-const int CSSValueDarkviolet = 413;
-const int CSSValueDeeppink = 414;
-const int CSSValueDeepskyblue = 415;
-const int CSSValueDimgray = 416;
-const int CSSValueDimgrey = 417;
-const int CSSValueDodgerblue = 418;
-const int CSSValueFirebrick = 419;
-const int CSSValueFloralwhite = 420;
-const int CSSValueForestgreen = 421;
-const int CSSValueGainsboro = 422;
-const int CSSValueGhostwhite = 423;
-const int CSSValueGold = 424;
-const int CSSValueGoldenrod = 425;
-const int CSSValueGreenyellow = 426;
-const int CSSValueHoneydew = 427;
-const int CSSValueHotpink = 428;
-const int CSSValueIndianred = 429;
-const int CSSValueIndigo = 430;
-const int CSSValueIvory = 431;
-const int CSSValueKhaki = 432;
-const int CSSValueLavender = 433;
-const int CSSValueLavenderblush = 434;
-const int CSSValueLawngreen = 435;
-const int CSSValueLemonchiffon = 436;
-const int CSSValueLightblue = 437;
-const int CSSValueLightcoral = 438;
-const int CSSValueLightcyan = 439;
-const int CSSValueLightgoldenrodyellow = 440;
-const int CSSValueLightgray = 441;
-const int CSSValueLightgreen = 442;
-const int CSSValueLightgrey = 443;
-const int CSSValueLightpink = 444;
-const int CSSValueLightsalmon = 445;
-const int CSSValueLightseagreen = 446;
-const int CSSValueLightskyblue = 447;
-const int CSSValueLightslategray = 448;
-const int CSSValueLightslategrey = 449;
-const int CSSValueLightsteelblue = 450;
-const int CSSValueLightyellow = 451;
-const int CSSValueLimegreen = 452;
-const int CSSValueLinen = 453;
-const int CSSValueMagenta = 454;
-const int CSSValueMediumaquamarine = 455;
-const int CSSValueMediumblue = 456;
-const int CSSValueMediumorchid = 457;
-const int CSSValueMediumpurple = 458;
-const int CSSValueMediumseagreen = 459;
-const int CSSValueMediumslateblue = 460;
-const int CSSValueMediumspringgreen = 461;
-const int CSSValueMediumturquoise = 462;
-const int CSSValueMediumvioletred = 463;
-const int CSSValueMidnightblue = 464;
-const int CSSValueMintcream = 465;
-const int CSSValueMistyrose = 466;
-const int CSSValueMoccasin = 467;
-const int CSSValueNavajowhite = 468;
-const int CSSValueOldlace = 469;
-const int CSSValueOlivedrab = 470;
-const int CSSValueOrangered = 471;
-const int CSSValueOrchid = 472;
-const int CSSValuePalegoldenrod = 473;
-const int CSSValuePalegreen = 474;
-const int CSSValuePaleturquoise = 475;
-const int CSSValuePalevioletred = 476;
-const int CSSValuePapayawhip = 477;
-const int CSSValuePeachpuff = 478;
-const int CSSValuePeru = 479;
-const int CSSValuePink = 480;
-const int CSSValuePlum = 481;
-const int CSSValuePowderblue = 482;
-const int CSSValueRosybrown = 483;
-const int CSSValueRoyalblue = 484;
-const int CSSValueSaddlebrown = 485;
-const int CSSValueSalmon = 486;
-const int CSSValueSandybrown = 487;
-const int CSSValueSeagreen = 488;
-const int CSSValueSeashell = 489;
-const int CSSValueSienna = 490;
-const int CSSValueSkyblue = 491;
-const int CSSValueSlateblue = 492;
-const int CSSValueSlategray = 493;
-const int CSSValueSlategrey = 494;
-const int CSSValueSnow = 495;
-const int CSSValueSpringgreen = 496;
-const int CSSValueSteelblue = 497;
-const int CSSValueTan = 498;
-const int CSSValueThistle = 499;
-const int CSSValueTomato = 500;
-const int CSSValueTurquoise = 501;
-const int CSSValueViolet = 502;
-const int CSSValueWheat = 503;
-const int CSSValueWhitesmoke = 504;
-const int CSSValueYellowgreen = 505;
-const int CSSValueNonzero = 506;
-const int CSSValueEvenodd = 507;
-const int CSSValueAccumulate = 508;
-const int CSSValueNew = 509;
-const int CSSValueSrgb = 510;
-const int CSSValueLinearrgb = 511;
-const int CSSValueOptimizespeed = 512;
-const int CSSValueOptimizequality = 513;
-const int CSSValueCrispedges = 514;
-const int CSSValueGeometricprecision = 515;
-const int CSSValueButt = 516;
-const int CSSValueMiter = 517;
-const int CSSValueBevel = 518;
-const int CSSValueOptimizelegibility = 519;
-const int CSSValueBeforeEdge = 520;
-const int CSSValueAfterEdge = 521;
-const int CSSValueCentral = 522;
-const int CSSValueTextBeforeEdge = 523;
-const int CSSValueTextAfterEdge = 524;
-const int CSSValueIdeographic = 525;
-const int CSSValueAlphabetic = 526;
-const int CSSValueHanging = 527;
-const int CSSValueMathematical = 528;
-const int CSSValueUseScript = 529;
-const int CSSValueNoChange = 530;
-const int CSSValueResetSize = 531;
-const int CSSValueLrTb = 532;
-const int CSSValueRlTb = 533;
-const int CSSValueTbRl = 534;
-const int CSSValueLr = 535;
-const int CSSValueRl = 536;
-const int CSSValueTb = 537;
-const int numCSSValueKeywords = 538;
-const size_t maxCSSValueKeywordLength = 30;
+const int CSSValueContent = 356;
+const int CSSValueContentBox = 357;
+const int CSSValuePadding = 358;
+const int CSSValuePaddingBox = 359;
+const int CSSValueLogical = 360;
+const int CSSValueVisual = 361;
+const int CSSValueLines = 362;
+const int CSSValueRunning = 363;
+const int CSSValuePaused = 364;
+const int CSSValueFlat = 365;
+const int CSSValuePreserve3d = 366;
+const int CSSValueEase = 367;
+const int CSSValueLinear = 368;
+const int CSSValueEaseIn = 369;
+const int CSSValueEaseOut = 370;
+const int CSSValueEaseInOut = 371;
+const int CSSValueDocument = 372;
+const int CSSValueReset = 373;
+const int CSSValueVisiblepainted = 374;
+const int CSSValueVisiblefill = 375;
+const int CSSValueVisiblestroke = 376;
+const int CSSValuePainted = 377;
+const int CSSValueFill = 378;
+const int CSSValueStroke = 379;
+const int CSSValueAliceblue = 380;
+const int CSSValueAntiquewhite = 381;
+const int CSSValueAquamarine = 382;
+const int CSSValueAzure = 383;
+const int CSSValueBeige = 384;
+const int CSSValueBisque = 385;
+const int CSSValueBlanchedalmond = 386;
+const int CSSValueBlueviolet = 387;
+const int CSSValueBrown = 388;
+const int CSSValueBurlywood = 389;
+const int CSSValueCadetblue = 390;
+const int CSSValueChartreuse = 391;
+const int CSSValueChocolate = 392;
+const int CSSValueCoral = 393;
+const int CSSValueCornflowerblue = 394;
+const int CSSValueCornsilk = 395;
+const int CSSValueCrimson = 396;
+const int CSSValueCyan = 397;
+const int CSSValueDarkblue = 398;
+const int CSSValueDarkcyan = 399;
+const int CSSValueDarkgoldenrod = 400;
+const int CSSValueDarkgray = 401;
+const int CSSValueDarkgreen = 402;
+const int CSSValueDarkgrey = 403;
+const int CSSValueDarkkhaki = 404;
+const int CSSValueDarkmagenta = 405;
+const int CSSValueDarkolivegreen = 406;
+const int CSSValueDarkorange = 407;
+const int CSSValueDarkorchid = 408;
+const int CSSValueDarkred = 409;
+const int CSSValueDarksalmon = 410;
+const int CSSValueDarkseagreen = 411;
+const int CSSValueDarkslateblue = 412;
+const int CSSValueDarkslategray = 413;
+const int CSSValueDarkslategrey = 414;
+const int CSSValueDarkturquoise = 415;
+const int CSSValueDarkviolet = 416;
+const int CSSValueDeeppink = 417;
+const int CSSValueDeepskyblue = 418;
+const int CSSValueDimgray = 419;
+const int CSSValueDimgrey = 420;
+const int CSSValueDodgerblue = 421;
+const int CSSValueFirebrick = 422;
+const int CSSValueFloralwhite = 423;
+const int CSSValueForestgreen = 424;
+const int CSSValueGainsboro = 425;
+const int CSSValueGhostwhite = 426;
+const int CSSValueGold = 427;
+const int CSSValueGoldenrod = 428;
+const int CSSValueGreenyellow = 429;
+const int CSSValueHoneydew = 430;
+const int CSSValueHotpink = 431;
+const int CSSValueIndianred = 432;
+const int CSSValueIndigo = 433;
+const int CSSValueIvory = 434;
+const int CSSValueKhaki = 435;
+const int CSSValueLavender = 436;
+const int CSSValueLavenderblush = 437;
+const int CSSValueLawngreen = 438;
+const int CSSValueLemonchiffon = 439;
+const int CSSValueLightblue = 440;
+const int CSSValueLightcoral = 441;
+const int CSSValueLightcyan = 442;
+const int CSSValueLightgoldenrodyellow = 443;
+const int CSSValueLightgray = 444;
+const int CSSValueLightgreen = 445;
+const int CSSValueLightgrey = 446;
+const int CSSValueLightpink = 447;
+const int CSSValueLightsalmon = 448;
+const int CSSValueLightseagreen = 449;
+const int CSSValueLightskyblue = 450;
+const int CSSValueLightslategray = 451;
+const int CSSValueLightslategrey = 452;
+const int CSSValueLightsteelblue = 453;
+const int CSSValueLightyellow = 454;
+const int CSSValueLimegreen = 455;
+const int CSSValueLinen = 456;
+const int CSSValueMagenta = 457;
+const int CSSValueMediumaquamarine = 458;
+const int CSSValueMediumblue = 459;
+const int CSSValueMediumorchid = 460;
+const int CSSValueMediumpurple = 461;
+const int CSSValueMediumseagreen = 462;
+const int CSSValueMediumslateblue = 463;
+const int CSSValueMediumspringgreen = 464;
+const int CSSValueMediumturquoise = 465;
+const int CSSValueMediumvioletred = 466;
+const int CSSValueMidnightblue = 467;
+const int CSSValueMintcream = 468;
+const int CSSValueMistyrose = 469;
+const int CSSValueMoccasin = 470;
+const int CSSValueNavajowhite = 471;
+const int CSSValueOldlace = 472;
+const int CSSValueOlivedrab = 473;
+const int CSSValueOrangered = 474;
+const int CSSValueOrchid = 475;
+const int CSSValuePalegoldenrod = 476;
+const int CSSValuePalegreen = 477;
+const int CSSValuePaleturquoise = 478;
+const int CSSValuePalevioletred = 479;
+const int CSSValuePapayawhip = 480;
+const int CSSValuePeachpuff = 481;
+const int CSSValuePeru = 482;
+const int CSSValuePink = 483;
+const int CSSValuePlum = 484;
+const int CSSValuePowderblue = 485;
+const int CSSValueRosybrown = 486;
+const int CSSValueRoyalblue = 487;
+const int CSSValueSaddlebrown = 488;
+const int CSSValueSalmon = 489;
+const int CSSValueSandybrown = 490;
+const int CSSValueSeagreen = 491;
+const int CSSValueSeashell = 492;
+const int CSSValueSienna = 493;
+const int CSSValueSkyblue = 494;
+const int CSSValueSlateblue = 495;
+const int CSSValueSlategray = 496;
+const int CSSValueSlategrey = 497;
+const int CSSValueSnow = 498;
+const int CSSValueSpringgreen = 499;
+const int CSSValueSteelblue = 500;
+const int CSSValueTan = 501;
+const int CSSValueThistle = 502;
+const int CSSValueTomato = 503;
+const int CSSValueTurquoise = 504;
+const int CSSValueViolet = 505;
+const int CSSValueWheat = 506;
+const int CSSValueWhitesmoke = 507;
+const int CSSValueYellowgreen = 508;
+const int CSSValueNonzero = 509;
+const int CSSValueEvenodd = 510;
+const int CSSValueAccumulate = 511;
+const int CSSValueNew = 512;
+const int CSSValueSrgb = 513;
+const int CSSValueLinearrgb = 514;
+const int CSSValueOptimizespeed = 515;
+const int CSSValueOptimizequality = 516;
+const int CSSValueCrispedges = 517;
+const int CSSValueGeometricprecision = 518;
+const int CSSValueButt = 519;
+const int CSSValueMiter = 520;
+const int CSSValueBevel = 521;
+const int CSSValueOptimizelegibility = 522;
+const int CSSValueBeforeEdge = 523;
+const int CSSValueAfterEdge = 524;
+const int CSSValueCentral = 525;
+const int CSSValueTextBeforeEdge = 526;
+const int CSSValueTextAfterEdge = 527;
+const int CSSValueIdeographic = 528;
+const int CSSValueAlphabetic = 529;
+const int CSSValueHanging = 530;
+const int CSSValueMathematical = 531;
+const int CSSValueUseScript = 532;
+const int CSSValueNoChange = 533;
+const int CSSValueResetSize = 534;
+const int CSSValueLrTb = 535;
+const int CSSValueRlTb = 536;
+const int CSSValueTbRl = 537;
+const int CSSValueLr = 538;
+const int CSSValueRl = 539;
+const int CSSValueTb = 540;
+const int numCSSValueKeywords = 541;
+const size_t maxCSSValueKeywordLength = 31;
const char* getValueName(unsigned short id);
diff --git a/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h b/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h
index 3016f9e..507cf91 100644
--- a/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/DatePrototype.lut.h
@@ -54,6 +54,6 @@ static const struct HashTableValue dateTableValues[47] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable dateTable =
+extern JSC_CONST_HASHTABLE HashTable dateTable =
{ 134, 127, dateTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/Grammar.cpp b/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
index 4ad3078..6e976b9 100644
--- a/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/Grammar.cpp
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +28,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +46,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.4.1"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,159 +54,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 1
/* Substitute the variable and function names. */
-#define yyparse jscyyparse
-#define yylex jscyylex
-#define yyerror jscyyerror
-#define yylval jscyylval
-#define yychar jscyychar
-#define yydebug jscyydebug
-#define yynerrs jscyynerrs
-#define yylloc jscyylloc
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- NULLTOKEN = 258,
- TRUETOKEN = 259,
- FALSETOKEN = 260,
- BREAK = 261,
- CASE = 262,
- DEFAULT = 263,
- FOR = 264,
- NEW = 265,
- VAR = 266,
- CONSTTOKEN = 267,
- CONTINUE = 268,
- FUNCTION = 269,
- RETURN = 270,
- VOIDTOKEN = 271,
- DELETETOKEN = 272,
- IF = 273,
- THISTOKEN = 274,
- DO = 275,
- WHILE = 276,
- INTOKEN = 277,
- INSTANCEOF = 278,
- TYPEOF = 279,
- SWITCH = 280,
- WITH = 281,
- RESERVED = 282,
- THROW = 283,
- TRY = 284,
- CATCH = 285,
- FINALLY = 286,
- DEBUGGER = 287,
- IF_WITHOUT_ELSE = 288,
- ELSE = 289,
- EQEQ = 290,
- NE = 291,
- STREQ = 292,
- STRNEQ = 293,
- LE = 294,
- GE = 295,
- OR = 296,
- AND = 297,
- PLUSPLUS = 298,
- MINUSMINUS = 299,
- LSHIFT = 300,
- RSHIFT = 301,
- URSHIFT = 302,
- PLUSEQUAL = 303,
- MINUSEQUAL = 304,
- MULTEQUAL = 305,
- DIVEQUAL = 306,
- LSHIFTEQUAL = 307,
- RSHIFTEQUAL = 308,
- URSHIFTEQUAL = 309,
- ANDEQUAL = 310,
- MODEQUAL = 311,
- XOREQUAL = 312,
- OREQUAL = 313,
- OPENBRACE = 314,
- CLOSEBRACE = 315,
- NUMBER = 316,
- IDENT = 317,
- STRING = 318,
- AUTOPLUSPLUS = 319,
- AUTOMINUSMINUS = 320
- };
-#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
-
-
+#define yyparse jscyyparse
+#define yylex jscyylex
+#define yyerror jscyyerror
+#define yylval jscyylval
+#define yychar jscyychar
+#define yydebug jscyydebug
+#define yynerrs jscyynerrs
+#define yylloc jscyylloc
/* Copy the first part of user declarations. */
+
+/* Line 189 of yacc.c */
#line 3 "../../JavaScriptCore/parser/Grammar.y"
@@ -245,8 +113,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -297,12 +169,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
@@ -363,6 +229,9 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
+/* Line 189 of yacc.c */
+#line 234 "WebCore/tmp/../generated/Grammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -381,10 +250,88 @@ static inline void appendToVarDeclarationList(void* globalPtr, ParserArenaData<D
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ NULLTOKEN = 258,
+ TRUETOKEN = 259,
+ FALSETOKEN = 260,
+ BREAK = 261,
+ CASE = 262,
+ DEFAULT = 263,
+ FOR = 264,
+ NEW = 265,
+ VAR = 266,
+ CONSTTOKEN = 267,
+ CONTINUE = 268,
+ FUNCTION = 269,
+ RETURN = 270,
+ VOIDTOKEN = 271,
+ DELETETOKEN = 272,
+ IF = 273,
+ THISTOKEN = 274,
+ DO = 275,
+ WHILE = 276,
+ INTOKEN = 277,
+ INSTANCEOF = 278,
+ TYPEOF = 279,
+ SWITCH = 280,
+ WITH = 281,
+ RESERVED = 282,
+ THROW = 283,
+ TRY = 284,
+ CATCH = 285,
+ FINALLY = 286,
+ DEBUGGER = 287,
+ IF_WITHOUT_ELSE = 288,
+ ELSE = 289,
+ EQEQ = 290,
+ NE = 291,
+ STREQ = 292,
+ STRNEQ = 293,
+ LE = 294,
+ GE = 295,
+ OR = 296,
+ AND = 297,
+ PLUSPLUS = 298,
+ MINUSMINUS = 299,
+ LSHIFT = 300,
+ RSHIFT = 301,
+ URSHIFT = 302,
+ PLUSEQUAL = 303,
+ MINUSEQUAL = 304,
+ MULTEQUAL = 305,
+ DIVEQUAL = 306,
+ LSHIFTEQUAL = 307,
+ RSHIFTEQUAL = 308,
+ URSHIFTEQUAL = 309,
+ ANDEQUAL = 310,
+ MODEQUAL = 311,
+ XOREQUAL = 312,
+ OREQUAL = 313,
+ OPENBRACE = 314,
+ CLOSEBRACE = 315,
+ NUMBER = 316,
+ IDENT = 317,
+ STRING = 318,
+ AUTOPLUSPLUS = 319,
+ AUTOMINUSMINUS = 320
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../../JavaScriptCore/parser/Grammar.y"
{
+
+/* Line 214 of yacc.c */
+#line 155 "../../JavaScriptCore/parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -414,13 +361,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 187 of yacc.c. */
-#line 420 "WebCore/tmp/../generated/Grammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 214 of yacc.c */
+#line 369 "WebCore/tmp/../generated/Grammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
@@ -440,8 +389,8 @@ typedef struct YYLTYPE
/* Copy the second part of user declarations. */
-/* Line 216 of yacc.c. */
-#line 445 "WebCore/tmp/../generated/Grammar.tab.c"
+/* Line 264 of yacc.c */
+#line 394 "WebCore/tmp/../generated/Grammar.tab.c"
#ifdef short
# undef short
@@ -516,14 +465,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -605,9 +554,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- YYLTYPE yyls;
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+ YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
@@ -642,12 +591,12 @@ union yyalloc
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
-# define YYSTACK_RELOCATE(Stack) \
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
@@ -995,66 +944,66 @@ static const yytype_int16 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 290, 290, 291, 292, 293, 294, 295, 304, 316,
- 317, 318, 319, 320, 332, 336, 343, 344, 345, 347,
- 351, 352, 353, 354, 355, 359, 360, 361, 365, 369,
- 377, 378, 382, 383, 387, 388, 389, 393, 397, 404,
- 405, 409, 413, 420, 421, 428, 429, 436, 437, 438,
- 442, 448, 449, 450, 454, 461, 462, 466, 470, 477,
- 478, 482, 483, 487, 488, 489, 493, 494, 495, 499,
- 500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
- 512, 513, 517, 518, 522, 523, 524, 525, 529, 530,
- 532, 534, 539, 540, 541, 545, 546, 548, 553, 554,
- 555, 556, 560, 561, 562, 563, 567, 568, 569, 570,
- 571, 572, 575, 581, 582, 583, 584, 585, 586, 593,
- 594, 595, 596, 597, 598, 602, 609, 610, 611, 612,
- 613, 617, 618, 620, 622, 624, 629, 630, 632, 633,
- 635, 640, 641, 645, 646, 651, 652, 656, 657, 661,
- 662, 667, 668, 673, 674, 678, 679, 684, 685, 690,
- 691, 695, 696, 701, 702, 707, 708, 712, 713, 718,
- 719, 723, 724, 729, 730, 735, 736, 741, 742, 749,
- 750, 757, 758, 765, 766, 767, 768, 769, 770, 771,
- 772, 773, 774, 775, 776, 780, 781, 785, 786, 790,
- 791, 795, 796, 797, 798, 799, 800, 801, 802, 803,
- 804, 805, 806, 807, 808, 809, 810, 811, 815, 817,
- 822, 824, 830, 837, 846, 854, 867, 874, 883, 891,
- 904, 906, 912, 920, 932, 933, 937, 941, 945, 949,
- 951, 956, 959, 969, 971, 973, 975, 981, 988, 997,
- 1003, 1014, 1015, 1019, 1020, 1024, 1028, 1032, 1036, 1043,
- 1046, 1049, 1052, 1058, 1061, 1064, 1067, 1073, 1079, 1085,
- 1086, 1095, 1096, 1100, 1106, 1116, 1117, 1121, 1122, 1126,
- 1132, 1136, 1143, 1149, 1155, 1165, 1167, 1172, 1173, 1184,
- 1185, 1192, 1193, 1203, 1206, 1212, 1213, 1217, 1218, 1223,
- 1230, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1251, 1252,
- 1253, 1254, 1255, 1259, 1260, 1264, 1265, 1266, 1268, 1272,
- 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1286, 1287, 1290,
- 1292, 1296, 1297, 1301, 1302, 1303, 1304, 1305, 1309, 1310,
- 1311, 1312, 1316, 1317, 1321, 1322, 1326, 1327, 1328, 1329,
- 1333, 1334, 1335, 1336, 1340, 1341, 1345, 1346, 1350, 1351,
- 1355, 1356, 1360, 1361, 1362, 1366, 1367, 1368, 1372, 1373,
- 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1385,
- 1386, 1390, 1391, 1395, 1396, 1397, 1398, 1402, 1403, 1404,
- 1405, 1409, 1410, 1411, 1415, 1416, 1417, 1421, 1422, 1423,
- 1424, 1428, 1429, 1430, 1431, 1435, 1436, 1437, 1438, 1439,
- 1440, 1441, 1445, 1446, 1447, 1448, 1449, 1450, 1454, 1455,
- 1456, 1457, 1458, 1459, 1460, 1464, 1465, 1466, 1467, 1468,
- 1472, 1473, 1474, 1475, 1476, 1480, 1481, 1482, 1483, 1484,
- 1488, 1489, 1493, 1494, 1498, 1499, 1503, 1504, 1508, 1509,
- 1513, 1514, 1518, 1519, 1523, 1524, 1528, 1529, 1533, 1534,
- 1538, 1539, 1543, 1544, 1548, 1549, 1553, 1554, 1558, 1559,
- 1563, 1564, 1568, 1569, 1573, 1574, 1578, 1579, 1583, 1584,
- 1588, 1589, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600,
- 1601, 1602, 1603, 1604, 1608, 1609, 1613, 1614, 1618, 1619,
- 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632,
- 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1643, 1644, 1648,
- 1649, 1653, 1654, 1655, 1656, 1660, 1661, 1662, 1663, 1667,
- 1668, 1672, 1673, 1677, 1678, 1682, 1686, 1690, 1694, 1695,
- 1699, 1700, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
- 1714, 1716, 1719, 1721, 1725, 1726, 1727, 1728, 1732, 1733,
- 1734, 1735, 1739, 1740, 1741, 1742, 1746, 1750, 1754, 1755,
- 1758, 1760, 1764, 1765, 1769, 1770, 1774, 1775, 1779, 1783,
- 1784, 1788, 1789, 1790, 1794, 1795, 1799, 1800, 1804, 1805,
- 1806, 1807, 1811, 1812, 1815, 1817, 1821, 1822
+ 0, 288, 288, 289, 290, 291, 292, 293, 302, 314,
+ 315, 316, 317, 318, 330, 334, 341, 342, 343, 345,
+ 349, 350, 351, 352, 353, 357, 358, 359, 363, 367,
+ 375, 376, 380, 381, 385, 386, 387, 391, 395, 402,
+ 403, 407, 411, 418, 419, 426, 427, 434, 435, 436,
+ 440, 446, 447, 448, 452, 459, 460, 464, 468, 475,
+ 476, 480, 481, 485, 486, 487, 491, 492, 493, 497,
+ 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
+ 510, 511, 515, 516, 520, 521, 522, 523, 527, 528,
+ 530, 532, 537, 538, 539, 543, 544, 546, 551, 552,
+ 553, 554, 558, 559, 560, 561, 565, 566, 567, 568,
+ 569, 570, 573, 579, 580, 581, 582, 583, 584, 591,
+ 592, 593, 594, 595, 596, 600, 607, 608, 609, 610,
+ 611, 615, 616, 618, 620, 622, 627, 628, 630, 631,
+ 633, 638, 639, 643, 644, 649, 650, 654, 655, 659,
+ 660, 665, 666, 671, 672, 676, 677, 682, 683, 688,
+ 689, 693, 694, 699, 700, 705, 706, 710, 711, 716,
+ 717, 721, 722, 727, 728, 733, 734, 739, 740, 747,
+ 748, 755, 756, 763, 764, 765, 766, 767, 768, 769,
+ 770, 771, 772, 773, 774, 778, 779, 783, 784, 788,
+ 789, 793, 794, 795, 796, 797, 798, 799, 800, 801,
+ 802, 803, 804, 805, 806, 807, 808, 809, 813, 815,
+ 820, 822, 828, 835, 844, 852, 865, 872, 881, 889,
+ 902, 904, 910, 918, 930, 931, 935, 939, 943, 947,
+ 949, 954, 957, 967, 969, 971, 973, 979, 986, 995,
+ 1001, 1012, 1013, 1017, 1018, 1022, 1026, 1030, 1034, 1041,
+ 1044, 1047, 1050, 1056, 1059, 1062, 1065, 1071, 1077, 1083,
+ 1084, 1093, 1094, 1098, 1104, 1114, 1115, 1119, 1120, 1124,
+ 1130, 1134, 1141, 1147, 1153, 1163, 1165, 1170, 1171, 1182,
+ 1183, 1190, 1191, 1201, 1204, 1210, 1211, 1215, 1216, 1221,
+ 1228, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1249, 1250,
+ 1251, 1252, 1253, 1257, 1258, 1262, 1263, 1264, 1266, 1270,
+ 1271, 1272, 1273, 1274, 1278, 1279, 1280, 1284, 1285, 1288,
+ 1290, 1294, 1295, 1299, 1300, 1301, 1302, 1303, 1307, 1308,
+ 1309, 1310, 1314, 1315, 1319, 1320, 1324, 1325, 1326, 1327,
+ 1331, 1332, 1333, 1334, 1338, 1339, 1343, 1344, 1348, 1349,
+ 1353, 1354, 1358, 1359, 1360, 1364, 1365, 1366, 1370, 1371,
+ 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1383,
+ 1384, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
+ 1403, 1407, 1408, 1409, 1413, 1414, 1415, 1419, 1420, 1421,
+ 1422, 1426, 1427, 1428, 1429, 1433, 1434, 1435, 1436, 1437,
+ 1438, 1439, 1443, 1444, 1445, 1446, 1447, 1448, 1452, 1453,
+ 1454, 1455, 1456, 1457, 1458, 1462, 1463, 1464, 1465, 1466,
+ 1470, 1471, 1472, 1473, 1474, 1478, 1479, 1480, 1481, 1482,
+ 1486, 1487, 1491, 1492, 1496, 1497, 1501, 1502, 1506, 1507,
+ 1511, 1512, 1516, 1517, 1521, 1522, 1526, 1527, 1531, 1532,
+ 1536, 1537, 1541, 1542, 1546, 1547, 1551, 1552, 1556, 1557,
+ 1561, 1562, 1566, 1567, 1571, 1572, 1576, 1577, 1581, 1582,
+ 1586, 1587, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,
+ 1599, 1600, 1601, 1602, 1606, 1607, 1611, 1612, 1616, 1617,
+ 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630,
+ 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1641, 1642, 1646,
+ 1647, 1651, 1652, 1653, 1654, 1658, 1659, 1660, 1661, 1665,
+ 1666, 1670, 1671, 1675, 1676, 1680, 1684, 1688, 1692, 1693,
+ 1697, 1698, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
+ 1712, 1714, 1717, 1719, 1723, 1724, 1725, 1726, 1730, 1731,
+ 1732, 1733, 1737, 1738, 1739, 1740, 1744, 1748, 1752, 1753,
+ 1756, 1758, 1762, 1763, 1767, 1768, 1772, 1773, 1777, 1781,
+ 1782, 1786, 1787, 1788, 1792, 1793, 1797, 1798, 1802, 1803,
+ 1804, 1805, 1809, 1810, 1813, 1815, 1819, 1820
};
#endif
@@ -2361,17 +2310,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -2406,11 +2358,11 @@ yy_reduce_print (yyvsp, yylsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) );
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -2692,10 +2644,8 @@ yydestruct (yymsg, yytype, yyvaluep, yylocationp)
break;
}
}
-
/* Prevent warnings from -Wmissing-prototypes. */
-
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2714,10 +2664,9 @@ int yyparse ();
-
-/*----------.
-| yyparse. |
-`----------*/
+/*-------------------------.
+| yyparse or yypush_parse. |
+`-------------------------*/
#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2741,88 +2690,97 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-/* Location data for the look-ahead symbol. */
+/* Location data for the lookahead symbol. */
YYLTYPE yylloc;
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ `yyls': related to locations.
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls = yylsa;
- YYLTYPE *yylsp;
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[2];
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+ /* The location stack. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls;
+ YYLTYPE *yylsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[2];
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
+
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yyls = yylsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
yylsp = yyls;
+
#if YYLTYPE_IS_TRIVIAL
/* Initialize the default location before parsing starts. */
yylloc.first_line = yylloc.last_line = 1;
- yylloc.first_column = yylloc.last_column = 0;
+ yylloc.first_column = yylloc.last_column = 1;
#endif
goto yysetstate;
@@ -2861,6 +2819,7 @@ YYLTYPE yylloc;
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
+
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
@@ -2882,9 +2841,9 @@ YYLTYPE yylloc;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
- YYSTACK_RELOCATE (yyls);
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2905,6 +2864,9 @@ YYLTYPE yylloc;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2913,16 +2875,16 @@ YYLTYPE yylloc;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYPACT_NINF)
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2954,20 +2916,16 @@ yybackup:
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -3008,32 +2966,44 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 290 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 288 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NullNode(GLOBAL_DATA), 0, 1); ;}
break;
case 3:
-#line 291 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 289 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, true), 0, 1); ;}
break;
case 4:
-#line 292 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 290 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BooleanNode(GLOBAL_DATA, false), 0, 1); ;}
break;
case 5:
-#line 293 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 291 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNumberNode(GLOBAL_DATA, (yyvsp[(1) - (1)].doubleValue)), 0, 1); ;}
break;
case 6:
-#line 294 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 292 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StringNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident)), 0, 1); ;}
break;
case 7:
-#line 295 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 293 "../../JavaScriptCore/parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3046,7 +3016,9 @@ yyreduce:
break;
case 8:
-#line 304 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 302 "../../JavaScriptCore/parser/Grammar.y"
{
Lexer& l = *LEXER;
if (!l.scanRegExp())
@@ -3059,27 +3031,37 @@ yyreduce:
break;
case 9:
-#line 316 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 314 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 10:
-#line 317 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 315 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 11:
-#line 318 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 316 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(new (GLOBAL_DATA) PropertyNode(GLOBAL_DATA, Identifier(GLOBAL_DATA, UString::from((yyvsp[(1) - (3)].doubleValue))), (yyvsp[(3) - (3)].expressionNode).m_node, PropertyNode::Constant), (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 12:
-#line 319 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 317 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (7)].ident), *(yyvsp[(2) - (7)].ident), 0, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); if (!(yyval.propertyNode).m_node) YYABORT; ;}
break;
case 13:
-#line 321 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 319 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.propertyNode) = createNodeInfo<PropertyNode*>(makeGetterOrSetterPropertyNode(globalPtr, *(yyvsp[(1) - (8)].ident), *(yyvsp[(2) - (8)].ident), (yyvsp[(4) - (8)].parameterList).m_node.head, (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line)), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -3091,7 +3073,9 @@ yyreduce:
break;
case 14:
-#line 332 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 330 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyList).m_node.head = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].propertyNode).m_node);
(yyval.propertyList).m_node.tail = (yyval.propertyList).m_node.head;
(yyval.propertyList).m_features = (yyvsp[(1) - (1)].propertyNode).m_features;
@@ -3099,7 +3083,9 @@ yyreduce:
break;
case 15:
-#line 336 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 334 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.propertyList).m_node.head = (yyvsp[(1) - (3)].propertyList).m_node.head;
(yyval.propertyList).m_node.tail = new (GLOBAL_DATA) PropertyListNode(GLOBAL_DATA, (yyvsp[(3) - (3)].propertyNode).m_node, (yyvsp[(1) - (3)].propertyList).m_node.tail);
(yyval.propertyList).m_features = (yyvsp[(1) - (3)].propertyList).m_features | (yyvsp[(3) - (3)].propertyNode).m_features;
@@ -3107,52 +3093,72 @@ yyreduce:
break;
case 17:
-#line 344 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 342 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA), 0, 0); ;}
break;
case 18:
-#line 345 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 343 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (3)].propertyList).m_node.head), (yyvsp[(2) - (3)].propertyList).m_features, (yyvsp[(2) - (3)].propertyList).m_numConstants); ;}
break;
case 19:
-#line 347 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 345 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ObjectLiteralNode(GLOBAL_DATA, (yyvsp[(2) - (4)].propertyList).m_node.head), (yyvsp[(2) - (4)].propertyList).m_features, (yyvsp[(2) - (4)].propertyList).m_numConstants); ;}
break;
case 20:
-#line 351 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 349 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ThisNode(GLOBAL_DATA), ThisFeature, 0); ;}
break;
case 23:
-#line 354 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 352 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), (yylsp[(1) - (1)]).first_column), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 24:
-#line 355 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 353 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (3)].expressionNode); ;}
break;
case 25:
-#line 359 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 357 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].intValue)), 0, (yyvsp[(2) - (3)].intValue) ? 1 : 0); ;}
break;
case 26:
-#line 360 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 358 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(2) - (3)].elementList).m_node.head), (yyvsp[(2) - (3)].elementList).m_features, (yyvsp[(2) - (3)].elementList).m_numConstants); ;}
break;
case 27:
-#line 361 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 359 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ArrayNode(GLOBAL_DATA, (yyvsp[(4) - (5)].intValue), (yyvsp[(2) - (5)].elementList).m_node.head), (yyvsp[(2) - (5)].elementList).m_features, (yyvsp[(4) - (5)].intValue) ? (yyvsp[(2) - (5)].elementList).m_numConstants + 1 : (yyvsp[(2) - (5)].elementList).m_numConstants); ;}
break;
case 28:
-#line 365 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 363 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.elementList).m_node.head = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].intValue), (yyvsp[(2) - (2)].expressionNode).m_node);
(yyval.elementList).m_node.tail = (yyval.elementList).m_node.head;
(yyval.elementList).m_features = (yyvsp[(2) - (2)].expressionNode).m_features;
@@ -3160,7 +3166,9 @@ yyreduce:
break;
case 29:
-#line 370 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 368 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.elementList).m_node.head = (yyvsp[(1) - (4)].elementList).m_node.head;
(yyval.elementList).m_node.tail = new (GLOBAL_DATA) ElementNode(GLOBAL_DATA, (yyvsp[(1) - (4)].elementList).m_node.tail, (yyvsp[(3) - (4)].intValue), (yyvsp[(4) - (4)].expressionNode).m_node);
(yyval.elementList).m_features = (yyvsp[(1) - (4)].elementList).m_features | (yyvsp[(4) - (4)].expressionNode).m_features;
@@ -3168,27 +3176,37 @@ yyreduce:
break;
case 30:
-#line 377 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 375 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = 0; ;}
break;
case 32:
-#line 382 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 380 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = 1; ;}
break;
case 33:
-#line 383 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 381 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.intValue) = (yyvsp[(1) - (2)].intValue) + 1; ;}
break;
case 35:
-#line 388 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 386 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>((yyvsp[(1) - (1)].funcExprNode).m_node, (yyvsp[(1) - (1)].funcExprNode).m_features, (yyvsp[(1) - (1)].funcExprNode).m_numConstants); ;}
break;
case 36:
-#line 389 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 387 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3196,7 +3214,9 @@ yyreduce:
break;
case 37:
-#line 393 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 391 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3204,7 +3224,9 @@ yyreduce:
break;
case 38:
-#line 397 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 395 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3212,7 +3234,9 @@ yyreduce:
break;
case 40:
-#line 405 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 403 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3220,7 +3244,9 @@ yyreduce:
break;
case 41:
-#line 409 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 407 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3228,7 +3254,9 @@ yyreduce:
break;
case 42:
-#line 413 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 411 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].argumentsNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].argumentsNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].argumentsNode).m_numConstants);
@@ -3236,7 +3264,9 @@ yyreduce:
break;
case 44:
-#line 421 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 419 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3244,7 +3274,9 @@ yyreduce:
break;
case 46:
-#line 429 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 427 "../../JavaScriptCore/parser/Grammar.y"
{ NewExprNode* node = new (GLOBAL_DATA) NewExprNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants);
@@ -3252,17 +3284,23 @@ yyreduce:
break;
case 47:
-#line 436 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 434 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 48:
-#line 437 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 435 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 49:
-#line 438 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 436 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3270,24 +3308,32 @@ yyreduce:
break;
case 50:
-#line 442 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 440 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants); ;}
break;
case 51:
-#line 448 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 446 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 52:
-#line 449 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 447 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = makeFunctionCallNode(globalPtr, (yyvsp[(1) - (2)].expressionNode), (yyvsp[(2) - (2)].argumentsNode), (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column); ;}
break;
case 53:
-#line 450 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 448 "../../JavaScriptCore/parser/Grammar.y"
{ BracketAccessorNode* node = new (GLOBAL_DATA) BracketAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_node, (yyvsp[(3) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (4)]).first_column, (yylsp[(1) - (4)]).last_column, (yylsp[(4) - (4)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (4)].expressionNode).m_features | (yyvsp[(3) - (4)].expressionNode).m_features, (yyvsp[(1) - (4)].expressionNode).m_numConstants + (yyvsp[(3) - (4)].expressionNode).m_numConstants);
@@ -3295,7 +3341,9 @@ yyreduce:
break;
case 54:
-#line 454 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 452 "../../JavaScriptCore/parser/Grammar.y"
{ DotAccessorNode* node = new (GLOBAL_DATA) DotAccessorNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, *(yyvsp[(3) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(1) - (3)]).last_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants);
@@ -3303,17 +3351,23 @@ yyreduce:
break;
case 55:
-#line 461 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 459 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA), 0, 0); ;}
break;
case 56:
-#line 462 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 460 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentsNode) = createNodeInfo<ArgumentsNode*>(new (GLOBAL_DATA) ArgumentsNode(GLOBAL_DATA, (yyvsp[(2) - (3)].argumentList).m_node.head), (yyvsp[(2) - (3)].argumentList).m_features, (yyvsp[(2) - (3)].argumentList).m_numConstants); ;}
break;
case 57:
-#line 466 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 464 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentList).m_node.head = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].expressionNode).m_node);
(yyval.argumentList).m_node.tail = (yyval.argumentList).m_node.head;
(yyval.argumentList).m_features = (yyvsp[(1) - (1)].expressionNode).m_features;
@@ -3321,7 +3375,9 @@ yyreduce:
break;
case 58:
-#line 470 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 468 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.argumentList).m_node.head = (yyvsp[(1) - (3)].argumentList).m_node.head;
(yyval.argumentList).m_node.tail = new (GLOBAL_DATA) ArgumentListNode(GLOBAL_DATA, (yyvsp[(1) - (3)].argumentList).m_node.tail, (yyvsp[(3) - (3)].expressionNode).m_node);
(yyval.argumentList).m_features = (yyvsp[(1) - (3)].argumentList).m_features | (yyvsp[(3) - (3)].expressionNode).m_features;
@@ -3329,528 +3385,730 @@ yyreduce:
break;
case 64:
-#line 488 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 486 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 65:
-#line 489 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 487 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 67:
-#line 494 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 492 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 68:
-#line 495 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 493 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePostfixNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(1) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (2)].expressionNode).m_numConstants); ;}
break;
case 69:
-#line 499 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 497 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDeleteNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).last_column, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 70:
-#line 500 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 498 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) VoidNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants + 1); ;}
break;
case 71:
-#line 501 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 499 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeTypeOfNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 72:
-#line 502 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 500 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 73:
-#line 503 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 501 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpPlusPlus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 74:
-#line 504 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 502 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 75:
-#line 505 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 503 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makePrefixNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node, OpMinusMinus, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column), (yyvsp[(2) - (2)].expressionNode).m_features | AssignFeature, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 76:
-#line 506 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 504 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnaryPlusNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 77:
-#line 507 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 505 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeNegateNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 78:
-#line 508 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 506 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeBitwiseNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 79:
-#line 509 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 507 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalNotNode(GLOBAL_DATA, (yyvsp[(2) - (2)].expressionNode).m_node), (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 85:
-#line 523 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 521 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 86:
-#line 524 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 522 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 87:
-#line 525 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 523 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 89:
-#line 531 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 529 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeMultNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 90:
-#line 533 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 531 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeDivNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 91:
-#line 535 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 533 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ModNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 93:
-#line 540 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 538 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 94:
-#line 541 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 539 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 96:
-#line 547 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 545 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAddNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 97:
-#line 549 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 547 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeSubNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 99:
-#line 554 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 552 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 100:
-#line 555 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 553 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 101:
-#line 556 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 554 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 103:
-#line 561 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 559 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeLeftShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 104:
-#line 562 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 560 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 105:
-#line 563 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 561 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) UnsignedRightShiftNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 107:
-#line 568 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 566 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 108:
-#line 569 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 567 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 109:
-#line 570 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 568 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 110:
-#line 571 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 569 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 111:
-#line 572 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 570 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 112:
-#line 575 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 573 "../../JavaScriptCore/parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 114:
-#line 582 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 580 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 115:
-#line 583 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 581 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 116:
-#line 584 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 582 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 117:
-#line 585 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 583 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 118:
-#line 587 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 585 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 120:
-#line 594 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 592 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 121:
-#line 595 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 593 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 122:
-#line 596 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 594 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LessEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 123:
-#line 597 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 595 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) GreaterEqNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 124:
-#line 599 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 597 "../../JavaScriptCore/parser/Grammar.y"
{ InstanceOfNode* node = new (GLOBAL_DATA) InstanceOfNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 125:
-#line 603 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 601 "../../JavaScriptCore/parser/Grammar.y"
{ InNode* node = new (GLOBAL_DATA) InNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(3) - (3)]).first_column, (yylsp[(3) - (3)]).last_column);
(yyval.expressionNode) = createNodeInfo<ExpressionNode*>(node, (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 127:
-#line 610 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 608 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 128:
-#line 611 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 609 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 129:
-#line 612 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 610 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 130:
-#line 613 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 611 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 132:
-#line 619 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 617 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 133:
-#line 621 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 619 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 134:
-#line 623 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 621 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 135:
-#line 625 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 623 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 137:
-#line 631 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 629 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) EqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 138:
-#line 632 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 630 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 139:
-#line 634 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 632 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) StrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 140:
-#line 636 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 634 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) NotStrictEqualNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 142:
-#line 641 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 639 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 144:
-#line 647 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 645 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 146:
-#line 652 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 650 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitAndNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 148:
-#line 657 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 655 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 150:
-#line 663 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 661 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 152:
-#line 669 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 667 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitXOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 154:
-#line 674 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 672 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 156:
-#line 680 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 678 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 158:
-#line 686 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 684 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) BitOrNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 160:
-#line 691 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 689 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 162:
-#line 697 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 695 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 164:
-#line 703 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 701 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalAnd), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 166:
-#line 708 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 706 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 168:
-#line 714 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 712 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 170:
-#line 719 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 717 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) LogicalOpNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node, OpLogicalOr), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 172:
-#line 725 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 723 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 174:
-#line 731 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 729 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 176:
-#line 737 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 735 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(new (GLOBAL_DATA) ConditionalNode(GLOBAL_DATA, (yyvsp[(1) - (5)].expressionNode).m_node, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].expressionNode).m_node), (yyvsp[(1) - (5)].expressionNode).m_features | (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].expressionNode).m_features, (yyvsp[(1) - (5)].expressionNode).m_numConstants + (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].expressionNode).m_numConstants); ;}
break;
case 178:
-#line 743 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 741 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 180:
-#line 751 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 749 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 182:
-#line 759 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 757 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(makeAssignNode(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(2) - (3)].op), (yyvsp[(3) - (3)].expressionNode).m_node, (yyvsp[(1) - (3)].expressionNode).m_features & AssignFeature, (yyvsp[(3) - (3)].expressionNode).m_features & AssignFeature,
(yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).first_column + 1, (yylsp[(3) - (3)]).last_column), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features | AssignFeature, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants);
;}
break;
case 183:
-#line 765 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 763 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpEqual; ;}
break;
case 184:
-#line 766 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 764 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpPlusEq; ;}
break;
case 185:
-#line 767 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 765 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpMinusEq; ;}
break;
case 186:
-#line 768 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 766 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpMultEq; ;}
break;
case 187:
-#line 769 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 767 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpDivEq; ;}
break;
case 188:
-#line 770 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 768 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpLShift; ;}
break;
case 189:
-#line 771 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 769 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpRShift; ;}
break;
case 190:
-#line 772 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 770 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpURShift; ;}
break;
case 191:
-#line 773 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 771 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpAndEq; ;}
break;
case 192:
-#line 774 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 772 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpXOrEq; ;}
break;
case 193:
-#line 775 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 773 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpOrEq; ;}
break;
case 194:
-#line 776 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 774 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.op) = OpModEq; ;}
break;
case 196:
-#line 781 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 779 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 198:
-#line 786 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 784 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 200:
-#line 791 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 789 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (3)].expressionNode).m_node, (yyvsp[(3) - (3)].expressionNode).m_node), (yyvsp[(1) - (3)].expressionNode).m_features | (yyvsp[(3) - (3)].expressionNode).m_features, (yyvsp[(1) - (3)].expressionNode).m_numConstants + (yyvsp[(3) - (3)].expressionNode).m_numConstants); ;}
break;
case 218:
-#line 815 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 813 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, 0), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 219:
-#line 817 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 815 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].sourceElements).m_node), (yyvsp[(2) - (3)].sourceElements).m_varDeclarations, (yyvsp[(2) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (3)].sourceElements).m_features, (yyvsp[(2) - (3)].sourceElements).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 220:
-#line 822 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 820 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 221:
-#line 824 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 822 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(makeVarStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].varDeclList).m_node), (yyvsp[(2) - (3)].varDeclList).m_varDeclarations, (yyvsp[(2) - (3)].varDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].varDeclList).m_features, (yyvsp[(2) - (3)].varDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
AUTO_SEMICOLON; ;}
break;
case 222:
-#line 830 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 828 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3861,7 +4119,9 @@ yyreduce:
break;
case 223:
-#line 837 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 835 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3874,7 +4134,9 @@ yyreduce:
break;
case 224:
-#line 847 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 845 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3885,7 +4147,9 @@ yyreduce:
break;
case 225:
-#line 855 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 853 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3898,7 +4162,9 @@ yyreduce:
break;
case 226:
-#line 867 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 865 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = 0;
(yyval.varDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(1) - (1)].ident), 0);
@@ -3909,7 +4175,9 @@ yyreduce:
break;
case 227:
-#line 874 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 872 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node, (yyvsp[(2) - (2)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(2) - (2)]).first_column + 1, (yylsp[(2) - (2)]).last_column);
(yyval.varDeclList).m_node = node;
@@ -3922,7 +4190,9 @@ yyreduce:
break;
case 228:
-#line 884 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 882 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.varDeclList).m_node = (yyvsp[(1) - (3)].varDeclList).m_node;
(yyval.varDeclList).m_varDeclarations = (yyvsp[(1) - (3)].varDeclList).m_varDeclarations;
appendToVarDeclarationList(GLOBAL_DATA, (yyval.varDeclList).m_varDeclarations, *(yyvsp[(3) - (3)].ident), 0);
@@ -3933,7 +4203,9 @@ yyreduce:
break;
case 229:
-#line 892 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 890 "../../JavaScriptCore/parser/Grammar.y"
{ AssignResolveNode* node = new (GLOBAL_DATA) AssignResolveNode(GLOBAL_DATA, *(yyvsp[(3) - (4)].ident), (yyvsp[(4) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].expressionNode).m_features & AssignFeature);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (4)]).first_column, (yylsp[(4) - (4)]).first_column + 1, (yylsp[(4) - (4)]).last_column);
(yyval.varDeclList).m_node = combineCommaNodes(GLOBAL_DATA, (yyvsp[(1) - (4)].varDeclList).m_node, node);
@@ -3946,19 +4218,25 @@ yyreduce:
break;
case 230:
-#line 904 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 902 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 231:
-#line 907 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 905 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ConstStatementNode(GLOBAL_DATA, (yyvsp[(2) - (3)].constDeclList).m_node.head), (yyvsp[(2) - (3)].constDeclList).m_varDeclarations, (yyvsp[(2) - (3)].constDeclList).m_funcDeclarations, (yyvsp[(2) - (3)].constDeclList).m_features, (yyvsp[(2) - (3)].constDeclList).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 232:
-#line 912 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 910 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (1)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyval.constDeclList).m_node.head;
(yyval.constDeclList).m_varDeclarations = new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::VarStack>;
@@ -3970,7 +4248,9 @@ yyreduce:
break;
case 233:
-#line 921 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 919 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclList).m_node.head = (yyvsp[(1) - (3)].constDeclList).m_node.head;
(yyvsp[(1) - (3)].constDeclList).m_node.tail->m_next = (yyvsp[(3) - (3)].constDeclNode).m_node;
(yyval.constDeclList).m_node.tail = (yyvsp[(3) - (3)].constDeclNode).m_node;
@@ -3982,50 +4262,68 @@ yyreduce:
break;
case 234:
-#line 932 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 930 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident), 0), (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0, 0); ;}
break;
case 235:
-#line 933 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 931 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.constDeclNode) = createNodeInfo<ConstDeclNode*>(new (GLOBAL_DATA) ConstDeclNode(GLOBAL_DATA, *(yyvsp[(1) - (2)].ident), (yyvsp[(2) - (2)].expressionNode).m_node), ((*(yyvsp[(1) - (2)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(2) - (2)].expressionNode).m_features, (yyvsp[(2) - (2)].expressionNode).m_numConstants); ;}
break;
case 236:
-#line 937 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 935 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 237:
-#line 941 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 939 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = (yyvsp[(2) - (2)].expressionNode); ;}
break;
case 238:
-#line 945 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 943 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) EmptyStatementNode(GLOBAL_DATA), 0, 0, 0, 0); ;}
break;
case 239:
-#line 949 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 947 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 240:
-#line 951 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 949 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ExprStatementNode(GLOBAL_DATA, (yyvsp[(1) - (2)].expressionNode).m_node), 0, 0, (yyvsp[(1) - (2)].expressionNode).m_features, (yyvsp[(1) - (2)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 241:
-#line 957 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 955 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 242:
-#line 960 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 958 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) IfElseNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].statementNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(5) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4035,25 +4333,33 @@ yyreduce:
break;
case 243:
-#line 969 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 967 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 244:
-#line 971 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 969 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DoWhileNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node), (yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(2) - (7)].statementNode).m_features | (yyvsp[(5) - (7)].expressionNode).m_features, (yyvsp[(2) - (7)].statementNode).m_numConstants + (yyvsp[(5) - (7)].expressionNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (7)]), (yylsp[(3) - (7)])); ;}
break;
case 245:
-#line 973 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 971 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WhileNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node), (yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 246:
-#line 976 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 974 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(3) - (9)].expressionNode).m_node, (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, false), (yyvsp[(9) - (9)].statementNode).m_varDeclarations, (yyvsp[(9) - (9)].statementNode).m_funcDeclarations,
(yyvsp[(3) - (9)].expressionNode).m_features | (yyvsp[(5) - (9)].expressionNode).m_features | (yyvsp[(7) - (9)].expressionNode).m_features | (yyvsp[(9) - (9)].statementNode).m_features,
(yyvsp[(3) - (9)].expressionNode).m_numConstants + (yyvsp[(5) - (9)].expressionNode).m_numConstants + (yyvsp[(7) - (9)].expressionNode).m_numConstants + (yyvsp[(9) - (9)].statementNode).m_numConstants);
@@ -4062,7 +4368,9 @@ yyreduce:
break;
case 247:
-#line 982 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 980 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) ForNode(GLOBAL_DATA, (yyvsp[(4) - (10)].varDeclList).m_node, (yyvsp[(6) - (10)].expressionNode).m_node, (yyvsp[(8) - (10)].expressionNode).m_node, (yyvsp[(10) - (10)].statementNode).m_node, true),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_varDeclarations, (yyvsp[(10) - (10)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(4) - (10)].varDeclList).m_funcDeclarations, (yyvsp[(10) - (10)].statementNode).m_funcDeclarations),
@@ -4072,7 +4380,9 @@ yyreduce:
break;
case 248:
-#line 989 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 987 "../../JavaScriptCore/parser/Grammar.y"
{
ForInNode* node = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, (yyvsp[(3) - (7)].expressionNode).m_node, (yyvsp[(5) - (7)].expressionNode).m_node, (yyvsp[(7) - (7)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(3) - (7)]).first_column, (yylsp[(3) - (7)]).last_column, (yylsp[(5) - (7)]).last_column);
@@ -4084,7 +4394,9 @@ yyreduce:
break;
case 249:
-#line 998 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 996 "../../JavaScriptCore/parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (8)].ident), 0, (yyvsp[(6) - (8)].expressionNode).m_node, (yyvsp[(8) - (8)].statementNode).m_node, (yylsp[(5) - (8)]).first_column, (yylsp[(5) - (8)]).first_column - (yylsp[(4) - (8)]).first_column, (yylsp[(6) - (8)]).last_column - (yylsp[(5) - (8)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (8)]).first_column, (yylsp[(5) - (8)]).first_column + 1, (yylsp[(6) - (8)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(8) - (8)].statementNode).m_varDeclarations, *(yyvsp[(4) - (8)].ident), DeclarationStacks::HasInitializer);
@@ -4093,7 +4405,9 @@ yyreduce:
break;
case 250:
-#line 1004 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1002 "../../JavaScriptCore/parser/Grammar.y"
{ ForInNode *forIn = new (GLOBAL_DATA) ForInNode(GLOBAL_DATA, *(yyvsp[(4) - (9)].ident), (yyvsp[(5) - (9)].expressionNode).m_node, (yyvsp[(7) - (9)].expressionNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node, (yylsp[(5) - (9)]).first_column, (yylsp[(5) - (9)]).first_column - (yylsp[(4) - (9)]).first_column, (yylsp[(5) - (9)]).last_column - (yylsp[(5) - (9)]).first_column);
SET_EXCEPTION_LOCATION(forIn, (yylsp[(4) - (9)]).first_column, (yylsp[(6) - (9)]).first_column + 1, (yylsp[(7) - (9)]).last_column);
appendToVarDeclarationList(GLOBAL_DATA, (yyvsp[(9) - (9)].statementNode).m_varDeclarations, *(yyvsp[(4) - (9)].ident), DeclarationStacks::HasInitializer);
@@ -4104,17 +4418,23 @@ yyreduce:
break;
case 251:
-#line 1014 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1012 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 253:
-#line 1019 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1017 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.expressionNode) = createNodeInfo<ExpressionNode*>(0, 0, 0); ;}
break;
case 255:
-#line 1024 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1022 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4122,7 +4442,9 @@ yyreduce:
break;
case 256:
-#line 1028 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1026 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4130,7 +4452,9 @@ yyreduce:
break;
case 257:
-#line 1032 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1030 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4138,7 +4462,9 @@ yyreduce:
break;
case 258:
-#line 1036 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1034 "../../JavaScriptCore/parser/Grammar.y"
{ ContinueNode* node = new (GLOBAL_DATA) ContinueNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0);
@@ -4146,82 +4472,106 @@ yyreduce:
break;
case 259:
-#line 1043 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1041 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 260:
-#line 1046 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1044 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 261:
-#line 1049 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1047 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 262:
-#line 1052 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1050 "../../JavaScriptCore/parser/Grammar.y"
{ BreakNode* node = new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident));
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) BreakNode(GLOBAL_DATA, *(yyvsp[(2) - (3)].ident)), 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 263:
-#line 1058 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1056 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 264:
-#line 1061 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1059 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, 0);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (2)]).first_column, (yylsp[(1) - (2)]).last_column, (yylsp[(1) - (2)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, 0, 0); DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 265:
-#line 1064 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1062 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(3) - (3)])); ;}
break;
case 266:
-#line 1067 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1065 "../../JavaScriptCore/parser/Grammar.y"
{ ReturnNode* node = new (GLOBAL_DATA) ReturnNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON; ;}
break;
case 267:
-#line 1073 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1071 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) WithNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].statementNode).m_node, (yylsp[(3) - (5)]).last_column, (yylsp[(3) - (5)]).last_column - (yylsp[(3) - (5)]).first_column),
(yyvsp[(5) - (5)].statementNode).m_varDeclarations, (yyvsp[(5) - (5)].statementNode).m_funcDeclarations, (yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].statementNode).m_features | WithFeature, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].statementNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 268:
-#line 1079 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1077 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) SwitchNode(GLOBAL_DATA, (yyvsp[(3) - (5)].expressionNode).m_node, (yyvsp[(5) - (5)].caseBlockNode).m_node), (yyvsp[(5) - (5)].caseBlockNode).m_varDeclarations, (yyvsp[(5) - (5)].caseBlockNode).m_funcDeclarations,
(yyvsp[(3) - (5)].expressionNode).m_features | (yyvsp[(5) - (5)].caseBlockNode).m_features, (yyvsp[(3) - (5)].expressionNode).m_numConstants + (yyvsp[(5) - (5)].caseBlockNode).m_numConstants);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (5)]), (yylsp[(4) - (5)])); ;}
break;
case 269:
-#line 1085 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1083 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (3)].clauseList).m_node.head, 0, 0), (yyvsp[(2) - (3)].clauseList).m_varDeclarations, (yyvsp[(2) - (3)].clauseList).m_funcDeclarations, (yyvsp[(2) - (3)].clauseList).m_features, (yyvsp[(2) - (3)].clauseList).m_numConstants); ;}
break;
case 270:
-#line 1087 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1085 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseBlockNode) = createNodeDeclarationInfo<CaseBlockNode*>(new (GLOBAL_DATA) CaseBlockNode(GLOBAL_DATA, (yyvsp[(2) - (5)].clauseList).m_node.head, (yyvsp[(3) - (5)].caseClauseNode).m_node, (yyvsp[(4) - (5)].clauseList).m_node.head),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_varDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_varDeclarations), (yyvsp[(4) - (5)].clauseList).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (5)].clauseList).m_funcDeclarations, (yyvsp[(3) - (5)].caseClauseNode).m_funcDeclarations), (yyvsp[(4) - (5)].clauseList).m_funcDeclarations),
@@ -4230,12 +4580,16 @@ yyreduce:
break;
case 271:
-#line 1095 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1093 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = 0; (yyval.clauseList).m_node.tail = 0; (yyval.clauseList).m_varDeclarations = 0; (yyval.clauseList).m_funcDeclarations = 0; (yyval.clauseList).m_features = 0; (yyval.clauseList).m_numConstants = 0; ;}
break;
case 273:
-#line 1100 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1098 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (1)].caseClauseNode).m_node);
(yyval.clauseList).m_node.tail = (yyval.clauseList).m_node.head;
(yyval.clauseList).m_varDeclarations = (yyvsp[(1) - (1)].caseClauseNode).m_varDeclarations;
@@ -4245,7 +4599,9 @@ yyreduce:
break;
case 274:
-#line 1106 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1104 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.clauseList).m_node.head = (yyvsp[(1) - (2)].clauseList).m_node.head;
(yyval.clauseList).m_node.tail = new (GLOBAL_DATA) ClauseListNode(GLOBAL_DATA, (yyvsp[(1) - (2)].clauseList).m_node.tail, (yyvsp[(2) - (2)].caseClauseNode).m_node);
(yyval.clauseList).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].clauseList).m_varDeclarations, (yyvsp[(2) - (2)].caseClauseNode).m_varDeclarations);
@@ -4256,34 +4612,46 @@ yyreduce:
break;
case 275:
-#line 1116 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1114 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node), 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); ;}
break;
case 276:
-#line 1117 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1115 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, (yyvsp[(2) - (4)].expressionNode).m_node, (yyvsp[(4) - (4)].sourceElements).m_node), (yyvsp[(4) - (4)].sourceElements).m_varDeclarations, (yyvsp[(4) - (4)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (4)].expressionNode).m_features | (yyvsp[(4) - (4)].sourceElements).m_features, (yyvsp[(2) - (4)].expressionNode).m_numConstants + (yyvsp[(4) - (4)].sourceElements).m_numConstants); ;}
break;
case 277:
-#line 1121 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1119 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0), 0, 0, 0, 0); ;}
break;
case 278:
-#line 1122 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1120 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.caseClauseNode) = createNodeDeclarationInfo<CaseClauseNode*>(new (GLOBAL_DATA) CaseClauseNode(GLOBAL_DATA, 0, (yyvsp[(3) - (3)].sourceElements).m_node), (yyvsp[(3) - (3)].sourceElements).m_varDeclarations, (yyvsp[(3) - (3)].sourceElements).m_funcDeclarations, (yyvsp[(3) - (3)].sourceElements).m_features, (yyvsp[(3) - (3)].sourceElements).m_numConstants); ;}
break;
case 279:
-#line 1126 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1124 "../../JavaScriptCore/parser/Grammar.y"
{ LabelNode* node = new (GLOBAL_DATA) LabelNode(GLOBAL_DATA, *(yyvsp[(1) - (3)].ident), (yyvsp[(3) - (3)].statementNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, (yyvsp[(3) - (3)].statementNode).m_varDeclarations, (yyvsp[(3) - (3)].statementNode).m_funcDeclarations, (yyvsp[(3) - (3)].statementNode).m_features, (yyvsp[(3) - (3)].statementNode).m_numConstants); ;}
break;
case 280:
-#line 1132 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1130 "../../JavaScriptCore/parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)]));
@@ -4291,7 +4659,9 @@ yyreduce:
break;
case 281:
-#line 1136 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1134 "../../JavaScriptCore/parser/Grammar.y"
{ ThrowNode* node = new (GLOBAL_DATA) ThrowNode(GLOBAL_DATA, (yyvsp[(2) - (3)].expressionNode).m_node);
SET_EXCEPTION_LOCATION(node, (yylsp[(1) - (3)]).first_column, (yylsp[(2) - (3)]).last_column, (yylsp[(2) - (3)]).last_column);
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(node, 0, 0, (yyvsp[(2) - (3)].expressionNode).m_features, (yyvsp[(2) - (3)].expressionNode).m_numConstants); DBG((yyval.statementNode).m_node, (yylsp[(1) - (3)]), (yylsp[(2) - (3)])); AUTO_SEMICOLON;
@@ -4299,7 +4669,9 @@ yyreduce:
break;
case 282:
-#line 1143 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1141 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (4)].statementNode).m_node, GLOBAL_DATA->propertyNames->nullIdentifier, false, 0, (yyvsp[(4) - (4)].statementNode).m_node),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_varDeclarations, (yyvsp[(4) - (4)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (4)].statementNode).m_funcDeclarations, (yyvsp[(4) - (4)].statementNode).m_funcDeclarations),
@@ -4309,7 +4681,9 @@ yyreduce:
break;
case 283:
-#line 1149 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1147 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (7)].statementNode).m_node, *(yyvsp[(5) - (7)].ident), ((yyvsp[(7) - (7)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (7)].statementNode).m_node, 0),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_varDeclarations, (yyvsp[(7) - (7)].statementNode).m_varDeclarations),
mergeDeclarationLists((yyvsp[(2) - (7)].statementNode).m_funcDeclarations, (yyvsp[(7) - (7)].statementNode).m_funcDeclarations),
@@ -4319,7 +4693,9 @@ yyreduce:
break;
case 284:
-#line 1156 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1154 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) TryNode(GLOBAL_DATA, (yyvsp[(2) - (9)].statementNode).m_node, *(yyvsp[(5) - (9)].ident), ((yyvsp[(7) - (9)].statementNode).m_features & EvalFeature) != 0, (yyvsp[(7) - (9)].statementNode).m_node, (yyvsp[(9) - (9)].statementNode).m_node),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_varDeclarations, (yyvsp[(7) - (9)].statementNode).m_varDeclarations), (yyvsp[(9) - (9)].statementNode).m_varDeclarations),
mergeDeclarationLists(mergeDeclarationLists((yyvsp[(2) - (9)].statementNode).m_funcDeclarations, (yyvsp[(7) - (9)].statementNode).m_funcDeclarations), (yyvsp[(9) - (9)].statementNode).m_funcDeclarations),
@@ -4329,24 +4705,32 @@ yyreduce:
break;
case 285:
-#line 1165 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1163 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(2) - (2)])); ;}
break;
case 286:
-#line 1167 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1165 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new (GLOBAL_DATA) DebuggerStatementNode(GLOBAL_DATA), 0, 0, 0, 0);
DBG((yyval.statementNode).m_node, (yylsp[(1) - (2)]), (yylsp[(1) - (2)])); AUTO_SEMICOLON; ;}
break;
case 287:
-#line 1172 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1170 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (7)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); (yyval.statementNode).m_funcDeclarations->data.append(static_cast<FuncDeclNode*>((yyval.statementNode).m_node)); ;}
break;
case 288:
-#line 1174 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1172 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.statementNode) = createNodeDeclarationInfo<StatementNode*>(new FuncDeclNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), 0, new (GLOBAL_DATA) ParserArenaData<DeclarationStacks::FunctionStack>, ((*(yyvsp[(2) - (8)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0) | (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4357,12 +4741,16 @@ yyreduce:
break;
case 289:
-#line 1184 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1182 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(5) - (6)].functionBodyNode), LEXER->sourceCode((yyvsp[(4) - (6)].intValue), (yyvsp[(6) - (6)].intValue), (yylsp[(4) - (6)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(5) - (6)].functionBodyNode), (yylsp[(4) - (6)]), (yylsp[(6) - (6)])); ;}
break;
case 290:
-#line 1186 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1184 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, GLOBAL_DATA->propertyNames->nullIdentifier, (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line), (yyvsp[(3) - (7)].parameterList).m_node.head), (yyvsp[(3) - (7)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(3) - (7)].parameterList).m_features & ArgumentsFeature)
@@ -4372,12 +4760,16 @@ yyreduce:
break;
case 291:
-#line 1192 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1190 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (7)].ident), (yyvsp[(6) - (7)].functionBodyNode), LEXER->sourceCode((yyvsp[(5) - (7)].intValue), (yyvsp[(7) - (7)].intValue), (yylsp[(5) - (7)]).first_line)), ClosureFeature, 0); DBG((yyvsp[(6) - (7)].functionBodyNode), (yylsp[(5) - (7)]), (yylsp[(7) - (7)])); ;}
break;
case 292:
-#line 1194 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1192 "../../JavaScriptCore/parser/Grammar.y"
{
(yyval.funcExprNode) = createNodeInfo(new FuncExprNode(GLOBAL_DATA, *(yyvsp[(2) - (8)].ident), (yyvsp[(7) - (8)].functionBodyNode), LEXER->sourceCode((yyvsp[(6) - (8)].intValue), (yyvsp[(8) - (8)].intValue), (yylsp[(6) - (8)]).first_line), (yyvsp[(4) - (8)].parameterList).m_node.head), (yyvsp[(4) - (8)].parameterList).m_features | ClosureFeature, 0);
if ((yyvsp[(4) - (8)].parameterList).m_features & ArgumentsFeature)
@@ -4387,42 +4779,56 @@ yyreduce:
break;
case 293:
-#line 1203 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1201 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.parameterList).m_node.head = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, *(yyvsp[(1) - (1)].ident));
(yyval.parameterList).m_features = (*(yyvsp[(1) - (1)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0;
(yyval.parameterList).m_node.tail = (yyval.parameterList).m_node.head; ;}
break;
case 294:
-#line 1206 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1204 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.parameterList).m_node.head = (yyvsp[(1) - (3)].parameterList).m_node.head;
(yyval.parameterList).m_features = (yyvsp[(1) - (3)].parameterList).m_features | ((*(yyvsp[(3) - (3)].ident) == GLOBAL_DATA->propertyNames->arguments) ? ArgumentsFeature : 0);
(yyval.parameterList).m_node.tail = new (GLOBAL_DATA) ParameterNode(GLOBAL_DATA, (yyvsp[(1) - (3)].parameterList).m_node.tail, *(yyvsp[(3) - (3)].ident)); ;}
break;
case 295:
-#line 1212 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1210 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 296:
-#line 1213 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1211 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.functionBodyNode) = FunctionBodyNode::create(GLOBAL_DATA); ;}
break;
case 297:
-#line 1217 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1215 "../../JavaScriptCore/parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing(new (GLOBAL_DATA) SourceElements(GLOBAL_DATA), 0, 0, NoFeatures, (yylsp[(0) - (0)]).last_line, 0); ;}
break;
case 298:
-#line 1218 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1216 "../../JavaScriptCore/parser/Grammar.y"
{ GLOBAL_DATA->parser->didFinishParsing((yyvsp[(1) - (1)].sourceElements).m_node, (yyvsp[(1) - (1)].sourceElements).m_varDeclarations, (yyvsp[(1) - (1)].sourceElements).m_funcDeclarations, (yyvsp[(1) - (1)].sourceElements).m_features,
(yylsp[(1) - (1)]).last_line, (yyvsp[(1) - (1)].sourceElements).m_numConstants); ;}
break;
case 299:
-#line 1223 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1221 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.sourceElements).m_node = new (GLOBAL_DATA) SourceElements(GLOBAL_DATA);
(yyval.sourceElements).m_node->append((yyvsp[(1) - (1)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = (yyvsp[(1) - (1)].statementNode).m_varDeclarations;
@@ -4433,7 +4839,9 @@ yyreduce:
break;
case 300:
-#line 1230 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1228 "../../JavaScriptCore/parser/Grammar.y"
{ (yyval.sourceElements).m_node->append((yyvsp[(2) - (2)].statementNode).m_node);
(yyval.sourceElements).m_varDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_varDeclarations, (yyvsp[(2) - (2)].statementNode).m_varDeclarations);
(yyval.sourceElements).m_funcDeclarations = mergeDeclarationLists((yyvsp[(1) - (2)].sourceElements).m_funcDeclarations, (yyvsp[(2) - (2)].statementNode).m_funcDeclarations);
@@ -4443,188 +4851,261 @@ yyreduce:
break;
case 304:
-#line 1244 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1242 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 305:
-#line 1245 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1243 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 306:
-#line 1246 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1244 "../../JavaScriptCore/parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 307:
-#line 1247 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1245 "../../JavaScriptCore/parser/Grammar.y"
{ Lexer& l = *LEXER; if (!l.scanRegExp()) YYABORT; ;}
break;
case 308:
-#line 1251 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1249 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 309:
-#line 1252 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1250 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 310:
-#line 1253 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1251 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 311:
-#line 1254 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1252 "../../JavaScriptCore/parser/Grammar.y"
{ if (*(yyvsp[(1) - (7)].ident) != "get" && *(yyvsp[(1) - (7)].ident) != "set") YYABORT; ;}
break;
case 312:
-#line 1255 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1253 "../../JavaScriptCore/parser/Grammar.y"
{ if (*(yyvsp[(1) - (8)].ident) != "get" && *(yyvsp[(1) - (8)].ident) != "set") YYABORT; ;}
break;
case 316:
-#line 1265 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1263 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 317:
-#line 1266 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1264 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 318:
-#line 1268 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1266 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 322:
-#line 1275 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1273 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 517:
-#line 1643 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1641 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 518:
-#line 1644 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1642 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 520:
-#line 1649 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1647 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 521:
-#line 1653 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1651 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 522:
-#line 1654 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1652 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 525:
-#line 1660 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1658 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 526:
-#line 1661 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1659 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 530:
-#line 1668 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1666 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 533:
-#line 1677 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1675 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 534:
-#line 1678 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1676 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 539:
-#line 1695 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1693 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 555:
-#line 1726 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1724 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 557:
-#line 1728 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1726 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 559:
-#line 1733 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1731 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 561:
-#line 1735 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1733 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 563:
-#line 1740 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1738 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 565:
-#line 1742 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1740 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 568:
-#line 1754 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1752 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 569:
-#line 1755 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1753 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 578:
-#line 1779 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1777 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
case 580:
-#line 1784 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1782 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 585:
-#line 1795 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1793 "../../JavaScriptCore/parser/Grammar.y"
{ AUTO_SEMICOLON; ;}
break;
case 592:
-#line 1811 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1455 of yacc.c */
+#line 1809 "../../JavaScriptCore/parser/Grammar.y"
{ ;}
break;
-/* Line 1267 of yacc.c. */
-#line 4628 "WebCore/tmp/../generated/Grammar.tab.c"
+
+/* Line 1455 of yacc.c */
+#line 5109 "WebCore/tmp/../generated/Grammar.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -4700,7 +5181,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4717,7 +5198,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4775,14 +5256,11 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
yyerror_range[1] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
- the look-ahead. YYLOC is available though. */
+ the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
*++yylsp = yyloc;
@@ -4807,7 +5285,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4818,7 +5296,7 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
+ if (yychar != YYEMPTY)
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc);
/* Do not reclaim the symbols of the rule which action triggered
@@ -4844,7 +5322,9 @@ yyreturn:
}
-#line 1827 "../../JavaScriptCore/parser/Grammar.y"
+
+/* Line 1675 of yacc.c */
+#line 1825 "../../JavaScriptCore/parser/Grammar.y"
static ExpressionNode* makeAssignNode(void* globalPtr, ExpressionNode* loc, Operator op, ExpressionNode* expr, bool locHasAssignments, bool exprHasAssignments, int start, int divot, int end)
diff --git a/src/3rdparty/webkit/WebCore/generated/Grammar.h b/src/3rdparty/webkit/WebCore/generated/Grammar.h
index 4188cd8..2f9d6f0 100644
--- a/src/3rdparty/webkit/WebCore/generated/Grammar.h
+++ b/src/3rdparty/webkit/WebCore/generated/Grammar.h
@@ -1,24 +1,23 @@
-/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
+/* A Bison parser, made by GNU Bison 2.4.1. */
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -104,78 +104,16 @@
AUTOMINUSMINUS = 320
};
#endif
-/* Tokens. */
-#define NULLTOKEN 258
-#define TRUETOKEN 259
-#define FALSETOKEN 260
-#define BREAK 261
-#define CASE 262
-#define DEFAULT 263
-#define FOR 264
-#define NEW 265
-#define VAR 266
-#define CONSTTOKEN 267
-#define CONTINUE 268
-#define FUNCTION 269
-#define RETURN 270
-#define VOIDTOKEN 271
-#define DELETETOKEN 272
-#define IF 273
-#define THISTOKEN 274
-#define DO 275
-#define WHILE 276
-#define INTOKEN 277
-#define INSTANCEOF 278
-#define TYPEOF 279
-#define SWITCH 280
-#define WITH 281
-#define RESERVED 282
-#define THROW 283
-#define TRY 284
-#define CATCH 285
-#define FINALLY 286
-#define DEBUGGER 287
-#define IF_WITHOUT_ELSE 288
-#define ELSE 289
-#define EQEQ 290
-#define NE 291
-#define STREQ 292
-#define STRNEQ 293
-#define LE 294
-#define GE 295
-#define OR 296
-#define AND 297
-#define PLUSPLUS 298
-#define MINUSMINUS 299
-#define LSHIFT 300
-#define RSHIFT 301
-#define URSHIFT 302
-#define PLUSEQUAL 303
-#define MINUSEQUAL 304
-#define MULTEQUAL 305
-#define DIVEQUAL 306
-#define LSHIFTEQUAL 307
-#define RSHIFTEQUAL 308
-#define URSHIFTEQUAL 309
-#define ANDEQUAL 310
-#define MODEQUAL 311
-#define XOREQUAL 312
-#define OREQUAL 313
-#define OPENBRACE 314
-#define CLOSEBRACE 315
-#define NUMBER 316
-#define IDENT 317
-#define STRING 318
-#define AUTOPLUSPLUS 319
-#define AUTOMINUSMINUS 320
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 157 "../../JavaScriptCore/parser/Grammar.y"
{
+
+/* Line 1676 of yacc.c */
+#line 155 "../../JavaScriptCore/parser/Grammar.y"
+
int intValue;
double doubleValue;
Identifier* ident;
@@ -205,13 +143,15 @@ typedef union YYSTYPE
ParameterListInfo parameterList;
Operator op;
-}
-/* Line 1489 of yacc.c. */
-#line 211 "WebCore/tmp/../generated/Grammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 1676 of yacc.c */
+#line 151 "WebCore/tmp/../generated/Grammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
@@ -230,3 +170,4 @@ typedef struct YYLTYPE
#endif
+
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp b/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp
index d14bc93..4a8430c 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp
@@ -184,21 +184,33 @@ static PassRefPtr<HTMLElement> tablecolConstructor(const QualifiedName& tagName,
return new HTMLTableColElement(tagName, doc);
}
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridElement(tagName, doc);
}
+#endif
+
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridcellConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridCellElement(tagName, doc);
}
+#endif
+
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridcolConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridColElement(tagName, doc);
}
+#endif
+
static PassRefPtr<HTMLElement> modConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLModElement(tagName, doc);
@@ -219,11 +231,15 @@ static PassRefPtr<HTMLElement> dlistConstructor(const QualifiedName& tagName, Do
return new HTMLDListElement(tagName, doc);
}
+#if ENABLE(DATAGRID)
+
static PassRefPtr<HTMLElement> datagridrowConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLDataGridRowElement(tagName, doc);
}
+#endif
+
static PassRefPtr<HTMLElement> embedConstructor(const QualifiedName& tagName, Document* doc, HTMLFormElement*, bool)
{
return new HTMLEmbedElement(tagName, doc);
@@ -486,14 +502,26 @@ static inline void createFunctionMapIfNecessary()
addTag(captionTag, tablecaptionConstructor);
addTag(colTag, tablecolConstructor);
addTag(colgroupTag, tablecolConstructor);
+#if ENABLE(DATAGRID)
addTag(datagridTag, datagridConstructor);
+#endif
+
+#if ENABLE(DATAGRID)
addTag(dcellTag, datagridcellConstructor);
+#endif
+
+#if ENABLE(DATAGRID)
addTag(dcolTag, datagridcolConstructor);
+#endif
+
addTag(delTag, modConstructor);
addTag(dirTag, directoryConstructor);
addTag(divTag, divConstructor);
addTag(dlTag, dlistConstructor);
+#if ENABLE(DATAGRID)
addTag(drowTag, datagridrowConstructor);
+#endif
+
addTag(embedTag, embedConstructor);
addTag(fieldsetTag, fieldsetConstructor);
addTag(fontTag, fontConstructor);
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp b/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp
index 4e23159..44458f7 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp
@@ -128,6 +128,9 @@ DEFINE_GLOBAL(QualifiedName, paramTag, nullAtom, "param", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, plaintextTag, nullAtom, "plaintext", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, preTag, nullAtom, "pre", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, qTag, nullAtom, "q", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, rpTag, nullAtom, "rp", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, rtTag, nullAtom, "rt", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, rubyTag, nullAtom, "ruby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, sTag, nullAtom, "s", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, sampTag, nullAtom, "samp", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, scriptTag, nullAtom, "script", xhtmlNamespaceURI);
@@ -244,6 +247,9 @@ WebCore::QualifiedName** getHTMLTags(size_t* size)
(WebCore::QualifiedName*)&plaintextTag,
(WebCore::QualifiedName*)&preTag,
(WebCore::QualifiedName*)&qTag,
+ (WebCore::QualifiedName*)&rpTag,
+ (WebCore::QualifiedName*)&rtTag,
+ (WebCore::QualifiedName*)&rubyTag,
(WebCore::QualifiedName*)&sTag,
(WebCore::QualifiedName*)&sampTag,
(WebCore::QualifiedName*)&scriptTag,
@@ -273,7 +279,7 @@ WebCore::QualifiedName** getHTMLTags(size_t* size)
(WebCore::QualifiedName*)&wbrTag,
(WebCore::QualifiedName*)&xmpTag,
};
- *size = 111;
+ *size = 114;
return HTMLTags;
}
@@ -292,6 +298,7 @@ DEFINE_GLOBAL(QualifiedName, aria_checkedAttr, nullAtom, "aria_checked", xhtmlNa
DEFINE_GLOBAL(QualifiedName, aria_describedbyAttr, nullAtom, "aria_describedby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_disabledAttr, nullAtom, "aria_disabled", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_hiddenAttr, nullAtom, "aria_hidden", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, aria_labelAttr, nullAtom, "aria_label", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_labeledbyAttr, nullAtom, "aria_labeledby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_labelledbyAttr, nullAtom, "aria_labelledby", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, aria_levelAttr, nullAtom, "aria_level", xhtmlNamespaceURI);
@@ -343,6 +350,7 @@ DEFINE_GLOBAL(QualifiedName, deferAttr, nullAtom, "defer", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, dirAttr, nullAtom, "dir", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, directionAttr, nullAtom, "direction", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, disabledAttr, nullAtom, "disabled", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, draggableAttr, nullAtom, "draggable", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, enctypeAttr, nullAtom, "enctype", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, endAttr, nullAtom, "end", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, expandedAttr, nullAtom, "expanded", xhtmlNamespaceURI);
@@ -457,6 +465,7 @@ DEFINE_GLOBAL(QualifiedName, onwebkitanimationendAttr, nullAtom, "onwebkitanimat
DEFINE_GLOBAL(QualifiedName, onwebkitanimationiterationAttr, nullAtom, "onwebkitanimationiteration", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, onwebkitanimationstartAttr, nullAtom, "onwebkitanimationstart", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, onwebkittransitionendAttr, nullAtom, "onwebkittransitionend", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, patternAttr, nullAtom, "pattern", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, placeholderAttr, nullAtom, "placeholder", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, playcountAttr, nullAtom, "playcount", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, pluginurlAttr, nullAtom, "pluginurl", xhtmlNamespaceURI);
@@ -468,6 +477,7 @@ DEFINE_GLOBAL(QualifiedName, progressAttr, nullAtom, "progress", xhtmlNamespaceU
DEFINE_GLOBAL(QualifiedName, promptAttr, nullAtom, "prompt", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, readonlyAttr, nullAtom, "readonly", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, relAttr, nullAtom, "rel", xhtmlNamespaceURI);
+DEFINE_GLOBAL(QualifiedName, requiredAttr, nullAtom, "required", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, resultsAttr, nullAtom, "results", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, revAttr, nullAtom, "rev", xhtmlNamespaceURI);
DEFINE_GLOBAL(QualifiedName, roleAttr, nullAtom, "role", xhtmlNamespaceURI);
@@ -529,6 +539,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&aria_describedbyAttr,
(WebCore::QualifiedName*)&aria_disabledAttr,
(WebCore::QualifiedName*)&aria_hiddenAttr,
+ (WebCore::QualifiedName*)&aria_labelAttr,
(WebCore::QualifiedName*)&aria_labeledbyAttr,
(WebCore::QualifiedName*)&aria_labelledbyAttr,
(WebCore::QualifiedName*)&aria_levelAttr,
@@ -580,6 +591,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&dirAttr,
(WebCore::QualifiedName*)&directionAttr,
(WebCore::QualifiedName*)&disabledAttr,
+ (WebCore::QualifiedName*)&draggableAttr,
(WebCore::QualifiedName*)&enctypeAttr,
(WebCore::QualifiedName*)&endAttr,
(WebCore::QualifiedName*)&expandedAttr,
@@ -694,6 +706,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&onwebkitanimationiterationAttr,
(WebCore::QualifiedName*)&onwebkitanimationstartAttr,
(WebCore::QualifiedName*)&onwebkittransitionendAttr,
+ (WebCore::QualifiedName*)&patternAttr,
(WebCore::QualifiedName*)&placeholderAttr,
(WebCore::QualifiedName*)&playcountAttr,
(WebCore::QualifiedName*)&pluginurlAttr,
@@ -705,6 +718,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&promptAttr,
(WebCore::QualifiedName*)&readonlyAttr,
(WebCore::QualifiedName*)&relAttr,
+ (WebCore::QualifiedName*)&requiredAttr,
(WebCore::QualifiedName*)&resultsAttr,
(WebCore::QualifiedName*)&revAttr,
(WebCore::QualifiedName*)&roleAttr,
@@ -748,7 +762,7 @@ WebCore::QualifiedName** getHTMLAttrs(size_t* size)
(WebCore::QualifiedName*)&widthAttr,
(WebCore::QualifiedName*)&wrapAttr,
};
- *size = 232;
+ *size = 236;
return HTMLAttr;
}
@@ -856,6 +870,9 @@ void init()
const char *plaintextTagString = "plaintext";
const char *preTagString = "pre";
const char *qTagString = "q";
+ const char *rpTagString = "rp";
+ const char *rtTagString = "rt";
+ const char *rubyTagString = "ruby";
const char *sTagString = "s";
const char *sampTagString = "samp";
const char *scriptTagString = "script";
@@ -967,6 +984,9 @@ void init()
new ((void*)&plaintextTag) QualifiedName(nullAtom, plaintextTagString, xhtmlNS);
new ((void*)&preTag) QualifiedName(nullAtom, preTagString, xhtmlNS);
new ((void*)&qTag) QualifiedName(nullAtom, qTagString, xhtmlNS);
+ new ((void*)&rpTag) QualifiedName(nullAtom, rpTagString, xhtmlNS);
+ new ((void*)&rtTag) QualifiedName(nullAtom, rtTagString, xhtmlNS);
+ new ((void*)&rubyTag) QualifiedName(nullAtom, rubyTagString, xhtmlNS);
new ((void*)&sTag) QualifiedName(nullAtom, sTagString, xhtmlNS);
new ((void*)&sampTag) QualifiedName(nullAtom, sampTagString, xhtmlNS);
new ((void*)&scriptTag) QualifiedName(nullAtom, scriptTagString, xhtmlNS);
@@ -1010,6 +1030,7 @@ void init()
const char *aria_describedbyAttrString = "aria-describedby";
const char *aria_disabledAttrString = "aria-disabled";
const char *aria_hiddenAttrString = "aria-hidden";
+ const char *aria_labelAttrString = "aria-label";
const char *aria_labeledbyAttrString = "aria-labeledby";
const char *aria_labelledbyAttrString = "aria-labelledby";
const char *aria_levelAttrString = "aria-level";
@@ -1060,6 +1081,7 @@ void init()
const char *dirAttrString = "dir";
const char *directionAttrString = "direction";
const char *disabledAttrString = "disabled";
+ const char *draggableAttrString = "draggable";
const char *enctypeAttrString = "enctype";
const char *endAttrString = "end";
const char *expandedAttrString = "expanded";
@@ -1174,6 +1196,7 @@ void init()
const char *onwebkitanimationiterationAttrString = "onwebkitanimationiteration";
const char *onwebkitanimationstartAttrString = "onwebkitanimationstart";
const char *onwebkittransitionendAttrString = "onwebkittransitionend";
+ const char *patternAttrString = "pattern";
const char *placeholderAttrString = "placeholder";
const char *playcountAttrString = "playcount";
const char *pluginurlAttrString = "pluginurl";
@@ -1185,6 +1208,7 @@ void init()
const char *promptAttrString = "prompt";
const char *readonlyAttrString = "readonly";
const char *relAttrString = "rel";
+ const char *requiredAttrString = "required";
const char *resultsAttrString = "results";
const char *revAttrString = "rev";
const char *roleAttrString = "role";
@@ -1241,6 +1265,7 @@ void init()
new ((void*)&aria_describedbyAttr) QualifiedName(nullAtom, aria_describedbyAttrString, nullAtom);
new ((void*)&aria_disabledAttr) QualifiedName(nullAtom, aria_disabledAttrString, nullAtom);
new ((void*)&aria_hiddenAttr) QualifiedName(nullAtom, aria_hiddenAttrString, nullAtom);
+ new ((void*)&aria_labelAttr) QualifiedName(nullAtom, aria_labelAttrString, nullAtom);
new ((void*)&aria_labeledbyAttr) QualifiedName(nullAtom, aria_labeledbyAttrString, nullAtom);
new ((void*)&aria_labelledbyAttr) QualifiedName(nullAtom, aria_labelledbyAttrString, nullAtom);
new ((void*)&aria_levelAttr) QualifiedName(nullAtom, aria_levelAttrString, nullAtom);
@@ -1292,6 +1317,7 @@ void init()
new ((void*)&dirAttr) QualifiedName(nullAtom, dirAttrString, nullAtom);
new ((void*)&directionAttr) QualifiedName(nullAtom, directionAttrString, nullAtom);
new ((void*)&disabledAttr) QualifiedName(nullAtom, disabledAttrString, nullAtom);
+ new ((void*)&draggableAttr) QualifiedName(nullAtom, draggableAttrString, nullAtom);
new ((void*)&enctypeAttr) QualifiedName(nullAtom, enctypeAttrString, nullAtom);
new ((void*)&endAttr) QualifiedName(nullAtom, endAttrString, nullAtom);
new ((void*)&expandedAttr) QualifiedName(nullAtom, expandedAttrString, nullAtom);
@@ -1406,6 +1432,7 @@ void init()
new ((void*)&onwebkitanimationiterationAttr) QualifiedName(nullAtom, onwebkitanimationiterationAttrString, nullAtom);
new ((void*)&onwebkitanimationstartAttr) QualifiedName(nullAtom, onwebkitanimationstartAttrString, nullAtom);
new ((void*)&onwebkittransitionendAttr) QualifiedName(nullAtom, onwebkittransitionendAttrString, nullAtom);
+ new ((void*)&patternAttr) QualifiedName(nullAtom, patternAttrString, nullAtom);
new ((void*)&placeholderAttr) QualifiedName(nullAtom, placeholderAttrString, nullAtom);
new ((void*)&playcountAttr) QualifiedName(nullAtom, playcountAttrString, nullAtom);
new ((void*)&pluginurlAttr) QualifiedName(nullAtom, pluginurlAttrString, nullAtom);
@@ -1417,6 +1444,7 @@ void init()
new ((void*)&promptAttr) QualifiedName(nullAtom, promptAttrString, nullAtom);
new ((void*)&readonlyAttr) QualifiedName(nullAtom, readonlyAttrString, nullAtom);
new ((void*)&relAttr) QualifiedName(nullAtom, relAttrString, nullAtom);
+ new ((void*)&requiredAttr) QualifiedName(nullAtom, requiredAttrString, nullAtom);
new ((void*)&resultsAttr) QualifiedName(nullAtom, resultsAttrString, nullAtom);
new ((void*)&revAttr) QualifiedName(nullAtom, revAttrString, nullAtom);
new ((void*)&roleAttr) QualifiedName(nullAtom, roleAttrString, nullAtom);
diff --git a/src/3rdparty/webkit/WebCore/generated/HTMLNames.h b/src/3rdparty/webkit/WebCore/generated/HTMLNames.h
index fba6088..a2544e6 100644
--- a/src/3rdparty/webkit/WebCore/generated/HTMLNames.h
+++ b/src/3rdparty/webkit/WebCore/generated/HTMLNames.h
@@ -124,6 +124,9 @@ extern const WebCore::QualifiedName paramTag;
extern const WebCore::QualifiedName plaintextTag;
extern const WebCore::QualifiedName preTag;
extern const WebCore::QualifiedName qTag;
+extern const WebCore::QualifiedName rpTag;
+extern const WebCore::QualifiedName rtTag;
+extern const WebCore::QualifiedName rubyTag;
extern const WebCore::QualifiedName sTag;
extern const WebCore::QualifiedName sampTag;
extern const WebCore::QualifiedName scriptTag;
@@ -167,6 +170,7 @@ extern const WebCore::QualifiedName aria_checkedAttr;
extern const WebCore::QualifiedName aria_describedbyAttr;
extern const WebCore::QualifiedName aria_disabledAttr;
extern const WebCore::QualifiedName aria_hiddenAttr;
+extern const WebCore::QualifiedName aria_labelAttr;
extern const WebCore::QualifiedName aria_labeledbyAttr;
extern const WebCore::QualifiedName aria_labelledbyAttr;
extern const WebCore::QualifiedName aria_levelAttr;
@@ -219,6 +223,7 @@ extern const WebCore::QualifiedName deferAttr;
extern const WebCore::QualifiedName dirAttr;
extern const WebCore::QualifiedName directionAttr;
extern const WebCore::QualifiedName disabledAttr;
+extern const WebCore::QualifiedName draggableAttr;
extern const WebCore::QualifiedName enctypeAttr;
extern const WebCore::QualifiedName endAttr;
extern const WebCore::QualifiedName expandedAttr;
@@ -333,6 +338,7 @@ extern const WebCore::QualifiedName onwebkitanimationendAttr;
extern const WebCore::QualifiedName onwebkitanimationiterationAttr;
extern const WebCore::QualifiedName onwebkitanimationstartAttr;
extern const WebCore::QualifiedName onwebkittransitionendAttr;
+extern const WebCore::QualifiedName patternAttr;
extern const WebCore::QualifiedName placeholderAttr;
extern const WebCore::QualifiedName playcountAttr;
extern const WebCore::QualifiedName pluginurlAttr;
@@ -344,6 +350,7 @@ extern const WebCore::QualifiedName progressAttr;
extern const WebCore::QualifiedName promptAttr;
extern const WebCore::QualifiedName readonlyAttr;
extern const WebCore::QualifiedName relAttr;
+extern const WebCore::QualifiedName requiredAttr;
extern const WebCore::QualifiedName resultsAttr;
extern const WebCore::QualifiedName revAttr;
extern const WebCore::QualifiedName roleAttr;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
new file mode 100644
index 0000000..d591cad
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp
@@ -0,0 +1,227 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSAbstractWorker.h"
+
+#include "AbstractWorker.h"
+#include "Event.h"
+#include "EventListener.h"
+#include "Frame.h"
+#include "JSDOMGlobalObject.h"
+#include "JSEvent.h"
+#include "JSEventListener.h"
+#include <runtime/Error.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSAbstractWorker);
+
+/* Hash table */
+
+static const HashTableValue JSAbstractWorkerTableValues[3] =
+{
+ { "onerror", DontDelete, (intptr_t)jsAbstractWorkerOnerror, (intptr_t)setJSAbstractWorkerOnerror },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsAbstractWorkerConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSAbstractWorkerTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 1, JSAbstractWorkerTableValues, 0 };
+#else
+ { 4, 3, JSAbstractWorkerTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSAbstractWorkerConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSAbstractWorkerConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSAbstractWorkerConstructorTableValues, 0 };
+#else
+ { 1, 0, JSAbstractWorkerConstructorTableValues, 0 };
+#endif
+
+class JSAbstractWorkerConstructor : public DOMConstructorObject {
+public:
+ JSAbstractWorkerConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSAbstractWorkerConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSAbstractWorkerPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSAbstractWorkerConstructor::s_info = { "AbstractWorkerConstructor", 0, &JSAbstractWorkerConstructorTable, 0 };
+
+bool JSAbstractWorkerConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSAbstractWorkerConstructor, DOMObject>(exec, &JSAbstractWorkerConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSAbstractWorkerPrototypeTableValues[4] =
+{
+ { "addEventListener", DontDelete|Function, (intptr_t)jsAbstractWorkerPrototypeFunctionAddEventListener, (intptr_t)3 },
+ { "removeEventListener", DontDelete|Function, (intptr_t)jsAbstractWorkerPrototypeFunctionRemoveEventListener, (intptr_t)3 },
+ { "dispatchEvent", DontDelete|Function, (intptr_t)jsAbstractWorkerPrototypeFunctionDispatchEvent, (intptr_t)1 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSAbstractWorkerPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 3, JSAbstractWorkerPrototypeTableValues, 0 };
+#else
+ { 8, 7, JSAbstractWorkerPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSAbstractWorkerPrototype::s_info = { "AbstractWorkerPrototype", 0, &JSAbstractWorkerPrototypeTable, 0 };
+
+JSObject* JSAbstractWorkerPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSAbstractWorker>(exec, globalObject);
+}
+
+bool JSAbstractWorkerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, &JSAbstractWorkerPrototypeTable, this, propertyName, slot);
+}
+
+const ClassInfo JSAbstractWorker::s_info = { "AbstractWorker", 0, &JSAbstractWorkerTable, 0 };
+
+JSAbstractWorker::JSAbstractWorker(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<AbstractWorker> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSAbstractWorker::~JSAbstractWorker()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSAbstractWorker::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSAbstractWorkerPrototype(JSAbstractWorkerPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSAbstractWorker::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSAbstractWorker, Base>(exec, &JSAbstractWorkerTable, this, propertyName, slot);
+}
+
+JSValue jsAbstractWorkerOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSAbstractWorker* castedThis = static_cast<JSAbstractWorker*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ AbstractWorker* imp = static_cast<AbstractWorker*>(castedThis->impl());
+ if (EventListener* listener = imp->onerror()) {
+ if (JSObject* jsFunction = listener->jsFunction())
+ return jsFunction;
+ }
+ return jsNull();
+}
+
+JSValue jsAbstractWorkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSAbstractWorker* domObject = static_cast<JSAbstractWorker*>(asObject(slot.slotBase()));
+ return JSAbstractWorker::getConstructor(exec, domObject->globalObject());
+}
+void JSAbstractWorker::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
+{
+ lookupPut<JSAbstractWorker, Base>(exec, propertyName, value, &JSAbstractWorkerTable, this, slot);
+}
+
+void setJSAbstractWorkerOnerror(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ UNUSED_PARAM(exec);
+ AbstractWorker* imp = static_cast<AbstractWorker*>(static_cast<JSAbstractWorker*>(thisObject)->impl());
+ JSDOMGlobalObject* globalObject = toJSDOMGlobalObject(imp->scriptExecutionContext());
+ if (!globalObject)
+ return;
+ imp->setOnerror(globalObject->createJSAttributeEventListener(value));
+}
+
+JSValue JSAbstractWorker::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSAbstractWorkerConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionAddEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSAbstractWorker::s_info))
+ return throwError(exec, TypeError);
+ JSAbstractWorker* castedThisObj = static_cast<JSAbstractWorker*>(asObject(thisValue));
+ return castedThisObj->addEventListener(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionRemoveEventListener(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSAbstractWorker::s_info))
+ return throwError(exec, TypeError);
+ JSAbstractWorker* castedThisObj = static_cast<JSAbstractWorker*>(asObject(thisValue));
+ return castedThisObj->removeEventListener(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionDispatchEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSAbstractWorker::s_info))
+ return throwError(exec, TypeError);
+ JSAbstractWorker* castedThisObj = static_cast<JSAbstractWorker*>(asObject(thisValue));
+ AbstractWorker* imp = static_cast<AbstractWorker*>(castedThisObj->impl());
+ ExceptionCode ec = 0;
+ Event* evt = toEvent(args.at(0));
+
+
+ JSC::JSValue result = jsBoolean(imp->dispatchEvent(evt, ec));
+ setDOMException(exec, ec);
+ return result;
+}
+
+AbstractWorker* toAbstractWorker(JSC::JSValue value)
+{
+ return value.isObject(&JSAbstractWorker::s_info) ? static_cast<JSAbstractWorker*>(asObject(value))->impl() : 0;
+}
+
+}
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h
new file mode 100644
index 0000000..a2c92a5
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h
@@ -0,0 +1,96 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSAbstractWorker_h
+#define JSAbstractWorker_h
+
+#if ENABLE(WORKERS)
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class AbstractWorker;
+
+class JSAbstractWorker : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSAbstractWorker(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<AbstractWorker>);
+ virtual ~JSAbstractWorker();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ virtual void mark();
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+
+ // Custom functions
+ JSC::JSValue addEventListener(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue removeEventListener(JSC::ExecState*, const JSC::ArgList&);
+ AbstractWorker* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<AbstractWorker> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, AbstractWorker*);
+AbstractWorker* toAbstractWorker(JSC::JSValue);
+
+class JSAbstractWorkerPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSAbstractWorkerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionAddEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionRemoveEventListener(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsAbstractWorkerPrototypeFunctionDispatchEvent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsAbstractWorkerOnerror(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSAbstractWorkerOnerror(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsAbstractWorkerConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp b/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp
index bf9bea5..c4f5639 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSAttr.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSAttrTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSAttrTable =
+static JSC_CONST_HASHTABLE HashTable JSAttrTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSAttrTableValues, 0 };
#else
@@ -63,19 +63,19 @@ static const HashTableValue JSAttrConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSAttrConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSAttrConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSAttrConstructorTableValues, 0 };
#else
{ 1, 0, JSAttrConstructorTableValues, 0 };
#endif
-class JSAttrConstructor : public DOMObject {
+class JSAttrConstructor : public DOMConstructorObject {
public:
- JSAttrConstructor(ExecState* exec)
- : DOMObject(JSAttrConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSAttrConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSAttrConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSAttrPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSAttrPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -101,7 +101,7 @@ static const HashTableValue JSAttrPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSAttrPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSAttrPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSAttrPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ JSObject* JSAttrPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSAttr::s_info = { "Attr", &JSNode::s_info, &JSAttrTable, 0 };
-JSAttr::JSAttr(PassRefPtr<Structure> structure, PassRefPtr<Attr> impl)
- : JSNode(structure, impl)
+JSAttr::JSAttr(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Attr> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -134,42 +134,48 @@ bool JSAttr::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsAttrName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
return jsStringOrNull(exec, imp->name());
}
JSValue jsAttrSpecified(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
return jsBoolean(imp->specified());
}
JSValue jsAttrValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
return jsStringOrNull(exec, imp->value());
}
JSValue jsAttrOwnerElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerElement()));
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerElement()));
}
JSValue jsAttrStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSAttr* castedThis = static_cast<JSAttr*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Attr* imp = static_cast<Attr*>(static_cast<JSAttr*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ Attr* imp = static_cast<Attr*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsAttrConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSAttr*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSAttr* domObject = static_cast<JSAttr*>(asObject(slot.slotBase()));
+ return JSAttr::getConstructor(exec, domObject->globalObject());
}
void JSAttr::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -181,9 +187,9 @@ void setJSAttrValue(ExecState* exec, JSObject* thisObject, JSValue value)
static_cast<JSAttr*>(thisObject)->setValue(exec, value);
}
-JSValue JSAttr::getConstructor(ExecState* exec)
+JSValue JSAttr::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSAttrConstructor>(exec);
+ return getDOMConstructor<JSAttrConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
Attr* toAttr(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSAttr.h b/src/3rdparty/webkit/WebCore/generated/JSAttr.h
index 4d13aa8..a3b2165 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSAttr.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSAttr.h
@@ -31,7 +31,7 @@ class Attr;
class JSAttr : public JSNode {
typedef JSNode Base;
public:
- JSAttr(PassRefPtr<JSC::Structure>, PassRefPtr<Attr>);
+ JSAttr(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Attr>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
void setValue(JSC::ExecState*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
index 25aede5..c799f7f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSBarInfoTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSBarInfoTable =
+static JSC_CONST_HASHTABLE HashTable JSBarInfoTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSBarInfoTableValues, 0 };
#else
@@ -52,7 +52,7 @@ static const HashTableValue JSBarInfoPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSBarInfoPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSBarInfoPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSBarInfoPrototypeTableValues, 0 };
#else
@@ -68,8 +68,8 @@ JSObject* JSBarInfoPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSBarInfo::s_info = { "BarInfo", 0, &JSBarInfoTable, 0 };
-JSBarInfo::JSBarInfo(PassRefPtr<Structure> structure, PassRefPtr<BarInfo> impl)
- : DOMObject(structure)
+JSBarInfo::JSBarInfo(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<BarInfo> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -91,14 +91,15 @@ bool JSBarInfo::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsBarInfoVisible(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSBarInfo* castedThis = static_cast<JSBarInfo*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- BarInfo* imp = static_cast<BarInfo*>(static_cast<JSBarInfo*>(asObject(slot.slotBase()))->impl());
+ BarInfo* imp = static_cast<BarInfo*>(castedThis->impl());
return jsBoolean(imp->visible());
}
-JSC::JSValue toJS(JSC::ExecState* exec, BarInfo* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, BarInfo* object)
{
- return getDOMObjectWrapper<JSBarInfo>(exec, object);
+ return getDOMObjectWrapper<JSBarInfo>(exec, globalObject, object);
}
BarInfo* toBarInfo(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h
index c27d6c1..5698443 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSBarInfo.h
@@ -21,6 +21,7 @@
#ifndef JSBarInfo_h
#define JSBarInfo_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class BarInfo;
-class JSBarInfo : public DOMObject {
- typedef DOMObject Base;
+class JSBarInfo : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSBarInfo(PassRefPtr<JSC::Structure>, PassRefPtr<BarInfo>);
+ JSBarInfo(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<BarInfo>);
virtual ~JSBarInfo();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<BarInfo> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, BarInfo*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, BarInfo*);
BarInfo* toBarInfo(JSC::JSValue);
class JSBarInfoPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp
index f89540d..f3ef364 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSCDATASectionTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCDATASectionTable =
+static JSC_CONST_HASHTABLE HashTable JSCDATASectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCDATASectionTableValues, 0 };
#else
@@ -52,19 +52,19 @@ static const HashTableValue JSCDATASectionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCDATASectionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCDATASectionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCDATASectionConstructorTableValues, 0 };
#else
{ 1, 0, JSCDATASectionConstructorTableValues, 0 };
#endif
-class JSCDATASectionConstructor : public DOMObject {
+class JSCDATASectionConstructor : public DOMConstructorObject {
public:
- JSCDATASectionConstructor(ExecState* exec)
- : DOMObject(JSCDATASectionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCDATASectionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCDATASectionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCDATASectionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCDATASectionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -90,7 +90,7 @@ static const HashTableValue JSCDATASectionPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCDATASectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCDATASectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCDATASectionPrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ JSObject* JSCDATASectionPrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSCDATASection::s_info = { "CDATASection", &JSText::s_info, &JSCDATASectionTable, 0 };
-JSCDATASection::JSCDATASection(PassRefPtr<Structure> structure, PassRefPtr<CDATASection> impl)
- : JSText(structure, impl)
+JSCDATASection::JSCDATASection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CDATASection> impl)
+ : JSText(structure, globalObject, impl)
{
}
@@ -123,11 +123,12 @@ bool JSCDATASection::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsCDATASectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCDATASection*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCDATASection* domObject = static_cast<JSCDATASection*>(asObject(slot.slotBase()));
+ return JSCDATASection::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCDATASection::getConstructor(ExecState* exec)
+JSValue JSCDATASection::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCDATASectionConstructor>(exec);
+ return getDOMConstructor<JSCDATASectionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h
index 724ca0b..b45da05 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCDATASection.h
@@ -30,7 +30,7 @@ class CDATASection;
class JSCDATASection : public JSText {
typedef JSText Base;
public:
- JSCDATASection(PassRefPtr<JSC::Structure>, PassRefPtr<CDATASection>);
+ JSCDATASection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CDATASection>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,10 +41,10 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, CDATASection*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, CDATASection*);
class JSCDATASectionPrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp
index 15cabbf..f0a2203 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSCSSCharsetRuleTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSCharsetRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSCharsetRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSCSSCharsetRuleTableValues, 0 };
#else
@@ -54,19 +54,19 @@ static const HashTableValue JSCSSCharsetRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSCharsetRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSCharsetRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSCharsetRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSCharsetRuleConstructorTableValues, 0 };
#endif
-class JSCSSCharsetRuleConstructor : public DOMObject {
+class JSCSSCharsetRuleConstructor : public DOMConstructorObject {
public:
- JSCSSCharsetRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSCharsetRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSCharsetRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSCharsetRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSCharsetRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSCharsetRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -92,7 +92,7 @@ static const HashTableValue JSCSSCharsetRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSCharsetRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSCharsetRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSCharsetRulePrototypeTableValues, 0 };
#else
@@ -108,8 +108,8 @@ JSObject* JSCSSCharsetRulePrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSCSSCharsetRule::s_info = { "CSSCharsetRule", &JSCSSRule::s_info, &JSCSSCharsetRuleTable, 0 };
-JSCSSCharsetRule::JSCSSCharsetRule(PassRefPtr<Structure> structure, PassRefPtr<CSSCharsetRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSCharsetRule::JSCSSCharsetRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSCharsetRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -125,14 +125,16 @@ bool JSCSSCharsetRule::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsCSSCharsetRuleEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSCharsetRule* castedThis = static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSCharsetRule* imp = static_cast<CSSCharsetRule*>(static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()))->impl());
+ CSSCharsetRule* imp = static_cast<CSSCharsetRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->encoding());
}
JSValue jsCSSCharsetRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSCharsetRule* domObject = static_cast<JSCSSCharsetRule*>(asObject(slot.slotBase()));
+ return JSCSSCharsetRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSCharsetRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -147,9 +149,9 @@ void setJSCSSCharsetRuleEncoding(ExecState* exec, JSObject* thisObject, JSValue
setDOMException(exec, ec);
}
-JSValue JSCSSCharsetRule::getConstructor(ExecState* exec)
+JSValue JSCSSCharsetRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSCharsetRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSCharsetRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h
index 54c3be3..d7e303c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h
@@ -30,7 +30,7 @@ class CSSCharsetRule;
class JSCSSCharsetRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSCharsetRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSCharsetRule>);
+ JSCSSCharsetRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSCharsetRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp
index ab3b3a5..b8a1735 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSCSSFontFaceRuleTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSFontFaceRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSFontFaceRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSCSSFontFaceRuleTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSCSSFontFaceRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSFontFaceRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSFontFaceRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSFontFaceRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSFontFaceRuleConstructorTableValues, 0 };
#endif
-class JSCSSFontFaceRuleConstructor : public DOMObject {
+class JSCSSFontFaceRuleConstructor : public DOMConstructorObject {
public:
- JSCSSFontFaceRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSFontFaceRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSFontFaceRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSFontFaceRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSFontFaceRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSFontFaceRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSCSSFontFaceRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSFontFaceRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSFontFaceRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSFontFaceRulePrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSCSSFontFaceRulePrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSCSSFontFaceRule::s_info = { "CSSFontFaceRule", &JSCSSRule::s_info, &JSCSSFontFaceRuleTable, 0 };
-JSCSSFontFaceRule::JSCSSFontFaceRule(PassRefPtr<Structure> structure, PassRefPtr<CSSFontFaceRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSFontFaceRule::JSCSSFontFaceRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSFontFaceRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -127,18 +127,20 @@ bool JSCSSFontFaceRule::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsCSSFontFaceRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSFontFaceRule* castedThis = static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSFontFaceRule* imp = static_cast<CSSFontFaceRule*>(static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ CSSFontFaceRule* imp = static_cast<CSSFontFaceRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsCSSFontFaceRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSFontFaceRule* domObject = static_cast<JSCSSFontFaceRule*>(asObject(slot.slotBase()));
+ return JSCSSFontFaceRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSFontFaceRule::getConstructor(ExecState* exec)
+JSValue JSCSSFontFaceRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSFontFaceRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSFontFaceRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h
index a2acf4c..26ced76 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h
@@ -30,7 +30,7 @@ class CSSFontFaceRule;
class JSCSSFontFaceRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSFontFaceRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSFontFaceRule>);
+ JSCSSFontFaceRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSFontFaceRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp
index 4dc5151..874eab3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSCSSImportRuleTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSImportRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSImportRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSImportRuleTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSCSSImportRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSImportRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSImportRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSImportRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSImportRuleConstructorTableValues, 0 };
#endif
-class JSCSSImportRuleConstructor : public DOMObject {
+class JSCSSImportRuleConstructor : public DOMConstructorObject {
public:
- JSCSSImportRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSImportRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSImportRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSImportRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSImportRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSImportRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSCSSImportRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSImportRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSImportRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSImportRulePrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSCSSImportRulePrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSCSSImportRule::s_info = { "CSSImportRule", &JSCSSRule::s_info, &JSCSSImportRuleTable, 0 };
-JSCSSImportRule::JSCSSImportRule(PassRefPtr<Structure> structure, PassRefPtr<CSSImportRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSImportRule::JSCSSImportRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSImportRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -131,32 +131,36 @@ bool JSCSSImportRule::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsCSSImportRuleHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSImportRule* castedThis = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSImportRule* imp = static_cast<CSSImportRule*>(static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->impl());
+ CSSImportRule* imp = static_cast<CSSImportRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->href());
}
JSValue jsCSSImportRuleMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSImportRule* castedThis = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSImportRule* imp = static_cast<CSSImportRule*>(static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ CSSImportRule* imp = static_cast<CSSImportRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsCSSImportRuleStyleSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSImportRule* castedThis = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSImportRule* imp = static_cast<CSSImportRule*>(static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->styleSheet()));
+ CSSImportRule* imp = static_cast<CSSImportRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->styleSheet()));
}
JSValue jsCSSImportRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSImportRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSImportRule* domObject = static_cast<JSCSSImportRule*>(asObject(slot.slotBase()));
+ return JSCSSImportRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSImportRule::getConstructor(ExecState* exec)
+JSValue JSCSSImportRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSImportRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSImportRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h
index 14bae40..a90a44a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h
@@ -30,7 +30,7 @@ class CSSImportRule;
class JSCSSImportRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSImportRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSImportRule>);
+ JSCSSImportRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSImportRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp
index 35589af..1b82aa6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSCSSMediaRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSMediaRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSMediaRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSMediaRuleTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSCSSMediaRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSMediaRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSMediaRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSMediaRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSMediaRuleConstructorTableValues, 0 };
#endif
-class JSCSSMediaRuleConstructor : public DOMObject {
+class JSCSSMediaRuleConstructor : public DOMConstructorObject {
public:
- JSCSSMediaRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSMediaRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSMediaRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSMediaRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSMediaRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSMediaRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSCSSMediaRulePrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSMediaRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSMediaRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSCSSMediaRulePrototypeTableValues, 0 };
#else
@@ -121,8 +121,8 @@ bool JSCSSMediaRulePrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSCSSMediaRule::s_info = { "CSSMediaRule", &JSCSSRule::s_info, &JSCSSMediaRuleTable, 0 };
-JSCSSMediaRule::JSCSSMediaRule(PassRefPtr<Structure> structure, PassRefPtr<CSSMediaRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSMediaRule::JSCSSMediaRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSMediaRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -138,25 +138,28 @@ bool JSCSSMediaRule::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsCSSMediaRuleMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSMediaRule* castedThis = static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSMediaRule* imp = static_cast<CSSMediaRule*>(static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ CSSMediaRule* imp = static_cast<CSSMediaRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsCSSMediaRuleCssRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSMediaRule* castedThis = static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSMediaRule* imp = static_cast<CSSMediaRule*>(static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cssRules()));
+ CSSMediaRule* imp = static_cast<CSSMediaRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cssRules()));
}
JSValue jsCSSMediaRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSMediaRule* domObject = static_cast<JSCSSMediaRule*>(asObject(slot.slotBase()));
+ return JSCSSMediaRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSMediaRule::getConstructor(ExecState* exec)
+JSValue JSCSSMediaRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSMediaRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSMediaRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSMediaRulePrototypeFunctionInsertRule(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h
index bccda5d..51f3d6a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h
@@ -30,7 +30,7 @@ class CSSMediaRule;
class JSCSSMediaRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSMediaRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSMediaRule>);
+ JSCSSMediaRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSMediaRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp
index 6869a49..d9b3837 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSPageRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPageRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPageRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSPageRuleTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSPageRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPageRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPageRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSPageRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSPageRuleConstructorTableValues, 0 };
#endif
-class JSCSSPageRuleConstructor : public DOMObject {
+class JSCSSPageRuleConstructor : public DOMConstructorObject {
public:
- JSCSSPageRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSPageRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSPageRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSPageRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSPageRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSPageRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSCSSPageRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPageRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPageRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSPageRulePrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSCSSPageRulePrototype::self(ExecState* exec, JSGlobalObject* globalOb
const ClassInfo JSCSSPageRule::s_info = { "CSSPageRule", &JSCSSRule::s_info, &JSCSSPageRuleTable, 0 };
-JSCSSPageRule::JSCSSPageRule(PassRefPtr<Structure> structure, PassRefPtr<CSSPageRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSPageRule::JSCSSPageRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPageRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSCSSPageRule::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsCSSPageRuleSelectorText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSPageRule* castedThis = static_cast<JSCSSPageRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSPageRule* imp = static_cast<CSSPageRule*>(static_cast<JSCSSPageRule*>(asObject(slot.slotBase()))->impl());
+ CSSPageRule* imp = static_cast<CSSPageRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->selectorText());
}
JSValue jsCSSPageRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSPageRule* castedThis = static_cast<JSCSSPageRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSPageRule* imp = static_cast<CSSPageRule*>(static_cast<JSCSSPageRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ CSSPageRule* imp = static_cast<CSSPageRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsCSSPageRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSPageRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSPageRule* domObject = static_cast<JSCSSPageRule*>(asObject(slot.slotBase()));
+ return JSCSSPageRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSPageRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -158,9 +161,9 @@ void setJSCSSPageRuleSelectorText(ExecState* exec, JSObject* thisObject, JSValue
setDOMException(exec, ec);
}
-JSValue JSCSSPageRule::getConstructor(ExecState* exec)
+JSValue JSCSSPageRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSPageRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSPageRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h
index a815990..88050f1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h
@@ -30,7 +30,7 @@ class CSSPageRule;
class JSCSSPageRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSPageRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSPageRule>);
+ JSCSSPageRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPageRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp
index 61a39ec..58c9487 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp
@@ -27,6 +27,7 @@
#include "JSRGBColor.h"
#include "JSRect.h"
#include "KURL.h"
+#include "RGBColor.h"
#include "Rect.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
@@ -48,7 +49,7 @@ static const HashTableValue JSCSSPrimitiveValueTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPrimitiveValueTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPrimitiveValueTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSCSSPrimitiveValueTableValues, 0 };
#else
@@ -88,19 +89,19 @@ static const HashTableValue JSCSSPrimitiveValueConstructorTableValues[27] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPrimitiveValueConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPrimitiveValueConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSCSSPrimitiveValueConstructorTableValues, 0 };
#else
{ 69, 63, JSCSSPrimitiveValueConstructorTableValues, 0 };
#endif
-class JSCSSPrimitiveValueConstructor : public DOMObject {
+class JSCSSPrimitiveValueConstructor : public DOMConstructorObject {
public:
- JSCSSPrimitiveValueConstructor(ExecState* exec)
- : DOMObject(JSCSSPrimitiveValueConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSPrimitiveValueConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSPrimitiveValueConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSPrimitiveValuePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSPrimitiveValuePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -159,7 +160,7 @@ static const HashTableValue JSCSSPrimitiveValuePrototypeTableValues[34] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSPrimitiveValuePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSPrimitiveValuePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSCSSPrimitiveValuePrototypeTableValues, 0 };
#else
@@ -180,8 +181,8 @@ bool JSCSSPrimitiveValuePrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSCSSPrimitiveValue::s_info = { "CSSPrimitiveValue", &JSCSSValue::s_info, &JSCSSPrimitiveValueTable, 0 };
-JSCSSPrimitiveValue::JSCSSPrimitiveValue(PassRefPtr<Structure> structure, PassRefPtr<CSSPrimitiveValue> impl)
- : JSCSSValue(structure, impl)
+JSCSSPrimitiveValue::JSCSSPrimitiveValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSPrimitiveValue> impl)
+ : JSCSSValue(structure, globalObject, impl)
{
}
@@ -197,18 +198,20 @@ bool JSCSSPrimitiveValue::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsCSSPrimitiveValuePrimitiveType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSPrimitiveValue* castedThis = static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSPrimitiveValue* imp = static_cast<CSSPrimitiveValue*>(static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()))->impl());
+ CSSPrimitiveValue* imp = static_cast<CSSPrimitiveValue*>(castedThis->impl());
return jsNumber(exec, imp->primitiveType());
}
JSValue jsCSSPrimitiveValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSPrimitiveValue* domObject = static_cast<JSCSSPrimitiveValue*>(asObject(slot.slotBase()));
+ return JSCSSPrimitiveValue::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSPrimitiveValue::getConstructor(ExecState* exec)
+JSValue JSCSSPrimitiveValue::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSPrimitiveValueConstructor>(exec);
+ return getDOMConstructor<JSCSSPrimitiveValueConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionSetFloatValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -284,7 +287,7 @@ JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionGetCounterValue(ExecSt
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getCounterValue(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getCounterValue(ec)));
setDOMException(exec, ec);
return result;
}
@@ -299,7 +302,7 @@ JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionGetRectValue(ExecState
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getRectValue(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRectValue(ec)));
setDOMException(exec, ec);
return result;
}
@@ -314,7 +317,7 @@ JSValue JSC_HOST_CALL jsCSSPrimitiveValuePrototypeFunctionGetRGBColorValue(ExecS
ExceptionCode ec = 0;
- JSC::JSValue result = getJSRGBColor(exec, imp->getRGBColorValue(ec));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRGBColorValue(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h
index 39416aa..c1c8acc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h
@@ -30,7 +30,7 @@ class CSSPrimitiveValue;
class JSCSSPrimitiveValue : public JSCSSValue {
typedef JSCSSValue Base;
public:
- JSCSSPrimitiveValue(PassRefPtr<JSC::Structure>, PassRefPtr<CSSPrimitiveValue>);
+ JSCSSPrimitiveValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSPrimitiveValue>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
index 31a4dc3..ff28352 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSCSSRuleTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCSSRuleTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSCSSRuleConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSCSSRuleConstructorTableValues, 0 };
#else
{ 34, 31, JSCSSRuleConstructorTableValues, 0 };
#endif
-class JSCSSRuleConstructor : public DOMObject {
+class JSCSSRuleConstructor : public DOMConstructorObject {
public:
- JSCSSRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +119,7 @@ static const HashTableValue JSCSSRulePrototypeTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSCSSRulePrototypeTableValues, 0 };
#else
@@ -140,8 +140,8 @@ bool JSCSSRulePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSCSSRule::s_info = { "CSSRule", 0, &JSCSSRuleTable, 0 };
-JSCSSRule::JSCSSRule(PassRefPtr<Structure> structure, PassRefPtr<CSSRule> impl)
- : DOMObject(structure)
+JSCSSRule::JSCSSRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRule> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -163,35 +163,40 @@ bool JSCSSRule::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsCSSRuleType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
return jsNumber(exec, imp->type());
}
JSValue jsCSSRuleCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->cssText());
}
JSValue jsCSSRuleParentStyleSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentStyleSheet()));
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentStyleSheet()));
}
JSValue jsCSSRuleParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRule* castedThis = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRule* imp = static_cast<CSSRule*>(static_cast<JSCSSRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentRule()));
+ CSSRule* imp = static_cast<CSSRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
}
JSValue jsCSSRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSRule* domObject = static_cast<JSCSSRule*>(asObject(slot.slotBase()));
+ return JSCSSRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -206,9 +211,9 @@ void setJSCSSRuleCssText(ExecState* exec, JSObject* thisObject, JSValue value)
setDOMException(exec, ec);
}
-JSValue JSCSSRule::getConstructor(ExecState* exec)
+JSValue JSCSSRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h
index 75bb902..c5a0c8d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRule.h
@@ -21,6 +21,7 @@
#ifndef JSCSSRule_h
#define JSCSSRule_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSRule;
-class JSCSSRule : public DOMObject {
- typedef DOMObject Base;
+class JSCSSRule : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSRule>);
+ JSCSSRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRule>);
virtual ~JSCSSRule();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,14 +46,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSRule* impl() const { return m_impl.get(); }
private:
RefPtr<CSSRule> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CSSRule*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSRule*);
CSSRule* toCSSRule(JSC::JSValue);
class JSCSSRulePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
index 19e9d14..5717a53 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSRuleListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleListTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSRuleListTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSRuleListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSRuleListConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSRuleListConstructorTableValues, 0 };
#endif
-class JSCSSRuleListConstructor : public DOMObject {
+class JSCSSRuleListConstructor : public DOMConstructorObject {
public:
- JSCSSRuleListConstructor(ExecState* exec)
- : DOMObject(JSCSSRuleListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSRuleListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSRuleListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSRuleListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSRuleListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSCSSRuleListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSRuleListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSRuleListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSRuleListPrototypeTableValues, 0 };
#else
@@ -118,8 +118,8 @@ bool JSCSSRuleListPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSCSSRuleList::s_info = { "CSSRuleList", 0, &JSCSSRuleListTable, 0 };
-JSCSSRuleList::JSCSSRuleList(PassRefPtr<Structure> structure, PassRefPtr<CSSRuleList> impl)
- : DOMObject(structure)
+JSCSSRuleList::JSCSSRuleList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSRuleList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -161,14 +161,16 @@ bool JSCSSRuleList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, P
JSValue jsCSSRuleListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSRuleList* castedThis = static_cast<JSCSSRuleList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSRuleList* imp = static_cast<CSSRuleList*>(static_cast<JSCSSRuleList*>(asObject(slot.slotBase()))->impl());
+ CSSRuleList* imp = static_cast<CSSRuleList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSRuleListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSRuleList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSRuleList* domObject = static_cast<JSCSSRuleList*>(asObject(slot.slotBase()));
+ return JSCSSRuleList::getConstructor(exec, domObject->globalObject());
}
void JSCSSRuleList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -177,9 +179,9 @@ void JSCSSRuleList::getPropertyNames(ExecState* exec, PropertyNameArray& propert
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSRuleList::getConstructor(ExecState* exec)
+JSValue JSCSSRuleList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSRuleListConstructor>(exec);
+ return getDOMConstructor<JSCSSRuleListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSRuleListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -192,7 +194,7 @@ JSValue JSC_HOST_CALL jsCSSRuleListPrototypeFunctionItem(ExecState* exec, JSObje
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -200,11 +202,11 @@ JSValue JSC_HOST_CALL jsCSSRuleListPrototypeFunctionItem(ExecState* exec, JSObje
JSValue JSCSSRuleList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSCSSRuleList* thisObj = static_cast<JSCSSRuleList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<CSSRuleList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<CSSRuleList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CSSRuleList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSRuleList* object)
{
- return getDOMObjectWrapper<JSCSSRuleList>(exec, object);
+ return getDOMObjectWrapper<JSCSSRuleList>(exec, globalObject, object);
}
CSSRuleList* toCSSRuleList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h
index ba3180c..fb400b2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h
@@ -21,6 +21,7 @@
#ifndef JSCSSRuleList_h
#define JSCSSRuleList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSRuleList;
-class JSCSSRuleList : public DOMObject {
- typedef DOMObject Base;
+class JSCSSRuleList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSRuleList(PassRefPtr<JSC::Structure>, PassRefPtr<CSSRuleList>);
+ JSCSSRuleList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSRuleList>);
virtual ~JSCSSRuleList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSRuleList* impl() const { return m_impl.get(); }
private:
@@ -54,7 +55,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, CSSRuleList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSRuleList*);
CSSRuleList* toCSSRuleList(JSC::JSValue);
class JSCSSRuleListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
index cf7ceed..87fc6e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSCSSStyleDeclarationTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleDeclarationTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleDeclarationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCSSStyleDeclarationTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSCSSStyleDeclarationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleDeclarationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleDeclarationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleDeclarationConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSStyleDeclarationConstructorTableValues, 0 };
#endif
-class JSCSSStyleDeclarationConstructor : public DOMObject {
+class JSCSSStyleDeclarationConstructor : public DOMConstructorObject {
public:
- JSCSSStyleDeclarationConstructor(ExecState* exec)
- : DOMObject(JSCSSStyleDeclarationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSStyleDeclarationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSStyleDeclarationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSStyleDeclarationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSStyleDeclarationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -111,7 +111,7 @@ static const HashTableValue JSCSSStyleDeclarationPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleDeclarationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleDeclarationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSCSSStyleDeclarationPrototypeTableValues, 0 };
#else
@@ -132,8 +132,8 @@ bool JSCSSStyleDeclarationPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSCSSStyleDeclaration::s_info = { "CSSStyleDeclaration", 0, &JSCSSStyleDeclarationTable, 0 };
-JSCSSStyleDeclaration::JSCSSStyleDeclaration(PassRefPtr<Structure> structure, PassRefPtr<CSSStyleDeclaration> impl)
- : DOMObject(structure)
+JSCSSStyleDeclaration::JSCSSStyleDeclaration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleDeclaration> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -179,28 +179,32 @@ bool JSCSSStyleDeclaration::getOwnPropertySlot(ExecState* exec, unsigned propert
JSValue jsCSSStyleDeclarationCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleDeclaration* castedThis = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(castedThis->impl());
return jsStringOrNull(exec, imp->cssText());
}
JSValue jsCSSStyleDeclarationLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleDeclaration* castedThis = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSStyleDeclarationParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleDeclaration* castedThis = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentRule()));
+ CSSStyleDeclaration* imp = static_cast<CSSStyleDeclaration*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
}
JSValue jsCSSStyleDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSStyleDeclaration* domObject = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
+ return JSCSSStyleDeclaration::getConstructor(exec, domObject->globalObject());
}
void JSCSSStyleDeclaration::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -224,9 +228,9 @@ void JSCSSStyleDeclaration::getPropertyNames(ExecState* exec, PropertyNameArray&
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSStyleDeclaration::getConstructor(ExecState* exec)
+JSValue JSCSSStyleDeclaration::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSStyleDeclarationConstructor>(exec);
+ return getDOMConstructor<JSCSSStyleDeclarationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSStyleDeclarationPrototypeFunctionGetPropertyValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -253,7 +257,7 @@ JSValue JSC_HOST_CALL jsCSSStyleDeclarationPrototypeFunctionGetPropertyCSSValue(
const UString& propertyName = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPropertyCSSValue(propertyName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPropertyCSSValue(propertyName)));
return result;
}
@@ -352,9 +356,9 @@ JSValue JSCSSStyleDeclaration::indexGetter(ExecState* exec, const Identifier&, c
JSCSSStyleDeclaration* thisObj = static_cast<JSCSSStyleDeclaration*>(asObject(slot.slotBase()));
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CSSStyleDeclaration* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSStyleDeclaration* object)
{
- return getDOMObjectWrapper<JSCSSStyleDeclaration>(exec, object);
+ return getDOMObjectWrapper<JSCSSStyleDeclaration>(exec, globalObject, object);
}
CSSStyleDeclaration* toCSSStyleDeclaration(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h
index df64dde..075d438 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h
@@ -21,6 +21,7 @@
#ifndef JSCSSStyleDeclaration_h
#define JSCSSStyleDeclaration_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSStyleDeclaration;
-class JSCSSStyleDeclaration : public DOMObject {
- typedef DOMObject Base;
+class JSCSSStyleDeclaration : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSStyleDeclaration(PassRefPtr<JSC::Structure>, PassRefPtr<CSSStyleDeclaration>);
+ JSCSSStyleDeclaration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleDeclaration>);
virtual ~JSCSSStyleDeclaration();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,7 +49,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSStyleDeclaration* impl() const { return m_impl.get(); }
private:
@@ -59,7 +60,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, CSSStyleDeclaration*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSStyleDeclaration*);
CSSStyleDeclaration* toCSSStyleDeclaration(JSC::JSValue);
class JSCSSStyleDeclarationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp
index 1d92b22..4e07880 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSStyleRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSStyleRuleTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSStyleRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSStyleRuleConstructorTableValues, 0 };
#endif
-class JSCSSStyleRuleConstructor : public DOMObject {
+class JSCSSStyleRuleConstructor : public DOMConstructorObject {
public:
- JSCSSStyleRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSStyleRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSStyleRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSStyleRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSStyleRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSStyleRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSCSSStyleRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleRulePrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSCSSStyleRulePrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSCSSStyleRule::s_info = { "CSSStyleRule", &JSCSSRule::s_info, &JSCSSStyleRuleTable, 0 };
-JSCSSStyleRule::JSCSSStyleRule(PassRefPtr<Structure> structure, PassRefPtr<CSSStyleRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSStyleRule::JSCSSStyleRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSCSSStyleRule::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsCSSStyleRuleSelectorText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleRule* castedThis = static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleRule* imp = static_cast<CSSStyleRule*>(static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()))->impl());
+ CSSStyleRule* imp = static_cast<CSSStyleRule*>(castedThis->impl());
return jsStringOrNull(exec, imp->selectorText());
}
JSValue jsCSSStyleRuleStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleRule* castedThis = static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleRule* imp = static_cast<CSSStyleRule*>(static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ CSSStyleRule* imp = static_cast<CSSStyleRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsCSSStyleRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSStyleRule* domObject = static_cast<JSCSSStyleRule*>(asObject(slot.slotBase()));
+ return JSCSSStyleRule::getConstructor(exec, domObject->globalObject());
}
void JSCSSStyleRule::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -158,9 +161,9 @@ void setJSCSSStyleRuleSelectorText(ExecState* exec, JSObject* thisObject, JSValu
setDOMException(exec, ec);
}
-JSValue JSCSSStyleRule::getConstructor(ExecState* exec)
+JSValue JSCSSStyleRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSStyleRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSStyleRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h
index 4f65c87..aaefdf3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h
@@ -30,7 +30,7 @@ class CSSStyleRule;
class JSCSSStyleRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSStyleRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSStyleRule>);
+ JSCSSStyleRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp
index f697203..7e74594 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSCSSStyleSheetTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleSheetTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleSheetTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSCSSStyleSheetTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSCSSStyleSheetConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleSheetConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleSheetConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSStyleSheetConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSStyleSheetConstructorTableValues, 0 };
#endif
-class JSCSSStyleSheetConstructor : public DOMObject {
+class JSCSSStyleSheetConstructor : public DOMConstructorObject {
public:
- JSCSSStyleSheetConstructor(ExecState* exec)
- : DOMObject(JSCSSStyleSheetConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSStyleSheetConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSStyleSheetConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSStyleSheetPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSStyleSheetPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSCSSStyleSheetPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSStyleSheetPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSStyleSheetPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSStyleSheetPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSCSSStyleSheetPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSCSSStyleSheet::s_info = { "CSSStyleSheet", &JSStyleSheet::s_info, &JSCSSStyleSheetTable, 0 };
-JSCSSStyleSheet::JSCSSStyleSheet(PassRefPtr<Structure> structure, PassRefPtr<CSSStyleSheet> impl)
- : JSStyleSheet(structure, impl)
+JSCSSStyleSheet::JSCSSStyleSheet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSStyleSheet> impl)
+ : JSStyleSheet(structure, globalObject, impl)
{
}
@@ -141,32 +141,36 @@ bool JSCSSStyleSheet::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsCSSStyleSheetOwnerRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleSheet* castedThis = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerRule()));
+ CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerRule()));
}
JSValue jsCSSStyleSheetCssRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleSheet* castedThis = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cssRules()));
+ CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cssRules()));
}
JSValue jsCSSStyleSheetRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSStyleSheet* castedThis = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rules()));
+ CSSStyleSheet* imp = static_cast<CSSStyleSheet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rules()));
}
JSValue jsCSSStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSStyleSheet* domObject = static_cast<JSCSSStyleSheet*>(asObject(slot.slotBase()));
+ return JSCSSStyleSheet::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSStyleSheet::getConstructor(ExecState* exec)
+JSValue JSCSSStyleSheet::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSStyleSheetConstructor>(exec);
+ return getDOMConstructor<JSCSSStyleSheetConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSStyleSheetPrototypeFunctionInsertRule(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h
index bd048f2..0881232 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h
@@ -30,7 +30,7 @@ class CSSStyleSheet;
class JSCSSStyleSheet : public JSStyleSheet {
typedef JSStyleSheet Base;
public:
- JSCSSStyleSheet(PassRefPtr<JSC::Structure>, PassRefPtr<CSSStyleSheet>);
+ JSCSSStyleSheet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSStyleSheet>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
index 87aff14..68c5bb8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSCSSValueTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSValueTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSCSSValueConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSValueConstructorTableValues, 0 };
#else
{ 8, 7, JSCSSValueConstructorTableValues, 0 };
#endif
-class JSCSSValueConstructor : public DOMObject {
+class JSCSSValueConstructor : public DOMConstructorObject {
public:
- JSCSSValueConstructor(ExecState* exec)
- : DOMObject(JSCSSValueConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSValueConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSValueConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSValuePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSValuePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSCSSValuePrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValuePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValuePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSCSSValuePrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSCSSValuePrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSCSSValue::s_info = { "CSSValue", 0, &JSCSSValueTable, 0 };
-JSCSSValue::JSCSSValue(PassRefPtr<Structure> structure, PassRefPtr<CSSValue> impl)
- : DOMObject(structure)
+JSCSSValue::JSCSSValue(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValue> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -146,21 +146,24 @@ bool JSCSSValue::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsCSSValueCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSValue* castedThis = static_cast<JSCSSValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSValue* imp = static_cast<CSSValue*>(static_cast<JSCSSValue*>(asObject(slot.slotBase()))->impl());
+ CSSValue* imp = static_cast<CSSValue*>(castedThis->impl());
return jsStringOrNull(exec, imp->cssText());
}
JSValue jsCSSValueCssValueType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSValue* castedThis = static_cast<JSCSSValue*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSValue* imp = static_cast<CSSValue*>(static_cast<JSCSSValue*>(asObject(slot.slotBase()))->impl());
+ CSSValue* imp = static_cast<CSSValue*>(castedThis->impl());
return jsNumber(exec, imp->cssValueType());
}
JSValue jsCSSValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSValue*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSValue* domObject = static_cast<JSCSSValue*>(asObject(slot.slotBase()));
+ return JSCSSValue::getConstructor(exec, domObject->globalObject());
}
void JSCSSValue::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -175,9 +178,9 @@ void setJSCSSValueCssText(ExecState* exec, JSObject* thisObject, JSValue value)
setDOMException(exec, ec);
}
-JSValue JSCSSValue::getConstructor(ExecState* exec)
+JSValue JSCSSValue::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSValueConstructor>(exec);
+ return getDOMConstructor<JSCSSValueConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h
index d38c5c4..82f03fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValue.h
@@ -21,6 +21,7 @@
#ifndef JSCSSValue_h
#define JSCSSValue_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSValue;
-class JSCSSValue : public DOMObject {
- typedef DOMObject Base;
+class JSCSSValue : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSValue(PassRefPtr<JSC::Structure>, PassRefPtr<CSSValue>);
+ JSCSSValue(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValue>);
virtual ~JSCSSValue();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,14 +46,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSValue* impl() const { return m_impl.get(); }
private:
RefPtr<CSSValue> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CSSValue*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSValue*);
CSSValue* toCSSValue(JSC::JSValue);
class JSCSSValuePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp
index 98721ec..c09806f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSValueListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueListTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSValueListTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSValueListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSValueListConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSValueListConstructorTableValues, 0 };
#endif
-class JSCSSValueListConstructor : public DOMObject {
+class JSCSSValueListConstructor : public DOMConstructorObject {
public:
- JSCSSValueListConstructor(ExecState* exec)
- : DOMObject(JSCSSValueListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSValueListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSValueListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSValueListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSValueListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSCSSValueListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSValueListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSValueListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSValueListPrototypeTableValues, 0 };
#else
@@ -118,8 +118,8 @@ bool JSCSSValueListPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSCSSValueList::s_info = { "CSSValueList", &JSCSSValue::s_info, &JSCSSValueListTable, 0 };
-JSCSSValueList::JSCSSValueList(PassRefPtr<Structure> structure, PassRefPtr<CSSValueList> impl)
- : JSCSSValue(structure, impl)
+JSCSSValueList::JSCSSValueList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSValueList> impl)
+ : JSCSSValue(structure, globalObject, impl)
{
}
@@ -155,14 +155,16 @@ bool JSCSSValueList::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
JSValue jsCSSValueListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSValueList* castedThis = static_cast<JSCSSValueList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSValueList* imp = static_cast<CSSValueList*>(static_cast<JSCSSValueList*>(asObject(slot.slotBase()))->impl());
+ CSSValueList* imp = static_cast<CSSValueList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSValueListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSValueList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSValueList* domObject = static_cast<JSCSSValueList*>(asObject(slot.slotBase()));
+ return JSCSSValueList::getConstructor(exec, domObject->globalObject());
}
void JSCSSValueList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -171,9 +173,9 @@ void JSCSSValueList::getPropertyNames(ExecState* exec, PropertyNameArray& proper
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSValueList::getConstructor(ExecState* exec)
+JSValue JSCSSValueList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSValueListConstructor>(exec);
+ return getDOMConstructor<JSCSSValueListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSValueListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -186,7 +188,7 @@ JSValue JSC_HOST_CALL jsCSSValueListPrototypeFunctionItem(ExecState* exec, JSObj
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -194,7 +196,7 @@ JSValue JSC_HOST_CALL jsCSSValueListPrototypeFunctionItem(ExecState* exec, JSObj
JSValue JSCSSValueList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSCSSValueList* thisObj = static_cast<JSCSSValueList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<CSSValueList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<CSSValueList*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h
index 3d35093..59eb203 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h
@@ -30,7 +30,7 @@ class CSSValueList;
class JSCSSValueList : public JSCSSValue {
typedef JSCSSValue Base;
public:
- JSCSSValueList(PassRefPtr<JSC::Structure>, PassRefPtr<CSSValueList>);
+ JSCSSValueList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSValueList>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
@@ -43,7 +43,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
index 3c8c75a..3074928 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSCSSVariablesDeclarationTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesDeclarationTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCSSVariablesDeclarationTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSCSSVariablesDeclarationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesDeclarationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSVariablesDeclarationConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSVariablesDeclarationConstructorTableValues, 0 };
#endif
-class JSCSSVariablesDeclarationConstructor : public DOMObject {
+class JSCSSVariablesDeclarationConstructor : public DOMConstructorObject {
public:
- JSCSSVariablesDeclarationConstructor(ExecState* exec)
- : DOMObject(JSCSSVariablesDeclarationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSVariablesDeclarationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSVariablesDeclarationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSVariablesDeclarationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSVariablesDeclarationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSCSSVariablesDeclarationPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesDeclarationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSVariablesDeclarationPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSCSSVariablesDeclarationPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSCSSVariablesDeclaration::s_info = { "CSSVariablesDeclaration", 0, &JSCSSVariablesDeclarationTable, 0 };
-JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(PassRefPtr<Structure> structure, PassRefPtr<CSSVariablesDeclaration> impl)
- : DOMObject(structure)
+JSCSSVariablesDeclaration::JSCSSVariablesDeclaration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesDeclaration> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -168,28 +168,32 @@ bool JSCSSVariablesDeclaration::getOwnPropertySlot(ExecState* exec, unsigned pro
JSValue jsCSSVariablesDeclarationCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
return jsString(exec, imp->cssText());
}
JSValue jsCSSVariablesDeclarationLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
+ CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCSSVariablesDeclarationParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentRule()));
+ CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
}
JSValue jsCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSVariablesDeclaration* domObject = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
+ return JSCSSVariablesDeclaration::getConstructor(exec, domObject->globalObject());
}
void JSCSSVariablesDeclaration::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -209,9 +213,9 @@ void JSCSSVariablesDeclaration::getPropertyNames(ExecState* exec, PropertyNameAr
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSCSSVariablesDeclaration::getConstructor(ExecState* exec)
+JSValue JSCSSVariablesDeclaration::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSVariablesDeclarationConstructor>(exec);
+ return getDOMConstructor<JSCSSVariablesDeclarationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCSSVariablesDeclarationPrototypeFunctionGetVariableValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -280,9 +284,9 @@ JSValue JSCSSVariablesDeclaration::indexGetter(ExecState* exec, const Identifier
JSCSSVariablesDeclaration* thisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CSSVariablesDeclaration* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSVariablesDeclaration* object)
{
- return getDOMObjectWrapper<JSCSSVariablesDeclaration>(exec, object);
+ return getDOMObjectWrapper<JSCSSVariablesDeclaration>(exec, globalObject, object);
}
CSSVariablesDeclaration* toCSSVariablesDeclaration(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h
index fe98f8e..f2c62b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h
@@ -21,6 +21,7 @@
#ifndef JSCSSVariablesDeclaration_h
#define JSCSSVariablesDeclaration_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CSSVariablesDeclaration;
-class JSCSSVariablesDeclaration : public DOMObject {
- typedef DOMObject Base;
+class JSCSSVariablesDeclaration : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCSSVariablesDeclaration(PassRefPtr<JSC::Structure>, PassRefPtr<CSSVariablesDeclaration>);
+ JSCSSVariablesDeclaration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesDeclaration>);
virtual ~JSCSSVariablesDeclaration();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
CSSVariablesDeclaration* impl() const { return m_impl.get(); }
private:
@@ -55,7 +56,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, CSSVariablesDeclaration*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CSSVariablesDeclaration*);
CSSVariablesDeclaration* toCSSVariablesDeclaration(JSC::JSValue);
class JSCSSVariablesDeclarationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp
index ed3050d..241a4f1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSCSSVariablesRuleTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesRuleTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesRuleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCSSVariablesRuleTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSCSSVariablesRuleConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesRuleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesRuleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSVariablesRuleConstructorTableValues, 0 };
#else
{ 1, 0, JSCSSVariablesRuleConstructorTableValues, 0 };
#endif
-class JSCSSVariablesRuleConstructor : public DOMObject {
+class JSCSSVariablesRuleConstructor : public DOMConstructorObject {
public:
- JSCSSVariablesRuleConstructor(ExecState* exec)
- : DOMObject(JSCSSVariablesRuleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCSSVariablesRuleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCSSVariablesRuleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCSSVariablesRulePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCSSVariablesRulePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSCSSVariablesRulePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCSSVariablesRulePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCSSVariablesRulePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCSSVariablesRulePrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSCSSVariablesRulePrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSCSSVariablesRule::s_info = { "CSSVariablesRule", &JSCSSRule::s_info, &JSCSSVariablesRuleTable, 0 };
-JSCSSVariablesRule::JSCSSVariablesRule(PassRefPtr<Structure> structure, PassRefPtr<CSSVariablesRule> impl)
- : JSCSSRule(structure, impl)
+JSCSSVariablesRule::JSCSSVariablesRule(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CSSVariablesRule> impl)
+ : JSCSSRule(structure, globalObject, impl)
{
}
@@ -129,25 +129,28 @@ bool JSCSSVariablesRule::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsCSSVariablesRuleMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesRule* castedThis = static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->media()));
+ CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->media()));
}
JSValue jsCSSVariablesRuleVariables(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCSSVariablesRule* castedThis = static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->variables()));
+ CSSVariablesRule* imp = static_cast<CSSVariablesRule*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->variables()));
}
JSValue jsCSSVariablesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCSSVariablesRule* domObject = static_cast<JSCSSVariablesRule*>(asObject(slot.slotBase()));
+ return JSCSSVariablesRule::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCSSVariablesRule::getConstructor(ExecState* exec)
+JSValue JSCSSVariablesRule::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCSSVariablesRuleConstructor>(exec);
+ return getDOMConstructor<JSCSSVariablesRuleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h
index c204a1e..b2f49db 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h
@@ -30,7 +30,7 @@ class CSSVariablesRule;
class JSCSSVariablesRule : public JSCSSRule {
typedef JSCSSRule Base;
public:
- JSCSSVariablesRule(PassRefPtr<JSC::Structure>, PassRefPtr<CSSVariablesRule>);
+ JSCSSVariablesRule(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CSSVariablesRule>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
index 7801622..ef5fa3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSCanvasGradientPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasGradientPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasGradientPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCanvasGradientPrototypeTableValues, 0 };
#else
@@ -61,8 +61,8 @@ bool JSCanvasGradientPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSCanvasGradient::s_info = { "CanvasGradient", 0, 0, 0 };
-JSCanvasGradient::JSCanvasGradient(PassRefPtr<Structure> structure, PassRefPtr<CanvasGradient> impl)
- : DOMObject(structure)
+JSCanvasGradient::JSCanvasGradient(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasGradient> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -93,9 +93,9 @@ JSValue JSC_HOST_CALL jsCanvasGradientPrototypeFunctionAddColorStop(ExecState* e
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, CanvasGradient* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CanvasGradient* object)
{
- return getDOMObjectWrapper<JSCanvasGradient>(exec, object);
+ return getDOMObjectWrapper<JSCanvasGradient>(exec, globalObject, object);
}
CanvasGradient* toCanvasGradient(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h
index e81a3b4..f2673f0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h
@@ -21,6 +21,7 @@
#ifndef JSCanvasGradient_h
#define JSCanvasGradient_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CanvasGradient;
-class JSCanvasGradient : public DOMObject {
- typedef DOMObject Base;
+class JSCanvasGradient : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCanvasGradient(PassRefPtr<JSC::Structure>, PassRefPtr<CanvasGradient>);
+ JSCanvasGradient(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasGradient>);
virtual ~JSCanvasGradient();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +45,7 @@ private:
RefPtr<CanvasGradient> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CanvasGradient*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CanvasGradient*);
CanvasGradient* toCanvasGradient(JSC::JSValue);
class JSCanvasGradientPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
index 14dc535..3facb35 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp
@@ -37,7 +37,7 @@ static const HashTableValue JSCanvasPatternPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasPatternPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasPatternPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCanvasPatternPrototypeTableValues, 0 };
#else
@@ -53,8 +53,8 @@ JSObject* JSCanvasPatternPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSCanvasPattern::s_info = { "CanvasPattern", 0, 0, 0 };
-JSCanvasPattern::JSCanvasPattern(PassRefPtr<Structure> structure, PassRefPtr<CanvasPattern> impl)
- : DOMObject(structure)
+JSCanvasPattern::JSCanvasPattern(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasPattern> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -69,9 +69,9 @@ JSObject* JSCanvasPattern::createPrototype(ExecState* exec, JSGlobalObject* glob
return new (exec) JSCanvasPatternPrototype(JSCanvasPatternPrototype::createStructure(globalObject->objectPrototype()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, CanvasPattern* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CanvasPattern* object)
{
- return getDOMObjectWrapper<JSCanvasPattern>(exec, object);
+ return getDOMObjectWrapper<JSCanvasPattern>(exec, globalObject, object);
}
CanvasPattern* toCanvasPattern(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h
index 776b830..ec8c97f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h
@@ -21,6 +21,7 @@
#ifndef JSCanvasPattern_h
#define JSCanvasPattern_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CanvasPattern;
-class JSCanvasPattern : public DOMObject {
- typedef DOMObject Base;
+class JSCanvasPattern : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCanvasPattern(PassRefPtr<JSC::Structure>, PassRefPtr<CanvasPattern>);
+ JSCanvasPattern(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasPattern>);
virtual ~JSCanvasPattern();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +45,7 @@ private:
RefPtr<CanvasPattern> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CanvasPattern*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CanvasPattern*);
CanvasPattern* toCanvasPattern(JSC::JSValue);
class JSCanvasPatternPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
index 2f318c1..a42f8ab 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
@@ -69,7 +69,7 @@ static const HashTableValue JSCanvasRenderingContext2DTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasRenderingContext2DTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext2DTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSCanvasRenderingContext2DTableValues, 0 };
#else
@@ -83,19 +83,19 @@ static const HashTableValue JSCanvasRenderingContext2DConstructorTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasRenderingContext2DConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext2DConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCanvasRenderingContext2DConstructorTableValues, 0 };
#else
{ 1, 0, JSCanvasRenderingContext2DConstructorTableValues, 0 };
#endif
-class JSCanvasRenderingContext2DConstructor : public DOMObject {
+class JSCanvasRenderingContext2DConstructor : public DOMConstructorObject {
public:
- JSCanvasRenderingContext2DConstructor(ExecState* exec)
- : DOMObject(JSCanvasRenderingContext2DConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCanvasRenderingContext2DConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCanvasRenderingContext2DConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCanvasRenderingContext2DPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCanvasRenderingContext2DPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -165,7 +165,7 @@ static const HashTableValue JSCanvasRenderingContext2DPrototypeTableValues[45] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCanvasRenderingContext2DPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCanvasRenderingContext2DPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSCanvasRenderingContext2DPrototypeTableValues, 0 };
#else
@@ -186,8 +186,8 @@ bool JSCanvasRenderingContext2DPrototype::getOwnPropertySlot(ExecState* exec, co
const ClassInfo JSCanvasRenderingContext2D::s_info = { "CanvasRenderingContext2D", 0, &JSCanvasRenderingContext2DTable, 0 };
-JSCanvasRenderingContext2D::JSCanvasRenderingContext2D(PassRefPtr<Structure> structure, PassRefPtr<CanvasRenderingContext2D> impl)
- : DOMObject(structure)
+JSCanvasRenderingContext2D::JSCanvasRenderingContext2D(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CanvasRenderingContext2D> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -209,115 +209,132 @@ bool JSCanvasRenderingContext2D::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsCanvasRenderingContext2DCanvas(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->canvas()));
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->canvas()));
}
JSValue jsCanvasRenderingContext2DGlobalAlpha(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->globalAlpha());
}
JSValue jsCanvasRenderingContext2DGlobalCompositeOperation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->globalCompositeOperation());
}
JSValue jsCanvasRenderingContext2DLineWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->lineWidth());
}
JSValue jsCanvasRenderingContext2DLineCap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->lineCap());
}
JSValue jsCanvasRenderingContext2DLineJoin(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->lineJoin());
}
JSValue jsCanvasRenderingContext2DMiterLimit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->miterLimit());
}
JSValue jsCanvasRenderingContext2DShadowOffsetX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->shadowOffsetX());
}
JSValue jsCanvasRenderingContext2DShadowOffsetY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->shadowOffsetY());
}
JSValue jsCanvasRenderingContext2DShadowBlur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsNumber(exec, imp->shadowBlur());
}
JSValue jsCanvasRenderingContext2DShadowColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->shadowColor());
}
JSValue jsCanvasRenderingContext2DFont(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->font());
}
JSValue jsCanvasRenderingContext2DTextAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->textAlign());
}
JSValue jsCanvasRenderingContext2DTextBaseline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->impl());
+ CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThis->impl());
return jsString(exec, imp->textBaseline());
}
JSValue jsCanvasRenderingContext2DStrokeStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->strokeStyle(exec);
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
+ return castedThis->strokeStyle(exec);
}
JSValue jsCanvasRenderingContext2DFillStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->fillStyle(exec);
+ JSCanvasRenderingContext2D* castedThis = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
+ return castedThis->fillStyle(exec);
}
JSValue jsCanvasRenderingContext2DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCanvasRenderingContext2D* domObject = static_cast<JSCanvasRenderingContext2D*>(asObject(slot.slotBase()));
+ return JSCanvasRenderingContext2D::getConstructor(exec, domObject->globalObject());
}
void JSCanvasRenderingContext2D::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -412,9 +429,9 @@ void setJSCanvasRenderingContext2DFillStyle(ExecState* exec, JSObject* thisObjec
static_cast<JSCanvasRenderingContext2D*>(thisObject)->setFillStyle(exec, value);
}
-JSValue JSCanvasRenderingContext2D::getConstructor(ExecState* exec)
+JSValue JSCanvasRenderingContext2D::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCanvasRenderingContext2DConstructor>(exec);
+ return getDOMConstructor<JSCanvasRenderingContext2DConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionSave(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -532,7 +549,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateLinearGra
float y1 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createLinearGradient(x0, y0, x1, y1, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createLinearGradient(x0, y0, x1, y1, ec)));
setDOMException(exec, ec);
return result;
}
@@ -553,7 +570,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateRadialGra
float r1 = args.at(5).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createRadialGradient(x0, y0, r0, x1, y1, r1, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createRadialGradient(x0, y0, r0, x1, y1, r1, ec)));
setDOMException(exec, ec);
return result;
}
@@ -810,7 +827,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionMeasureText(Exe
const UString& text = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->measureText(text)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->measureText(text)));
return result;
}
@@ -978,7 +995,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateImageData
float sh = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createImageData(sw, sh)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createImageData(sw, sh)));
return result;
}
@@ -996,7 +1013,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionGetImageData(Ex
float sh = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getImageData(sx, sy, sw, sh, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getImageData(sx, sy, sw, sh, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1010,9 +1027,9 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionPutImageData(Ex
return castedThisObj->putImageData(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, CanvasRenderingContext2D* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CanvasRenderingContext2D* object)
{
- return getDOMObjectWrapper<JSCanvasRenderingContext2D>(exec, object);
+ return getDOMObjectWrapper<JSCanvasRenderingContext2D>(exec, globalObject, object);
}
CanvasRenderingContext2D* toCanvasRenderingContext2D(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
index 6c084d1..cee9884 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
@@ -21,6 +21,7 @@
#ifndef JSCanvasRenderingContext2D_h
#define JSCanvasRenderingContext2D_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class CanvasRenderingContext2D;
-class JSCanvasRenderingContext2D : public DOMObject {
- typedef DOMObject Base;
+class JSCanvasRenderingContext2D : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCanvasRenderingContext2D(PassRefPtr<JSC::Structure>, PassRefPtr<CanvasRenderingContext2D>);
+ JSCanvasRenderingContext2D(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CanvasRenderingContext2D>);
virtual ~JSCanvasRenderingContext2D();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,7 +46,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue strokeStyle(JSC::ExecState*) const;
@@ -70,7 +71,7 @@ private:
RefPtr<CanvasRenderingContext2D> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, CanvasRenderingContext2D*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, CanvasRenderingContext2D*);
CanvasRenderingContext2D* toCanvasRenderingContext2D(JSC::JSValue);
class JSCanvasRenderingContext2DPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp
index a860721..5c86d07 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSCharacterDataTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCharacterDataTable =
+static JSC_CONST_HASHTABLE HashTable JSCharacterDataTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCharacterDataTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSCharacterDataConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCharacterDataConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCharacterDataConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCharacterDataConstructorTableValues, 0 };
#else
{ 1, 0, JSCharacterDataConstructorTableValues, 0 };
#endif
-class JSCharacterDataConstructor : public DOMObject {
+class JSCharacterDataConstructor : public DOMConstructorObject {
public:
- JSCharacterDataConstructor(ExecState* exec)
- : DOMObject(JSCharacterDataConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCharacterDataConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCharacterDataConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCharacterDataPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCharacterDataPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSCharacterDataPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCharacterDataPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCharacterDataPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCharacterDataPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSCharacterDataPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSCharacterData::s_info = { "CharacterData", &JSNode::s_info, &JSCharacterDataTable, 0 };
-JSCharacterData::JSCharacterData(PassRefPtr<Structure> structure, PassRefPtr<CharacterData> impl)
- : JSNode(structure, impl)
+JSCharacterData::JSCharacterData(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<CharacterData> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -140,21 +140,24 @@ bool JSCharacterData::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsCharacterDataData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCharacterData* castedThis = static_cast<JSCharacterData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CharacterData* imp = static_cast<CharacterData*>(static_cast<JSCharacterData*>(asObject(slot.slotBase()))->impl());
+ CharacterData* imp = static_cast<CharacterData*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsCharacterDataLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCharacterData* castedThis = static_cast<JSCharacterData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- CharacterData* imp = static_cast<CharacterData*>(static_cast<JSCharacterData*>(asObject(slot.slotBase()))->impl());
+ CharacterData* imp = static_cast<CharacterData*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsCharacterDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCharacterData*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCharacterData* domObject = static_cast<JSCharacterData*>(asObject(slot.slotBase()));
+ return JSCharacterData::getConstructor(exec, domObject->globalObject());
}
void JSCharacterData::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -169,9 +172,9 @@ void setJSCharacterDataData(ExecState* exec, JSObject* thisObject, JSValue value
setDOMException(exec, ec);
}
-JSValue JSCharacterData::getConstructor(ExecState* exec)
+JSValue JSCharacterData::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCharacterDataConstructor>(exec);
+ return getDOMConstructor<JSCharacterDataConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsCharacterDataPrototypeFunctionSubstringData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h
index 273318f..1f6091f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCharacterData.h
@@ -30,7 +30,7 @@ class CharacterData;
class JSCharacterData : public JSNode {
typedef JSNode Base;
public:
- JSCharacterData(PassRefPtr<JSC::Structure>, PassRefPtr<CharacterData>);
+ JSCharacterData(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<CharacterData>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
index 4db0efb..ba2e756 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSClientRectTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSClientRectTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSClientRectConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectConstructorTableValues, 0 };
#else
{ 1, 0, JSClientRectConstructorTableValues, 0 };
#endif
-class JSClientRectConstructor : public DOMObject {
+class JSClientRectConstructor : public DOMConstructorObject {
public:
- JSClientRectConstructor(ExecState* exec)
- : DOMObject(JSClientRectConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSClientRectConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSClientRectConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSClientRectPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSClientRectPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSClientRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSClientRectPrototype::self(ExecState* exec, JSGlobalObject* globalObj
const ClassInfo JSClientRect::s_info = { "ClientRect", 0, &JSClientRectTable, 0 };
-JSClientRect::JSClientRect(PassRefPtr<Structure> structure, PassRefPtr<ClientRect> impl)
- : DOMObject(structure)
+JSClientRect::JSClientRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRect> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -136,58 +136,65 @@ bool JSClientRect::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsClientRectTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->top());
}
JSValue jsClientRectRight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->right());
}
JSValue jsClientRectBottom(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->bottom());
}
JSValue jsClientRectLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->left());
}
JSValue jsClientRectWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsClientRectHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRect* castedThis = static_cast<JSClientRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRect* imp = static_cast<ClientRect*>(static_cast<JSClientRect*>(asObject(slot.slotBase()))->impl());
+ ClientRect* imp = static_cast<ClientRect*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsClientRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClientRect*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSClientRect* domObject = static_cast<JSClientRect*>(asObject(slot.slotBase()));
+ return JSClientRect::getConstructor(exec, domObject->globalObject());
}
-JSValue JSClientRect::getConstructor(ExecState* exec)
+JSValue JSClientRect::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSClientRectConstructor>(exec);
+ return getDOMConstructor<JSClientRectConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, ClientRect* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, ClientRect* object)
{
- return getDOMObjectWrapper<JSClientRect>(exec, object);
+ return getDOMObjectWrapper<JSClientRect>(exec, globalObject, object);
}
ClientRect* toClientRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRect.h b/src/3rdparty/webkit/WebCore/generated/JSClientRect.h
index 13a7b38..9e6e951 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRect.h
@@ -21,6 +21,7 @@
#ifndef JSClientRect_h
#define JSClientRect_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class ClientRect;
-class JSClientRect : public DOMObject {
- typedef DOMObject Base;
+class JSClientRect : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSClientRect(PassRefPtr<JSC::Structure>, PassRefPtr<ClientRect>);
+ JSClientRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRect>);
virtual ~JSClientRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
ClientRect* impl() const { return m_impl.get(); }
private:
RefPtr<ClientRect> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, ClientRect*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ClientRect*);
ClientRect* toClientRect(JSC::JSValue);
class JSClientRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
index 97eff69..f8c99a2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSClientRectListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectListTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSClientRectListTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSClientRectListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectListConstructorTableValues, 0 };
#else
{ 1, 0, JSClientRectListConstructorTableValues, 0 };
#endif
-class JSClientRectListConstructor : public DOMObject {
+class JSClientRectListConstructor : public DOMConstructorObject {
public:
- JSClientRectListConstructor(ExecState* exec)
- : DOMObject(JSClientRectListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSClientRectListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSClientRectListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSClientRectListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSClientRectListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSClientRectListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClientRectListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSClientRectListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClientRectListPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSClientRectListPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSClientRectList::s_info = { "ClientRectList", 0, &JSClientRectListTable, 0 };
-JSClientRectList::JSClientRectList(PassRefPtr<Structure> structure, PassRefPtr<ClientRectList> impl)
- : DOMObject(structure)
+JSClientRectList::JSClientRectList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ClientRectList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -162,14 +162,16 @@ bool JSClientRectList::getOwnPropertySlot(ExecState* exec, unsigned propertyName
JSValue jsClientRectListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClientRectList* castedThis = static_cast<JSClientRectList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ClientRectList* imp = static_cast<ClientRectList*>(static_cast<JSClientRectList*>(asObject(slot.slotBase()))->impl());
+ ClientRectList* imp = static_cast<ClientRectList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsClientRectListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClientRectList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSClientRectList* domObject = static_cast<JSClientRectList*>(asObject(slot.slotBase()));
+ return JSClientRectList::getConstructor(exec, domObject->globalObject());
}
void JSClientRectList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -178,9 +180,9 @@ void JSClientRectList::getPropertyNames(ExecState* exec, PropertyNameArray& prop
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSClientRectList::getConstructor(ExecState* exec)
+JSValue JSClientRectList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSClientRectListConstructor>(exec);
+ return getDOMConstructor<JSClientRectListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsClientRectListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -197,7 +199,7 @@ JSValue JSC_HOST_CALL jsClientRectListPrototypeFunctionItem(ExecState* exec, JSO
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -205,11 +207,11 @@ JSValue JSC_HOST_CALL jsClientRectListPrototypeFunctionItem(ExecState* exec, JSO
JSValue JSClientRectList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSClientRectList* thisObj = static_cast<JSClientRectList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<ClientRectList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<ClientRectList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, ClientRectList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, ClientRectList* object)
{
- return getDOMObjectWrapper<JSClientRectList>(exec, object);
+ return getDOMObjectWrapper<JSClientRectList>(exec, globalObject, object);
}
ClientRectList* toClientRectList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h
index fcb1f56..851a7f9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSClientRectList.h
@@ -21,6 +21,7 @@
#ifndef JSClientRectList_h
#define JSClientRectList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class ClientRectList;
-class JSClientRectList : public DOMObject {
- typedef DOMObject Base;
+class JSClientRectList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSClientRectList(PassRefPtr<JSC::Structure>, PassRefPtr<ClientRectList>);
+ JSClientRectList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ClientRectList>);
virtual ~JSClientRectList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
ClientRectList* impl() const { return m_impl.get(); }
private:
@@ -54,7 +55,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, ClientRectList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ClientRectList*);
ClientRectList* toClientRectList(JSC::JSValue);
class JSClientRectListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
index 19c40b7..aea76dc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSClipboardTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClipboardTable =
+static JSC_CONST_HASHTABLE HashTable JSClipboardTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSClipboardTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSClipboardConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClipboardConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSClipboardConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSClipboardConstructorTableValues, 0 };
#else
{ 1, 0, JSClipboardConstructorTableValues, 0 };
#endif
-class JSClipboardConstructor : public DOMObject {
+class JSClipboardConstructor : public DOMConstructorObject {
public:
- JSClipboardConstructor(ExecState* exec)
- : DOMObject(JSClipboardConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSClipboardConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSClipboardConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSClipboardPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSClipboardPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSClipboardPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSClipboardPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSClipboardPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSClipboardPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSClipboardPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSClipboard::s_info = { "Clipboard", 0, &JSClipboardTable, 0 };
-JSClipboard::JSClipboard(PassRefPtr<Structure> structure, PassRefPtr<Clipboard> impl)
- : DOMObject(structure)
+JSClipboard::JSClipboard(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Clipboard> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -146,33 +146,38 @@ bool JSClipboard::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsClipboardDropEffect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Clipboard* imp = static_cast<Clipboard*>(static_cast<JSClipboard*>(asObject(slot.slotBase()))->impl());
+ Clipboard* imp = static_cast<Clipboard*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->dropEffect());
}
JSValue jsClipboardEffectAllowed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Clipboard* imp = static_cast<Clipboard*>(static_cast<JSClipboard*>(asObject(slot.slotBase()))->impl());
+ Clipboard* imp = static_cast<Clipboard*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->effectAllowed());
}
JSValue jsClipboardTypes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClipboard*>(asObject(slot.slotBase()))->types(exec);
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
+ return castedThis->types(exec);
}
JSValue jsClipboardFiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSClipboard* castedThis = static_cast<JSClipboard*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Clipboard* imp = static_cast<Clipboard*>(static_cast<JSClipboard*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->files()));
+ Clipboard* imp = static_cast<Clipboard*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->files()));
}
JSValue jsClipboardConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSClipboard*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSClipboard* domObject = static_cast<JSClipboard*>(asObject(slot.slotBase()));
+ return JSClipboard::getConstructor(exec, domObject->globalObject());
}
void JSClipboard::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -191,9 +196,9 @@ void setJSClipboardEffectAllowed(ExecState* exec, JSObject* thisObject, JSValue
imp->setEffectAllowed(value.toString(exec));
}
-JSValue JSClipboard::getConstructor(ExecState* exec)
+JSValue JSClipboard::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSClipboardConstructor>(exec);
+ return getDOMConstructor<JSClipboardConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsClipboardPrototypeFunctionClearData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -232,9 +237,9 @@ JSValue JSC_HOST_CALL jsClipboardPrototypeFunctionSetDragImage(ExecState* exec,
return castedThisObj->setDragImage(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, Clipboard* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Clipboard* object)
{
- return getDOMObjectWrapper<JSClipboard>(exec, object);
+ return getDOMObjectWrapper<JSClipboard>(exec, globalObject, object);
}
Clipboard* toClipboard(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSClipboard.h b/src/3rdparty/webkit/WebCore/generated/JSClipboard.h
index a6fbe3b..68fbdf5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSClipboard.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSClipboard.h
@@ -21,6 +21,7 @@
#ifndef JSClipboard_h
#define JSClipboard_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Clipboard;
-class JSClipboard : public DOMObject {
- typedef DOMObject Base;
+class JSClipboard : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSClipboard(PassRefPtr<JSC::Structure>, PassRefPtr<Clipboard>);
+ JSClipboard(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Clipboard>);
virtual ~JSClipboard();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,7 +46,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue types(JSC::ExecState*) const;
@@ -61,7 +62,7 @@ private:
RefPtr<Clipboard> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Clipboard*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Clipboard*);
Clipboard* toClipboard(JSC::JSValue);
class JSClipboardPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSComment.cpp b/src/3rdparty/webkit/WebCore/generated/JSComment.cpp
index 7905094..a1476cc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSComment.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSComment.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSCommentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCommentTable =
+static JSC_CONST_HASHTABLE HashTable JSCommentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCommentTableValues, 0 };
#else
@@ -52,19 +52,19 @@ static const HashTableValue JSCommentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCommentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCommentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCommentConstructorTableValues, 0 };
#else
{ 1, 0, JSCommentConstructorTableValues, 0 };
#endif
-class JSCommentConstructor : public DOMObject {
+class JSCommentConstructor : public DOMConstructorObject {
public:
- JSCommentConstructor(ExecState* exec)
- : DOMObject(JSCommentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCommentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCommentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCommentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCommentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -90,7 +90,7 @@ static const HashTableValue JSCommentPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCommentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCommentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCommentPrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ JSObject* JSCommentPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSComment::s_info = { "Comment", &JSCharacterData::s_info, &JSCommentTable, 0 };
-JSComment::JSComment(PassRefPtr<Structure> structure, PassRefPtr<Comment> impl)
- : JSCharacterData(structure, impl)
+JSComment::JSComment(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Comment> impl)
+ : JSCharacterData(structure, globalObject, impl)
{
}
@@ -123,11 +123,12 @@ bool JSComment::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsCommentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSComment*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSComment* domObject = static_cast<JSComment*>(asObject(slot.slotBase()));
+ return JSComment::getConstructor(exec, domObject->globalObject());
}
-JSValue JSComment::getConstructor(ExecState* exec)
+JSValue JSComment::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCommentConstructor>(exec);
+ return getDOMConstructor<JSCommentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSComment.h b/src/3rdparty/webkit/WebCore/generated/JSComment.h
index 802256e..f7d34aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSComment.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSComment.h
@@ -30,7 +30,7 @@ class Comment;
class JSComment : public JSCharacterData {
typedef JSCharacterData Base;
public:
- JSComment(PassRefPtr<JSC::Structure>, PassRefPtr<Comment>);
+ JSComment(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Comment>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
index 24e5ef3..110c7e1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSConsoleTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSConsoleTable =
+static JSC_CONST_HASHTABLE HashTable JSConsoleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSConsoleTableValues, 0 };
#else
@@ -70,7 +70,7 @@ static const HashTableValue JSConsolePrototypeTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSConsolePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSConsolePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSConsolePrototypeTableValues, 0 };
#else
@@ -91,8 +91,8 @@ bool JSConsolePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSConsole::s_info = { "Console", 0, &JSConsoleTable, 0 };
-JSConsole::JSConsole(PassRefPtr<Structure> structure, PassRefPtr<Console> impl)
- : DOMObject(structure)
+JSConsole::JSConsole(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Console> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -114,7 +114,8 @@ bool JSConsole::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsConsoleProfiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSConsole*>(asObject(slot.slotBase()))->profiles(exec);
+ JSConsole* castedThis = static_cast<JSConsole*>(asObject(slot.slotBase()));
+ return castedThis->profiles(exec);
}
JSValue JSC_HOST_CALL jsConsolePrototypeFunctionDebug(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -328,9 +329,9 @@ JSValue JSC_HOST_CALL jsConsolePrototypeFunctionGroupEnd(ExecState* exec, JSObje
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, Console* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Console* object)
{
- return getDOMObjectWrapper<JSConsole>(exec, object);
+ return getDOMObjectWrapper<JSConsole>(exec, globalObject, object);
}
Console* toConsole(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSConsole.h b/src/3rdparty/webkit/WebCore/generated/JSConsole.h
index 0b7f0d5..f66f53f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSConsole.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSConsole.h
@@ -21,6 +21,7 @@
#ifndef JSConsole_h
#define JSConsole_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Console;
-class JSConsole : public DOMObject {
- typedef DOMObject Base;
+class JSConsole : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSConsole(PassRefPtr<JSC::Structure>, PassRefPtr<Console>);
+ JSConsole(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Console>);
virtual ~JSConsole();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -53,7 +54,7 @@ private:
RefPtr<Console> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Console*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Console*);
Console* toConsole(JSC::JSValue);
class JSConsolePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
index 0db560b..bddd8a9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSCoordinatesTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCoordinatesTable =
+static JSC_CONST_HASHTABLE HashTable JSCoordinatesTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSCoordinatesTableValues, 0 };
#else
@@ -63,7 +63,7 @@ static const HashTableValue JSCoordinatesPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCoordinatesPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCoordinatesPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCoordinatesPrototypeTableValues, 0 };
#else
@@ -84,8 +84,8 @@ bool JSCoordinatesPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSCoordinates::s_info = { "Coordinates", 0, &JSCoordinatesTable, 0 };
-JSCoordinates::JSCoordinates(PassRefPtr<Structure> structure, PassRefPtr<Coordinates> impl)
- : DOMObject(structure)
+JSCoordinates::JSCoordinates(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Coordinates> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -107,43 +107,50 @@ bool JSCoordinates::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsCoordinatesLatitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Coordinates* imp = static_cast<Coordinates*>(static_cast<JSCoordinates*>(asObject(slot.slotBase()))->impl());
+ Coordinates* imp = static_cast<Coordinates*>(castedThis->impl());
return jsNumber(exec, imp->latitude());
}
JSValue jsCoordinatesLongitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Coordinates* imp = static_cast<Coordinates*>(static_cast<JSCoordinates*>(asObject(slot.slotBase()))->impl());
+ Coordinates* imp = static_cast<Coordinates*>(castedThis->impl());
return jsNumber(exec, imp->longitude());
}
JSValue jsCoordinatesAltitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->altitude(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->altitude(exec);
}
JSValue jsCoordinatesAccuracy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Coordinates* imp = static_cast<Coordinates*>(static_cast<JSCoordinates*>(asObject(slot.slotBase()))->impl());
+ Coordinates* imp = static_cast<Coordinates*>(castedThis->impl());
return jsNumber(exec, imp->accuracy());
}
JSValue jsCoordinatesAltitudeAccuracy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->altitudeAccuracy(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->altitudeAccuracy(exec);
}
JSValue jsCoordinatesHeading(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->heading(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->heading(exec);
}
JSValue jsCoordinatesSpeed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCoordinates*>(asObject(slot.slotBase()))->speed(exec);
+ JSCoordinates* castedThis = static_cast<JSCoordinates*>(asObject(slot.slotBase()));
+ return castedThis->speed(exec);
}
JSValue JSC_HOST_CALL jsCoordinatesPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -159,9 +166,9 @@ JSValue JSC_HOST_CALL jsCoordinatesPrototypeFunctionToString(ExecState* exec, JS
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, Coordinates* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Coordinates* object)
{
- return getDOMObjectWrapper<JSCoordinates>(exec, object);
+ return getDOMObjectWrapper<JSCoordinates>(exec, globalObject, object);
}
Coordinates* toCoordinates(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h
index 8a8643d..d209540 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCoordinates.h
@@ -21,6 +21,7 @@
#ifndef JSCoordinates_h
#define JSCoordinates_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Coordinates;
-class JSCoordinates : public DOMObject {
- typedef DOMObject Base;
+class JSCoordinates : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCoordinates(PassRefPtr<JSC::Structure>, PassRefPtr<Coordinates>);
+ JSCoordinates(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Coordinates>);
virtual ~JSCoordinates();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -56,7 +57,7 @@ private:
RefPtr<Coordinates> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Coordinates*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Coordinates*);
Coordinates* toCoordinates(JSC::JSValue);
class JSCoordinatesPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
index 03a3eb3..0269696 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSCounterTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCounterTable =
+static JSC_CONST_HASHTABLE HashTable JSCounterTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSCounterTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSCounterConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCounterConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSCounterConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCounterConstructorTableValues, 0 };
#else
{ 1, 0, JSCounterConstructorTableValues, 0 };
#endif
-class JSCounterConstructor : public DOMObject {
+class JSCounterConstructor : public DOMConstructorObject {
public:
- JSCounterConstructor(ExecState* exec)
- : DOMObject(JSCounterConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSCounterConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSCounterConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSCounterPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSCounterPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSCounterPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSCounterPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSCounterPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSCounterPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSCounterPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSCounter::s_info = { "Counter", 0, &JSCounterTable, 0 };
-JSCounter::JSCounter(PassRefPtr<Structure> structure, PassRefPtr<Counter> impl)
- : DOMObject(structure)
+JSCounter::JSCounter(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Counter> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -134,37 +134,41 @@ bool JSCounter::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsCounterIdentifier(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCounter* castedThis = static_cast<JSCounter*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Counter* imp = static_cast<Counter*>(static_cast<JSCounter*>(asObject(slot.slotBase()))->impl());
+ Counter* imp = static_cast<Counter*>(castedThis->impl());
return jsString(exec, imp->identifier());
}
JSValue jsCounterListStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCounter* castedThis = static_cast<JSCounter*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Counter* imp = static_cast<Counter*>(static_cast<JSCounter*>(asObject(slot.slotBase()))->impl());
+ Counter* imp = static_cast<Counter*>(castedThis->impl());
return jsString(exec, imp->listStyle());
}
JSValue jsCounterSeparator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSCounter* castedThis = static_cast<JSCounter*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Counter* imp = static_cast<Counter*>(static_cast<JSCounter*>(asObject(slot.slotBase()))->impl());
+ Counter* imp = static_cast<Counter*>(castedThis->impl());
return jsString(exec, imp->separator());
}
JSValue jsCounterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSCounter*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSCounter* domObject = static_cast<JSCounter*>(asObject(slot.slotBase()));
+ return JSCounter::getConstructor(exec, domObject->globalObject());
}
-JSValue JSCounter::getConstructor(ExecState* exec)
+JSValue JSCounter::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSCounterConstructor>(exec);
+ return getDOMConstructor<JSCounterConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Counter* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Counter* object)
{
- return getDOMObjectWrapper<JSCounter>(exec, object);
+ return getDOMObjectWrapper<JSCounter>(exec, globalObject, object);
}
Counter* toCounter(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCounter.h b/src/3rdparty/webkit/WebCore/generated/JSCounter.h
index ab195fe..cdfc523 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCounter.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCounter.h
@@ -21,6 +21,7 @@
#ifndef JSCounter_h
#define JSCounter_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Counter;
-class JSCounter : public DOMObject {
- typedef DOMObject Base;
+class JSCounter : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSCounter(PassRefPtr<JSC::Structure>, PassRefPtr<Counter>);
+ JSCounter(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Counter>);
virtual ~JSCounter();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Counter* impl() const { return m_impl.get(); }
private:
RefPtr<Counter> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Counter*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Counter*);
Counter* toCounter(JSC::JSValue);
class JSCounterPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
index 0d7202b..bf55e99 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp
@@ -57,7 +57,7 @@ static const HashTableValue JSDOMApplicationCacheTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMApplicationCacheTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMApplicationCacheTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSDOMApplicationCacheTableValues, 0 };
#else
@@ -82,7 +82,7 @@ static const HashTableValue JSDOMApplicationCachePrototypeTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMApplicationCachePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMApplicationCachePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSDOMApplicationCachePrototypeTableValues, 0 };
#else
@@ -103,8 +103,8 @@ bool JSDOMApplicationCachePrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSDOMApplicationCache::s_info = { "DOMApplicationCache", 0, &JSDOMApplicationCacheTable, 0 };
-JSDOMApplicationCache::JSDOMApplicationCache(PassRefPtr<Structure> structure, PassRefPtr<DOMApplicationCache> impl)
- : DOMObject(structure)
+JSDOMApplicationCache::JSDOMApplicationCache(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMApplicationCache> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -126,15 +126,17 @@ bool JSDOMApplicationCache::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsDOMApplicationCacheStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
return jsNumber(exec, imp->status());
}
JSValue jsDOMApplicationCacheOnchecking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onchecking()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -144,8 +146,9 @@ JSValue jsDOMApplicationCacheOnchecking(ExecState* exec, const Identifier&, cons
JSValue jsDOMApplicationCacheOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -155,8 +158,9 @@ JSValue jsDOMApplicationCacheOnerror(ExecState* exec, const Identifier&, const P
JSValue jsDOMApplicationCacheOnnoupdate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onnoupdate()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -166,8 +170,9 @@ JSValue jsDOMApplicationCacheOnnoupdate(ExecState* exec, const Identifier&, cons
JSValue jsDOMApplicationCacheOndownloading(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->ondownloading()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -177,8 +182,9 @@ JSValue jsDOMApplicationCacheOndownloading(ExecState* exec, const Identifier&, c
JSValue jsDOMApplicationCacheOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onprogress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -188,8 +194,9 @@ JSValue jsDOMApplicationCacheOnprogress(ExecState* exec, const Identifier&, cons
JSValue jsDOMApplicationCacheOnupdateready(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onupdateready()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -199,8 +206,9 @@ JSValue jsDOMApplicationCacheOnupdateready(ExecState* exec, const Identifier&, c
JSValue jsDOMApplicationCacheOncached(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->oncached()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -210,8 +218,9 @@ JSValue jsDOMApplicationCacheOncached(ExecState* exec, const Identifier&, const
JSValue jsDOMApplicationCacheOnobsolete(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMApplicationCache* castedThis = static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(static_cast<JSDOMApplicationCache*>(asObject(slot.slotBase()))->impl());
+ DOMApplicationCache* imp = static_cast<DOMApplicationCache*>(castedThis->impl());
if (EventListener* listener = imp->onobsolete()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -398,9 +407,9 @@ JSValue jsDOMApplicationCacheOBSOLETE(ExecState* exec, const Identifier&, const
return jsNumber(exec, static_cast<int>(5));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMApplicationCache* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMApplicationCache* object)
{
- return getDOMObjectWrapper<JSDOMApplicationCache>(exec, object);
+ return getDOMObjectWrapper<JSDOMApplicationCache>(exec, globalObject, object);
}
DOMApplicationCache* toDOMApplicationCache(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h
index 7a6ea14..6938f25 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h
@@ -23,6 +23,7 @@
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class DOMApplicationCache;
-class JSDOMApplicationCache : public DOMObject {
- typedef DOMObject Base;
+class JSDOMApplicationCache : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMApplicationCache(PassRefPtr<JSC::Structure>, PassRefPtr<DOMApplicationCache>);
+ JSDOMApplicationCache(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMApplicationCache>);
virtual ~JSDOMApplicationCache();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -59,7 +60,7 @@ private:
RefPtr<DOMApplicationCache> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMApplicationCache*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMApplicationCache*);
DOMApplicationCache* toDOMApplicationCache(JSC::JSValue);
class JSDOMApplicationCachePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
index 3b45220..da10b12 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSDOMCoreExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMCoreExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMCoreExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSDOMCoreExceptionTableValues, 0 };
#else
@@ -81,19 +81,19 @@ static const HashTableValue JSDOMCoreExceptionConstructorTableValues[23] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMCoreExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMCoreExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSDOMCoreExceptionConstructorTableValues, 0 };
#else
{ 67, 63, JSDOMCoreExceptionConstructorTableValues, 0 };
#endif
-class JSDOMCoreExceptionConstructor : public DOMObject {
+class JSDOMCoreExceptionConstructor : public DOMConstructorObject {
public:
- JSDOMCoreExceptionConstructor(ExecState* exec)
- : DOMObject(JSDOMCoreExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDOMCoreExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDOMCoreExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDOMCoreExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDOMCoreExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -142,7 +142,7 @@ static const HashTableValue JSDOMCoreExceptionPrototypeTableValues[24] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMCoreExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMCoreExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSDOMCoreExceptionPrototypeTableValues, 0 };
#else
@@ -163,8 +163,8 @@ bool JSDOMCoreExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSDOMCoreException::s_info = { "DOMException", 0, &JSDOMCoreExceptionTable, 0 };
-JSDOMCoreException::JSDOMCoreException(PassRefPtr<Structure> structure, PassRefPtr<DOMCoreException> impl)
- : DOMObject(structure)
+JSDOMCoreException::JSDOMCoreException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMCoreException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -186,32 +186,36 @@ bool JSDOMCoreException::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsDOMCoreExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMCoreException* castedThis = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMCoreException* imp = static_cast<DOMCoreException*>(static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->impl());
+ DOMCoreException* imp = static_cast<DOMCoreException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsDOMCoreExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMCoreException* castedThis = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMCoreException* imp = static_cast<DOMCoreException*>(static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->impl());
+ DOMCoreException* imp = static_cast<DOMCoreException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsDOMCoreExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMCoreException* castedThis = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMCoreException* imp = static_cast<DOMCoreException*>(static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->impl());
+ DOMCoreException* imp = static_cast<DOMCoreException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsDOMCoreExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMCoreException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDOMCoreException* domObject = static_cast<JSDOMCoreException*>(asObject(slot.slotBase()));
+ return JSDOMCoreException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDOMCoreException::getConstructor(ExecState* exec)
+JSValue JSDOMCoreException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDOMCoreExceptionConstructor>(exec);
+ return getDOMConstructor<JSDOMCoreExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDOMCoreExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -339,9 +343,9 @@ JSValue jsDOMCoreExceptionQUOTA_EXCEEDED_ERR(ExecState* exec, const Identifier&,
return jsNumber(exec, static_cast<int>(22));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMCoreException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMCoreException* object)
{
- return getDOMObjectWrapper<JSDOMCoreException>(exec, object);
+ return getDOMObjectWrapper<JSDOMCoreException>(exec, globalObject, object);
}
DOMCoreException* toDOMCoreException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h
index 75b4328..e0a45f9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h
@@ -21,6 +21,7 @@
#ifndef JSDOMCoreException_h
#define JSDOMCoreException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMCoreException;
-class JSDOMCoreException : public DOMObject {
- typedef DOMObject Base;
+class JSDOMCoreException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMCoreException(PassRefPtr<JSC::Structure>, PassRefPtr<DOMCoreException>);
+ JSDOMCoreException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMCoreException>);
virtual ~JSDOMCoreException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DOMCoreException* impl() const { return m_impl.get(); }
private:
RefPtr<DOMCoreException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMCoreException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMCoreException*);
DOMCoreException* toDOMCoreException(JSC::JSValue);
class JSDOMCoreExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
index 1e2f950..6941521 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSDOMImplementationTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMImplementationTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMImplementationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMImplementationTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSDOMImplementationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMImplementationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMImplementationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMImplementationConstructorTableValues, 0 };
#else
{ 1, 0, JSDOMImplementationConstructorTableValues, 0 };
#endif
-class JSDOMImplementationConstructor : public DOMObject {
+class JSDOMImplementationConstructor : public DOMConstructorObject {
public:
- JSDOMImplementationConstructor(ExecState* exec)
- : DOMObject(JSDOMImplementationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDOMImplementationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDOMImplementationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDOMImplementationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDOMImplementationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSDOMImplementationPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMImplementationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMImplementationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSDOMImplementationPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSDOMImplementationPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSDOMImplementation::s_info = { "DOMImplementation", 0, &JSDOMImplementationTable, 0 };
-JSDOMImplementation::JSDOMImplementation(PassRefPtr<Structure> structure, PassRefPtr<DOMImplementation> impl)
- : DOMObject(structure)
+JSDOMImplementation::JSDOMImplementation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMImplementation> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -149,11 +149,12 @@ bool JSDOMImplementation::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsDOMImplementationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMImplementation*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDOMImplementation* domObject = static_cast<JSDOMImplementation*>(asObject(slot.slotBase()));
+ return JSDOMImplementation::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDOMImplementation::getConstructor(ExecState* exec)
+JSValue JSDOMImplementation::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDOMImplementationConstructor>(exec);
+ return getDOMConstructor<JSDOMImplementationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionHasFeature(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -184,7 +185,7 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateDocumentType(Exe
const UString& systemId = valueToStringWithUndefinedOrNullCheck(exec, args.at(2));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createDocumentType(qualifiedName, publicId, systemId, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createDocumentType(qualifiedName, publicId, systemId, ec)));
setDOMException(exec, ec);
return result;
}
@@ -202,7 +203,7 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateDocument(ExecSta
DocumentType* doctype = toDocumentType(args.at(2));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createDocument(namespaceURI, qualifiedName, doctype, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createDocument(namespaceURI, qualifiedName, doctype, ec)));
setDOMException(exec, ec);
return result;
}
@@ -219,7 +220,7 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateCSSStyleSheet(Ex
const UString& media = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createCSSStyleSheet(title, media, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createCSSStyleSheet(title, media, ec)));
setDOMException(exec, ec);
return result;
}
@@ -234,13 +235,13 @@ JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateHTMLDocument(Exe
const UString& title = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createHTMLDocument(title)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createHTMLDocument(title)));
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMImplementation* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMImplementation* object)
{
- return getDOMObjectWrapper<JSDOMImplementation>(exec, object);
+ return getDOMObjectWrapper<JSDOMImplementation>(exec, globalObject, object);
}
DOMImplementation* toDOMImplementation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h
index e017778..b811110 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h
@@ -21,6 +21,7 @@
#ifndef JSDOMImplementation_h
#define JSDOMImplementation_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMImplementation;
-class JSDOMImplementation : public DOMObject {
- typedef DOMObject Base;
+class JSDOMImplementation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMImplementation(PassRefPtr<JSC::Structure>, PassRefPtr<DOMImplementation>);
+ JSDOMImplementation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMImplementation>);
virtual ~JSDOMImplementation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DOMImplementation* impl() const { return m_impl.get(); }
private:
RefPtr<DOMImplementation> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMImplementation*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMImplementation*);
DOMImplementation* toDOMImplementation(JSC::JSValue);
class JSDOMImplementationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
index ffb4f70..31dd1fc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSDOMParserTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMParserTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMParserTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMParserTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSDOMParserConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMParserConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMParserConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMParserConstructorTableValues, 0 };
#else
{ 1, 0, JSDOMParserConstructorTableValues, 0 };
#endif
-class JSDOMParserConstructor : public DOMObject {
+class JSDOMParserConstructor : public DOMConstructorObject {
public:
- JSDOMParserConstructor(ExecState* exec)
- : DOMObject(JSDOMParserConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDOMParserConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDOMParserConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDOMParserPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDOMParserPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -78,13 +78,13 @@ public:
{
return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
}
- static JSObject* construct(ExecState* exec, JSObject*, const ArgList&)
+ static JSObject* constructDOMParser(ExecState* exec, JSObject* constructor, const ArgList&)
{
- return asObject(toJS(exec, DOMParser::create()));
+ return asObject(toJS(exec, static_cast<JSDOMParserConstructor*>(constructor)->globalObject(), DOMParser::create()));
}
virtual ConstructType getConstructData(ConstructData& constructData)
{
- constructData.native.function = construct;
+ constructData.native.function = constructDOMParser;
return ConstructTypeHost;
}
};
@@ -104,7 +104,7 @@ static const HashTableValue JSDOMParserPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMParserPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMParserPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDOMParserPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSDOMParserPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSDOMParser::s_info = { "DOMParser", 0, &JSDOMParserTable, 0 };
-JSDOMParser::JSDOMParser(PassRefPtr<Structure> structure, PassRefPtr<DOMParser> impl)
- : DOMObject(structure)
+JSDOMParser::JSDOMParser(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMParser> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -148,11 +148,12 @@ bool JSDOMParser::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsDOMParserConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMParser*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDOMParser* domObject = static_cast<JSDOMParser*>(asObject(slot.slotBase()));
+ return JSDOMParser::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDOMParser::getConstructor(ExecState* exec)
+JSValue JSDOMParser::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDOMParserConstructor>(exec);
+ return getDOMConstructor<JSDOMParserConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDOMParserPrototypeFunctionParseFromString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -166,13 +167,13 @@ JSValue JSC_HOST_CALL jsDOMParserPrototypeFunctionParseFromString(ExecState* exe
const UString& contentType = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->parseFromString(str, contentType)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->parseFromString(str, contentType)));
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMParser* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMParser* object)
{
- return getDOMObjectWrapper<JSDOMParser>(exec, object);
+ return getDOMObjectWrapper<JSDOMParser>(exec, globalObject, object);
}
DOMParser* toDOMParser(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h
index cfdbe9b..2271e18 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMParser.h
@@ -21,6 +21,7 @@
#ifndef JSDOMParser_h
#define JSDOMParser_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMParser;
-class JSDOMParser : public DOMObject {
- typedef DOMObject Base;
+class JSDOMParser : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMParser(PassRefPtr<JSC::Structure>, PassRefPtr<DOMParser>);
+ JSDOMParser(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMParser>);
virtual ~JSDOMParser();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DOMParser* impl() const { return m_impl.get(); }
private:
RefPtr<DOMParser> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMParser*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMParser*);
DOMParser* toDOMParser(JSC::JSValue);
class JSDOMParserPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
index 422c410..ffb842a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSDOMSelectionTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMSelectionTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMSelectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSDOMSelectionTableValues, 0 };
#else
@@ -85,7 +85,7 @@ static const HashTableValue JSDOMSelectionPrototypeTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMSelectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMSelectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSDOMSelectionPrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ bool JSDOMSelectionPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSDOMSelection::s_info = { "DOMSelection", 0, &JSDOMSelectionTable, 0 };
-JSDOMSelection::JSDOMSelection(PassRefPtr<Structure> structure, PassRefPtr<DOMSelection> impl)
- : DOMObject(structure)
+JSDOMSelection::JSDOMSelection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DOMSelection> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -129,78 +129,89 @@ bool JSDOMSelection::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsDOMSelectionAnchorNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->anchorNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->anchorNode()));
}
JSValue jsDOMSelectionAnchorOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->anchorOffset());
}
JSValue jsDOMSelectionFocusNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->focusNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->focusNode()));
}
JSValue jsDOMSelectionFocusOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->focusOffset());
}
JSValue jsDOMSelectionIsCollapsed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsBoolean(imp->isCollapsed());
}
JSValue jsDOMSelectionRangeCount(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->rangeCount());
}
JSValue jsDOMSelectionBaseNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->baseNode()));
}
JSValue jsDOMSelectionBaseOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->baseOffset());
}
JSValue jsDOMSelectionExtentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->extentNode()));
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->extentNode()));
}
JSValue jsDOMSelectionExtentOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsNumber(exec, imp->extentOffset());
}
JSValue jsDOMSelectionType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMSelection* castedThis = static_cast<JSDOMSelection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMSelection* imp = static_cast<DOMSelection*>(static_cast<JSDOMSelection*>(asObject(slot.slotBase()))->impl());
+ DOMSelection* imp = static_cast<DOMSelection*>(castedThis->impl());
return jsString(exec, imp->type());
}
@@ -313,7 +324,7 @@ JSValue JSC_HOST_CALL jsDOMSelectionPrototypeFunctionGetRangeAt(ExecState* exec,
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getRangeAt(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getRangeAt(index, ec)));
setDOMException(exec, ec);
return result;
}
@@ -417,9 +428,9 @@ JSValue JSC_HOST_CALL jsDOMSelectionPrototypeFunctionEmpty(ExecState* exec, JSOb
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, DOMSelection* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DOMSelection* object)
{
- return getDOMObjectWrapper<JSDOMSelection>(exec, object);
+ return getDOMObjectWrapper<JSDOMSelection>(exec, globalObject, object);
}
DOMSelection* toDOMSelection(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h
index 2af8cbd..a0fae0a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h
@@ -21,6 +21,7 @@
#ifndef JSDOMSelection_h
#define JSDOMSelection_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class DOMSelection;
-class JSDOMSelection : public DOMObject {
- typedef DOMObject Base;
+class JSDOMSelection : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDOMSelection(PassRefPtr<JSC::Structure>, PassRefPtr<DOMSelection>);
+ JSDOMSelection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMSelection>);
virtual ~JSDOMSelection();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<DOMSelection> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DOMSelection*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMSelection*);
DOMSelection* toDOMSelection(JSC::JSValue);
class JSDOMSelectionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
index d9c3ed9..364a975 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp
@@ -94,6 +94,7 @@
#include "JSHTMLCanvasElement.h"
#include "JSHTMLCollection.h"
#include "JSHTMLDListElement.h"
+#include "JSHTMLDataGridCellElement.h"
#include "JSHTMLDataGridColElement.h"
#include "JSHTMLDataGridElement.h"
#include "JSHTMLDirectoryElement.h"
@@ -148,7 +149,9 @@
#include "JSKeyboardEvent.h"
#include "JSMediaError.h"
#include "JSMediaList.h"
+#include "JSMessageChannel.h"
#include "JSMessageEvent.h"
+#include "JSMessagePort.h"
#include "JSMimeType.h"
#include "JSMimeTypeArray.h"
#include "JSMouseEvent.h"
@@ -164,6 +167,7 @@
#include "JSPluginArray.h"
#include "JSProcessingInstruction.h"
#include "JSProgressEvent.h"
+#include "JSRGBColor.h"
#include "JSRange.h"
#include "JSRangeException.h"
#include "JSRect.h"
@@ -225,7 +229,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSDOMWindow);
/* Hash table */
-static const HashTableValue JSDOMWindowTableValues[272] =
+static const HashTableValue JSDOMWindowTableValues[276] =
{
{ "screen", DontDelete|ReadOnly, (intptr_t)jsDOMWindowScreen, (intptr_t)0 },
{ "history", DontDelete|ReadOnly, (intptr_t)jsDOMWindowHistory, (intptr_t)0 },
@@ -354,6 +358,7 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ "Counter", DontDelete, (intptr_t)jsDOMWindowCounterConstructor, (intptr_t)setJSDOMWindowCounterConstructor },
{ "CSSRuleList", DontDelete, (intptr_t)jsDOMWindowCSSRuleListConstructor, (intptr_t)setJSDOMWindowCSSRuleListConstructor },
{ "Rect", DontDelete, (intptr_t)jsDOMWindowRectConstructor, (intptr_t)setJSDOMWindowRectConstructor },
+ { "RGBColor", DontDelete, (intptr_t)jsDOMWindowRGBColorConstructor, (intptr_t)setJSDOMWindowRGBColorConstructor },
{ "StyleSheetList", DontDelete, (intptr_t)jsDOMWindowStyleSheetListConstructor, (intptr_t)setJSDOMWindowStyleSheetListConstructor },
{ "DOMException", DontDelete, (intptr_t)jsDOMWindowDOMExceptionConstructor, (intptr_t)setJSDOMWindowDOMExceptionConstructor },
{ "DOMImplementation", DontDelete, (intptr_t)jsDOMWindowDOMImplementationConstructor, (intptr_t)setJSDOMWindowDOMImplementationConstructor },
@@ -385,8 +390,15 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ "HTMLBodyElement", DontDelete, (intptr_t)jsDOMWindowHTMLBodyElementConstructor, (intptr_t)setJSDOMWindowHTMLBodyElementConstructor },
{ "HTMLButtonElement", DontDelete, (intptr_t)jsDOMWindowHTMLButtonElementConstructor, (intptr_t)setJSDOMWindowHTMLButtonElementConstructor },
{ "HTMLCanvasElement", DontDelete, (intptr_t)jsDOMWindowHTMLCanvasElementConstructor, (intptr_t)setJSDOMWindowHTMLCanvasElementConstructor },
+#if ENABLE(DATAGRID)
{ "HTMLDataGridElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridElementConstructor },
+#endif
+#if ENABLE(DATAGRID)
+ { "HTMLDataGridCellElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridCellElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridCellElementConstructor },
+#endif
+#if ENABLE(DATAGRID)
{ "HTMLDataGridColElement", DontDelete, (intptr_t)jsDOMWindowHTMLDataGridColElementConstructor, (intptr_t)setJSDOMWindowHTMLDataGridColElementConstructor },
+#endif
{ "HTMLDListElement", DontDelete, (intptr_t)jsDOMWindowHTMLDListElementConstructor, (intptr_t)setJSDOMWindowHTMLDListElementConstructor },
{ "HTMLDirectoryElement", DontDelete, (intptr_t)jsDOMWindowHTMLDirectoryElementConstructor, (intptr_t)setJSDOMWindowHTMLDirectoryElementConstructor },
{ "HTMLDivElement", DontDelete, (intptr_t)jsDOMWindowHTMLDivElementConstructor, (intptr_t)setJSDOMWindowHTMLDivElementConstructor },
@@ -467,6 +479,8 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ "XMLHttpRequest", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestConstructor },
{ "XMLHttpRequestUpload", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestUploadConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestUploadConstructor },
{ "XMLHttpRequestException", DontDelete, (intptr_t)jsDOMWindowXMLHttpRequestExceptionConstructor, (intptr_t)setJSDOMWindowXMLHttpRequestExceptionConstructor },
+ { "MessagePort", DontDelete, (intptr_t)jsDOMWindowMessagePortConstructor, (intptr_t)setJSDOMWindowMessagePortConstructor },
+ { "MessageChannel", DontDelete, (intptr_t)jsDOMWindowMessageChannelConstructor, (intptr_t)setJSDOMWindowMessageChannelConstructor },
{ "Worker", DontDelete, (intptr_t)jsDOMWindowWorkerConstructor, (intptr_t)setJSDOMWindowWorkerConstructor },
{ "Plugin", DontDelete, (intptr_t)jsDOMWindowPluginConstructor, (intptr_t)setJSDOMWindowPluginConstructor },
{ "PluginArray", DontDelete, (intptr_t)jsDOMWindowPluginArrayConstructor, (intptr_t)setJSDOMWindowPluginArrayConstructor },
@@ -511,7 +525,7 @@ static const HashTableValue JSDOMWindowTableValues[272] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMWindowTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMWindowTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 32767, JSDOMWindowTableValues, 0 };
#else
@@ -561,7 +575,7 @@ static const HashTableValue JSDOMWindowPrototypeTableValues[37] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDOMWindowPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDOMWindowPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSDOMWindowPrototypeTableValues, 0 };
#else
@@ -594,386 +608,432 @@ JSDOMWindow::~JSDOMWindow()
JSValue jsDOMWindowScreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->screen()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->screen()));
}
JSValue jsDOMWindowHistory(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->history(exec);
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ return castedThis->history(exec);
}
JSValue jsDOMWindowLocationbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->locationbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->locationbar()));
}
JSValue jsDOMWindowMenubar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->menubar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->menubar()));
}
JSValue jsDOMWindowPersonalbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->personalbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->personalbar()));
}
JSValue jsDOMWindowScrollbars(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->scrollbars()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->scrollbars()));
}
JSValue jsDOMWindowStatusbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->statusbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->statusbar()));
}
JSValue jsDOMWindowToolbar(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->toolbar()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->toolbar()));
}
JSValue jsDOMWindowNavigator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->navigator()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->navigator()));
}
JSValue jsDOMWindowClientInformation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->clientInformation()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->clientInformation()));
}
JSValue jsDOMWindowLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->location(exec);
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ return castedThis->location(exec);
}
JSValue jsDOMWindowEvent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->event(exec);
+ return castedThis->event(exec);
}
JSValue jsDOMWindowCrypto(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->crypto(exec);
+ return castedThis->crypto(exec);
}
JSValue jsDOMWindowFrameElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->frameElement()) ? toJS(exec, WTF::getPtr(imp->frameElement())) : jsUndefined();
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->frameElement()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->frameElement())) : jsUndefined();
}
JSValue jsDOMWindowOffscreenBuffering(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsBoolean(imp->offscreenBuffering());
}
JSValue jsDOMWindowOuterHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->outerHeight());
}
JSValue jsDOMWindowOuterWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->outerWidth());
}
JSValue jsDOMWindowInnerHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->innerHeight());
}
JSValue jsDOMWindowInnerWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->innerWidth());
}
JSValue jsDOMWindowScreenX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenX());
}
JSValue jsDOMWindowScreenY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenY());
}
JSValue jsDOMWindowScreenLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenLeft());
}
JSValue jsDOMWindowScreenTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->screenTop());
}
JSValue jsDOMWindowScrollX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->scrollX());
}
JSValue jsDOMWindowScrollY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->scrollY());
}
JSValue jsDOMWindowPageXOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->pageXOffset());
}
JSValue jsDOMWindowPageYOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->pageYOffset());
}
JSValue jsDOMWindowClosed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsBoolean(imp->closed());
}
JSValue jsDOMWindowLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsDOMWindowName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsDOMWindowStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->status());
}
JSValue jsDOMWindowDefaultStatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->defaultStatus());
}
JSValue jsDOMWindowDefaultstatus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsString(exec, imp->defaultstatus());
}
JSValue jsDOMWindowSelf(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->self()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->self()));
}
JSValue jsDOMWindowWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->window()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->window()));
}
JSValue jsDOMWindowFrames(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->frames()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->frames()));
}
JSValue jsDOMWindowOpener(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->opener()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->opener()));
}
JSValue jsDOMWindowParent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parent()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parent()));
}
JSValue jsDOMWindowTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->top()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->top()));
}
JSValue jsDOMWindowDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->document()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->document()));
}
JSValue jsDOMWindowDevicePixelRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
return jsNumber(exec, imp->devicePixelRatio());
}
JSValue jsDOMWindowApplicationCache(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->applicationCache()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->applicationCache()));
}
JSValue jsDOMWindowSessionStorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sessionStorage()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sessionStorage()));
}
JSValue jsDOMWindowLocalStorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->localStorage()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->localStorage()));
}
JSValue jsDOMWindowConsole(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->console()));
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->console()));
}
JSValue jsDOMWindowOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -983,10 +1043,11 @@ JSValue jsDOMWindowOnabort(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onbeforeunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -996,10 +1057,11 @@ JSValue jsDOMWindowOnbeforeunload(ExecState* exec, const Identifier&, const Prop
JSValue jsDOMWindowOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1009,10 +1071,11 @@ JSValue jsDOMWindowOnblur(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOncanplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oncanplay()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1022,10 +1085,11 @@ JSValue jsDOMWindowOncanplay(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOncanplaythrough(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oncanplaythrough()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1035,10 +1099,11 @@ JSValue jsDOMWindowOncanplaythrough(ExecState* exec, const Identifier&, const Pr
JSValue jsDOMWindowOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1048,10 +1113,11 @@ JSValue jsDOMWindowOnchange(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1061,10 +1127,11 @@ JSValue jsDOMWindowOnclick(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1074,10 +1141,11 @@ JSValue jsDOMWindowOncontextmenu(ExecState* exec, const Identifier&, const Prope
JSValue jsDOMWindowOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1087,10 +1155,11 @@ JSValue jsDOMWindowOndblclick(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1100,10 +1169,11 @@ JSValue jsDOMWindowOndrag(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1113,10 +1183,11 @@ JSValue jsDOMWindowOndragend(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1126,10 +1197,11 @@ JSValue jsDOMWindowOndragenter(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1139,10 +1211,11 @@ JSValue jsDOMWindowOndragleave(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1152,10 +1225,11 @@ JSValue jsDOMWindowOndragover(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1165,10 +1239,11 @@ JSValue jsDOMWindowOndragstart(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1178,10 +1253,11 @@ JSValue jsDOMWindowOndrop(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOndurationchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ondurationchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1191,10 +1267,11 @@ JSValue jsDOMWindowOndurationchange(ExecState* exec, const Identifier&, const Pr
JSValue jsDOMWindowOnemptied(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onemptied()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1204,10 +1281,11 @@ JSValue jsDOMWindowOnemptied(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnended(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onended()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1217,10 +1295,11 @@ JSValue jsDOMWindowOnended(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1230,10 +1309,11 @@ JSValue jsDOMWindowOnerror(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1243,10 +1323,11 @@ JSValue jsDOMWindowOnfocus(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1256,10 +1337,11 @@ JSValue jsDOMWindowOninput(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1269,10 +1351,11 @@ JSValue jsDOMWindowOnkeydown(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1282,10 +1365,11 @@ JSValue jsDOMWindowOnkeypress(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1295,10 +1379,11 @@ JSValue jsDOMWindowOnkeyup(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1308,10 +1393,11 @@ JSValue jsDOMWindowOnload(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOnloadeddata(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onloadeddata()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1321,10 +1407,11 @@ JSValue jsDOMWindowOnloadeddata(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnloadedmetadata(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onloadedmetadata()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1334,10 +1421,11 @@ JSValue jsDOMWindowOnloadedmetadata(ExecState* exec, const Identifier&, const Pr
JSValue jsDOMWindowOnloadstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onloadstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1347,10 +1435,11 @@ JSValue jsDOMWindowOnloadstart(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1360,10 +1449,11 @@ JSValue jsDOMWindowOnmessage(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1373,10 +1463,11 @@ JSValue jsDOMWindowOnmousedown(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1386,10 +1477,11 @@ JSValue jsDOMWindowOnmousemove(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1399,10 +1491,11 @@ JSValue jsDOMWindowOnmouseout(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1412,10 +1505,11 @@ JSValue jsDOMWindowOnmouseover(ExecState* exec, const Identifier&, const Propert
JSValue jsDOMWindowOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1425,10 +1519,11 @@ JSValue jsDOMWindowOnmouseup(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1438,10 +1533,11 @@ JSValue jsDOMWindowOnmousewheel(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onoffline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1451,10 +1547,11 @@ JSValue jsDOMWindowOnoffline(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ononline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1464,10 +1561,11 @@ JSValue jsDOMWindowOnonline(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnpause(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onpause()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1477,10 +1575,11 @@ JSValue jsDOMWindowOnpause(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onplay()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1490,10 +1589,11 @@ JSValue jsDOMWindowOnplay(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDOMWindowOnplaying(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onplaying()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1503,10 +1603,11 @@ JSValue jsDOMWindowOnplaying(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnprogress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onprogress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1516,10 +1617,11 @@ JSValue jsDOMWindowOnprogress(ExecState* exec, const Identifier&, const Property
JSValue jsDOMWindowOnratechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onratechange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1529,10 +1631,11 @@ JSValue jsDOMWindowOnratechange(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1542,10 +1645,11 @@ JSValue jsDOMWindowOnresize(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1555,10 +1659,11 @@ JSValue jsDOMWindowOnscroll(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnseeked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onseeked()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1568,10 +1673,11 @@ JSValue jsDOMWindowOnseeked(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnseeking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onseeking()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1581,10 +1687,11 @@ JSValue jsDOMWindowOnseeking(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1594,10 +1701,11 @@ JSValue jsDOMWindowOnselect(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnstalled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onstalled()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1607,10 +1715,11 @@ JSValue jsDOMWindowOnstalled(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onstorage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1620,10 +1729,11 @@ JSValue jsDOMWindowOnstorage(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1633,10 +1743,11 @@ JSValue jsDOMWindowOnsubmit(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnsuspend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onsuspend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1646,10 +1757,11 @@ JSValue jsDOMWindowOnsuspend(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOntimeupdate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->ontimeupdate()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1659,10 +1771,11 @@ JSValue jsDOMWindowOntimeupdate(ExecState* exec, const Identifier&, const Proper
JSValue jsDOMWindowOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1672,10 +1785,11 @@ JSValue jsDOMWindowOnunload(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnvolumechange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onvolumechange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1685,10 +1799,11 @@ JSValue jsDOMWindowOnvolumechange(ExecState* exec, const Identifier&, const Prop
JSValue jsDOMWindowOnwaiting(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwaiting()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1698,10 +1813,11 @@ JSValue jsDOMWindowOnwaiting(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDOMWindowOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1711,10 +1827,11 @@ JSValue jsDOMWindowOnreset(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDOMWindowOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1724,10 +1841,11 @@ JSValue jsDOMWindowOnsearch(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDOMWindowOnwebkitanimationend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkitanimationend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1737,10 +1855,11 @@ JSValue jsDOMWindowOnwebkitanimationend(ExecState* exec, const Identifier&, cons
JSValue jsDOMWindowOnwebkitanimationiteration(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkitanimationiteration()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1750,10 +1869,11 @@ JSValue jsDOMWindowOnwebkitanimationiteration(ExecState* exec, const Identifier&
JSValue jsDOMWindowOnwebkitanimationstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkitanimationstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1763,10 +1883,11 @@ JSValue jsDOMWindowOnwebkitanimationstart(ExecState* exec, const Identifier&, co
JSValue jsDOMWindowOnwebkittransitionend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
UNUSED_PARAM(exec);
- DOMWindow* imp = static_cast<DOMWindow*>(static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->impl());
+ DOMWindow* imp = static_cast<DOMWindow*>(castedThis->impl());
if (EventListener* listener = imp->onwebkittransitionend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -1776,1317 +1897,1362 @@ JSValue jsDOMWindowOnwebkittransitionend(ExecState* exec, const Identifier&, con
JSValue jsDOMWindowStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStyleSheet::getConstructor(exec);
+ return JSStyleSheet::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSStyleSheetConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSStyleSheet::getConstructor(exec);
+ return JSCSSStyleSheet::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSValue::getConstructor(exec);
+ return JSCSSValue::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSPrimitiveValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSPrimitiveValue::getConstructor(exec);
+ return JSCSSPrimitiveValue::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSValueListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSValueList::getConstructor(exec);
+ return JSCSSValueList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSTransformValueConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitCSSTransformValue::getConstructor(exec);
+ return JSWebKitCSSTransformValue::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSRule::getConstructor(exec);
+ return JSCSSRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSCharsetRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSCharsetRule::getConstructor(exec);
+ return JSCSSCharsetRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSFontFaceRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSFontFaceRule::getConstructor(exec);
+ return JSCSSFontFaceRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSImportRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSImportRule::getConstructor(exec);
+ return JSCSSImportRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSMediaRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSMediaRule::getConstructor(exec);
+ return JSCSSMediaRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSPageRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSPageRule::getConstructor(exec);
+ return JSCSSPageRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSStyleRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSStyleRule::getConstructor(exec);
+ return JSCSSStyleRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSVariablesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSVariablesRule::getConstructor(exec);
+ return JSCSSVariablesRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSVariablesDeclaration::getConstructor(exec);
+ return JSCSSVariablesDeclaration::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSStyleDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSStyleDeclaration::getConstructor(exec);
+ return JSCSSStyleDeclaration::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMediaListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMediaList::getConstructor(exec);
+ return JSMediaList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCounterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCounter::getConstructor(exec);
+ return JSCounter::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCSSRuleListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCSSRuleList::getConstructor(exec);
+ return JSCSSRuleList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSRect::getConstructor(exec, castedThis);
+}
+
+JSValue jsDOMWindowRGBColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSRect::getConstructor(exec);
+ return JSRGBColor::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowStyleSheetListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStyleSheetList::getConstructor(exec);
+ return JSStyleSheetList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDOMExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDOMCoreException::getConstructor(exec);
+ return JSDOMCoreException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDOMImplementationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDOMImplementation::getConstructor(exec);
+ return JSDOMImplementation::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDocumentFragmentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocumentFragment::getConstructor(exec);
+ return JSDocumentFragment::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocument::getConstructor(exec);
+ return JSDocument::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNodeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNode::getConstructor(exec);
+ return JSNode::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNodeListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNodeList::getConstructor(exec);
+ return JSNodeList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNamedNodeMapConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNamedNodeMap::getConstructor(exec);
+ return JSNamedNodeMap::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCharacterDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCharacterData::getConstructor(exec);
+ return JSCharacterData::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowAttrConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSAttr::getConstructor(exec);
+ return JSAttr::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSElement::getConstructor(exec);
+ return JSElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowTextConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSText::getConstructor(exec);
+ return JSText::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCommentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSComment::getConstructor(exec);
+ return JSComment::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowCDATASectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCDATASection::getConstructor(exec);
+ return JSCDATASection::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDocumentTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocumentType::getConstructor(exec);
+ return JSDocumentType::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNotationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNotation::getConstructor(exec);
+ return JSNotation::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEntityConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEntity::getConstructor(exec);
+ return JSEntity::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEntityReferenceConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEntityReference::getConstructor(exec);
+ return JSEntityReference::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowProcessingInstructionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSProcessingInstruction::getConstructor(exec);
+ return JSProcessingInstruction::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDocument::getConstructor(exec);
+ return JSHTMLDocument::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLElement::getConstructor(exec);
+ return JSHTMLElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLAnchorElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAnchorElement::getConstructor(exec);
+ return JSHTMLAnchorElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLAppletElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAppletElement::getConstructor(exec);
+ return JSHTMLAppletElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAreaElement::getConstructor(exec);
+ return JSHTMLAreaElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBRElement::getConstructor(exec);
+ return JSHTMLBRElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBaseElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBaseElement::getConstructor(exec);
+ return JSHTMLBaseElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBaseFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBaseFontElement::getConstructor(exec);
+ return JSHTMLBaseFontElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBlockquoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBlockquoteElement::getConstructor(exec);
+ return JSHTMLBlockquoteElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLBodyElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLBodyElement::getConstructor(exec);
+ return JSHTMLBodyElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLButtonElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLButtonElement::getConstructor(exec);
+ return JSHTMLButtonElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLCanvasElement::getConstructor(exec);
+ return JSHTMLCanvasElement::getConstructor(exec, castedThis);
}
+#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDataGridElement::getConstructor(exec);
+ return JSHTMLDataGridElement::getConstructor(exec, castedThis);
}
+#endif
+#if ENABLE(DATAGRID)
+JSValue jsDOMWindowHTMLDataGridCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSHTMLDataGridCellElement::getConstructor(exec, castedThis);
+}
+#endif
+
+#if ENABLE(DATAGRID)
JSValue jsDOMWindowHTMLDataGridColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDataGridColElement::getConstructor(exec);
+ return JSHTMLDataGridColElement::getConstructor(exec, castedThis);
}
+#endif
JSValue jsDOMWindowHTMLDListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDListElement::getConstructor(exec);
+ return JSHTMLDListElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLDirectoryElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDirectoryElement::getConstructor(exec);
+ return JSHTMLDirectoryElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLDivElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLDivElement::getConstructor(exec);
+ return JSHTMLDivElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLEmbedElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLEmbedElement::getConstructor(exec);
+ return JSHTMLEmbedElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFieldSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFieldSetElement::getConstructor(exec);
+ return JSHTMLFieldSetElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFontElement::getConstructor(exec);
+ return JSHTMLFontElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFormElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFormElement::getConstructor(exec);
+ return JSHTMLFormElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFrameElement::getConstructor(exec);
+ return JSHTMLFrameElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLFrameSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLFrameSetElement::getConstructor(exec);
+ return JSHTMLFrameSetElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHRElement::getConstructor(exec);
+ return JSHTMLHRElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHeadElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHeadElement::getConstructor(exec);
+ return JSHTMLHeadElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHeadingElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHeadingElement::getConstructor(exec);
+ return JSHTMLHeadingElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLHtmlElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLHtmlElement::getConstructor(exec);
+ return JSHTMLHtmlElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLIFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLIFrameElement::getConstructor(exec);
+ return JSHTMLIFrameElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLImageElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLImageElement::getConstructor(exec);
+ return JSHTMLImageElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLInputElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLInputElement::getConstructor(exec);
+ return JSHTMLInputElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLIsIndexElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLIsIndexElement::getConstructor(exec);
+ return JSHTMLIsIndexElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLIElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLIElement::getConstructor(exec);
+ return JSHTMLLIElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLabelElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLabelElement::getConstructor(exec);
+ return JSHTMLLabelElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLegendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLegendElement::getConstructor(exec);
+ return JSHTMLLegendElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLLinkElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLLinkElement::getConstructor(exec);
+ return JSHTMLLinkElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMapElement::getConstructor(exec);
+ return JSHTMLMapElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMarqueeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMarqueeElement::getConstructor(exec);
+ return JSHTMLMarqueeElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMenuElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMenuElement::getConstructor(exec);
+ return JSHTMLMenuElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLMetaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMetaElement::getConstructor(exec);
+ return JSHTMLMetaElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLModElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLModElement::getConstructor(exec);
+ return JSHTMLModElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLOListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLOListElement::getConstructor(exec);
+ return JSHTMLOListElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLObjectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLObjectElement::getConstructor(exec);
+ return JSHTMLObjectElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLOptGroupElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLOptGroupElement::getConstructor(exec);
+ return JSHTMLOptGroupElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLOptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLOptionElement::getConstructor(exec);
+ return JSHTMLOptionElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLParagraphElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLParagraphElement::getConstructor(exec);
+ return JSHTMLParagraphElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLParamElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLParamElement::getConstructor(exec);
+ return JSHTMLParamElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLPreElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLPreElement::getConstructor(exec);
+ return JSHTMLPreElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLQuoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLQuoteElement::getConstructor(exec);
+ return JSHTMLQuoteElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLScriptElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLScriptElement::getConstructor(exec);
+ return JSHTMLScriptElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLSelectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLSelectElement::getConstructor(exec);
+ return JSHTMLSelectElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLStyleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLStyleElement::getConstructor(exec);
+ return JSHTMLStyleElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableCaptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableCaptionElement::getConstructor(exec);
+ return JSHTMLTableCaptionElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableCellElement::getConstructor(exec);
+ return JSHTMLTableCellElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableColElement::getConstructor(exec);
+ return JSHTMLTableColElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableElement::getConstructor(exec);
+ return JSHTMLTableElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableRowElement::getConstructor(exec);
+ return JSHTMLTableRowElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTableSectionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTableSectionElement::getConstructor(exec);
+ return JSHTMLTableSectionElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTextAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTextAreaElement::getConstructor(exec);
+ return JSHTMLTextAreaElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLTitleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLTitleElement::getConstructor(exec);
+ return JSHTMLTitleElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLUListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLUListElement::getConstructor(exec);
+ return JSHTMLUListElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowHTMLCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLCollection::getConstructor(exec);
+ return JSHTMLCollection::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowImageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->image(exec);
+ return castedThis->image(exec);
}
JSValue jsDOMWindowOptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->option(exec);
+ return castedThis->option(exec);
}
JSValue jsDOMWindowCanvasRenderingContext2DConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSCanvasRenderingContext2D::getConstructor(exec);
+ return JSCanvasRenderingContext2D::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowTextMetricsConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSTextMetrics::getConstructor(exec);
+ return JSTextMetrics::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEvent::getConstructor(exec);
+ return JSEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowKeyboardEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSKeyboardEvent::getConstructor(exec);
+ return JSKeyboardEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMouseEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMouseEvent::getConstructor(exec);
+ return JSMouseEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMutationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMutationEvent::getConstructor(exec);
+ return JSMutationEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowOverflowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSOverflowEvent::getConstructor(exec);
+ return JSOverflowEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowProgressEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSProgressEvent::getConstructor(exec);
+ return JSProgressEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowTextEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSTextEvent::getConstructor(exec);
+ return JSTextEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowUIEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSUIEvent::getConstructor(exec);
+ return JSUIEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitAnimationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitAnimationEvent::getConstructor(exec);
+ return JSWebKitAnimationEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitTransitionEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitTransitionEvent::getConstructor(exec);
+ return JSWebKitTransitionEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWheelEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWheelEvent::getConstructor(exec);
+ return JSWheelEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMessageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMessageEvent::getConstructor(exec);
+ return JSMessageEvent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowEventExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSEventException::getConstructor(exec);
+ return JSEventException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSKeyframeRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitCSSKeyframeRule::getConstructor(exec);
+ return JSWebKitCSSKeyframeRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSKeyframesRuleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSWebKitCSSKeyframesRule::getConstructor(exec);
+ return JSWebKitCSSKeyframesRule::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowWebKitCSSMatrixConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->webKitCSSMatrix(exec);
+ return castedThis->webKitCSSMatrix(exec);
}
JSValue jsDOMWindowWebKitPointConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->webKitPoint(exec);
+ return castedThis->webKitPoint(exec);
}
JSValue jsDOMWindowClipboardConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSClipboard::getConstructor(exec);
+ return JSClipboard::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowFileConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSFile::getConstructor(exec);
+ return JSFile::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowFileListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSFileList::getConstructor(exec);
+ return JSFileList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowNodeFilterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSNodeFilter::getConstructor(exec);
+ return JSNodeFilter::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowRangeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSRange::getConstructor(exec);
+ return JSRange::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowRangeExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSRangeException::getConstructor(exec);
+ return JSRangeException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDocument::getConstructor(exec);
+ return JSDocument::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowDOMParserConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSDOMParser::getConstructor(exec);
+ return JSDOMParser::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLSerializerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXMLSerializer::getConstructor(exec);
+ return JSXMLSerializer::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLHttpRequestConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->xmlHttpRequest(exec);
+ return castedThis->xmlHttpRequest(exec);
}
JSValue jsDOMWindowXMLHttpRequestUploadConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXMLHttpRequestUpload::getConstructor(exec);
+ return JSXMLHttpRequestUpload::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return JSXMLHttpRequestException::getConstructor(exec, castedThis);
+}
+
+JSValue jsDOMWindowMessagePortConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXMLHttpRequestException::getConstructor(exec);
+ return JSMessagePort::getConstructor(exec, castedThis);
+}
+
+JSValue jsDOMWindowMessageChannelConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
+ return jsUndefined();
+ return castedThis->messageChannel(exec);
}
JSValue jsDOMWindowWorkerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->worker(exec);
+ return castedThis->worker(exec);
}
JSValue jsDOMWindowPluginConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSPlugin::getConstructor(exec);
+ return JSPlugin::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowPluginArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSPluginArray::getConstructor(exec);
+ return JSPluginArray::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMimeTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMimeType::getConstructor(exec);
+ return JSMimeType::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowMimeTypeArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMimeTypeArray::getConstructor(exec);
+ return JSMimeTypeArray::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowClientRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSClientRect::getConstructor(exec);
+ return JSClientRect::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowClientRectListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSClientRectList::getConstructor(exec);
+ return JSClientRectList::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowStorageConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStorage::getConstructor(exec);
+ return JSStorage::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowStorageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSStorageEvent::getConstructor(exec);
+ return JSStorageEvent::getConstructor(exec, castedThis);
}
#if ENABLE(VIDEO)
JSValue jsDOMWindowAudioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- return static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->audio(exec);
+ return castedThis->audio(exec);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLAudioElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLAudioElement::getConstructor(exec);
+ return JSHTMLAudioElement::getConstructor(exec, castedThis);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLMediaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLMediaElement::getConstructor(exec);
+ return JSHTMLMediaElement::getConstructor(exec, castedThis);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowHTMLVideoElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSHTMLVideoElement::getConstructor(exec);
+ return JSHTMLVideoElement::getConstructor(exec, castedThis);
}
#endif
#if ENABLE(VIDEO)
JSValue jsDOMWindowMediaErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSMediaError::getConstructor(exec);
+ return JSMediaError::getConstructor(exec, castedThis);
}
#endif
JSValue jsDOMWindowXPathEvaluatorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXPathEvaluator::getConstructor(exec);
+ return JSXPathEvaluator::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXPathResultConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXPathResult::getConstructor(exec);
+ return JSXPathResult::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowXPathExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSXPathException::getConstructor(exec);
+ return JSXPathException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGAngleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGAngle::getConstructor(exec);
+ return JSSVGAngle::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGColor::getConstructor(exec);
+ return JSSVGColor::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGException::getConstructor(exec);
+ return JSSVGException::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGGradientElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGGradientElement::getConstructor(exec);
+ return JSSVGGradientElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGLengthConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGLength::getConstructor(exec);
+ return JSSVGLength::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGMarkerElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGMarkerElement::getConstructor(exec);
+ return JSSVGMarkerElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGPaintConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGPaint::getConstructor(exec);
+ return JSSVGPaint::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGPathSegConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGPathSeg::getConstructor(exec);
+ return JSSVGPathSeg::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGPreserveAspectRatioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGPreserveAspectRatio::getConstructor(exec);
+ return JSSVGPreserveAspectRatio::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGRenderingIntentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGRenderingIntent::getConstructor(exec);
+ return JSSVGRenderingIntent::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGTextContentElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGTextContentElement::getConstructor(exec);
+ return JSSVGTextContentElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGTextPathElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGTextPathElement::getConstructor(exec);
+ return JSSVGTextPathElement::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGTransformConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGTransform::getConstructor(exec);
+ return JSSVGTransform::getConstructor(exec, castedThis);
}
JSValue jsDOMWindowSVGUnitTypesConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- if (!static_cast<JSDOMWindow*>(asObject(slot.slotBase()))->allowsAccessFrom(exec))
+ JSDOMWindow* castedThis = static_cast<JSDOMWindow*>(asObject(slot.slotBase()));
+ if (!castedThis->allowsAccessFrom(exec))
return jsUndefined();
- UNUSED_PARAM(slot);
- return JSSVGUnitTypes::getConstructor(exec);
+ return JSSVGUnitTypes::getConstructor(exec, castedThis);
}
void setJSDOMWindowLocationbar(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -4130,6 +4296,14 @@ void setJSDOMWindowRectConstructor(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "Rect"), value);
}
+void setJSDOMWindowRGBColorConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "RGBColor"), value);
+}
+
void setJSDOMWindowStyleSheetListConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
@@ -4386,6 +4560,14 @@ void setJSDOMWindowHTMLDataGridElementConstructor(ExecState* exec, JSObject* thi
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridElement"), value);
}
+void setJSDOMWindowHTMLDataGridCellElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "HTMLDataGridCellElement"), value);
+}
+
void setJSDOMWindowHTMLDataGridColElementConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
@@ -5034,6 +5216,22 @@ void setJSDOMWindowXMLHttpRequestExceptionConstructor(ExecState* exec, JSObject*
static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "XMLHttpRequestException"), value);
}
+void setJSDOMWindowMessagePortConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessagePort"), value);
+}
+
+void setJSDOMWindowMessageChannelConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
+ return;
+ // Shadowing a built-in constructor
+ static_cast<JSDOMWindow*>(thisObject)->putDirect(Identifier(exec, "MessageChannel"), value);
+}
+
void setJSDOMWindowWorkerConstructor(ExecState* exec, JSObject* thisObject, JSValue value)
{
if (!static_cast<JSDOMWindow*>(thisObject)->allowsAccessFrom(exec))
@@ -5293,7 +5491,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetSelection(ExecState* exec,
DOMWindow* imp = static_cast<DOMWindow*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSelection()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSelection()));
return result;
}
@@ -5592,7 +5790,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetComputedStyle(ExecState* ex
const UString& pseudoElement = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getComputedStyle(element, pseudoElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getComputedStyle(element, pseudoElement)));
return result;
}
@@ -5611,14 +5809,14 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionGetMatchedCSSRules(ExecState*
int argsCount = args.size();
if (argsCount < 3) {
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement)));
return result;
}
bool authorOnly = args.at(2).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement, authorOnly)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getMatchedCSSRules(element, pseudoElement, authorOnly)));
return result;
}
@@ -5635,7 +5833,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionWebkitConvertPointFromPageToNo
WebKitPoint* p = toWebKitPoint(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->webkitConvertPointFromPageToNode(node, p)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->webkitConvertPointFromPageToNode(node, p)));
return result;
}
@@ -5652,7 +5850,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionWebkitConvertPointFromNodeToPa
WebKitPoint* p = toWebKitPoint(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->webkitConvertPointFromNodeToPage(node, p)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->webkitConvertPointFromNodeToPage(node, p)));
return result;
}
@@ -5672,7 +5870,7 @@ JSValue JSC_HOST_CALL jsDOMWindowPrototypeFunctionOpenDatabase(ExecState* exec,
unsigned estimatedSize = args.at(3).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->openDatabase(name, version, displayName, estimatedSize, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->openDatabase(name, version, displayName, estimatedSize, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
index 869e598..8e7defe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h
@@ -66,6 +66,7 @@ public:
JSC::JSValue webKitCSSMatrix(JSC::ExecState*) const;
JSC::JSValue webKitPoint(JSC::ExecState*) const;
JSC::JSValue xmlHttpRequest(JSC::ExecState*) const;
+ JSC::JSValue messageChannel(JSC::ExecState*) const;
JSC::JSValue worker(JSC::ExecState*) const;
JSC::JSValue audio(JSC::ExecState*) const;
@@ -383,6 +384,8 @@ JSC::JSValue jsDOMWindowCSSRuleListConstructor(JSC::ExecState*, const JSC::Ident
void setJSDOMWindowCSSRuleListConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowRectConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowRectConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowRGBColorConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowRGBColorConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowStyleSheetListConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowStyleSheetListConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowDOMExceptionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -447,6 +450,8 @@ JSC::JSValue jsDOMWindowHTMLCanvasElementConstructor(JSC::ExecState*, const JSC:
void setJSDOMWindowHTMLCanvasElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLDataGridElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowHTMLDataGridElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowHTMLDataGridCellElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowHTMLDataGridCellElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLDataGridColElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowHTMLDataGridColElementConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowHTMLDListElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -609,6 +614,10 @@ JSC::JSValue jsDOMWindowXMLHttpRequestUploadConstructor(JSC::ExecState*, const J
void setJSDOMWindowXMLHttpRequestUploadConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowXMLHttpRequestExceptionConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowXMLHttpRequestExceptionConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowMessagePortConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowMessagePortConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsDOMWindowMessageChannelConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDOMWindowMessageChannelConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowWorkerConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSDOMWindowWorkerConstructor(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsDOMWindowPluginConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
index 105b916..1f60693 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridColumn.h"
#include "DataGridColumn.h"
@@ -47,7 +50,7 @@ static const HashTableValue JSDataGridColumnTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSDataGridColumnTableValues, 0 };
#else
@@ -67,19 +70,19 @@ static const HashTableValue JSDataGridColumnConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSDataGridColumnConstructorTableValues, 0 };
#else
{ 17, 15, JSDataGridColumnConstructorTableValues, 0 };
#endif
-class JSDataGridColumnConstructor : public DOMObject {
+class JSDataGridColumnConstructor : public DOMConstructorObject {
public:
- JSDataGridColumnConstructor(ExecState* exec)
- : DOMObject(JSDataGridColumnConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDataGridColumnConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDataGridColumnConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDataGridColumnPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDataGridColumnPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -111,7 +114,7 @@ static const HashTableValue JSDataGridColumnPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSDataGridColumnPrototypeTableValues, 0 };
#else
@@ -132,8 +135,8 @@ bool JSDataGridColumnPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSDataGridColumn::s_info = { "DataGridColumn", 0, &JSDataGridColumnTable, 0 };
-JSDataGridColumn::JSDataGridColumn(PassRefPtr<Structure> structure, PassRefPtr<DataGridColumn> impl)
- : DOMObject(structure)
+JSDataGridColumn::JSDataGridColumn(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumn> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -155,49 +158,56 @@ bool JSDataGridColumn::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsDataGridColumnId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsString(exec, imp->id());
}
JSValue jsDataGridColumnLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsDataGridColumnType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsDataGridColumnSortable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsNumber(exec, imp->sortable());
}
JSValue jsDataGridColumnSortDirection(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsNumber(exec, imp->sortDirection());
}
JSValue jsDataGridColumnPrimary(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumn* castedThis = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumn* imp = static_cast<DataGridColumn*>(static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->impl());
+ DataGridColumn* imp = static_cast<DataGridColumn*>(castedThis->impl());
return jsBoolean(imp->primary());
}
JSValue jsDataGridColumnConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDataGridColumn*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDataGridColumn* domObject = static_cast<JSDataGridColumn*>(asObject(slot.slotBase()));
+ return JSDataGridColumn::getConstructor(exec, domObject->globalObject());
}
void JSDataGridColumn::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -240,9 +250,9 @@ void setJSDataGridColumnPrimary(ExecState* exec, JSObject* thisObject, JSValue v
imp->setPrimary(value.toBoolean(exec));
}
-JSValue JSDataGridColumn::getConstructor(ExecState* exec)
+JSValue JSDataGridColumn::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDataGridColumnConstructor>(exec);
+ return getDOMConstructor<JSDataGridColumnConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -277,9 +287,9 @@ JSValue jsDataGridColumnSORC_DESCENDING(ExecState* exec, const Identifier&, cons
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DataGridColumn* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DataGridColumn* object)
{
- return getDOMObjectWrapper<JSDataGridColumn>(exec, object);
+ return getDOMObjectWrapper<JSDataGridColumn>(exec, globalObject, object);
}
DataGridColumn* toDataGridColumn(JSC::JSValue value)
{
@@ -287,3 +297,5 @@ DataGridColumn* toDataGridColumn(JSC::JSValue value)
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h
index 331ad9d..cbb59be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h
@@ -21,6 +21,9 @@
#ifndef JSDataGridColumn_h
#define JSDataGridColumn_h
+#if ENABLE(DATAGRID)
+
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +32,10 @@ namespace WebCore {
class DataGridColumn;
-class JSDataGridColumn : public DOMObject {
- typedef DOMObject Base;
+class JSDataGridColumn : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDataGridColumn(PassRefPtr<JSC::Structure>, PassRefPtr<DataGridColumn>);
+ JSDataGridColumn(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumn>);
virtual ~JSDataGridColumn();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,14 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DataGridColumn* impl() const { return m_impl.get(); }
private:
RefPtr<DataGridColumn> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, DataGridColumn*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DataGridColumn*);
DataGridColumn* toDataGridColumn(JSC::JSValue);
class JSDataGridColumnPrototype : public JSC::JSObject {
@@ -95,4 +98,6 @@ JSC::JSValue jsDataGridColumnSORC_DESCENDING(JSC::ExecState*, const JSC::Identif
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
index 276878e..f2525a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSDataGridColumnList.h"
#include "AtomicString.h"
@@ -48,7 +51,7 @@ static const HashTableValue JSDataGridColumnListTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnListTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSDataGridColumnListTableValues, 0 };
#else
@@ -62,19 +65,19 @@ static const HashTableValue JSDataGridColumnListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDataGridColumnListConstructorTableValues, 0 };
#else
{ 1, 0, JSDataGridColumnListConstructorTableValues, 0 };
#endif
-class JSDataGridColumnListConstructor : public DOMObject {
+class JSDataGridColumnListConstructor : public DOMConstructorObject {
public:
- JSDataGridColumnListConstructor(ExecState* exec)
- : DOMObject(JSDataGridColumnListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDataGridColumnListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDataGridColumnListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDataGridColumnListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDataGridColumnListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +108,7 @@ static const HashTableValue JSDataGridColumnListPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDataGridColumnListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDataGridColumnListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSDataGridColumnListPrototypeTableValues, 0 };
#else
@@ -126,8 +129,8 @@ bool JSDataGridColumnListPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSDataGridColumnList::s_info = { "DataGridColumnList", 0, &JSDataGridColumnListTable, 0 };
-JSDataGridColumnList::JSDataGridColumnList(PassRefPtr<Structure> structure, PassRefPtr<DataGridColumnList> impl)
- : DOMObject(structure)
+JSDataGridColumnList::JSDataGridColumnList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DataGridColumnList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -173,28 +176,32 @@ bool JSDataGridColumnList::getOwnPropertySlot(ExecState* exec, unsigned property
JSValue jsDataGridColumnListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumnList* castedThis = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumnList* imp = static_cast<DataGridColumnList*>(static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->impl());
+ DataGridColumnList* imp = static_cast<DataGridColumnList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsDataGridColumnListSortColumn(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumnList* castedThis = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumnList* imp = static_cast<DataGridColumnList*>(static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sortColumn()));
+ DataGridColumnList* imp = static_cast<DataGridColumnList*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sortColumn()));
}
JSValue jsDataGridColumnListPrimaryColumn(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDataGridColumnList* castedThis = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DataGridColumnList* imp = static_cast<DataGridColumnList*>(static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->primaryColumn()));
+ DataGridColumnList* imp = static_cast<DataGridColumnList*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->primaryColumn()));
}
JSValue jsDataGridColumnListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDataGridColumnList* domObject = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
+ return JSDataGridColumnList::getConstructor(exec, domObject->globalObject());
}
void JSDataGridColumnList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -203,9 +210,9 @@ void JSDataGridColumnList::getPropertyNames(ExecState* exec, PropertyNameArray&
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSDataGridColumnList::getConstructor(ExecState* exec)
+JSValue JSDataGridColumnList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDataGridColumnListConstructor>(exec);
+ return getDOMConstructor<JSDataGridColumnListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -222,7 +229,7 @@ JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionItem(ExecState* exec,
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -240,7 +247,7 @@ JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionAdd(ExecState* exec,
unsigned short sortable = args.at(4).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->add(id, label, type, primary, sortable)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->add(id, label, type, primary, sortable)));
return result;
}
@@ -287,11 +294,11 @@ JSValue JSC_HOST_CALL jsDataGridColumnListPrototypeFunctionClear(ExecState* exec
JSValue JSDataGridColumnList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSDataGridColumnList* thisObj = static_cast<JSDataGridColumnList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<DataGridColumnList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<DataGridColumnList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, DataGridColumnList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, DataGridColumnList* object)
{
- return getDOMObjectWrapper<JSDataGridColumnList>(exec, object);
+ return getDOMObjectWrapper<JSDataGridColumnList>(exec, globalObject, object);
}
DataGridColumnList* toDataGridColumnList(JSC::JSValue value)
{
@@ -299,3 +306,5 @@ DataGridColumnList* toDataGridColumnList(JSC::JSValue value)
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h
index 879daf9..b904146 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h
@@ -21,6 +21,9 @@
#ifndef JSDataGridColumnList_h
#define JSDataGridColumnList_h
+#if ENABLE(DATAGRID)
+
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +32,10 @@ namespace WebCore {
class DataGridColumnList;
-class JSDataGridColumnList : public DOMObject {
- typedef DOMObject Base;
+class JSDataGridColumnList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDataGridColumnList(PassRefPtr<JSC::Structure>, PassRefPtr<DataGridColumnList>);
+ JSDataGridColumnList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DataGridColumnList>);
virtual ~JSDataGridColumnList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +49,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DataGridColumnList* impl() const { return m_impl.get(); }
private:
@@ -57,7 +60,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, DataGridColumnList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DataGridColumnList*);
DataGridColumnList* toDataGridColumnList(JSC::JSValue);
class JSDataGridColumnListPrototype : public JSC::JSObject {
@@ -90,4 +93,6 @@ JSC::JSValue jsDataGridColumnListConstructor(JSC::ExecState*, const JSC::Identif
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
index 490b081..6f02f71 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSDatabaseTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDatabaseTable =
+static JSC_CONST_HASHTABLE HashTable JSDatabaseTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDatabaseTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSDatabasePrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDatabasePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDatabasePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSDatabasePrototypeTableValues, 0 };
#else
@@ -81,8 +81,8 @@ bool JSDatabasePrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSDatabase::s_info = { "Database", 0, &JSDatabaseTable, 0 };
-JSDatabase::JSDatabase(PassRefPtr<Structure> structure, PassRefPtr<Database> impl)
- : DOMObject(structure)
+JSDatabase::JSDatabase(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Database> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,8 +104,9 @@ bool JSDatabase::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsDatabaseVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDatabase* castedThis = static_cast<JSDatabase*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Database* imp = static_cast<Database*>(static_cast<JSDatabase*>(asObject(slot.slotBase()))->impl());
+ Database* imp = static_cast<Database*>(castedThis->impl());
return jsString(exec, imp->version());
}
@@ -127,9 +128,9 @@ JSValue JSC_HOST_CALL jsDatabasePrototypeFunctionTransaction(ExecState* exec, JS
return castedThisObj->transaction(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, Database* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Database* object)
{
- return getDOMObjectWrapper<JSDatabase>(exec, object);
+ return getDOMObjectWrapper<JSDatabase>(exec, globalObject, object);
}
Database* toDatabase(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDatabase.h b/src/3rdparty/webkit/WebCore/generated/JSDatabase.h
index 94b60be..8ca36a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDatabase.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDatabase.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class Database;
-class JSDatabase : public DOMObject {
- typedef DOMObject Base;
+class JSDatabase : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSDatabase(PassRefPtr<JSC::Structure>, PassRefPtr<Database>);
+ JSDatabase(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Database>);
virtual ~JSDatabase();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -56,7 +57,7 @@ private:
RefPtr<Database> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Database*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Database*);
Database* toDatabase(JSC::JSValue);
class JSDatabasePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp
new file mode 100644
index 0000000..373bb30
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp
@@ -0,0 +1,158 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSDedicatedWorkerContext.h"
+
+#include "DedicatedWorkerContext.h"
+#include "EventListener.h"
+#include "JSEventListener.h"
+#include "JSMessagePort.h"
+#include <runtime/Error.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSDedicatedWorkerContext);
+
+/* Hash table */
+
+static const HashTableValue JSDedicatedWorkerContextTableValues[2] =
+{
+ { "onmessage", DontDelete, (intptr_t)jsDedicatedWorkerContextOnmessage, (intptr_t)setJSDedicatedWorkerContextOnmessage },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSDedicatedWorkerContextTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSDedicatedWorkerContextTableValues, 0 };
+#else
+ { 2, 1, JSDedicatedWorkerContextTableValues, 0 };
+#endif
+
+/* Hash table for prototype */
+
+static const HashTableValue JSDedicatedWorkerContextPrototypeTableValues[2] =
+{
+ { "postMessage", DontDelete|Function, (intptr_t)jsDedicatedWorkerContextPrototypeFunctionPostMessage, (intptr_t)2 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSDedicatedWorkerContextPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSDedicatedWorkerContextPrototypeTableValues, 0 };
+#else
+ { 2, 1, JSDedicatedWorkerContextPrototypeTableValues, 0 };
+#endif
+
+static const HashTable* getJSDedicatedWorkerContextPrototypeTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSDedicatedWorkerContextPrototypeTable);
+}
+const ClassInfo JSDedicatedWorkerContextPrototype::s_info = { "DedicatedWorkerContextPrototype", 0, 0, getJSDedicatedWorkerContextPrototypeTable };
+
+void* JSDedicatedWorkerContextPrototype::operator new(size_t size, JSGlobalData* globalData)
+{
+ return globalData->heap.allocate(size);
+}
+
+bool JSDedicatedWorkerContextPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, getJSDedicatedWorkerContextPrototypeTable(exec), this, propertyName, slot);
+}
+
+static const HashTable* getJSDedicatedWorkerContextTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSDedicatedWorkerContextTable);
+}
+const ClassInfo JSDedicatedWorkerContext::s_info = { "DedicatedWorkerContext", &JSWorkerContext::s_info, 0, getJSDedicatedWorkerContextTable };
+
+JSDedicatedWorkerContext::JSDedicatedWorkerContext(PassRefPtr<Structure> structure, PassRefPtr<DedicatedWorkerContext> impl)
+ : JSWorkerContext(structure, impl)
+{
+}
+
+bool JSDedicatedWorkerContext::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSDedicatedWorkerContext, Base>(exec, getJSDedicatedWorkerContextTable(exec), this, propertyName, slot);
+}
+
+JSValue jsDedicatedWorkerContextOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSDedicatedWorkerContext* castedThis = static_cast<JSDedicatedWorkerContext*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(castedThis->impl());
+ if (EventListener* listener = imp->onmessage()) {
+ if (JSObject* jsFunction = listener->jsFunction())
+ return jsFunction;
+ }
+ return jsNull();
+}
+
+void JSDedicatedWorkerContext::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
+{
+ lookupPut<JSDedicatedWorkerContext, Base>(exec, propertyName, value, getJSDedicatedWorkerContextTable(exec), this, slot);
+}
+
+void setJSDedicatedWorkerContextOnmessage(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ UNUSED_PARAM(exec);
+ DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(static_cast<JSDedicatedWorkerContext*>(thisObject)->impl());
+ JSDOMGlobalObject* globalObject = static_cast<JSDedicatedWorkerContext*>(thisObject);
+ imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
+}
+
+JSValue JSC_HOST_CALL jsDedicatedWorkerContextPrototypeFunctionPostMessage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ JSDedicatedWorkerContext* castedThisObj = toJSDedicatedWorkerContext(thisValue.toThisObject(exec));
+ if (!castedThisObj)
+ return throwError(exec, TypeError);
+ DedicatedWorkerContext* imp = static_cast<DedicatedWorkerContext*>(castedThisObj->impl());
+ ExceptionCode ec = 0;
+ const UString& message = args.at(0).toString(exec);
+
+ int argsCount = args.size();
+ if (argsCount < 2) {
+ imp->postMessage(message, ec);
+ setDOMException(exec, ec);
+ return jsUndefined();
+ }
+
+ MessagePort* messagePort = toMessagePort(args.at(1));
+
+ imp->postMessage(message, messagePort, ec);
+ setDOMException(exec, ec);
+ return jsUndefined();
+}
+
+DedicatedWorkerContext* toDedicatedWorkerContext(JSC::JSValue value)
+{
+ return value.isObject(&JSDedicatedWorkerContext::s_info) ? static_cast<JSDedicatedWorkerContext*>(asObject(value))->impl() : 0;
+}
+
+}
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h
new file mode 100644
index 0000000..6054c80
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h
@@ -0,0 +1,83 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSDedicatedWorkerContext_h
+#define JSDedicatedWorkerContext_h
+
+#if ENABLE(WORKERS)
+
+#include "DedicatedWorkerContext.h"
+#include "JSWorkerContext.h"
+
+namespace WebCore {
+
+class DedicatedWorkerContext;
+
+class JSDedicatedWorkerContext : public JSWorkerContext {
+ typedef JSWorkerContext Base;
+public:
+ JSDedicatedWorkerContext(PassRefPtr<JSC::Structure>, PassRefPtr<DedicatedWorkerContext>);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ virtual void mark();
+
+ DedicatedWorkerContext* impl() const
+ {
+ return static_cast<DedicatedWorkerContext*>(Base::impl());
+ }
+};
+
+DedicatedWorkerContext* toDedicatedWorkerContext(JSC::JSValue);
+
+class JSDedicatedWorkerContextPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ void* operator new(size_t, JSC::JSGlobalData*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSDedicatedWorkerContextPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsDedicatedWorkerContextPrototypeFunctionPostMessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsDedicatedWorkerContextOnmessage(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSDedicatedWorkerContextOnmessage(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
index 2c59f13..68b7ccc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.cpp
@@ -169,7 +169,7 @@ static const HashTableValue JSDocumentTableValues[69] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSDocumentTableValues, 0 };
#else
@@ -183,19 +183,19 @@ static const HashTableValue JSDocumentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentConstructorTableValues, 0 };
#else
{ 1, 0, JSDocumentConstructorTableValues, 0 };
#endif
-class JSDocumentConstructor : public DOMObject {
+class JSDocumentConstructor : public DOMConstructorObject {
public:
- JSDocumentConstructor(ExecState* exec)
- : DOMObject(JSDocumentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDocumentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDocumentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDocumentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDocumentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -257,7 +257,7 @@ static const HashTableValue JSDocumentPrototypeTableValues[37] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSDocumentPrototypeTableValues, 0 };
#else
@@ -278,8 +278,8 @@ bool JSDocumentPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSDocument::s_info = { "Document", &JSNode::s_info, &JSDocumentTable, 0 };
-JSDocument::JSDocument(PassRefPtr<Structure> structure, PassRefPtr<Document> impl)
- : JSNode(structure, impl)
+JSDocument::JSDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Document> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -295,209 +295,239 @@ JSObject* JSDocument::createPrototype(ExecState* exec, JSGlobalObject* globalObj
JSValue jsDocumentDoctype(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->doctype()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->doctype()));
}
JSValue jsDocumentImplementation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->implementation()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->implementation()));
}
JSValue jsDocumentDocumentElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->documentElement()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->documentElement()));
}
JSValue jsDocumentInputEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->inputEncoding());
}
JSValue jsDocumentXMLEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->xmlEncoding());
}
JSValue jsDocumentXMLVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->xmlVersion());
}
JSValue jsDocumentXMLStandalone(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsBoolean(imp->xmlStandalone());
}
JSValue jsDocumentDocumentURI(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->documentURI());
}
JSValue jsDocumentDefaultView(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->defaultView()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->defaultView()));
}
JSValue jsDocumentStyleSheets(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->styleSheets()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->styleSheets()));
}
JSValue jsDocumentTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->title());
}
JSValue jsDocumentReferrer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->referrer());
}
JSValue jsDocumentDomain(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->domain());
}
JSValue jsDocumentURL(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->url());
}
JSValue jsDocumentCookie(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->cookie());
}
JSValue jsDocumentBody(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->body()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->body()));
}
JSValue jsDocumentImages(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->images()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->images()));
}
JSValue jsDocumentApplets(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->applets()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->applets()));
}
JSValue jsDocumentLinks(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->links()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->links()));
}
JSValue jsDocumentForms(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->forms()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->forms()));
}
JSValue jsDocumentAnchors(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->anchors()));
+ Document* imp = static_cast<Document*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->anchors()));
}
JSValue jsDocumentLastModified(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsString(exec, imp->lastModified());
}
JSValue jsDocumentLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocument*>(asObject(slot.slotBase()))->location(exec);
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
+ return castedThis->location(exec);
}
JSValue jsDocumentCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->charset());
}
JSValue jsDocumentDefaultCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->defaultCharset());
}
JSValue jsDocumentReadyState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrUndefined(exec, imp->readyState());
}
JSValue jsDocumentCharacterSet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->characterSet());
}
JSValue jsDocumentPreferredStylesheetSet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->preferredStylesheetSet());
}
JSValue jsDocumentSelectedStylesheetSet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
return jsStringOrNull(exec, imp->selectedStylesheetSet());
}
JSValue jsDocumentOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -507,8 +537,9 @@ JSValue jsDocumentOnabort(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -518,8 +549,9 @@ JSValue jsDocumentOnblur(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -529,8 +561,9 @@ JSValue jsDocumentOnchange(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -540,8 +573,9 @@ JSValue jsDocumentOnclick(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -551,8 +585,9 @@ JSValue jsDocumentOncontextmenu(ExecState* exec, const Identifier&, const Proper
JSValue jsDocumentOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -562,8 +597,9 @@ JSValue jsDocumentOndblclick(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -573,8 +609,9 @@ JSValue jsDocumentOndrag(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -584,8 +621,9 @@ JSValue jsDocumentOndragend(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDocumentOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -595,8 +633,9 @@ JSValue jsDocumentOndragenter(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -606,8 +645,9 @@ JSValue jsDocumentOndragleave(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -617,8 +657,9 @@ JSValue jsDocumentOndragover(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -628,8 +669,9 @@ JSValue jsDocumentOndragstart(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -639,8 +681,9 @@ JSValue jsDocumentOndrop(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -650,8 +693,9 @@ JSValue jsDocumentOnerror(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -661,8 +705,9 @@ JSValue jsDocumentOnfocus(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -672,8 +717,9 @@ JSValue jsDocumentOninput(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -683,8 +729,9 @@ JSValue jsDocumentOnkeydown(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDocumentOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -694,8 +741,9 @@ JSValue jsDocumentOnkeypress(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -705,8 +753,9 @@ JSValue jsDocumentOnkeyup(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -716,8 +765,9 @@ JSValue jsDocumentOnload(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -727,8 +777,9 @@ JSValue jsDocumentOnmousedown(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -738,8 +789,9 @@ JSValue jsDocumentOnmousemove(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -749,8 +801,9 @@ JSValue jsDocumentOnmouseout(ExecState* exec, const Identifier&, const PropertyS
JSValue jsDocumentOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -760,8 +813,9 @@ JSValue jsDocumentOnmouseover(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -771,8 +825,9 @@ JSValue jsDocumentOnmouseup(ExecState* exec, const Identifier&, const PropertySl
JSValue jsDocumentOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -782,8 +837,9 @@ JSValue jsDocumentOnmousewheel(ExecState* exec, const Identifier&, const Propert
JSValue jsDocumentOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -793,8 +849,9 @@ JSValue jsDocumentOnscroll(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -804,8 +861,9 @@ JSValue jsDocumentOnselect(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -815,8 +873,9 @@ JSValue jsDocumentOnsubmit(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnbeforecut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -826,8 +885,9 @@ JSValue jsDocumentOnbeforecut(ExecState* exec, const Identifier&, const Property
JSValue jsDocumentOncut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oncut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -837,8 +897,9 @@ JSValue jsDocumentOncut(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnbeforecopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -848,8 +909,9 @@ JSValue jsDocumentOnbeforecopy(ExecState* exec, const Identifier&, const Propert
JSValue jsDocumentOncopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->oncopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -859,8 +921,9 @@ JSValue jsDocumentOncopy(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsDocumentOnbeforepaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onbeforepaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -870,8 +933,9 @@ JSValue jsDocumentOnbeforepaste(ExecState* exec, const Identifier&, const Proper
JSValue jsDocumentOnpaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onpaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -881,8 +945,9 @@ JSValue jsDocumentOnpaste(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -892,8 +957,9 @@ JSValue jsDocumentOnreset(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsDocumentOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -903,8 +969,9 @@ JSValue jsDocumentOnsearch(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsDocumentOnselectstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocument* castedThis = static_cast<JSDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Document* imp = static_cast<Document*>(static_cast<JSDocument*>(asObject(slot.slotBase()))->impl());
+ Document* imp = static_cast<Document*>(castedThis->impl());
if (EventListener* listener = imp->onselectstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -914,7 +981,8 @@ JSValue jsDocumentOnselectstart(ExecState* exec, const Identifier&, const Proper
JSValue jsDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocument*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDocument* domObject = static_cast<JSDocument*>(asObject(slot.slotBase()));
+ return JSDocument::getConstructor(exec, domObject->globalObject());
}
void JSDocument::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -1366,9 +1434,9 @@ void setJSDocumentOnselectstart(ExecState* exec, JSObject* thisObject, JSValue v
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSDocument::getConstructor(ExecState* exec)
+JSValue JSDocument::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDocumentConstructor>(exec);
+ return getDOMConstructor<JSDocumentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElement(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -1382,7 +1450,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElement(ExecState* exec,
const UString& tagName = valueToStringWithNullCheck(exec, args.at(0));
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createElement(tagName, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createElement(tagName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1396,7 +1464,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateDocumentFragment(ExecStat
Document* imp = static_cast<Document*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createDocumentFragment()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createDocumentFragment()));
return result;
}
@@ -1410,7 +1478,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTextNode(ExecState* exec,
const UString& data = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createTextNode(data)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTextNode(data)));
return result;
}
@@ -1424,7 +1492,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateComment(ExecState* exec,
const UString& data = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createComment(data)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createComment(data)));
return result;
}
@@ -1439,7 +1507,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateCDATASection(ExecState* e
const UString& data = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createCDATASection(data, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createCDATASection(data, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1456,7 +1524,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateProcessingInstruction(Exe
const UString& data = args.at(1).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createProcessingInstruction(target, data, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createProcessingInstruction(target, data, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1472,7 +1540,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttribute(ExecState* exec
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createAttribute(name, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createAttribute(name, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1488,7 +1556,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateEntityReference(ExecState
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createEntityReference(name, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createEntityReference(name, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1503,7 +1571,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagName(ExecState*
const UString& tagname = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagName(tagname)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagName(tagname)));
return result;
}
@@ -1519,7 +1587,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionImportNode(ExecState* exec, JSO
bool deep = args.at(1).toBoolean(exec);
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->importNode(importedNode, deep, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->importNode(importedNode, deep, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1536,7 +1604,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateElementNS(ExecState* exec
const UString& qualifiedName = valueToStringWithNullCheck(exec, args.at(1));
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createElementNS(namespaceURI, qualifiedName, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createElementNS(namespaceURI, qualifiedName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1553,7 +1621,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateAttributeNS(ExecState* ex
const UString& qualifiedName = valueToStringWithNullCheck(exec, args.at(1));
- JSC::JSValue result = toJSNewlyCreated(exec, WTF::getPtr(imp->createAttributeNS(namespaceURI, qualifiedName, ec)));
+ JSC::JSValue result = toJSNewlyCreated(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createAttributeNS(namespaceURI, qualifiedName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1569,7 +1637,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByTagNameNS(ExecStat
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
return result;
}
@@ -1583,7 +1651,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementById(ExecState* exec,
const UString& elementId = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementById(elementId)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementById(elementId)));
return result;
}
@@ -1598,7 +1666,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionAdoptNode(ExecState* exec, JSOb
Node* source = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->adoptNode(source, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->adoptNode(source, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1614,7 +1682,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateEvent(ExecState* exec, JS
const UString& eventType = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createEvent(eventType, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createEvent(eventType, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1628,7 +1696,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateRange(ExecState* exec, JS
Document* imp = static_cast<Document*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createRange()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createRange()));
return result;
}
@@ -1646,7 +1714,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNodeIterator(ExecState* e
bool expandEntityReferences = args.at(3).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createNodeIterator(root, whatToShow, filter.get(), expandEntityReferences, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createNodeIterator(root, whatToShow, filter.get(), expandEntityReferences, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1665,7 +1733,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateTreeWalker(ExecState* exe
bool expandEntityReferences = args.at(3).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createTreeWalker(root, whatToShow, filter.get(), expandEntityReferences, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTreeWalker(root, whatToShow, filter.get(), expandEntityReferences, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1681,7 +1749,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetOverrideStyle(ExecState* exe
const UString& pseudoElement = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getOverrideStyle(element, pseudoElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getOverrideStyle(element, pseudoElement)));
return result;
}
@@ -1704,7 +1772,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateExpression(ExecState* exe
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createExpression(expression, resolver, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createExpression(expression, resolver, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1719,7 +1787,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionCreateNSResolver(ExecState* exe
Node* nodeResolver = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createNSResolver(nodeResolver)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createNSResolver(nodeResolver)));
return result;
}
@@ -1745,7 +1813,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionEvaluate(ExecState* exec, JSObj
XPathResult* inResult = toXPathResult(args.at(4));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->evaluate(expression, contextNode, resolver, type, inResult, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->evaluate(expression, contextNode, resolver, type, inResult, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1846,7 +1914,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByName(ExecState* ex
const UString& elementName = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByName(elementName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByName(elementName)));
return result;
}
@@ -1861,7 +1929,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionElementFromPoint(ExecState* exe
int y = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->elementFromPoint(x, y)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->elementFromPoint(x, y)));
return result;
}
@@ -1874,7 +1942,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetSelection(ExecState* exec, J
Document* imp = static_cast<Document*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSelection()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSelection()));
return result;
}
@@ -1891,7 +1959,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetCSSCanvasContext(ExecState*
int height = args.at(3).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getCSSCanvasContext(contextId, name, width, height)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getCSSCanvasContext(contextId, name, width, height)));
return result;
}
@@ -1905,7 +1973,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionGetElementsByClassName(ExecStat
const UString& tagname = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByClassName(tagname)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByClassName(tagname)));
return result;
}
@@ -1920,7 +1988,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelector(ExecState* exec,
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelector(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelector(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1936,7 +2004,7 @@ JSValue JSC_HOST_CALL jsDocumentPrototypeFunctionQuerySelectorAll(ExecState* exe
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelectorAll(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelectorAll(selectors, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocument.h b/src/3rdparty/webkit/WebCore/generated/JSDocument.h
index c2032ea..470c671 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocument.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocument.h
@@ -33,7 +33,7 @@ class Document;
class JSDocument : public JSNode {
typedef JSNode Base;
public:
- JSDocument(PassRefPtr<JSC::Structure>, PassRefPtr<Document>);
+ JSDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Document>);
virtual ~JSDocument();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,7 +48,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue location(JSC::ExecState*) const;
@@ -64,7 +64,7 @@ ALWAYS_INLINE bool JSDocument::getOwnPropertySlot(JSC::ExecState* exec, const JS
return JSC::getStaticValueSlot<JSDocument, Base>(exec, s_info.staticPropHashTable, this, propertyName, slot);
}
-JSC::JSValue toJS(JSC::ExecState*, Document*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Document*);
Document* toDocument(JSC::JSValue);
class JSDocumentPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp
index 865efd2..0a1a7e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSDocumentFragmentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentFragmentTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentFragmentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentFragmentTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSDocumentFragmentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentFragmentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentFragmentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentFragmentConstructorTableValues, 0 };
#else
{ 1, 0, JSDocumentFragmentConstructorTableValues, 0 };
#endif
-class JSDocumentFragmentConstructor : public DOMObject {
+class JSDocumentFragmentConstructor : public DOMConstructorObject {
public:
- JSDocumentFragmentConstructor(ExecState* exec)
- : DOMObject(JSDocumentFragmentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDocumentFragmentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDocumentFragmentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDocumentFragmentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDocumentFragmentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSDocumentFragmentPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentFragmentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentFragmentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSDocumentFragmentPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSDocumentFragmentPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSDocumentFragment::s_info = { "DocumentFragment", &JSNode::s_info, &JSDocumentFragmentTable, 0 };
-JSDocumentFragment::JSDocumentFragment(PassRefPtr<Structure> structure, PassRefPtr<DocumentFragment> impl)
- : JSNode(structure, impl)
+JSDocumentFragment::JSDocumentFragment(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentFragment> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -136,11 +136,12 @@ bool JSDocumentFragment::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsDocumentFragmentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocumentFragment*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDocumentFragment* domObject = static_cast<JSDocumentFragment*>(asObject(slot.slotBase()));
+ return JSDocumentFragment::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDocumentFragment::getConstructor(ExecState* exec)
+JSValue JSDocumentFragment::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDocumentFragmentConstructor>(exec);
+ return getDOMConstructor<JSDocumentFragmentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsDocumentFragmentPrototypeFunctionQuerySelector(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -154,7 +155,7 @@ JSValue JSC_HOST_CALL jsDocumentFragmentPrototypeFunctionQuerySelector(ExecState
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelector(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelector(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -170,7 +171,7 @@ JSValue JSC_HOST_CALL jsDocumentFragmentPrototypeFunctionQuerySelectorAll(ExecSt
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelectorAll(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelectorAll(selectors, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h
index d5f57a3..d49b298 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h
@@ -30,7 +30,7 @@ class DocumentFragment;
class JSDocumentFragment : public JSNode {
typedef JSNode Base;
public:
- JSDocumentFragment(PassRefPtr<JSC::Structure>, PassRefPtr<DocumentFragment>);
+ JSDocumentFragment(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentFragment>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp
index 43e7a8c..a0df483 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSDocumentTypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSDocumentTypeTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSDocumentTypeConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTypeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTypeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentTypeConstructorTableValues, 0 };
#else
{ 1, 0, JSDocumentTypeConstructorTableValues, 0 };
#endif
-class JSDocumentTypeConstructor : public DOMObject {
+class JSDocumentTypeConstructor : public DOMConstructorObject {
public:
- JSDocumentTypeConstructor(ExecState* exec)
- : DOMObject(JSDocumentTypeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSDocumentTypeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSDocumentTypeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSDocumentTypePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSDocumentTypePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSDocumentTypePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSDocumentTypePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSDocumentTypePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSDocumentTypePrototypeTableValues, 0 };
#else
@@ -116,8 +116,8 @@ JSObject* JSDocumentTypePrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSDocumentType::s_info = { "DocumentType", &JSNode::s_info, &JSDocumentTypeTable, 0 };
-JSDocumentType::JSDocumentType(PassRefPtr<Structure> structure, PassRefPtr<DocumentType> impl)
- : JSNode(structure, impl)
+JSDocumentType::JSDocumentType(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<DocumentType> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -133,53 +133,60 @@ bool JSDocumentType::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsDocumentTypeName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsDocumentTypeEntities(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->entities()));
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->entities()));
}
JSValue jsDocumentTypeNotations(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->notations()));
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->notations()));
}
JSValue jsDocumentTypePublicId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsStringOrNull(exec, imp->publicId());
}
JSValue jsDocumentTypeSystemId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsStringOrNull(exec, imp->systemId());
}
JSValue jsDocumentTypeInternalSubset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSDocumentType* castedThis = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- DocumentType* imp = static_cast<DocumentType*>(static_cast<JSDocumentType*>(asObject(slot.slotBase()))->impl());
+ DocumentType* imp = static_cast<DocumentType*>(castedThis->impl());
return jsStringOrNull(exec, imp->internalSubset());
}
JSValue jsDocumentTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSDocumentType*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSDocumentType* domObject = static_cast<JSDocumentType*>(asObject(slot.slotBase()));
+ return JSDocumentType::getConstructor(exec, domObject->globalObject());
}
-JSValue JSDocumentType::getConstructor(ExecState* exec)
+JSValue JSDocumentType::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSDocumentTypeConstructor>(exec);
+ return getDOMConstructor<JSDocumentTypeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
DocumentType* toDocumentType(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h
index 10a5530..e6569c8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSDocumentType.h
@@ -31,7 +31,7 @@ class DocumentType;
class JSDocumentType : public JSNode {
typedef JSNode Base;
public:
- JSDocumentType(PassRefPtr<JSC::Structure>, PassRefPtr<DocumentType>);
+ JSDocumentType(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DocumentType>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
DocumentType* impl() const
{
return static_cast<DocumentType*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
index afa1d93..9c101b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSElement.cpp
@@ -117,7 +117,7 @@ static const HashTableValue JSElementTableValues[60] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSElementTable =
+static JSC_CONST_HASHTABLE HashTable JSElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSElementTableValues, 0 };
#else
@@ -131,19 +131,19 @@ static const HashTableValue JSElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSElementConstructorTableValues, 0 };
#else
{ 1, 0, JSElementConstructorTableValues, 0 };
#endif
-class JSElementConstructor : public DOMObject {
+class JSElementConstructor : public DOMConstructorObject {
public:
- JSElementConstructor(ExecState* exec)
- : DOMObject(JSElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -196,7 +196,7 @@ static const HashTableValue JSElementPrototypeTableValues[28] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSElementPrototypeTableValues, 0 };
#else
@@ -217,8 +217,8 @@ bool JSElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSElement::s_info = { "Element", &JSNode::s_info, &JSElementTable, 0 };
-JSElement::JSElement(PassRefPtr<Structure> structure, PassRefPtr<Element> impl)
- : JSNode(structure, impl)
+JSElement::JSElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Element> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -229,148 +229,169 @@ JSObject* JSElement::createPrototype(ExecState* exec, JSGlobalObject* globalObje
JSValue jsElementTagName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsStringOrNull(exec, imp->tagName());
}
JSValue jsElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsElementOffsetLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetLeft());
}
JSValue jsElementOffsetTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetTop());
}
JSValue jsElementOffsetWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetWidth());
}
JSValue jsElementOffsetHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->offsetHeight());
}
JSValue jsElementOffsetParent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->offsetParent()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->offsetParent()));
}
JSValue jsElementClientLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientLeft());
}
JSValue jsElementClientTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientTop());
}
JSValue jsElementClientWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientWidth());
}
JSValue jsElementClientHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->clientHeight());
}
JSValue jsElementScrollLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollLeft());
}
JSValue jsElementScrollTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollTop());
}
JSValue jsElementScrollWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollWidth());
}
JSValue jsElementScrollHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->scrollHeight());
}
JSValue jsElementFirstElementChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->firstElementChild()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->firstElementChild()));
}
JSValue jsElementLastElementChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastElementChild()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastElementChild()));
}
JSValue jsElementPreviousElementSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->previousElementSibling()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousElementSibling()));
}
JSValue jsElementNextElementSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nextElementSibling()));
+ Element* imp = static_cast<Element*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nextElementSibling()));
}
JSValue jsElementChildElementCount(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
return jsNumber(exec, imp->childElementCount());
}
JSValue jsElementOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -380,8 +401,9 @@ JSValue jsElementOnabort(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -391,8 +413,9 @@ JSValue jsElementOnblur(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -402,8 +425,9 @@ JSValue jsElementOnchange(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -413,8 +437,9 @@ JSValue jsElementOnclick(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -424,8 +449,9 @@ JSValue jsElementOncontextmenu(ExecState* exec, const Identifier&, const Propert
JSValue jsElementOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -435,8 +461,9 @@ JSValue jsElementOndblclick(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -446,8 +473,9 @@ JSValue jsElementOndrag(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -457,8 +485,9 @@ JSValue jsElementOndragend(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsElementOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -468,8 +497,9 @@ JSValue jsElementOndragenter(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -479,8 +509,9 @@ JSValue jsElementOndragleave(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -490,8 +521,9 @@ JSValue jsElementOndragover(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -501,8 +533,9 @@ JSValue jsElementOndragstart(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -512,8 +545,9 @@ JSValue jsElementOndrop(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -523,8 +557,9 @@ JSValue jsElementOnerror(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -534,8 +569,9 @@ JSValue jsElementOnfocus(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -545,8 +581,9 @@ JSValue jsElementOninput(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -556,8 +593,9 @@ JSValue jsElementOnkeydown(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsElementOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -567,8 +605,9 @@ JSValue jsElementOnkeypress(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -578,8 +617,9 @@ JSValue jsElementOnkeyup(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -589,8 +629,9 @@ JSValue jsElementOnload(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -600,8 +641,9 @@ JSValue jsElementOnmousedown(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -611,8 +653,9 @@ JSValue jsElementOnmousemove(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -622,8 +665,9 @@ JSValue jsElementOnmouseout(ExecState* exec, const Identifier&, const PropertySl
JSValue jsElementOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -633,8 +677,9 @@ JSValue jsElementOnmouseover(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -644,8 +689,9 @@ JSValue jsElementOnmouseup(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsElementOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -655,8 +701,9 @@ JSValue jsElementOnmousewheel(ExecState* exec, const Identifier&, const Property
JSValue jsElementOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -666,8 +713,9 @@ JSValue jsElementOnscroll(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -677,8 +725,9 @@ JSValue jsElementOnselect(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -688,8 +737,9 @@ JSValue jsElementOnsubmit(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnbeforecut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -699,8 +749,9 @@ JSValue jsElementOnbeforecut(ExecState* exec, const Identifier&, const PropertyS
JSValue jsElementOncut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oncut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -710,8 +761,9 @@ JSValue jsElementOncut(ExecState* exec, const Identifier&, const PropertySlot& s
JSValue jsElementOnbeforecopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -721,8 +773,9 @@ JSValue jsElementOnbeforecopy(ExecState* exec, const Identifier&, const Property
JSValue jsElementOncopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->oncopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -732,8 +785,9 @@ JSValue jsElementOncopy(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnbeforepaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onbeforepaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -743,8 +797,9 @@ JSValue jsElementOnbeforepaste(ExecState* exec, const Identifier&, const Propert
JSValue jsElementOnpaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onpaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -754,8 +809,9 @@ JSValue jsElementOnpaste(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -765,8 +821,9 @@ JSValue jsElementOnreset(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsElementOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -776,8 +833,9 @@ JSValue jsElementOnsearch(ExecState* exec, const Identifier&, const PropertySlot
JSValue jsElementOnselectstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSElement* castedThis = static_cast<JSElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Element* imp = static_cast<Element*>(static_cast<JSElement*>(asObject(slot.slotBase()))->impl());
+ Element* imp = static_cast<Element*>(castedThis->impl());
if (EventListener* listener = imp->onselectstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -787,7 +845,8 @@ JSValue jsElementOnselectstart(ExecState* exec, const Identifier&, const Propert
JSValue jsElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSElement* domObject = static_cast<JSElement*>(asObject(slot.slotBase()));
+ return JSElement::getConstructor(exec, domObject->globalObject());
}
void JSElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -1186,9 +1245,9 @@ void setJSElementOnselectstart(ExecState* exec, JSObject* thisObject, JSValue va
imp->setOnselectstart(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSElement::getConstructor(ExecState* exec)
+JSValue JSElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSElementConstructor>(exec);
+ return getDOMConstructor<JSElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -1239,7 +1298,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetAttributeNode(ExecState* exec
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getAttributeNode(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getAttributeNode(name)));
return result;
}
@@ -1263,7 +1322,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionRemoveAttributeNode(ExecState* e
Attr* oldAttr = toAttr(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->removeAttributeNode(oldAttr, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->removeAttributeNode(oldAttr, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1278,7 +1337,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByTagName(ExecState*
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagName(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagName(name)));
return result;
}
@@ -1333,7 +1392,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByTagNameNS(ExecState
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByTagNameNS(namespaceURI, localName)));
return result;
}
@@ -1348,7 +1407,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetAttributeNodeNS(ExecState* ex
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getAttributeNodeNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getAttributeNodeNS(namespaceURI, localName)));
return result;
}
@@ -1504,7 +1563,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetElementsByClassName(ExecState
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getElementsByClassName(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getElementsByClassName(name)));
return result;
}
@@ -1519,7 +1578,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelector(ExecState* exec, J
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelector(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelector(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1535,7 +1594,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionQuerySelectorAll(ExecState* exec
const UString& selectors = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->querySelectorAll(selectors, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->querySelectorAll(selectors, ec)));
setDOMException(exec, ec);
return result;
}
@@ -1549,7 +1608,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetClientRects(ExecState* exec,
Element* imp = static_cast<Element*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getClientRects()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getClientRects()));
return result;
}
@@ -1562,7 +1621,7 @@ JSValue JSC_HOST_CALL jsElementPrototypeFunctionGetBoundingClientRect(ExecState*
Element* imp = static_cast<Element*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getBoundingClientRect()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getBoundingClientRect()));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSElement.h b/src/3rdparty/webkit/WebCore/generated/JSElement.h
index 36c81ac..b7a2747 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSElement.h
@@ -33,7 +33,7 @@ class Element;
class JSElement : public JSNode {
typedef JSNode Base;
public:
- JSElement(PassRefPtr<JSC::Structure>, PassRefPtr<Element>);
+ JSElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Element>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue setAttribute(JSC::ExecState*, const JSC::ArgList&);
@@ -64,7 +64,7 @@ ALWAYS_INLINE bool JSElement::getOwnPropertySlot(JSC::ExecState* exec, const JSC
}
Element* toElement(JSC::JSValue);
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, Element*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, Element*);
class JSElementPrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp b/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp
index be4eed5..3b519ce 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntity.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSEntityTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSEntityTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSEntityConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityConstructorTableValues, 0 };
#else
{ 1, 0, JSEntityConstructorTableValues, 0 };
#endif
-class JSEntityConstructor : public DOMObject {
+class JSEntityConstructor : public DOMConstructorObject {
public:
- JSEntityConstructor(ExecState* exec)
- : DOMObject(JSEntityConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEntityConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEntityConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEntityPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEntityPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSEntityPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSEntityPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSEntity::s_info = { "Entity", &JSNode::s_info, &JSEntityTable, 0 };
-JSEntity::JSEntity(PassRefPtr<Structure> structure, PassRefPtr<Entity> impl)
- : JSNode(structure, impl)
+JSEntity::JSEntity(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Entity> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -127,32 +127,36 @@ bool JSEntity::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNam
JSValue jsEntityPublicId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEntity* castedThis = static_cast<JSEntity*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Entity* imp = static_cast<Entity*>(static_cast<JSEntity*>(asObject(slot.slotBase()))->impl());
+ Entity* imp = static_cast<Entity*>(castedThis->impl());
return jsStringOrNull(exec, imp->publicId());
}
JSValue jsEntitySystemId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEntity* castedThis = static_cast<JSEntity*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Entity* imp = static_cast<Entity*>(static_cast<JSEntity*>(asObject(slot.slotBase()))->impl());
+ Entity* imp = static_cast<Entity*>(castedThis->impl());
return jsStringOrNull(exec, imp->systemId());
}
JSValue jsEntityNotationName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEntity* castedThis = static_cast<JSEntity*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Entity* imp = static_cast<Entity*>(static_cast<JSEntity*>(asObject(slot.slotBase()))->impl());
+ Entity* imp = static_cast<Entity*>(castedThis->impl());
return jsStringOrNull(exec, imp->notationName());
}
JSValue jsEntityConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEntity*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEntity* domObject = static_cast<JSEntity*>(asObject(slot.slotBase()));
+ return JSEntity::getConstructor(exec, domObject->globalObject());
}
-JSValue JSEntity::getConstructor(ExecState* exec)
+JSValue JSEntity::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEntityConstructor>(exec);
+ return getDOMConstructor<JSEntityConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntity.h b/src/3rdparty/webkit/WebCore/generated/JSEntity.h
index b54cf58..323d70c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntity.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntity.h
@@ -30,7 +30,7 @@ class Entity;
class JSEntity : public JSNode {
typedef JSNode Base;
public:
- JSEntity(PassRefPtr<JSC::Structure>, PassRefPtr<Entity>);
+ JSEntity(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Entity>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp
index dc12c48..5e18f07 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp
@@ -38,7 +38,7 @@ static const HashTableValue JSEntityReferenceTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityReferenceTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityReferenceTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityReferenceTableValues, 0 };
#else
@@ -52,19 +52,19 @@ static const HashTableValue JSEntityReferenceConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityReferenceConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityReferenceConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityReferenceConstructorTableValues, 0 };
#else
{ 1, 0, JSEntityReferenceConstructorTableValues, 0 };
#endif
-class JSEntityReferenceConstructor : public DOMObject {
+class JSEntityReferenceConstructor : public DOMConstructorObject {
public:
- JSEntityReferenceConstructor(ExecState* exec)
- : DOMObject(JSEntityReferenceConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEntityReferenceConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEntityReferenceConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEntityReferencePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEntityReferencePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -90,7 +90,7 @@ static const HashTableValue JSEntityReferencePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEntityReferencePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEntityReferencePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEntityReferencePrototypeTableValues, 0 };
#else
@@ -106,8 +106,8 @@ JSObject* JSEntityReferencePrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSEntityReference::s_info = { "EntityReference", &JSNode::s_info, &JSEntityReferenceTable, 0 };
-JSEntityReference::JSEntityReference(PassRefPtr<Structure> structure, PassRefPtr<EntityReference> impl)
- : JSNode(structure, impl)
+JSEntityReference::JSEntityReference(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EntityReference> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -123,11 +123,12 @@ bool JSEntityReference::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsEntityReferenceConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEntityReference*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEntityReference* domObject = static_cast<JSEntityReference*>(asObject(slot.slotBase()));
+ return JSEntityReference::getConstructor(exec, domObject->globalObject());
}
-JSValue JSEntityReference::getConstructor(ExecState* exec)
+JSValue JSEntityReference::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEntityReferenceConstructor>(exec);
+ return getDOMConstructor<JSEntityReferenceConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h
index 0c0957a..261e2e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEntityReference.h
@@ -30,7 +30,7 @@ class EntityReference;
class JSEntityReference : public JSNode {
typedef JSNode Base;
public:
- JSEntityReference(PassRefPtr<JSC::Structure>, PassRefPtr<EntityReference>);
+ JSEntityReference(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EntityReference>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp
new file mode 100644
index 0000000..24bf5f2
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp
@@ -0,0 +1,203 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+
+#if ENABLE(WORKERS)
+
+#include "JSErrorEvent.h"
+
+#include "ErrorEvent.h"
+#include "KURL.h"
+#include <runtime/Error.h>
+#include <runtime/JSNumberCell.h>
+#include <runtime/JSString.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSErrorEvent);
+
+/* Hash table */
+
+static const HashTableValue JSErrorEventTableValues[5] =
+{
+ { "message", DontDelete|ReadOnly, (intptr_t)jsErrorEventMessage, (intptr_t)0 },
+ { "filename", DontDelete|ReadOnly, (intptr_t)jsErrorEventFilename, (intptr_t)0 },
+ { "lineno", DontDelete|ReadOnly, (intptr_t)jsErrorEventLineno, (intptr_t)0 },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsErrorEventConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSErrorEventTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 15, JSErrorEventTableValues, 0 };
+#else
+ { 9, 7, JSErrorEventTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSErrorEventConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSErrorEventConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSErrorEventConstructorTableValues, 0 };
+#else
+ { 1, 0, JSErrorEventConstructorTableValues, 0 };
+#endif
+
+class JSErrorEventConstructor : public DOMConstructorObject {
+public:
+ JSErrorEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSErrorEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSErrorEventPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSErrorEventConstructor::s_info = { "ErrorEventConstructor", 0, &JSErrorEventConstructorTable, 0 };
+
+bool JSErrorEventConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSErrorEventConstructor, DOMObject>(exec, &JSErrorEventConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSErrorEventPrototypeTableValues[2] =
+{
+ { "initErrorEvent", DontDelete|Function, (intptr_t)jsErrorEventPrototypeFunctionInitErrorEvent, (intptr_t)6 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSErrorEventPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSErrorEventPrototypeTableValues, 0 };
+#else
+ { 2, 1, JSErrorEventPrototypeTableValues, 0 };
+#endif
+
+static const HashTable* getJSErrorEventPrototypeTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSErrorEventPrototypeTable);
+}
+const ClassInfo JSErrorEventPrototype::s_info = { "ErrorEventPrototype", 0, 0, getJSErrorEventPrototypeTable };
+
+JSObject* JSErrorEventPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSErrorEvent>(exec, globalObject);
+}
+
+bool JSErrorEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, getJSErrorEventPrototypeTable(exec), this, propertyName, slot);
+}
+
+static const HashTable* getJSErrorEventTable(ExecState* exec)
+{
+ return getHashTableForGlobalData(exec->globalData(), &JSErrorEventTable);
+}
+const ClassInfo JSErrorEvent::s_info = { "ErrorEvent", &JSEvent::s_info, 0, getJSErrorEventTable };
+
+JSErrorEvent::JSErrorEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ErrorEvent> impl)
+ : JSEvent(structure, globalObject, impl)
+{
+}
+
+JSObject* JSErrorEvent::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSErrorEventPrototype(JSErrorEventPrototype::createStructure(JSEventPrototype::self(exec, globalObject)));
+}
+
+bool JSErrorEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSErrorEvent, Base>(exec, getJSErrorEventTable(exec), this, propertyName, slot);
+}
+
+JSValue jsErrorEventMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* castedThis = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThis->impl());
+ return jsString(exec, imp->message());
+}
+
+JSValue jsErrorEventFilename(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* castedThis = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThis->impl());
+ return jsString(exec, imp->filename());
+}
+
+JSValue jsErrorEventLineno(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* castedThis = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThis->impl());
+ return jsNumber(exec, imp->lineno());
+}
+
+JSValue jsErrorEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSErrorEvent* domObject = static_cast<JSErrorEvent*>(asObject(slot.slotBase()));
+ return JSErrorEvent::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSErrorEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSErrorEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsErrorEventPrototypeFunctionInitErrorEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSErrorEvent::s_info))
+ return throwError(exec, TypeError);
+ JSErrorEvent* castedThisObj = static_cast<JSErrorEvent*>(asObject(thisValue));
+ ErrorEvent* imp = static_cast<ErrorEvent*>(castedThisObj->impl());
+ const UString& typeArg = args.at(0).toString(exec);
+ bool canBubbleArg = args.at(1).toBoolean(exec);
+ bool cancelableArg = args.at(2).toBoolean(exec);
+ const UString& messageArg = args.at(3).toString(exec);
+ const UString& filenameArg = args.at(4).toString(exec);
+ unsigned linenoArg = args.at(5).toInt32(exec);
+
+ imp->initErrorEvent(typeArg, canBubbleArg, cancelableArg, messageArg, filenameArg, linenoArg);
+ return jsUndefined();
+}
+
+
+}
+
+#endif // ENABLE(WORKERS)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h
new file mode 100644
index 0000000..bcf57de
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h
@@ -0,0 +1,78 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSErrorEvent_h
+#define JSErrorEvent_h
+
+#if ENABLE(WORKERS)
+
+#include "JSEvent.h"
+
+namespace WebCore {
+
+class ErrorEvent;
+
+class JSErrorEvent : public JSEvent {
+ typedef JSEvent Base;
+public:
+ JSErrorEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ErrorEvent>);
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+};
+
+
+class JSErrorEventPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSErrorEventPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsErrorEventPrototypeFunctionInitErrorEvent(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsErrorEventMessage(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsErrorEventFilename(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsErrorEventLineno(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsErrorEventConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif // ENABLE(WORKERS)
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
index f00e179..58865e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.cpp
@@ -55,7 +55,7 @@ static const HashTableValue JSEventTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventTable =
+static JSC_CONST_HASHTABLE HashTable JSEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSEventTableValues, 0 };
#else
@@ -88,19 +88,19 @@ static const HashTableValue JSEventConstructorTableValues[20] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSEventConstructorTableValues, 0 };
#else
{ 68, 63, JSEventConstructorTableValues, 0 };
#endif
-class JSEventConstructor : public DOMObject {
+class JSEventConstructor : public DOMConstructorObject {
public:
- JSEventConstructor(ExecState* exec)
- : DOMObject(JSEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -148,7 +148,7 @@ static const HashTableValue JSEventPrototypeTableValues[23] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSEventPrototypeTableValues, 0 };
#else
@@ -177,8 +177,8 @@ static const HashTable* getJSEventTable(ExecState* exec)
}
const ClassInfo JSEvent::s_info = { "Event", 0, 0, getJSEventTable };
-JSEvent::JSEvent(PassRefPtr<Structure> structure, PassRefPtr<Event> impl)
- : DOMObject(structure)
+JSEvent::JSEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Event> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -200,82 +200,94 @@ bool JSEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName
JSValue jsEventType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsEventTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->target()));
+ Event* imp = static_cast<Event*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->target()));
}
JSValue jsEventCurrentTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->currentTarget()));
+ Event* imp = static_cast<Event*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->currentTarget()));
}
JSValue jsEventEventPhase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsNumber(exec, imp->eventPhase());
}
JSValue jsEventBubbles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->bubbles());
}
JSValue jsEventCancelable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->cancelable());
}
JSValue jsEventTimeStamp(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsNumber(exec, imp->timeStamp());
}
JSValue jsEventSrcElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->srcElement()));
+ Event* imp = static_cast<Event*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->srcElement()));
}
JSValue jsEventReturnValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->returnValue());
}
JSValue jsEventCancelBubble(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Event* imp = static_cast<Event*>(static_cast<JSEvent*>(asObject(slot.slotBase()))->impl());
+ Event* imp = static_cast<Event*>(castedThis->impl());
return jsBoolean(imp->cancelBubble());
}
JSValue jsEventClipboardData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEvent*>(asObject(slot.slotBase()))->clipboardData(exec);
+ JSEvent* castedThis = static_cast<JSEvent*>(asObject(slot.slotBase()));
+ return castedThis->clipboardData(exec);
}
JSValue jsEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEvent* domObject = static_cast<JSEvent*>(asObject(slot.slotBase()));
+ return JSEvent::getConstructor(exec, domObject->globalObject());
}
void JSEvent::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -294,9 +306,9 @@ void setJSEventCancelBubble(ExecState* exec, JSObject* thisObject, JSValue value
imp->setCancelBubble(value.toBoolean(exec));
}
-JSValue JSEvent::getConstructor(ExecState* exec)
+JSValue JSEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEventConstructor>(exec);
+ return getDOMConstructor<JSEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsEventPrototypeFunctionStopPropagation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEvent.h b/src/3rdparty/webkit/WebCore/generated/JSEvent.h
index 281010b..f56b889 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEvent.h
@@ -21,6 +21,7 @@
#ifndef JSEvent_h
#define JSEvent_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Event;
-class JSEvent : public DOMObject {
- typedef DOMObject Base;
+class JSEvent : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSEvent(PassRefPtr<JSC::Structure>, PassRefPtr<Event>);
+ JSEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Event>);
virtual ~JSEvent();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -45,7 +46,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue clipboardData(JSC::ExecState*) const;
@@ -55,7 +56,7 @@ private:
RefPtr<Event> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Event*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Event*);
Event* toEvent(JSC::JSValue);
class JSEventPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
index 2adb70a..b92465a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSEventExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSEventExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSEventExceptionTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSEventExceptionConstructorTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSEventExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSEventExceptionConstructorTableValues, 0 };
#else
{ 2, 1, JSEventExceptionConstructorTableValues, 0 };
#endif
-class JSEventExceptionConstructor : public DOMObject {
+class JSEventExceptionConstructor : public DOMConstructorObject {
public:
- JSEventExceptionConstructor(ExecState* exec)
- : DOMObject(JSEventExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSEventExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSEventExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSEventExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSEventExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSEventExceptionPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSEventExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSEventExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSEventExceptionPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ static const HashTable* getJSEventExceptionTable(ExecState* exec)
}
const ClassInfo JSEventException::s_info = { "EventException", 0, 0, getJSEventExceptionTable };
-JSEventException::JSEventException(PassRefPtr<Structure> structure, PassRefPtr<EventException> impl)
- : DOMObject(structure)
+JSEventException::JSEventException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<EventException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -152,32 +152,36 @@ bool JSEventException::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsEventExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEventException* castedThis = static_cast<JSEventException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- EventException* imp = static_cast<EventException*>(static_cast<JSEventException*>(asObject(slot.slotBase()))->impl());
+ EventException* imp = static_cast<EventException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsEventExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEventException* castedThis = static_cast<JSEventException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- EventException* imp = static_cast<EventException*>(static_cast<JSEventException*>(asObject(slot.slotBase()))->impl());
+ EventException* imp = static_cast<EventException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsEventExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSEventException* castedThis = static_cast<JSEventException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- EventException* imp = static_cast<EventException*>(static_cast<JSEventException*>(asObject(slot.slotBase()))->impl());
+ EventException* imp = static_cast<EventException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsEventExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSEventException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSEventException* domObject = static_cast<JSEventException*>(asObject(slot.slotBase()));
+ return JSEventException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSEventException::getConstructor(ExecState* exec)
+JSValue JSEventException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSEventExceptionConstructor>(exec);
+ return getDOMConstructor<JSEventExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsEventExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -200,9 +204,9 @@ JSValue jsEventExceptionUNSPECIFIED_EVENT_TYPE_ERR(ExecState* exec, const Identi
return jsNumber(exec, static_cast<int>(0));
}
-JSC::JSValue toJS(JSC::ExecState* exec, EventException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, EventException* object)
{
- return getDOMObjectWrapper<JSEventException>(exec, object);
+ return getDOMObjectWrapper<JSEventException>(exec, globalObject, object);
}
EventException* toEventException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSEventException.h b/src/3rdparty/webkit/WebCore/generated/JSEventException.h
index bc71abe..433e440 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSEventException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSEventException.h
@@ -21,6 +21,7 @@
#ifndef JSEventException_h
#define JSEventException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class EventException;
-class JSEventException : public DOMObject {
- typedef DOMObject Base;
+class JSEventException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSEventException(PassRefPtr<JSC::Structure>, PassRefPtr<EventException>);
+ JSEventException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<EventException>);
virtual ~JSEventException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
EventException* impl() const { return m_impl.get(); }
private:
RefPtr<EventException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, EventException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, EventException*);
EventException* toEventException(JSC::JSValue);
class JSEventExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
index d25dfc6..86c9f1f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSFile.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSFileTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileTable =
+static JSC_CONST_HASHTABLE HashTable JSFileTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSFileTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSFileConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSFileConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFileConstructorTableValues, 0 };
#else
{ 1, 0, JSFileConstructorTableValues, 0 };
#endif
-class JSFileConstructor : public DOMObject {
+class JSFileConstructor : public DOMConstructorObject {
public:
- JSFileConstructor(ExecState* exec)
- : DOMObject(JSFileConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSFileConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSFileConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSFilePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSFilePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSFilePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFilePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSFilePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFilePrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSFilePrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSFile::s_info = { "File", 0, &JSFileTable, 0 };
-JSFile::JSFile(PassRefPtr<Structure> structure, PassRefPtr<File> impl)
- : DOMObject(structure)
+JSFile::JSFile(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<File> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -134,30 +134,33 @@ bool JSFile::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsFileFileName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSFile* castedThis = static_cast<JSFile*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- File* imp = static_cast<File*>(static_cast<JSFile*>(asObject(slot.slotBase()))->impl());
+ File* imp = static_cast<File*>(castedThis->impl());
return jsString(exec, imp->fileName());
}
JSValue jsFileFileSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSFile* castedThis = static_cast<JSFile*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- File* imp = static_cast<File*>(static_cast<JSFile*>(asObject(slot.slotBase()))->impl());
+ File* imp = static_cast<File*>(castedThis->impl());
return jsNumber(exec, imp->fileSize());
}
JSValue jsFileConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSFile*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSFile* domObject = static_cast<JSFile*>(asObject(slot.slotBase()));
+ return JSFile::getConstructor(exec, domObject->globalObject());
}
-JSValue JSFile::getConstructor(ExecState* exec)
+JSValue JSFile::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSFileConstructor>(exec);
+ return getDOMConstructor<JSFileConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, File* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, File* object)
{
- return getDOMObjectWrapper<JSFile>(exec, object);
+ return getDOMObjectWrapper<JSFile>(exec, globalObject, object);
}
File* toFile(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFile.h b/src/3rdparty/webkit/WebCore/generated/JSFile.h
index efa4744..afeaaf5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFile.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSFile.h
@@ -21,6 +21,7 @@
#ifndef JSFile_h
#define JSFile_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class File;
-class JSFile : public DOMObject {
- typedef DOMObject Base;
+class JSFile : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSFile(PassRefPtr<JSC::Structure>, PassRefPtr<File>);
+ JSFile(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<File>);
virtual ~JSFile();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
File* impl() const { return m_impl.get(); }
private:
RefPtr<File> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, File*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, File*);
File* toFile(JSC::JSValue);
class JSFilePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
index cd165c1..e359c69 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSFileListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileListTable =
+static JSC_CONST_HASHTABLE HashTable JSFileListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSFileListTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSFileListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSFileListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFileListConstructorTableValues, 0 };
#else
{ 1, 0, JSFileListConstructorTableValues, 0 };
#endif
-class JSFileListConstructor : public DOMObject {
+class JSFileListConstructor : public DOMConstructorObject {
public:
- JSFileListConstructor(ExecState* exec)
- : DOMObject(JSFileListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSFileListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSFileListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSFileListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSFileListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSFileListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSFileListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSFileListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSFileListPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ bool JSFileListPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSFileList::s_info = { "FileList", 0, &JSFileListTable, 0 };
-JSFileList::JSFileList(PassRefPtr<Structure> structure, PassRefPtr<FileList> impl)
- : DOMObject(structure)
+JSFileList::JSFileList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<FileList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -162,14 +162,16 @@ bool JSFileList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Prop
JSValue jsFileListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSFileList* castedThis = static_cast<JSFileList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FileList* imp = static_cast<FileList*>(static_cast<JSFileList*>(asObject(slot.slotBase()))->impl());
+ FileList* imp = static_cast<FileList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsFileListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSFileList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSFileList* domObject = static_cast<JSFileList*>(asObject(slot.slotBase()));
+ return JSFileList::getConstructor(exec, domObject->globalObject());
}
void JSFileList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -178,9 +180,9 @@ void JSFileList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNa
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSFileList::getConstructor(ExecState* exec)
+JSValue JSFileList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSFileListConstructor>(exec);
+ return getDOMConstructor<JSFileListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsFileListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -197,7 +199,7 @@ JSValue JSC_HOST_CALL jsFileListPrototypeFunctionItem(ExecState* exec, JSObject*
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -205,11 +207,11 @@ JSValue JSC_HOST_CALL jsFileListPrototypeFunctionItem(ExecState* exec, JSObject*
JSValue JSFileList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSFileList* thisObj = static_cast<JSFileList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<FileList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<FileList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, FileList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, FileList* object)
{
- return getDOMObjectWrapper<JSFileList>(exec, object);
+ return getDOMObjectWrapper<JSFileList>(exec, globalObject, object);
}
FileList* toFileList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSFileList.h b/src/3rdparty/webkit/WebCore/generated/JSFileList.h
index 4a7075d..43cac56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSFileList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSFileList.h
@@ -21,6 +21,7 @@
#ifndef JSFileList_h
#define JSFileList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class FileList;
-class JSFileList : public DOMObject {
- typedef DOMObject Base;
+class JSFileList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSFileList(PassRefPtr<JSC::Structure>, PassRefPtr<FileList>);
+ JSFileList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<FileList>);
virtual ~JSFileList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
FileList* impl() const { return m_impl.get(); }
private:
@@ -54,7 +55,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, FileList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, FileList*);
FileList* toFileList(JSC::JSValue);
class JSFileListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
index a75348b..481852c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSGeolocationTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeolocationTable =
+static JSC_CONST_HASHTABLE HashTable JSGeolocationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSGeolocationTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSGeolocationPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeolocationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSGeolocationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSGeolocationPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ bool JSGeolocationPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSGeolocation::s_info = { "Geolocation", 0, &JSGeolocationTable, 0 };
-JSGeolocation::JSGeolocation(PassRefPtr<Structure> structure, PassRefPtr<Geolocation> impl)
- : DOMObject(structure)
+JSGeolocation::JSGeolocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geolocation> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -102,9 +102,10 @@ bool JSGeolocation::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsGeolocationLastPosition(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSGeolocation* castedThis = static_cast<JSGeolocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Geolocation* imp = static_cast<Geolocation*>(static_cast<JSGeolocation*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastPosition()));
+ Geolocation* imp = static_cast<Geolocation*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastPosition()));
}
JSValue JSC_HOST_CALL jsGeolocationPrototypeFunctionGetCurrentPosition(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -138,9 +139,9 @@ JSValue JSC_HOST_CALL jsGeolocationPrototypeFunctionClearWatch(ExecState* exec,
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, Geolocation* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Geolocation* object)
{
- return getDOMObjectWrapper<JSGeolocation>(exec, object);
+ return getDOMObjectWrapper<JSGeolocation>(exec, globalObject, object);
}
Geolocation* toGeolocation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h
index 736d019..38af988 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeolocation.h
@@ -21,6 +21,7 @@
#ifndef JSGeolocation_h
#define JSGeolocation_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Geolocation;
-class JSGeolocation : public DOMObject {
- typedef DOMObject Base;
+class JSGeolocation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSGeolocation(PassRefPtr<JSC::Structure>, PassRefPtr<Geolocation>);
+ JSGeolocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geolocation>);
virtual ~JSGeolocation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -54,7 +55,7 @@ private:
RefPtr<Geolocation> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Geolocation*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Geolocation*);
Geolocation* toGeolocation(JSC::JSValue);
class JSGeolocationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
index 35399cf..348f0a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSGeopositionTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeopositionTable =
+static JSC_CONST_HASHTABLE HashTable JSGeopositionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSGeopositionTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSGeopositionPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSGeopositionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSGeopositionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSGeopositionPrototypeTableValues, 0 };
#else
@@ -81,8 +81,8 @@ bool JSGeopositionPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSGeoposition::s_info = { "Geoposition", 0, &JSGeopositionTable, 0 };
-JSGeoposition::JSGeoposition(PassRefPtr<Structure> structure, PassRefPtr<Geoposition> impl)
- : DOMObject(structure)
+JSGeoposition::JSGeoposition(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Geoposition> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,15 +104,17 @@ bool JSGeoposition::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsGeopositionCoords(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSGeoposition* castedThis = static_cast<JSGeoposition*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Geoposition* imp = static_cast<Geoposition*>(static_cast<JSGeoposition*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->coords()));
+ Geoposition* imp = static_cast<Geoposition*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->coords()));
}
JSValue jsGeopositionTimestamp(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSGeoposition* castedThis = static_cast<JSGeoposition*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Geoposition* imp = static_cast<Geoposition*>(static_cast<JSGeoposition*>(asObject(slot.slotBase()))->impl());
+ Geoposition* imp = static_cast<Geoposition*>(castedThis->impl());
return jsNumber(exec, imp->timestamp());
}
@@ -129,9 +131,9 @@ JSValue JSC_HOST_CALL jsGeopositionPrototypeFunctionToString(ExecState* exec, JS
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, Geoposition* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Geoposition* object)
{
- return getDOMObjectWrapper<JSGeoposition>(exec, object);
+ return getDOMObjectWrapper<JSGeoposition>(exec, globalObject, object);
}
Geoposition* toGeoposition(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h
index 200bb6e..8d5a2ba 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSGeoposition.h
@@ -21,6 +21,7 @@
#ifndef JSGeoposition_h
#define JSGeoposition_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Geoposition;
-class JSGeoposition : public DOMObject {
- typedef DOMObject Base;
+class JSGeoposition : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSGeoposition(PassRefPtr<JSC::Structure>, PassRefPtr<Geoposition>);
+ JSGeoposition(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Geoposition>);
virtual ~JSGeoposition();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -50,7 +51,7 @@ private:
RefPtr<Geoposition> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Geoposition*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Geoposition*);
Geoposition* toGeoposition(JSC::JSValue);
class JSGeopositionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp
index c422551..1e30146 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLAnchorElement.h"
#include "HTMLAnchorElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
@@ -60,7 +61,7 @@ static const HashTableValue JSHTMLAnchorElementTableValues[21] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAnchorElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAnchorElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLAnchorElementTableValues, 0 };
#else
@@ -74,19 +75,19 @@ static const HashTableValue JSHTMLAnchorElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAnchorElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAnchorElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAnchorElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAnchorElementConstructorTableValues, 0 };
#endif
-class JSHTMLAnchorElementConstructor : public DOMObject {
+class JSHTMLAnchorElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAnchorElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAnchorElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAnchorElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAnchorElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAnchorElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAnchorElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -113,7 +114,7 @@ static const HashTableValue JSHTMLAnchorElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAnchorElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAnchorElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAnchorElementPrototypeTableValues, 0 };
#else
@@ -134,8 +135,8 @@ bool JSHTMLAnchorElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLAnchorElement::s_info = { "HTMLAnchorElement", &JSHTMLElement::s_info, &JSHTMLAnchorElementTable, 0 };
-JSHTMLAnchorElement::JSHTMLAnchorElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAnchorElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLAnchorElement::JSHTMLAnchorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAnchorElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -151,140 +152,160 @@ bool JSHTMLAnchorElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLAnchorElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->accessKey());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::accesskeyAttr));
}
JSValue jsHTMLAnchorElementCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->charset());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::charsetAttr));
}
JSValue jsHTMLAnchorElementCoords(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->coords());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::coordsAttr));
}
JSValue jsHTMLAnchorElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->href());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getURLAttribute(HTMLNames::hrefAttr));
}
JSValue jsHTMLAnchorElementHreflang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->hreflang());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::hreflangAttr));
}
JSValue jsHTMLAnchorElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->name());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::nameAttr));
}
JSValue jsHTMLAnchorElementRel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->rel());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::relAttr));
}
JSValue jsHTMLAnchorElementRev(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->rev());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::revAttr));
}
JSValue jsHTMLAnchorElementShape(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->shape());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::shapeAttr));
}
JSValue jsHTMLAnchorElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->target());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::targetAttr));
}
JSValue jsHTMLAnchorElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->type());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::typeAttr));
}
JSValue jsHTMLAnchorElementHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->hash());
}
JSValue jsHTMLAnchorElementHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsHTMLAnchorElementHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsHTMLAnchorElementPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsHTMLAnchorElementPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsHTMLAnchorElementProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsHTMLAnchorElementSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsHTMLAnchorElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAnchorElement* castedThis = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLAnchorElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAnchorElement* domObject = static_cast<JSHTMLAnchorElement*>(asObject(slot.slotBase()));
+ return JSHTMLAnchorElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLAnchorElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -294,72 +315,72 @@ void JSHTMLAnchorElement::put(ExecState* exec, const Identifier& propertyName, J
void setJSHTMLAnchorElementAccessKey(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setAccessKey(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::accesskeyAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementCharset(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setCharset(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::charsetAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementCoords(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setCoords(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::coordsAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setHref(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementHreflang(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setHreflang(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hreflangAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementName(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setName(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::nameAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementRel(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setRel(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::relAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementRev(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setRev(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::revAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementShape(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setShape(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::shapeAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setTarget(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAnchorElementType(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAnchorElement* imp = static_cast<HTMLAnchorElement*>(static_cast<JSHTMLAnchorElement*>(thisObject)->impl());
- imp->setType(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::typeAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLAnchorElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAnchorElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAnchorElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAnchorElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLAnchorElementPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h
index b7864c4..e9a99b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h
@@ -30,7 +30,7 @@ class HTMLAnchorElement;
class JSHTMLAnchorElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLAnchorElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAnchorElement>);
+ JSHTMLAnchorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAnchorElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp
index 787c2c7..8731f25 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp
@@ -23,6 +23,7 @@
#include "AtomicString.h"
#include "HTMLAppletElement.h"
+#include "HTMLNames.h"
#include "JSHTMLAppletElementCustom.h"
#include "KURL.h"
#include <runtime/JSString.h>
@@ -53,7 +54,7 @@ static const HashTableValue JSHTMLAppletElementTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAppletElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAppletElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLAppletElementTableValues, 0 };
#else
@@ -67,19 +68,19 @@ static const HashTableValue JSHTMLAppletElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAppletElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAppletElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAppletElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAppletElementConstructorTableValues, 0 };
#endif
-class JSHTMLAppletElementConstructor : public DOMObject {
+class JSHTMLAppletElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAppletElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAppletElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAppletElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAppletElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAppletElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAppletElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +106,7 @@ static const HashTableValue JSHTMLAppletElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAppletElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAppletElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAppletElementPrototypeTableValues, 0 };
#else
@@ -121,8 +122,8 @@ JSObject* JSHTMLAppletElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLAppletElement::s_info = { "HTMLAppletElement", &JSHTMLElement::s_info, &JSHTMLAppletElementTable, 0 };
-JSHTMLAppletElement::JSHTMLAppletElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAppletElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLAppletElement::JSHTMLAppletElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAppletElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -144,84 +145,96 @@ bool JSHTMLAppletElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLAppletElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->align());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::alignAttr));
}
JSValue jsHTMLAppletElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->alt());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::altAttr));
}
JSValue jsHTMLAppletElementArchive(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->archive());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::archiveAttr));
}
JSValue jsHTMLAppletElementCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->code());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::codeAttr));
}
JSValue jsHTMLAppletElementCodeBase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->codeBase());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::codebaseAttr));
}
JSValue jsHTMLAppletElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->height());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::heightAttr));
}
JSValue jsHTMLAppletElementHspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->hspace());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::hspaceAttr));
}
JSValue jsHTMLAppletElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->name());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::nameAttr));
}
JSValue jsHTMLAppletElementObject(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->object());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::objectAttr));
}
JSValue jsHTMLAppletElementVspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->vspace());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::vspaceAttr));
}
JSValue jsHTMLAppletElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAppletElement* castedThis = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->width());
+ HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::widthAttr));
}
JSValue jsHTMLAppletElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAppletElement* domObject = static_cast<JSHTMLAppletElement*>(asObject(slot.slotBase()));
+ return JSHTMLAppletElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLAppletElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -233,72 +246,72 @@ void JSHTMLAppletElement::put(ExecState* exec, const Identifier& propertyName, J
void setJSHTMLAppletElementAlign(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setAlign(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::alignAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementAlt(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setAlt(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::altAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementArchive(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setArchive(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::archiveAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementCode(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setCode(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::codeAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementCodeBase(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setCodeBase(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::codebaseAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementHeight(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setHeight(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::heightAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementHspace(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setHspace(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hspaceAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementName(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setName(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::nameAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementObject(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setObject(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::objectAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementVspace(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setVspace(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::vspaceAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAppletElementWidth(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAppletElement* imp = static_cast<HTMLAppletElement*>(static_cast<JSHTMLAppletElement*>(thisObject)->impl());
- imp->setWidth(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::widthAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLAppletElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAppletElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAppletElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAppletElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h
index 0ebfc7b..256bfb6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h
@@ -31,7 +31,7 @@ class HTMLAppletElement;
class JSHTMLAppletElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLAppletElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAppletElement>);
+ JSHTMLAppletElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAppletElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
@@ -47,7 +47,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLAppletElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp
index 1d40591..5fa1204 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLAreaElement.h"
#include "HTMLAreaElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -54,7 +55,7 @@ static const HashTableValue JSHTMLAreaElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAreaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAreaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLAreaElementTableValues, 0 };
#else
@@ -68,19 +69,19 @@ static const HashTableValue JSHTMLAreaElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAreaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAreaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAreaElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAreaElementConstructorTableValues, 0 };
#endif
-class JSHTMLAreaElementConstructor : public DOMObject {
+class JSHTMLAreaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAreaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAreaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAreaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAreaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAreaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAreaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +107,7 @@ static const HashTableValue JSHTMLAreaElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAreaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAreaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAreaElementPrototypeTableValues, 0 };
#else
@@ -122,8 +123,8 @@ JSObject* JSHTMLAreaElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLAreaElement::s_info = { "HTMLAreaElement", &JSHTMLElement::s_info, &JSHTMLAreaElementTable, 0 };
-JSHTMLAreaElement::JSHTMLAreaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAreaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLAreaElement::JSHTMLAreaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAreaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -139,105 +140,120 @@ bool JSHTMLAreaElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLAreaElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->accessKey());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::accesskeyAttr));
}
JSValue jsHTMLAreaElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->alt());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::altAttr));
}
JSValue jsHTMLAreaElementCoords(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->coords());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::coordsAttr));
}
JSValue jsHTMLAreaElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->href());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getURLAttribute(HTMLNames::hrefAttr));
}
JSValue jsHTMLAreaElementNoHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsBoolean(imp->noHref());
}
JSValue jsHTMLAreaElementShape(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->shape());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::shapeAttr));
}
JSValue jsHTMLAreaElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->target());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::targetAttr));
}
JSValue jsHTMLAreaElementHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->hash());
}
JSValue jsHTMLAreaElementHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsHTMLAreaElementHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsHTMLAreaElementPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsHTMLAreaElementPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsHTMLAreaElementProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsHTMLAreaElementSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLAreaElement* castedThis = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsHTMLAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAreaElement* domObject = static_cast<JSHTMLAreaElement*>(asObject(slot.slotBase()));
+ return JSHTMLAreaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLAreaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -247,25 +263,25 @@ void JSHTMLAreaElement::put(ExecState* exec, const Identifier& propertyName, JSV
void setJSHTMLAreaElementAccessKey(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setAccessKey(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::accesskeyAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementAlt(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setAlt(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::altAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementCoords(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setCoords(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::coordsAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setHref(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementNoHref(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -277,18 +293,18 @@ void setJSHTMLAreaElementNoHref(ExecState* exec, JSObject* thisObject, JSValue v
void setJSHTMLAreaElementShape(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setShape(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::shapeAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLAreaElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLAreaElement* imp = static_cast<HTMLAreaElement*>(static_cast<JSHTMLAreaElement*>(thisObject)->impl());
- imp->setTarget(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLAreaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAreaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAreaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAreaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h
index 9d2d8fc..4b43021 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h
@@ -30,7 +30,7 @@ class HTMLAreaElement;
class JSHTMLAreaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLAreaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAreaElement>);
+ JSHTMLAreaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAreaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp
index 00db209..6c8ae85 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLAudioElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAudioElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAudioElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAudioElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLAudioElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAudioElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAudioElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAudioElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLAudioElementConstructorTableValues, 0 };
#endif
-class JSHTMLAudioElementConstructor : public DOMObject {
+class JSHTMLAudioElementConstructor : public DOMConstructorObject {
public:
- JSHTMLAudioElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLAudioElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLAudioElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLAudioElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLAudioElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLAudioElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLAudioElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLAudioElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLAudioElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLAudioElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLAudioElement::s_info = { "HTMLAudioElement", &JSHTMLMediaElement::s_info, &JSHTMLAudioElementTable, 0 };
-JSHTMLAudioElement::JSHTMLAudioElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLAudioElement> impl)
- : JSHTMLMediaElement(structure, impl)
+JSHTMLAudioElement::JSHTMLAudioElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLAudioElement> impl)
+ : JSHTMLMediaElement(structure, globalObject, impl)
{
}
@@ -126,11 +126,12 @@ bool JSHTMLAudioElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLAudioElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLAudioElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLAudioElement* domObject = static_cast<JSHTMLAudioElement*>(asObject(slot.slotBase()));
+ return JSHTMLAudioElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSHTMLAudioElement::getConstructor(ExecState* exec)
+JSValue JSHTMLAudioElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLAudioElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLAudioElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h
index cea0209..bb3e51d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h
@@ -32,7 +32,7 @@ class HTMLAudioElement;
class JSHTMLAudioElement : public JSHTMLMediaElement {
typedef JSHTMLMediaElement Base;
public:
- JSHTMLAudioElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLAudioElement>);
+ JSHTMLAudioElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLAudioElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp
index aff5b90..3cac476 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBRElement.h"
#include "HTMLBRElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -41,7 +42,7 @@ static const HashTableValue JSHTMLBRElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBRElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBRElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLBRElementTableValues, 0 };
#else
@@ -55,19 +56,19 @@ static const HashTableValue JSHTMLBRElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBRElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBRElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBRElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBRElementConstructorTableValues, 0 };
#endif
-class JSHTMLBRElementConstructor : public DOMObject {
+class JSHTMLBRElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBRElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBRElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBRElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBRElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBRElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBRElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +94,7 @@ static const HashTableValue JSHTMLBRElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBRElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBRElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBRElementPrototypeTableValues, 0 };
#else
@@ -109,8 +110,8 @@ JSObject* JSHTMLBRElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSHTMLBRElement::s_info = { "HTMLBRElement", &JSHTMLElement::s_info, &JSHTMLBRElementTable, 0 };
-JSHTMLBRElement::JSHTMLBRElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBRElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBRElement::JSHTMLBRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBRElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +127,16 @@ bool JSHTMLBRElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsHTMLBRElementClear(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBRElement* castedThis = static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBRElement* imp = static_cast<HTMLBRElement*>(static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->clear());
+ HTMLBRElement* imp = static_cast<HTMLBRElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::clearAttr));
}
JSValue jsHTMLBRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBRElement* domObject = static_cast<JSHTMLBRElement*>(asObject(slot.slotBase()));
+ return JSHTMLBRElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBRElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -143,12 +146,12 @@ void JSHTMLBRElement::put(ExecState* exec, const Identifier& propertyName, JSVal
void setJSHTMLBRElementClear(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBRElement* imp = static_cast<HTMLBRElement*>(static_cast<JSHTMLBRElement*>(thisObject)->impl());
- imp->setClear(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::clearAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLBRElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBRElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBRElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBRElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h
index 3352cb7..d6b124b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h
@@ -30,7 +30,7 @@ class HTMLBRElement;
class JSHTMLBRElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBRElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBRElement>);
+ JSHTMLBRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBRElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp
index d0c6502..10e393c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBaseElement.h"
#include "HTMLBaseElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -42,7 +43,7 @@ static const HashTableValue JSHTMLBaseElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLBaseElementTableValues, 0 };
#else
@@ -56,19 +57,19 @@ static const HashTableValue JSHTMLBaseElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBaseElementConstructorTableValues, 0 };
#endif
-class JSHTMLBaseElementConstructor : public DOMObject {
+class JSHTMLBaseElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBaseElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBaseElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBaseElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBaseElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBaseElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBaseElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +95,7 @@ static const HashTableValue JSHTMLBaseElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseElementPrototypeTableValues, 0 };
#else
@@ -110,8 +111,8 @@ JSObject* JSHTMLBaseElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLBaseElement::s_info = { "HTMLBaseElement", &JSHTMLElement::s_info, &JSHTMLBaseElementTable, 0 };
-JSHTMLBaseElement::JSHTMLBaseElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBaseElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBaseElement::JSHTMLBaseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +128,24 @@ bool JSHTMLBaseElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLBaseElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseElement* castedThis = static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->href());
+ HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::hrefAttr));
}
JSValue jsHTMLBaseElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseElement* castedThis = static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->target());
+ HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::targetAttr));
}
JSValue jsHTMLBaseElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBaseElement* domObject = static_cast<JSHTMLBaseElement*>(asObject(slot.slotBase()));
+ return JSHTMLBaseElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBaseElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -151,18 +155,18 @@ void JSHTMLBaseElement::put(ExecState* exec, const Identifier& propertyName, JSV
void setJSHTMLBaseElementHref(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(thisObject)->impl());
- imp->setHref(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::hrefAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBaseElementTarget(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseElement* imp = static_cast<HTMLBaseElement*>(static_cast<JSHTMLBaseElement*>(thisObject)->impl());
- imp->setTarget(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::targetAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLBaseElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBaseElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBaseElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBaseElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h
index 8fdbe06..0064963 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h
@@ -30,7 +30,7 @@ class HTMLBaseElement;
class JSHTMLBaseElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBaseElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBaseElement>);
+ JSHTMLBaseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp
index 24288a2..277770b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBaseFontElement.h"
#include "HTMLBaseFontElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -44,7 +45,7 @@ static const HashTableValue JSHTMLBaseFontElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseFontElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseFontElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLBaseFontElementTableValues, 0 };
#else
@@ -58,19 +59,19 @@ static const HashTableValue JSHTMLBaseFontElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseFontElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseFontElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseFontElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBaseFontElementConstructorTableValues, 0 };
#endif
-class JSHTMLBaseFontElementConstructor : public DOMObject {
+class JSHTMLBaseFontElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBaseFontElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBaseFontElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBaseFontElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBaseFontElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBaseFontElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBaseFontElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +97,7 @@ static const HashTableValue JSHTMLBaseFontElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBaseFontElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBaseFontElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBaseFontElementPrototypeTableValues, 0 };
#else
@@ -112,8 +113,8 @@ JSObject* JSHTMLBaseFontElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLBaseFontElement::s_info = { "HTMLBaseFontElement", &JSHTMLElement::s_info, &JSHTMLBaseFontElementTable, 0 };
-JSHTMLBaseFontElement::JSHTMLBaseFontElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBaseFontElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBaseFontElement::JSHTMLBaseFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBaseFontElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,28 +130,32 @@ bool JSHTMLBaseFontElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLBaseFontElementColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseFontElement* castedThis = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->color());
+ HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::colorAttr));
}
JSValue jsHTMLBaseFontElementFace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseFontElement* castedThis = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->face());
+ HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::faceAttr));
}
JSValue jsHTMLBaseFontElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBaseFontElement* castedThis = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(castedThis->impl());
return jsNumber(exec, imp->size());
}
JSValue jsHTMLBaseFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBaseFontElement* domObject = static_cast<JSHTMLBaseFontElement*>(asObject(slot.slotBase()));
+ return JSHTMLBaseFontElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBaseFontElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,13 +165,13 @@ void JSHTMLBaseFontElement::put(ExecState* exec, const Identifier& propertyName,
void setJSHTMLBaseFontElementColor(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(thisObject)->impl());
- imp->setColor(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::colorAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBaseFontElementFace(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBaseFontElement* imp = static_cast<HTMLBaseFontElement*>(static_cast<JSHTMLBaseFontElement*>(thisObject)->impl());
- imp->setFace(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::faceAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBaseFontElementSize(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -175,9 +180,9 @@ void setJSHTMLBaseFontElementSize(ExecState* exec, JSObject* thisObject, JSValue
imp->setSize(value.toInt32(exec));
}
-JSValue JSHTMLBaseFontElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBaseFontElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBaseFontElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBaseFontElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h
index 534bb80..fcaa363 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h
@@ -30,7 +30,7 @@ class HTMLBaseFontElement;
class JSHTMLBaseFontElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBaseFontElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBaseFontElement>);
+ JSHTMLBaseFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBaseFontElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp
index aa108aa..bdf10b7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp
@@ -22,6 +22,7 @@
#include "JSHTMLBlockquoteElement.h"
#include "HTMLBlockquoteElement.h"
+#include "HTMLNames.h"
#include "KURL.h"
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -41,7 +42,7 @@ static const HashTableValue JSHTMLBlockquoteElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBlockquoteElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBlockquoteElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLBlockquoteElementTableValues, 0 };
#else
@@ -55,19 +56,19 @@ static const HashTableValue JSHTMLBlockquoteElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBlockquoteElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBlockquoteElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBlockquoteElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBlockquoteElementConstructorTableValues, 0 };
#endif
-class JSHTMLBlockquoteElementConstructor : public DOMObject {
+class JSHTMLBlockquoteElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBlockquoteElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBlockquoteElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBlockquoteElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBlockquoteElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBlockquoteElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBlockquoteElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +94,7 @@ static const HashTableValue JSHTMLBlockquoteElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBlockquoteElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBlockquoteElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBlockquoteElementPrototypeTableValues, 0 };
#else
@@ -109,8 +110,8 @@ JSObject* JSHTMLBlockquoteElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSHTMLBlockquoteElement::s_info = { "HTMLBlockquoteElement", &JSHTMLElement::s_info, &JSHTMLBlockquoteElementTable, 0 };
-JSHTMLBlockquoteElement::JSHTMLBlockquoteElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBlockquoteElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBlockquoteElement::JSHTMLBlockquoteElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBlockquoteElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +127,16 @@ bool JSHTMLBlockquoteElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsHTMLBlockquoteElementCite(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBlockquoteElement* castedThis = static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBlockquoteElement* imp = static_cast<HTMLBlockquoteElement*>(static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->cite());
+ HTMLBlockquoteElement* imp = static_cast<HTMLBlockquoteElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::citeAttr));
}
JSValue jsHTMLBlockquoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBlockquoteElement* domObject = static_cast<JSHTMLBlockquoteElement*>(asObject(slot.slotBase()));
+ return JSHTMLBlockquoteElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBlockquoteElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -143,12 +146,12 @@ void JSHTMLBlockquoteElement::put(ExecState* exec, const Identifier& propertyNam
void setJSHTMLBlockquoteElementCite(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBlockquoteElement* imp = static_cast<HTMLBlockquoteElement*>(static_cast<JSHTMLBlockquoteElement*>(thisObject)->impl());
- imp->setCite(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::citeAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLBlockquoteElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBlockquoteElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBlockquoteElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBlockquoteElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h
index 7949bdd..a2046b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h
@@ -30,7 +30,7 @@ class HTMLBlockquoteElement;
class JSHTMLBlockquoteElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBlockquoteElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBlockquoteElement>);
+ JSHTMLBlockquoteElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBlockquoteElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
index 6da9517..7628bd6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp
@@ -24,6 +24,7 @@
#include "EventListener.h"
#include "Frame.h"
#include "HTMLBodyElement.h"
+#include "HTMLNames.h"
#include "JSDOMGlobalObject.h"
#include "JSEventListener.h"
#include "KURL.h"
@@ -57,7 +58,7 @@ static const HashTableValue JSHTMLBodyElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBodyElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBodyElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLBodyElementTableValues, 0 };
#else
@@ -71,19 +72,19 @@ static const HashTableValue JSHTMLBodyElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBodyElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBodyElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBodyElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLBodyElementConstructorTableValues, 0 };
#endif
-class JSHTMLBodyElementConstructor : public DOMObject {
+class JSHTMLBodyElementConstructor : public DOMConstructorObject {
public:
- JSHTMLBodyElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLBodyElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLBodyElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLBodyElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLBodyElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLBodyElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -109,7 +110,7 @@ static const HashTableValue JSHTMLBodyElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLBodyElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLBodyElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLBodyElementPrototypeTableValues, 0 };
#else
@@ -125,8 +126,8 @@ JSObject* JSHTMLBodyElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLBodyElement::s_info = { "HTMLBodyElement", &JSHTMLElement::s_info, &JSHTMLBodyElementTable, 0 };
-JSHTMLBodyElement::JSHTMLBodyElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLBodyElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLBodyElement::JSHTMLBodyElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLBodyElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -142,50 +143,57 @@ bool JSHTMLBodyElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLBodyElementALink(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->aLink());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::alinkAttr));
}
JSValue jsHTMLBodyElementBackground(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->background());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::backgroundAttr));
}
JSValue jsHTMLBodyElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->bgColor());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::bgcolorAttr));
}
JSValue jsHTMLBodyElementLink(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->link());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::linkAttr));
}
JSValue jsHTMLBodyElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->text());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::textAttr));
}
JSValue jsHTMLBodyElementVLink(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
- return jsString(exec, imp->vLink());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::vlinkAttr));
}
JSValue jsHTMLBodyElementOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onbeforeunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -195,8 +203,9 @@ JSValue jsHTMLBodyElementOnbeforeunload(ExecState* exec, const Identifier&, cons
JSValue jsHTMLBodyElementOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -206,8 +215,9 @@ JSValue jsHTMLBodyElementOnmessage(ExecState* exec, const Identifier&, const Pro
JSValue jsHTMLBodyElementOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onoffline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -217,8 +227,9 @@ JSValue jsHTMLBodyElementOnoffline(ExecState* exec, const Identifier&, const Pro
JSValue jsHTMLBodyElementOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->ononline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -228,8 +239,9 @@ JSValue jsHTMLBodyElementOnonline(ExecState* exec, const Identifier&, const Prop
JSValue jsHTMLBodyElementOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -239,8 +251,9 @@ JSValue jsHTMLBodyElementOnresize(ExecState* exec, const Identifier&, const Prop
JSValue jsHTMLBodyElementOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onstorage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -250,8 +263,9 @@ JSValue jsHTMLBodyElementOnstorage(ExecState* exec, const Identifier&, const Pro
JSValue jsHTMLBodyElementOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLBodyElement* castedThis = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->impl());
+ HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -261,7 +275,8 @@ JSValue jsHTMLBodyElementOnunload(ExecState* exec, const Identifier&, const Prop
JSValue jsHTMLBodyElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLBodyElement* domObject = static_cast<JSHTMLBodyElement*>(asObject(slot.slotBase()));
+ return JSHTMLBodyElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLBodyElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -271,37 +286,37 @@ void JSHTMLBodyElement::put(ExecState* exec, const Identifier& propertyName, JSV
void setJSHTMLBodyElementALink(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setALink(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::alinkAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementBackground(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setBackground(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::backgroundAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementBgColor(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setBgColor(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::bgcolorAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementLink(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setLink(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::linkAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementText(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setText(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::textAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementVLink(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLBodyElement* imp = static_cast<HTMLBodyElement*>(static_cast<JSHTMLBodyElement*>(thisObject)->impl());
- imp->setVLink(valueToStringWithNullCheck(exec, value));
+ imp->setAttribute(HTMLNames::vlinkAttr, valueToStringWithNullCheck(exec, value));
}
void setJSHTMLBodyElementOnbeforeunload(ExecState* exec, JSObject* thisObject, JSValue value)
@@ -374,9 +389,9 @@ void setJSHTMLBodyElementOnunload(ExecState* exec, JSObject* thisObject, JSValue
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSHTMLBodyElement::getConstructor(ExecState* exec)
+JSValue JSHTMLBodyElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLBodyElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLBodyElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h
index caabc5b..706a3c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h
@@ -30,7 +30,7 @@ class HTMLBodyElement;
class JSHTMLBodyElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLBodyElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLBodyElement>);
+ JSHTMLBodyElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLBodyElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp
index 96f463b..c0c7322 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp
@@ -24,7 +24,9 @@
#include "HTMLButtonElement.h"
#include "HTMLFormElement.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
#include "KURL.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSString.h>
#include <wtf/GetPtr.h>
@@ -37,9 +39,10 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLButtonElement);
/* Hash table */
-static const HashTableValue JSHTMLButtonElementTableValues[10] =
+static const HashTableValue JSHTMLButtonElementTableValues[11] =
{
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLButtonElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLButtonElementValidity, (intptr_t)0 },
{ "accessKey", DontDelete, (intptr_t)jsHTMLButtonElementAccessKey, (intptr_t)setJSHTMLButtonElementAccessKey },
{ "disabled", DontDelete, (intptr_t)jsHTMLButtonElementDisabled, (intptr_t)setJSHTMLButtonElementDisabled },
{ "autofocus", DontDelete, (intptr_t)jsHTMLButtonElementAutofocus, (intptr_t)setJSHTMLButtonElementAutofocus },
@@ -51,7 +54,7 @@ static const HashTableValue JSHTMLButtonElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLButtonElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLButtonElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLButtonElementTableValues, 0 };
#else
@@ -65,19 +68,19 @@ static const HashTableValue JSHTMLButtonElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLButtonElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLButtonElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLButtonElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLButtonElementConstructorTableValues, 0 };
#endif
-class JSHTMLButtonElementConstructor : public DOMObject {
+class JSHTMLButtonElementConstructor : public DOMConstructorObject {
public:
- JSHTMLButtonElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLButtonElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLButtonElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLButtonElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLButtonElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLButtonElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +107,7 @@ static const HashTableValue JSHTMLButtonElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLButtonElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLButtonElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLButtonElementPrototypeTableValues, 0 };
#else
@@ -125,8 +128,8 @@ bool JSHTMLButtonElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLButtonElement::s_info = { "HTMLButtonElement", &JSHTMLElement::s_info, &JSHTMLButtonElementTable, 0 };
-JSHTMLButtonElement::JSHTMLButtonElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLButtonElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLButtonElement::JSHTMLButtonElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLButtonElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -142,63 +145,80 @@ bool JSHTMLButtonElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLButtonElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLButtonElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLButtonElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLButtonElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLButtonElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLButtonElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLButtonElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLButtonElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLButtonElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLButtonElement* castedThis = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->impl());
+ HTMLButtonElement* imp = static_cast<HTMLButtonElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLButtonElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLButtonElement* domObject = static_cast<JSHTMLButtonElement*>(asObject(slot.slotBase()));
+ return JSHTMLButtonElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLButtonElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -235,9 +255,9 @@ void setJSHTMLButtonElementValue(ExecState* exec, JSObject* thisObject, JSValue
imp->setValue(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLButtonElement::getConstructor(ExecState* exec)
+JSValue JSHTMLButtonElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLButtonElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLButtonElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLButtonElementPrototypeFunctionClick(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h
index 9849bbb..9fa59ff 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h
@@ -30,7 +30,7 @@ class HTMLButtonElement;
class JSHTMLButtonElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLButtonElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLButtonElement>);
+ JSHTMLButtonElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLButtonElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -66,6 +66,7 @@ JSC::JSValue JSC_HOST_CALL jsHTMLButtonElementPrototypeFunctionClick(JSC::ExecSt
// Attributes
JSC::JSValue jsHTMLButtonElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLButtonElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLButtonElementAccessKey(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLButtonElementAccessKey(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLButtonElementDisabled(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp
index b90cbea..5c5533f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSHTMLCanvasElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCanvasElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLCanvasElementTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSHTMLCanvasElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCanvasElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLCanvasElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLCanvasElementConstructorTableValues, 0 };
#endif
-class JSHTMLCanvasElementConstructor : public DOMObject {
+class JSHTMLCanvasElementConstructor : public DOMConstructorObject {
public:
- JSHTMLCanvasElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLCanvasElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLCanvasElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLCanvasElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLCanvasElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLCanvasElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSHTMLCanvasElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCanvasElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLCanvasElementPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSHTMLCanvasElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLCanvasElement::s_info = { "HTMLCanvasElement", &JSHTMLElement::s_info, &JSHTMLCanvasElementTable, 0 };
-JSHTMLCanvasElement::JSHTMLCanvasElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLCanvasElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLCanvasElement::JSHTMLCanvasElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCanvasElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -137,21 +137,24 @@ bool JSHTMLCanvasElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLCanvasElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLCanvasElement* castedThis = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->impl());
+ HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLCanvasElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLCanvasElement* castedThis = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->impl());
+ HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLCanvasElement* domObject = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
+ return JSHTMLCanvasElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLCanvasElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -170,9 +173,9 @@ void setJSHTMLCanvasElementHeight(ExecState* exec, JSObject* thisObject, JSValue
imp->setHeight(value.toInt32(exec));
}
-JSValue JSHTMLCanvasElement::getConstructor(ExecState* exec)
+JSValue JSHTMLCanvasElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLCanvasElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLCanvasElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLCanvasElementPrototypeFunctionToDataURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -201,7 +204,7 @@ JSValue JSC_HOST_CALL jsHTMLCanvasElementPrototypeFunctionGetContext(ExecState*
const UString& contextId = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getContext(contextId)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getContext(contextId)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h
index ad41d15..5ccb23a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h
@@ -30,7 +30,7 @@ class HTMLCanvasElement;
class JSHTMLCanvasElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLCanvasElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLCanvasElement>);
+ JSHTMLCanvasElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCanvasElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
index 7ff47ac..de01068 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSHTMLCollectionTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCollectionTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLCollectionTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSHTMLCollectionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCollectionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLCollectionConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLCollectionConstructorTableValues, 0 };
#endif
-class JSHTMLCollectionConstructor : public DOMObject {
+class JSHTMLCollectionConstructor : public DOMConstructorObject {
public:
- JSHTMLCollectionConstructor(ExecState* exec)
- : DOMObject(JSHTMLCollectionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLCollectionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLCollectionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLCollectionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLCollectionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSHTMLCollectionPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLCollectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLCollectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLCollectionPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSHTMLCollectionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSHTMLCollection::s_info = { "HTMLCollection", 0, &JSHTMLCollectionTable, 0 };
-JSHTMLCollection::JSHTMLCollection(PassRefPtr<Structure> structure, PassRefPtr<HTMLCollection> impl)
- : DOMObject(structure)
+JSHTMLCollection::JSHTMLCollection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCollection> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -175,14 +175,16 @@ bool JSHTMLCollection::getOwnPropertySlot(ExecState* exec, unsigned propertyName
JSValue jsHTMLCollectionLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLCollection* castedThis = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLCollection* imp = static_cast<HTMLCollection*>(static_cast<JSHTMLCollection*>(asObject(slot.slotBase()))->impl());
+ HTMLCollection* imp = static_cast<HTMLCollection*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsHTMLCollectionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLCollection*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLCollection* domObject = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
+ return JSHTMLCollection::getConstructor(exec, domObject->globalObject());
}
void JSHTMLCollection::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -191,9 +193,9 @@ void JSHTMLCollection::getPropertyNames(ExecState* exec, PropertyNameArray& prop
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSHTMLCollection::getConstructor(ExecState* exec)
+JSValue JSHTMLCollection::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLCollectionConstructor>(exec);
+ return getDOMConstructor<JSHTMLCollectionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -224,7 +226,7 @@ JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionTags(ExecState* exec, JSO
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->tags(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->tags(name)));
return result;
}
@@ -232,7 +234,7 @@ JSValue JSC_HOST_CALL jsHTMLCollectionPrototypeFunctionTags(ExecState* exec, JSO
JSValue JSHTMLCollection::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSHTMLCollection* thisObj = static_cast<JSHTMLCollection*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<HTMLCollection*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLCollection*>(thisObj->impl())->item(slot.index()));
}
HTMLCollection* toHTMLCollection(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
index 44d977e..c6b6406 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h
@@ -21,6 +21,7 @@
#ifndef JSHTMLCollection_h
#define JSHTMLCollection_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/CallData.h>
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@ namespace WebCore {
class HTMLCollection;
-class JSHTMLCollection : public DOMObject {
- typedef DOMObject Base;
+class JSHTMLCollection : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSHTMLCollection(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLCollection>);
+ JSHTMLCollection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLCollection>);
virtual ~JSHTMLCollection();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -49,7 +50,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue item(JSC::ExecState*, const JSC::ArgList&);
@@ -64,7 +65,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, HTMLCollection*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, HTMLCollection*);
HTMLCollection* toHTMLCollection(JSC::JSValue);
class JSHTMLCollectionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp
index e65bb1f..3e7c701 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLDListElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDListElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDListElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLDListElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLDListElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDListElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDListElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDListElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDListElementConstructorTableValues, 0 };
#endif
-class JSHTMLDListElementConstructor : public DOMObject {
+class JSHTMLDListElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDListElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDListElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDListElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDListElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDListElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDListElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -91,7 +91,7 @@ static const HashTableValue JSHTMLDListElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDListElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDListElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDListElementPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ JSObject* JSHTMLDListElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLDListElement::s_info = { "HTMLDListElement", &JSHTMLElement::s_info, &JSHTMLDListElementTable, 0 };
-JSHTMLDListElement::JSHTMLDListElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDListElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDListElement::JSHTMLDListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDListElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -124,14 +124,16 @@ bool JSHTMLDListElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLDListElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDListElement* castedThis = static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDListElement* imp = static_cast<HTMLDListElement*>(static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDListElement* imp = static_cast<HTMLDListElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLDListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDListElement* domObject = static_cast<JSHTMLDListElement*>(asObject(slot.slotBase()));
+ return JSHTMLDListElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDListElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -144,9 +146,9 @@ void setJSHTMLDListElementCompact(ExecState* exec, JSObject* thisObject, JSValue
imp->setCompact(value.toBoolean(exec));
}
-JSValue JSHTMLDListElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDListElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDListElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDListElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h
index a1519eb..ea25315 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h
@@ -30,7 +30,7 @@ class HTMLDListElement;
class JSHTMLDListElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDListElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDListElement>);
+ JSHTMLDListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDListElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp
index e0f8624..91b63d8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridCellElement.h"
#include "HTMLDataGridCellElement.h"
@@ -46,7 +49,7 @@ static const HashTableValue JSHTMLDataGridCellElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridCellElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridCellElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLDataGridCellElementTableValues, 0 };
#else
@@ -60,19 +63,19 @@ static const HashTableValue JSHTMLDataGridCellElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridCellElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridCellElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridCellElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridCellElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridCellElementConstructor : public DOMObject {
+class JSHTMLDataGridCellElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridCellElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridCellElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridCellElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridCellElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridCellElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridCellElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +101,7 @@ static const HashTableValue JSHTMLDataGridCellElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridCellElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridCellElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridCellElementPrototypeTableValues, 0 };
#else
@@ -114,8 +117,8 @@ JSObject* JSHTMLDataGridCellElementPrototype::self(ExecState* exec, JSGlobalObje
const ClassInfo JSHTMLDataGridCellElement::s_info = { "HTMLDataGridCellElement", &JSHTMLElement::s_info, &JSHTMLDataGridCellElementTable, 0 };
-JSHTMLDataGridCellElement::JSHTMLDataGridCellElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridCellElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridCellElement::JSHTMLDataGridCellElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridCellElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,42 +134,48 @@ bool JSHTMLDataGridCellElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsHTMLDataGridCellElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLDataGridCellElementFocused(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsBoolean(imp->focused());
}
JSValue jsHTMLDataGridCellElementChecked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsBoolean(imp->checked());
}
JSValue jsHTMLDataGridCellElementIndeterminate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsBoolean(imp->indeterminate());
}
JSValue jsHTMLDataGridCellElementProgress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridCellElement* castedThis = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridCellElement* imp = static_cast<HTMLDataGridCellElement*>(castedThis->impl());
return jsNumber(exec, imp->progress());
}
JSValue jsHTMLDataGridCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridCellElement* domObject = static_cast<JSHTMLDataGridCellElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridCellElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridCellElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -203,10 +212,12 @@ void setJSHTMLDataGridCellElementProgress(ExecState* exec, JSObject* thisObject,
imp->setProgress(value.toFloat(exec));
}
-JSValue JSHTMLDataGridCellElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridCellElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridCellElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridCellElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h
index a0b8815..05496ea 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridCellElement_h
#define JSHTMLDataGridCellElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridCellElement;
class JSHTMLDataGridCellElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridCellElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridCellElement>);
+ JSHTMLDataGridCellElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridCellElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -71,4 +73,6 @@ JSC::JSValue jsHTMLDataGridCellElementConstructor(JSC::ExecState*, const JSC::Id
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp
index a608a1f..7ecccbc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridColElement.h"
#include "HTMLDataGridColElement.h"
@@ -46,7 +49,7 @@ static const HashTableValue JSHTMLDataGridColElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridColElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridColElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLDataGridColElementTableValues, 0 };
#else
@@ -60,19 +63,19 @@ static const HashTableValue JSHTMLDataGridColElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridColElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridColElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridColElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridColElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridColElementConstructor : public DOMObject {
+class JSHTMLDataGridColElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridColElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridColElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridColElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridColElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridColElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridColElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +101,7 @@ static const HashTableValue JSHTMLDataGridColElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridColElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridColElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridColElementPrototypeTableValues, 0 };
#else
@@ -114,8 +117,8 @@ JSObject* JSHTMLDataGridColElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSHTMLDataGridColElement::s_info = { "HTMLDataGridColElement", &JSHTMLElement::s_info, &JSHTMLDataGridColElementTable, 0 };
-JSHTMLDataGridColElement::JSHTMLDataGridColElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridColElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridColElement::JSHTMLDataGridColElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridColElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,42 +134,48 @@ bool JSHTMLDataGridColElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsHTMLDataGridColElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLDataGridColElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLDataGridColElementSortable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsNumber(exec, imp->sortable());
}
JSValue jsHTMLDataGridColElementSortDirection(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsNumber(exec, imp->sortDirection());
}
JSValue jsHTMLDataGridColElementPrimary(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridColElement* castedThis = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridColElement* imp = static_cast<HTMLDataGridColElement*>(castedThis->impl());
return jsBoolean(imp->primary());
}
JSValue jsHTMLDataGridColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridColElement* domObject = static_cast<JSHTMLDataGridColElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridColElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridColElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -203,10 +212,12 @@ void setJSHTMLDataGridColElementPrimary(ExecState* exec, JSObject* thisObject, J
imp->setPrimary(value.toBoolean(exec));
}
-JSValue JSHTMLDataGridColElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridColElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridColElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridColElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h
index 24efd48..bb21910 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridColElement_h
#define JSHTMLDataGridColElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridColElement;
class JSHTMLDataGridColElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridColElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridColElement>);
+ JSHTMLDataGridColElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridColElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -71,4 +73,6 @@ JSC::JSValue jsHTMLDataGridColElementConstructor(JSC::ExecState*, const JSC::Ide
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp
index ea4237c..8da3253 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridElement.h"
#include "DataGridColumnList.h"
@@ -45,7 +48,7 @@ static const HashTableValue JSHTMLDataGridElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLDataGridElementTableValues, 0 };
#else
@@ -59,19 +62,19 @@ static const HashTableValue JSHTMLDataGridElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridElementConstructor : public DOMObject {
+class JSHTMLDataGridElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +100,7 @@ static const HashTableValue JSHTMLDataGridElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridElementPrototypeTableValues, 0 };
#else
@@ -113,8 +116,8 @@ JSObject* JSHTMLDataGridElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLDataGridElement::s_info = { "HTMLDataGridElement", &JSHTMLElement::s_info, &JSHTMLDataGridElementTable, 0 };
-JSHTMLDataGridElement::JSHTMLDataGridElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridElement::JSHTMLDataGridElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -130,40 +133,46 @@ bool JSHTMLDataGridElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLDataGridElementDataSource(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->dataSource(exec);
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
+ return castedThis->dataSource(exec);
}
JSValue jsHTMLDataGridElementColumns(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->columns()));
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->columns()));
}
JSValue jsHTMLDataGridElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLDataGridElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLDataGridElementMultiple(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridElement* castedThis = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridElement* imp = static_cast<HTMLDataGridElement*>(castedThis->impl());
return jsBoolean(imp->multiple());
}
JSValue jsHTMLDataGridElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridElement* domObject = static_cast<JSHTMLDataGridElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -193,10 +202,12 @@ void setJSHTMLDataGridElementMultiple(ExecState* exec, JSObject* thisObject, JSV
imp->setMultiple(value.toBoolean(exec));
}
-JSValue JSHTMLDataGridElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h
index ee6c8d8..bec8e23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridElement_h
#define JSHTMLDataGridElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridElement;
class JSHTMLDataGridElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridElement>);
+ JSHTMLDataGridElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue dataSource(JSC::ExecState*) const;
@@ -74,4 +76,6 @@ JSC::JSValue jsHTMLDataGridElementConstructor(JSC::ExecState*, const JSC::Identi
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp
index 938ff16..af98411 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp
@@ -19,6 +19,9 @@
*/
#include "config.h"
+
+#if ENABLE(DATAGRID)
+
#include "JSHTMLDataGridRowElement.h"
#include "HTMLDataGridRowElement.h"
@@ -41,7 +44,7 @@ static const HashTableValue JSHTMLDataGridRowElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridRowElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridRowElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLDataGridRowElementTableValues, 0 };
#else
@@ -55,19 +58,19 @@ static const HashTableValue JSHTMLDataGridRowElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridRowElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridRowElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridRowElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDataGridRowElementConstructorTableValues, 0 };
#endif
-class JSHTMLDataGridRowElementConstructor : public DOMObject {
+class JSHTMLDataGridRowElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDataGridRowElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDataGridRowElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDataGridRowElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDataGridRowElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDataGridRowElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDataGridRowElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +96,7 @@ static const HashTableValue JSHTMLDataGridRowElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDataGridRowElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDataGridRowElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDataGridRowElementPrototypeTableValues, 0 };
#else
@@ -109,8 +112,8 @@ JSObject* JSHTMLDataGridRowElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSHTMLDataGridRowElement::s_info = { "HTMLDataGridRowElement", &JSHTMLElement::s_info, &JSHTMLDataGridRowElementTable, 0 };
-JSHTMLDataGridRowElement::JSHTMLDataGridRowElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDataGridRowElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDataGridRowElement::JSHTMLDataGridRowElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDataGridRowElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,28 +129,32 @@ bool JSHTMLDataGridRowElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsHTMLDataGridRowElementSelected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridRowElement* castedThis = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(castedThis->impl());
return jsBoolean(imp->selected());
}
JSValue jsHTMLDataGridRowElementFocused(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridRowElement* castedThis = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(castedThis->impl());
return jsBoolean(imp->focused());
}
JSValue jsHTMLDataGridRowElementExpanded(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDataGridRowElement* castedThis = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDataGridRowElement* imp = static_cast<HTMLDataGridRowElement*>(castedThis->impl());
return jsBoolean(imp->expanded());
}
JSValue jsHTMLDataGridRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDataGridRowElement* domObject = static_cast<JSHTMLDataGridRowElement*>(asObject(slot.slotBase()));
+ return JSHTMLDataGridRowElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDataGridRowElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -172,10 +179,12 @@ void setJSHTMLDataGridRowElementExpanded(ExecState* exec, JSObject* thisObject,
imp->setExpanded(value.toBoolean(exec));
}
-JSValue JSHTMLDataGridRowElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDataGridRowElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDataGridRowElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDataGridRowElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
}
+
+#endif // ENABLE(DATAGRID)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h
index 562b5f7..c7f77dd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h
@@ -21,6 +21,8 @@
#ifndef JSHTMLDataGridRowElement_h
#define JSHTMLDataGridRowElement_h
+#if ENABLE(DATAGRID)
+
#include "JSHTMLElement.h"
namespace WebCore {
@@ -30,7 +32,7 @@ class HTMLDataGridRowElement;
class JSHTMLDataGridRowElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDataGridRowElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDataGridRowElement>);
+ JSHTMLDataGridRowElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDataGridRowElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -67,4 +69,6 @@ JSC::JSValue jsHTMLDataGridRowElementConstructor(JSC::ExecState*, const JSC::Ide
} // namespace WebCore
+#endif // ENABLE(DATAGRID)
+
#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp
index 711057b..a6d86c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLDirectoryElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDirectoryElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDirectoryElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLDirectoryElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLDirectoryElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDirectoryElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDirectoryElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDirectoryElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDirectoryElementConstructorTableValues, 0 };
#endif
-class JSHTMLDirectoryElementConstructor : public DOMObject {
+class JSHTMLDirectoryElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDirectoryElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDirectoryElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDirectoryElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDirectoryElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDirectoryElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDirectoryElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -91,7 +91,7 @@ static const HashTableValue JSHTMLDirectoryElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDirectoryElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDirectoryElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDirectoryElementPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ JSObject* JSHTMLDirectoryElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLDirectoryElement::s_info = { "HTMLDirectoryElement", &JSHTMLElement::s_info, &JSHTMLDirectoryElementTable, 0 };
-JSHTMLDirectoryElement::JSHTMLDirectoryElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDirectoryElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDirectoryElement::JSHTMLDirectoryElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDirectoryElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -124,14 +124,16 @@ bool JSHTMLDirectoryElement::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsHTMLDirectoryElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDirectoryElement* castedThis = static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDirectoryElement* imp = static_cast<HTMLDirectoryElement*>(static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDirectoryElement* imp = static_cast<HTMLDirectoryElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLDirectoryElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDirectoryElement* domObject = static_cast<JSHTMLDirectoryElement*>(asObject(slot.slotBase()));
+ return JSHTMLDirectoryElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDirectoryElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -144,9 +146,9 @@ void setJSHTMLDirectoryElementCompact(ExecState* exec, JSObject* thisObject, JSV
imp->setCompact(value.toBoolean(exec));
}
-JSValue JSHTMLDirectoryElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDirectoryElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDirectoryElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDirectoryElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h
index 09242bf..675587c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h
@@ -30,7 +30,7 @@ class HTMLDirectoryElement;
class JSHTMLDirectoryElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDirectoryElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDirectoryElement>);
+ JSHTMLDirectoryElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDirectoryElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp
index 43da933..15153e1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLDivElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDivElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDivElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLDivElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLDivElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDivElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDivElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDivElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDivElementConstructorTableValues, 0 };
#endif
-class JSHTMLDivElementConstructor : public DOMObject {
+class JSHTMLDivElementConstructor : public DOMConstructorObject {
public:
- JSHTMLDivElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLDivElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDivElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDivElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDivElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDivElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLDivElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDivElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDivElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDivElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLDivElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLDivElement::s_info = { "HTMLDivElement", &JSHTMLElement::s_info, &JSHTMLDivElementTable, 0 };
-JSHTMLDivElement::JSHTMLDivElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLDivElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLDivElement::JSHTMLDivElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDivElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLDivElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLDivElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDivElement* castedThis = static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDivElement* imp = static_cast<HTMLDivElement*>(static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()))->impl());
+ HTMLDivElement* imp = static_cast<HTMLDivElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLDivElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDivElement* domObject = static_cast<JSHTMLDivElement*>(asObject(slot.slotBase()));
+ return JSHTMLDivElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDivElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLDivElementAlign(ExecState* exec, JSObject* thisObject, JSValue val
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLDivElement::getConstructor(ExecState* exec)
+JSValue JSHTMLDivElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDivElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLDivElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h
index 1f3545b..eeaa89b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h
@@ -30,7 +30,7 @@ class HTMLDivElement;
class JSHTMLDivElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLDivElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDivElement>);
+ JSHTMLDivElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDivElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp
index 1182aee..f7c3859 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp
@@ -62,7 +62,7 @@ static const HashTableValue JSHTMLDocumentTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDocumentTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDocumentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSHTMLDocumentTableValues, 0 };
#else
@@ -76,19 +76,19 @@ static const HashTableValue JSHTMLDocumentConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDocumentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDocumentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLDocumentConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLDocumentConstructorTableValues, 0 };
#endif
-class JSHTMLDocumentConstructor : public DOMObject {
+class JSHTMLDocumentConstructor : public DOMConstructorObject {
public:
- JSHTMLDocumentConstructor(ExecState* exec)
- : DOMObject(JSHTMLDocumentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLDocumentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLDocumentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLDocumentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLDocumentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -122,7 +122,7 @@ static const HashTableValue JSHTMLDocumentPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLDocumentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLDocumentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLDocumentPrototypeTableValues, 0 };
#else
@@ -143,8 +143,8 @@ bool JSHTMLDocumentPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSHTMLDocument::s_info = { "HTMLDocument", &JSDocument::s_info, &JSHTMLDocumentTable, 0 };
-JSHTMLDocument::JSHTMLDocument(PassRefPtr<Structure> structure, PassRefPtr<HTMLDocument> impl)
- : JSDocument(structure, impl)
+JSHTMLDocument::JSHTMLDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLDocument> impl)
+ : JSDocument(structure, globalObject, impl)
{
}
@@ -164,110 +164,126 @@ bool JSHTMLDocument::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsHTMLDocumentEmbeds(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->embeds()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->embeds()));
}
JSValue jsHTMLDocumentPlugins(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->plugins()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->plugins()));
}
JSValue jsHTMLDocumentScripts(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->scripts()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->scripts()));
}
JSValue jsHTMLDocumentAll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->all(exec);
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
+ return castedThis->all(exec);
}
JSValue jsHTMLDocumentWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLDocumentHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLDocumentDir(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->dir());
}
JSValue jsHTMLDocumentDesignMode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->designMode());
}
JSValue jsHTMLDocumentCompatMode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->compatMode());
}
JSValue jsHTMLDocumentActiveElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->activeElement()));
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->activeElement()));
}
JSValue jsHTMLDocumentBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLDocumentFgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->fgColor());
}
JSValue jsHTMLDocumentAlinkColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->alinkColor());
}
JSValue jsHTMLDocumentLinkColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->linkColor());
}
JSValue jsHTMLDocumentVlinkColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLDocument* castedThis = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLDocument* imp = static_cast<HTMLDocument*>(static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->impl());
+ HTMLDocument* imp = static_cast<HTMLDocument*>(castedThis->impl());
return jsString(exec, imp->vlinkColor());
}
JSValue jsHTMLDocumentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLDocument*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLDocument* domObject = static_cast<JSHTMLDocument*>(asObject(slot.slotBase()));
+ return JSHTMLDocument::getConstructor(exec, domObject->globalObject());
}
void JSHTMLDocument::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -321,9 +337,9 @@ void setJSHTMLDocumentVlinkColor(ExecState* exec, JSObject* thisObject, JSValue
imp->setVlinkColor(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLDocument::getConstructor(ExecState* exec)
+JSValue JSHTMLDocument::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLDocumentConstructor>(exec);
+ return getDOMConstructor<JSHTMLDocumentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLDocumentPrototypeFunctionOpen(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h
index 3827df2..110c7e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h
@@ -30,7 +30,7 @@ class HTMLDocument;
class JSHTMLDocument : public JSDocument {
typedef JSDocument Base;
public:
- JSHTMLDocument(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLDocument>);
+ JSHTMLDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLDocument>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue all(JSC::ExecState*) const;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp
index ce77377..7fe918a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp
@@ -41,7 +41,7 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLElement);
/* Hash table */
-static const HashTableValue JSHTMLElementTableValues[15] =
+static const HashTableValue JSHTMLElementTableValues[16] =
{
{ "id", DontDelete, (intptr_t)jsHTMLElementId, (intptr_t)setJSHTMLElementId },
{ "title", DontDelete, (intptr_t)jsHTMLElementTitle, (intptr_t)setJSHTMLElementTitle },
@@ -49,6 +49,7 @@ static const HashTableValue JSHTMLElementTableValues[15] =
{ "dir", DontDelete, (intptr_t)jsHTMLElementDir, (intptr_t)setJSHTMLElementDir },
{ "className", DontDelete, (intptr_t)jsHTMLElementClassName, (intptr_t)setJSHTMLElementClassName },
{ "tabIndex", DontDelete, (intptr_t)jsHTMLElementTabIndex, (intptr_t)setJSHTMLElementTabIndex },
+ { "draggable", DontDelete, (intptr_t)jsHTMLElementDraggable, (intptr_t)setJSHTMLElementDraggable },
{ "innerHTML", DontDelete, (intptr_t)jsHTMLElementInnerHTML, (intptr_t)setJSHTMLElementInnerHTML },
{ "innerText", DontDelete, (intptr_t)jsHTMLElementInnerText, (intptr_t)setJSHTMLElementInnerText },
{ "outerHTML", DontDelete, (intptr_t)jsHTMLElementOuterHTML, (intptr_t)setJSHTMLElementOuterHTML },
@@ -60,7 +61,7 @@ static const HashTableValue JSHTMLElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLElementTableValues, 0 };
#else
@@ -74,19 +75,19 @@ static const HashTableValue JSHTMLElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLElementConstructorTableValues, 0 };
#endif
-class JSHTMLElementConstructor : public DOMObject {
+class JSHTMLElementConstructor : public DOMConstructorObject {
public:
- JSHTMLElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -115,7 +116,7 @@ static const HashTableValue JSHTMLElementPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLElementPrototypeTableValues, 0 };
#else
@@ -136,8 +137,8 @@ bool JSHTMLElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSHTMLElement::s_info = { "HTMLElement", &JSElement::s_info, &JSHTMLElementTable, 0 };
-JSHTMLElement::JSHTMLElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLElement> impl)
- : JSElement(structure, impl)
+JSHTMLElement::JSHTMLElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> impl)
+ : JSElement(structure, globalObject, impl)
{
}
@@ -153,98 +154,120 @@ bool JSHTMLElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsHTMLElementId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::idAttr));
}
JSValue jsHTMLElementTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::titleAttr));
}
JSValue jsHTMLElementLang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::langAttr));
}
JSValue jsHTMLElementDir(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::dirAttr));
}
JSValue jsHTMLElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::classAttr));
}
JSValue jsHTMLElementTabIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsNumber(exec, imp->tabIndex());
}
+JSValue jsHTMLElementDraggable(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
+ return jsBoolean(imp->draggable());
+}
+
JSValue jsHTMLElementInnerHTML(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->innerHTML());
}
JSValue jsHTMLElementInnerText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->innerText());
}
JSValue jsHTMLElementOuterHTML(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->outerHTML());
}
JSValue jsHTMLElementOuterText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->outerText());
}
JSValue jsHTMLElementChildren(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->children()));
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->children()));
}
JSValue jsHTMLElementContentEditable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsString(exec, imp->contentEditable());
}
JSValue jsHTMLElementIsContentEditable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->impl());
+ HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl());
return jsBoolean(imp->isContentEditable());
}
JSValue jsHTMLElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLElement* domObject = static_cast<JSHTMLElement*>(asObject(slot.slotBase()));
+ return JSHTMLElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -287,6 +310,12 @@ void setJSHTMLElementTabIndex(ExecState* exec, JSObject* thisObject, JSValue val
imp->setTabIndex(value.toInt32(exec));
}
+void setJSHTMLElementDraggable(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(thisObject)->impl());
+ imp->setDraggable(value.toBoolean(exec));
+}
+
void setJSHTMLElementInnerHTML(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLElement* imp = static_cast<HTMLElement*>(static_cast<JSHTMLElement*>(thisObject)->impl());
@@ -325,9 +354,9 @@ void setJSHTMLElementContentEditable(ExecState* exec, JSObject* thisObject, JSVa
imp->setContentEditable(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLElement::getConstructor(ExecState* exec)
+JSValue JSHTMLElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLElementPrototypeFunctionInsertAdjacentElement(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -342,7 +371,7 @@ JSValue JSC_HOST_CALL jsHTMLElementPrototypeFunctionInsertAdjacentElement(ExecSt
Element* element = toElement(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertAdjacentElement(where, element, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertAdjacentElement(where, element, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h
index d4ca1f3..7675732 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h
@@ -31,7 +31,7 @@ class HTMLElement;
class JSHTMLElement : public JSElement {
typedef JSElement Base;
public:
- JSHTMLElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLElement>);
+ JSHTMLElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
virtual void pushEventHandlerScope(JSC::ExecState*, JSC::ScopeChain&) const;
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLElement* impl() const
{
return static_cast<HTMLElement*>(Base::impl());
@@ -87,6 +87,8 @@ JSC::JSValue jsHTMLElementClassName(JSC::ExecState*, const JSC::Identifier&, con
void setJSHTMLElementClassName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLElementTabIndex(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLElementTabIndex(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLElementDraggable(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLElementDraggable(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLElementInnerHTML(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLElementInnerHTML(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLElementInnerText(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp
index 7d66f62..1e9dc42 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp
@@ -170,342 +170,358 @@ namespace WebCore {
using namespace HTMLNames;
-typedef JSNode* (*CreateHTMLElementWrapperFunction)(ExecState*, PassRefPtr<HTMLElement>);
+typedef JSNode* (*CreateHTMLElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<HTMLElement>);
-static JSNode* createHTMLAnchorElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAnchorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAnchorElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAnchorElement, element.get());
}
-static JSNode* createHTMLAppletElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAppletElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAppletElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAppletElement, element.get());
}
-static JSNode* createHTMLAreaElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAreaElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAreaElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAreaElement, element.get());
}
#if ENABLE(VIDEO)
-static JSNode* createHTMLAudioElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLAudioElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLAudioElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLAudioElement, element.get());
}
#endif
-static JSNode* createHTMLBaseElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBaseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBaseElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBaseElement, element.get());
}
-static JSNode* createHTMLBaseFontElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBaseFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBaseFontElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBaseFontElement, element.get());
}
-static JSNode* createHTMLBlockquoteElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBlockquoteElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBlockquoteElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBlockquoteElement, element.get());
}
-static JSNode* createHTMLBodyElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBodyElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBodyElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBodyElement, element.get());
}
-static JSNode* createHTMLBRElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLBRElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLBRElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLBRElement, element.get());
}
-static JSNode* createHTMLButtonElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLButtonElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLButtonElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLButtonElement, element.get());
}
-static JSNode* createHTMLCanvasElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLCanvasElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLCanvasElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLCanvasElement, element.get());
}
-static JSNode* createHTMLTableCaptionElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableCaptionElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableCaptionElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableCaptionElement, element.get());
}
-static JSNode* createHTMLTableColElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableColElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableColElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableColElement, element.get());
}
-static JSNode* createHTMLDataGridElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridElement, element.get());
}
-static JSNode* createHTMLDataGridCellElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridCellElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridCellElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridCellElement, element.get());
}
-static JSNode* createHTMLDataGridColElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridColElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridColElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridColElement, element.get());
}
-static JSNode* createHTMLModElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+static JSNode* createHTMLModElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLModElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLModElement, element.get());
}
-static JSNode* createHTMLDirectoryElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLDirectoryElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDirectoryElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDirectoryElement, element.get());
}
-static JSNode* createHTMLDivElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLDivElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDivElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDivElement, element.get());
}
-static JSNode* createHTMLDListElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLDListElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDListElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDListElement, element.get());
}
-static JSNode* createHTMLDataGridRowElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#if ENABLE(DATAGRID)
+
+static JSNode* createHTMLDataGridRowElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLDataGridRowElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLDataGridRowElement, element.get());
}
-static JSNode* createHTMLEmbedElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+#endif
+
+static JSNode* createHTMLEmbedElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLEmbedElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLEmbedElement, element.get());
}
-static JSNode* createHTMLFieldSetElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFieldSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFieldSetElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFieldSetElement, element.get());
}
-static JSNode* createHTMLFontElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFontElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFontElement, element.get());
}
-static JSNode* createHTMLFormElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFormElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFormElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFormElement, element.get());
}
-static JSNode* createHTMLFrameElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFrameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFrameElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFrameElement, element.get());
}
-static JSNode* createHTMLFrameSetElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLFrameSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLFrameSetElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLFrameSetElement, element.get());
}
-static JSNode* createHTMLHeadingElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHeadingElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHeadingElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHeadingElement, element.get());
}
-static JSNode* createHTMLHeadElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHeadElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHeadElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHeadElement, element.get());
}
-static JSNode* createHTMLHRElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHRElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHRElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHRElement, element.get());
}
-static JSNode* createHTMLHtmlElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLHtmlElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLHtmlElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLHtmlElement, element.get());
}
-static JSNode* createHTMLIFrameElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLIFrameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLIFrameElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLIFrameElement, element.get());
}
-static JSNode* createHTMLImageElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLImageElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLImageElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLImageElement, element.get());
}
-static JSNode* createHTMLInputElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLInputElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLInputElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLInputElement, element.get());
}
-static JSNode* createHTMLIsIndexElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLIsIndexElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLIsIndexElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLIsIndexElement, element.get());
}
-static JSNode* createHTMLSelectElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLSelectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLSelectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLSelectElement, element.get());
}
-static JSNode* createHTMLLabelElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLabelElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLabelElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLabelElement, element.get());
}
-static JSNode* createHTMLLegendElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLegendElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLegendElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLegendElement, element.get());
}
-static JSNode* createHTMLLIElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLIElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLIElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLIElement, element.get());
}
-static JSNode* createHTMLLinkElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLLinkElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLLinkElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLLinkElement, element.get());
}
-static JSNode* createHTMLPreElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLPreElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLPreElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLPreElement, element.get());
}
-static JSNode* createHTMLMapElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMapElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMapElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMapElement, element.get());
}
-static JSNode* createHTMLMarqueeElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMarqueeElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMarqueeElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMarqueeElement, element.get());
}
-static JSNode* createHTMLMenuElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMenuElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMenuElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMenuElement, element.get());
}
-static JSNode* createHTMLMetaElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLMetaElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLMetaElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLMetaElement, element.get());
}
-static JSNode* createHTMLObjectElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLObjectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLObjectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLObjectElement, element.get());
}
-static JSNode* createHTMLOListElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLOListElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLOListElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLOListElement, element.get());
}
-static JSNode* createHTMLOptGroupElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLOptGroupElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLOptGroupElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLOptGroupElement, element.get());
}
-static JSNode* createHTMLOptionElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLOptionElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLOptionElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLOptionElement, element.get());
}
-static JSNode* createHTMLParagraphElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLParagraphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLParagraphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLParagraphElement, element.get());
}
-static JSNode* createHTMLParamElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLParamElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLParamElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLParamElement, element.get());
}
-static JSNode* createHTMLQuoteElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLQuoteElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLQuoteElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLQuoteElement, element.get());
}
-static JSNode* createHTMLScriptElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLScriptElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLScriptElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLScriptElement, element.get());
}
#if ENABLE(VIDEO)
-static JSNode* createHTMLSourceElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLSourceElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLSourceElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLSourceElement, element.get());
}
#endif
-static JSNode* createHTMLStyleElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLStyleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLStyleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLStyleElement, element.get());
}
-static JSNode* createHTMLTableElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableElement, element.get());
}
-static JSNode* createHTMLTableSectionElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableSectionElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableSectionElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableSectionElement, element.get());
}
-static JSNode* createHTMLTableCellElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableCellElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableCellElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableCellElement, element.get());
}
-static JSNode* createHTMLTextAreaElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTextAreaElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTextAreaElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTextAreaElement, element.get());
}
-static JSNode* createHTMLTitleElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTitleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTitleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTitleElement, element.get());
}
-static JSNode* createHTMLTableRowElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLTableRowElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLTableRowElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLTableRowElement, element.get());
}
-static JSNode* createHTMLUListElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLUListElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLUListElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLUListElement, element.get());
}
#if ENABLE(VIDEO)
-static JSNode* createHTMLVideoElementWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+static JSNode* createHTMLVideoElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
if (!MediaPlayer::isAvailable())
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLVideoElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLVideoElement, element.get());
}
#endif
-JSNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
+JSNode* createJSHTMLWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLElement> element)
{
typedef HashMap<WebCore::AtomicStringImpl*, CreateHTMLElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -526,14 +542,22 @@ JSNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
map.set(captionTag.localName().impl(), createHTMLTableCaptionElementWrapper);
map.set(colTag.localName().impl(), createHTMLTableColElementWrapper);
map.set(colgroupTag.localName().impl(), createHTMLTableColElementWrapper);
+#if ENABLE(DATAGRID)
map.set(datagridTag.localName().impl(), createHTMLDataGridElementWrapper);
+#endif
+#if ENABLE(DATAGRID)
map.set(dcellTag.localName().impl(), createHTMLDataGridCellElementWrapper);
+#endif
+#if ENABLE(DATAGRID)
map.set(dcolTag.localName().impl(), createHTMLDataGridColElementWrapper);
+#endif
map.set(delTag.localName().impl(), createHTMLModElementWrapper);
map.set(dirTag.localName().impl(), createHTMLDirectoryElementWrapper);
map.set(divTag.localName().impl(), createHTMLDivElementWrapper);
map.set(dlTag.localName().impl(), createHTMLDListElementWrapper);
+#if ENABLE(DATAGRID)
map.set(drowTag.localName().impl(), createHTMLDataGridRowElementWrapper);
+#endif
map.set(embedTag.localName().impl(), createHTMLEmbedElementWrapper);
map.set(fieldsetTag.localName().impl(), createHTMLFieldSetElementWrapper);
map.set(fontTag.localName().impl(), createHTMLFontElementWrapper);
@@ -596,8 +620,8 @@ JSNode* createJSHTMLWrapper(ExecState* exec, PassRefPtr<HTMLElement> element)
}
CreateHTMLElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
if (createWrapperFunction)
- return createWrapperFunction(exec, element);
- return CREATE_DOM_NODE_WRAPPER(exec, HTMLElement, element.get());
+ return createWrapperFunction(exec, globalObject, element);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, HTMLElement, element.get());
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h
index 9d11bbf..826f4fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h
@@ -39,9 +39,10 @@ namespace JSC {
namespace WebCore {
class JSNode;
+ class JSDOMGlobalObject;
class HTMLElement;
- JSNode* createJSHTMLWrapper(JSC::ExecState*, PassRefPtr<HTMLElement>);
+ JSNode* createJSHTMLWrapper(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<HTMLElement>);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp
index 107a225..430ca1c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSHTMLEmbedElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLEmbedElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLEmbedElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLEmbedElementTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSHTMLEmbedElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLEmbedElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLEmbedElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLEmbedElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLEmbedElementConstructorTableValues, 0 };
#endif
-class JSHTMLEmbedElementConstructor : public DOMObject {
+class JSHTMLEmbedElementConstructor : public DOMConstructorObject {
public:
- JSHTMLEmbedElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLEmbedElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLEmbedElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLEmbedElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLEmbedElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLEmbedElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSHTMLEmbedElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLEmbedElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLEmbedElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLEmbedElementPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSHTMLEmbedElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLEmbedElement::s_info = { "HTMLEmbedElement", &JSHTMLElement::s_info, &JSHTMLEmbedElementTable, 0 };
-JSHTMLEmbedElement::JSHTMLEmbedElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLEmbedElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLEmbedElement::JSHTMLEmbedElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLEmbedElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -149,49 +149,56 @@ bool JSHTMLEmbedElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLEmbedElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLEmbedElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLEmbedElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLEmbedElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLEmbedElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLEmbedElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLEmbedElement* castedThis = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->impl());
+ HTMLEmbedElement* imp = static_cast<HTMLEmbedElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLEmbedElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLEmbedElement* domObject = static_cast<JSHTMLEmbedElement*>(asObject(slot.slotBase()));
+ return JSHTMLEmbedElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLEmbedElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -236,9 +243,9 @@ void setJSHTMLEmbedElementWidth(ExecState* exec, JSObject* thisObject, JSValue v
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLEmbedElement::getConstructor(ExecState* exec)
+JSValue JSHTMLEmbedElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLEmbedElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLEmbedElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLEmbedElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -253,7 +260,7 @@ JSValue JSC_HOST_CALL jsHTMLEmbedElementPrototypeFunctionGetSVGDocument(ExecStat
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h
index 2538ee3..92eb7fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h
@@ -31,7 +31,7 @@ class HTMLEmbedElement;
class JSHTMLEmbedElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLEmbedElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLEmbedElement>);
+ JSHTMLEmbedElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLEmbedElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
@@ -47,7 +47,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLEmbedElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp
index 27a1ebb..ddf115f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp
@@ -24,6 +24,8 @@
#include "HTMLFieldSetElement.h"
#include "HTMLFormElement.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
+#include "ValidityState.h"
#include <wtf/GetPtr.h>
using namespace JSC;
@@ -34,15 +36,16 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLFieldSetElement);
/* Hash table */
-static const HashTableValue JSHTMLFieldSetElementTableValues[4] =
+static const HashTableValue JSHTMLFieldSetElementTableValues[5] =
{
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLFieldSetElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLFieldSetElementValidity, (intptr_t)0 },
{ "willValidate", DontDelete|ReadOnly, (intptr_t)jsHTMLFieldSetElementWillValidate, (intptr_t)0 },
{ "constructor", DontEnum|ReadOnly, (intptr_t)jsHTMLFieldSetElementConstructor, (intptr_t)0 },
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFieldSetElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFieldSetElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLFieldSetElementTableValues, 0 };
#else
@@ -56,19 +59,19 @@ static const HashTableValue JSHTMLFieldSetElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFieldSetElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFieldSetElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFieldSetElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFieldSetElementConstructorTableValues, 0 };
#endif
-class JSHTMLFieldSetElementConstructor : public DOMObject {
+class JSHTMLFieldSetElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFieldSetElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFieldSetElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFieldSetElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFieldSetElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFieldSetElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFieldSetElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +97,7 @@ static const HashTableValue JSHTMLFieldSetElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFieldSetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFieldSetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFieldSetElementPrototypeTableValues, 0 };
#else
@@ -110,8 +113,8 @@ JSObject* JSHTMLFieldSetElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLFieldSetElement::s_info = { "HTMLFieldSetElement", &JSHTMLElement::s_info, &JSHTMLFieldSetElementTable, 0 };
-JSHTMLFieldSetElement::JSHTMLFieldSetElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFieldSetElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFieldSetElement::JSHTMLFieldSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFieldSetElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,25 +130,36 @@ bool JSHTMLFieldSetElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLFieldSetElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFieldSetElement* castedThis = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLFieldSetElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLFieldSetElement* castedThis = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLFieldSetElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFieldSetElement* castedThis = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFieldSetElement* imp = static_cast<HTMLFieldSetElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLFieldSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFieldSetElement* domObject = static_cast<JSHTMLFieldSetElement*>(asObject(slot.slotBase()));
+ return JSHTMLFieldSetElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSHTMLFieldSetElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFieldSetElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFieldSetElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFieldSetElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h
index fa6c56c..d339d21 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h
@@ -30,7 +30,7 @@ class HTMLFieldSetElement;
class JSHTMLFieldSetElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFieldSetElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFieldSetElement>);
+ JSHTMLFieldSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFieldSetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -57,6 +57,7 @@ public:
// Attributes
JSC::JSValue jsHTMLFieldSetElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLFieldSetElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLFieldSetElementWillValidate(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLFieldSetElementConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp
index 0bff1ee..4ed60a2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSHTMLFontElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFontElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFontElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLFontElementTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSHTMLFontElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFontElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFontElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFontElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFontElementConstructorTableValues, 0 };
#endif
-class JSHTMLFontElementConstructor : public DOMObject {
+class JSHTMLFontElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFontElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFontElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFontElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFontElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFontElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFontElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSHTMLFontElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFontElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFontElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFontElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSHTMLFontElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLFontElement::s_info = { "HTMLFontElement", &JSHTMLElement::s_info, &JSHTMLFontElementTable, 0 };
-JSHTMLFontElement::JSHTMLFontElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFontElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFontElement::JSHTMLFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFontElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -128,28 +128,32 @@ bool JSHTMLFontElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLFontElementColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFontElement* castedThis = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFontElement* imp = static_cast<HTMLFontElement*>(static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFontElement* imp = static_cast<HTMLFontElement*>(castedThis->impl());
return jsString(exec, imp->color());
}
JSValue jsHTMLFontElementFace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFontElement* castedThis = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFontElement* imp = static_cast<HTMLFontElement*>(static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFontElement* imp = static_cast<HTMLFontElement*>(castedThis->impl());
return jsString(exec, imp->face());
}
JSValue jsHTMLFontElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFontElement* castedThis = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFontElement* imp = static_cast<HTMLFontElement*>(static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFontElement* imp = static_cast<HTMLFontElement*>(castedThis->impl());
return jsString(exec, imp->size());
}
JSValue jsHTMLFontElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFontElement* domObject = static_cast<JSHTMLFontElement*>(asObject(slot.slotBase()));
+ return JSHTMLFontElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFontElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -174,9 +178,9 @@ void setJSHTMLFontElementSize(ExecState* exec, JSObject* thisObject, JSValue val
imp->setSize(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLFontElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFontElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFontElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFontElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h
index c53d90a..6edf8fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h
@@ -30,7 +30,7 @@ class HTMLFontElement;
class JSHTMLFontElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFontElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFontElement>);
+ JSHTMLFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFontElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp
index de495a5..1f941c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp
@@ -55,7 +55,7 @@ static const HashTableValue JSHTMLFormElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFormElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFormElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSHTMLFormElementTableValues, 0 };
#else
@@ -69,19 +69,19 @@ static const HashTableValue JSHTMLFormElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFormElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFormElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFormElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFormElementConstructorTableValues, 0 };
#endif
-class JSHTMLFormElementConstructor : public DOMObject {
+class JSHTMLFormElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFormElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFormElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFormElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFormElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFormElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFormElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -109,7 +109,7 @@ static const HashTableValue JSHTMLFormElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFormElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFormElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLFormElementPrototypeTableValues, 0 };
#else
@@ -130,8 +130,8 @@ bool JSHTMLFormElementPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSHTMLFormElement::s_info = { "HTMLFormElement", &JSHTMLElement::s_info, &JSHTMLFormElementTable, 0 };
-JSHTMLFormElement::JSHTMLFormElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFormElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFormElement::JSHTMLFormElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFormElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -162,70 +162,80 @@ bool JSHTMLFormElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLFormElementElements(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->elements()));
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->elements()));
}
JSValue jsHTMLFormElementLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsHTMLFormElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLFormElementAcceptCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->acceptCharset());
}
JSValue jsHTMLFormElementAction(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->action());
}
JSValue jsHTMLFormElementEncoding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->encoding());
}
JSValue jsHTMLFormElementEnctype(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->enctype());
}
JSValue jsHTMLFormElementMethod(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->method());
}
JSValue jsHTMLFormElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFormElement* castedThis = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFormElement* imp = static_cast<HTMLFormElement*>(static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFormElement* imp = static_cast<HTMLFormElement*>(castedThis->impl());
return jsString(exec, imp->target());
}
JSValue jsHTMLFormElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFormElement* domObject = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
+ return JSHTMLFormElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFormElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -281,9 +291,9 @@ void JSHTMLFormElement::getPropertyNames(ExecState* exec, PropertyNameArray& pro
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSHTMLFormElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFormElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFormElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFormElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLFormElementPrototypeFunctionSubmit(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -311,7 +321,7 @@ JSValue JSC_HOST_CALL jsHTMLFormElementPrototypeFunctionReset(ExecState* exec, J
JSValue JSHTMLFormElement::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSHTMLFormElement* thisObj = static_cast<JSHTMLFormElement*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<HTMLFormElement*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLFormElement*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h
index b44e6db..6ad5c00 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h
@@ -30,7 +30,7 @@ class HTMLFormElement;
class JSHTMLFormElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFormElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFormElement>);
+ JSHTMLFormElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFormElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue submit(JSC::ExecState*, const JSC::ArgList&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp
index a5bff3e..2a87785 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp
@@ -62,7 +62,7 @@ static const HashTableValue JSHTMLFrameElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLFrameElementTableValues, 0 };
#else
@@ -76,19 +76,19 @@ static const HashTableValue JSHTMLFrameElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFrameElementConstructorTableValues, 0 };
#endif
-class JSHTMLFrameElementConstructor : public DOMObject {
+class JSHTMLFrameElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFrameElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFrameElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFrameElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFrameElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFrameElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFrameElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -115,7 +115,7 @@ static const HashTableValue JSHTMLFrameElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameElementPrototypeTableValues, 0 };
#else
@@ -136,8 +136,8 @@ bool JSHTMLFrameElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLFrameElement::s_info = { "HTMLFrameElement", &JSHTMLElement::s_info, &JSHTMLFrameElementTable, 0 };
-JSHTMLFrameElement::JSHTMLFrameElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFrameElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFrameElement::JSHTMLFrameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -153,97 +153,111 @@ bool JSHTMLFrameElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLFrameElementFrameBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->frameBorder());
}
JSValue jsHTMLFrameElementLongDesc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->longDesc());
}
JSValue jsHTMLFrameElementMarginHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginHeight());
}
JSValue jsHTMLFrameElementMarginWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginWidth());
}
JSValue jsHTMLFrameElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLFrameElementNoResize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsBoolean(imp->noResize());
}
JSValue jsHTMLFrameElementScrolling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->scrolling());
}
JSValue jsHTMLFrameElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLFrameElementContentDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, WTF::getPtr(imp->contentDocument())) : jsUndefined();
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentDocument())) : jsUndefined();
}
JSValue jsHTMLFrameElementContentWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->contentWindow()));
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentWindow()));
}
JSValue jsHTMLFrameElementLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsString(exec, imp->location());
}
JSValue jsHTMLFrameElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLFrameElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameElement* castedThis = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameElement* imp = static_cast<HTMLFrameElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFrameElement* domObject = static_cast<JSHTMLFrameElement*>(asObject(slot.slotBase()));
+ return JSHTMLFrameElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFrameElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -302,9 +316,9 @@ void setJSHTMLFrameElementLocation(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSHTMLFrameElement*>(thisObject)->setLocation(exec, value);
}
-JSValue JSHTMLFrameElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFrameElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFrameElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFrameElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLFrameElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -319,7 +333,7 @@ JSValue JSC_HOST_CALL jsHTMLFrameElementPrototypeFunctionGetSVGDocument(ExecStat
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h
index 573ff52..c89f3f8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h
@@ -30,7 +30,7 @@ class HTMLFrameElement;
class JSHTMLFrameElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFrameElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFrameElement>);
+ JSHTMLFrameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
void setSrc(JSC::ExecState*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
index 7abfddd..f720492 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSHTMLFrameSetElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameSetElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameSetElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLFrameSetElementTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSHTMLFrameSetElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameSetElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameSetElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameSetElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLFrameSetElementConstructorTableValues, 0 };
#endif
-class JSHTMLFrameSetElementConstructor : public DOMObject {
+class JSHTMLFrameSetElementConstructor : public DOMConstructorObject {
public:
- JSHTMLFrameSetElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLFrameSetElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLFrameSetElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLFrameSetElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLFrameSetElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLFrameSetElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +106,7 @@ static const HashTableValue JSHTMLFrameSetElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLFrameSetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLFrameSetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLFrameSetElementPrototypeTableValues, 0 };
#else
@@ -122,8 +122,8 @@ JSObject* JSHTMLFrameSetElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLFrameSetElement::s_info = { "HTMLFrameSetElement", &JSHTMLElement::s_info, &JSHTMLFrameSetElementTable, 0 };
-JSHTMLFrameSetElement::JSHTMLFrameSetElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLFrameSetElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLFrameSetElement::JSHTMLFrameSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLFrameSetElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -143,22 +143,25 @@ bool JSHTMLFrameSetElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLFrameSetElementCols(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
return jsString(exec, imp->cols());
}
JSValue jsHTMLFrameSetElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
return jsString(exec, imp->rows());
}
JSValue jsHTMLFrameSetElementOnbeforeunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onbeforeunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -168,8 +171,9 @@ JSValue jsHTMLFrameSetElementOnbeforeunload(ExecState* exec, const Identifier&,
JSValue jsHTMLFrameSetElementOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -179,8 +183,9 @@ JSValue jsHTMLFrameSetElementOnmessage(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnoffline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onoffline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -190,8 +195,9 @@ JSValue jsHTMLFrameSetElementOnoffline(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnonline(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->ononline()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -201,8 +207,9 @@ JSValue jsHTMLFrameSetElementOnonline(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -212,8 +219,9 @@ JSValue jsHTMLFrameSetElementOnresize(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnstorage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onstorage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -223,8 +231,9 @@ JSValue jsHTMLFrameSetElementOnstorage(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLFrameSetElement* castedThis = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->impl());
+ HTMLFrameSetElement* imp = static_cast<HTMLFrameSetElement*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -234,7 +243,8 @@ JSValue jsHTMLFrameSetElementOnunload(ExecState* exec, const Identifier&, const
JSValue jsHTMLFrameSetElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLFrameSetElement* domObject = static_cast<JSHTMLFrameSetElement*>(asObject(slot.slotBase()));
+ return JSHTMLFrameSetElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLFrameSetElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -323,9 +333,9 @@ void setJSHTMLFrameSetElementOnunload(ExecState* exec, JSObject* thisObject, JSV
imp->setOnunload(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSHTMLFrameSetElement::getConstructor(ExecState* exec)
+JSValue JSHTMLFrameSetElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLFrameSetElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLFrameSetElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h
index c4528e5..5b0f82f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h
@@ -30,7 +30,7 @@ class HTMLFrameSetElement;
class JSHTMLFrameSetElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLFrameSetElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLFrameSetElement>);
+ JSHTMLFrameSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLFrameSetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLFrameSetElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp
index 8ec45b5..2c4232c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLHRElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHRElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHRElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLHRElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLHRElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHRElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHRElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHRElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHRElementConstructorTableValues, 0 };
#endif
-class JSHTMLHRElementConstructor : public DOMObject {
+class JSHTMLHRElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHRElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHRElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHRElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHRElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHRElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHRElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLHRElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHRElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHRElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHRElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLHRElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSHTMLHRElement::s_info = { "HTMLHRElement", &JSHTMLElement::s_info, &JSHTMLHRElementTable, 0 };
-JSHTMLHRElement::JSHTMLHRElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHRElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHRElement::JSHTMLHRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHRElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,35 +129,40 @@ bool JSHTMLHRElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsHTMLHRElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLHRElementNoShade(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsBoolean(imp->noShade());
}
JSValue jsHTMLHRElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsString(exec, imp->size());
}
JSValue jsHTMLHRElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHRElement* castedThis = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHRElement* imp = static_cast<HTMLHRElement*>(static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHRElement* imp = static_cast<HTMLHRElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLHRElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHRElement* domObject = static_cast<JSHTMLHRElement*>(asObject(slot.slotBase()));
+ return JSHTMLHRElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHRElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -188,9 +193,9 @@ void setJSHTMLHRElementWidth(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHRElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHRElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHRElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHRElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h
index fb62440..c420fae 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h
@@ -30,7 +30,7 @@ class HTMLHRElement;
class JSHTMLHRElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHRElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHRElement>);
+ JSHTMLHRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHRElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp
index a2ec868..e04d2d9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLHeadElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLHeadElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLHeadElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHeadElementConstructorTableValues, 0 };
#endif
-class JSHTMLHeadElementConstructor : public DOMObject {
+class JSHTMLHeadElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHeadElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHeadElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHeadElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHeadElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHeadElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHeadElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLHeadElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLHeadElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLHeadElement::s_info = { "HTMLHeadElement", &JSHTMLElement::s_info, &JSHTMLHeadElementTable, 0 };
-JSHTMLHeadElement::JSHTMLHeadElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHeadElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHeadElement::JSHTMLHeadElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLHeadElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLHeadElementProfile(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHeadElement* castedThis = static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHeadElement* imp = static_cast<HTMLHeadElement*>(static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHeadElement* imp = static_cast<HTMLHeadElement*>(castedThis->impl());
return jsString(exec, imp->profile());
}
JSValue jsHTMLHeadElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHeadElement* domObject = static_cast<JSHTMLHeadElement*>(asObject(slot.slotBase()));
+ return JSHTMLHeadElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHeadElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLHeadElementProfile(ExecState* exec, JSObject* thisObject, JSValue
imp->setProfile(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHeadElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHeadElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHeadElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHeadElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h
index b63b317..9545349 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h
@@ -30,7 +30,7 @@ class HTMLHeadElement;
class JSHTMLHeadElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHeadElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHeadElement>);
+ JSHTMLHeadElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp
index 5a5b8b2..57b3c23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLHeadingElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadingElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadingElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLHeadingElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLHeadingElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadingElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadingElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadingElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHeadingElementConstructorTableValues, 0 };
#endif
-class JSHTMLHeadingElementConstructor : public DOMObject {
+class JSHTMLHeadingElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHeadingElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHeadingElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHeadingElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHeadingElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHeadingElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHeadingElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLHeadingElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHeadingElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHeadingElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHeadingElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLHeadingElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSHTMLHeadingElement::s_info = { "HTMLHeadingElement", &JSHTMLElement::s_info, &JSHTMLHeadingElementTable, 0 };
-JSHTMLHeadingElement::JSHTMLHeadingElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHeadingElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHeadingElement::JSHTMLHeadingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHeadingElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLHeadingElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLHeadingElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHeadingElement* castedThis = static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHeadingElement* imp = static_cast<HTMLHeadingElement*>(static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHeadingElement* imp = static_cast<HTMLHeadingElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLHeadingElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHeadingElement* domObject = static_cast<JSHTMLHeadingElement*>(asObject(slot.slotBase()));
+ return JSHTMLHeadingElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHeadingElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLHeadingElementAlign(ExecState* exec, JSObject* thisObject, JSValue
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHeadingElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHeadingElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHeadingElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHeadingElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h
index a5fdd87..590d603 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h
@@ -30,7 +30,7 @@ class HTMLHeadingElement;
class JSHTMLHeadingElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHeadingElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHeadingElement>);
+ JSHTMLHeadingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHeadingElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp
index 95ab223..8060fc1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLHtmlElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHtmlElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHtmlElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLHtmlElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLHtmlElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHtmlElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHtmlElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHtmlElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLHtmlElementConstructorTableValues, 0 };
#endif
-class JSHTMLHtmlElementConstructor : public DOMObject {
+class JSHTMLHtmlElementConstructor : public DOMConstructorObject {
public:
- JSHTMLHtmlElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLHtmlElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLHtmlElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLHtmlElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLHtmlElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLHtmlElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLHtmlElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLHtmlElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLHtmlElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLHtmlElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLHtmlElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLHtmlElement::s_info = { "HTMLHtmlElement", &JSHTMLElement::s_info, &JSHTMLHtmlElementTable, 0 };
-JSHTMLHtmlElement::JSHTMLHtmlElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLHtmlElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLHtmlElement::JSHTMLHtmlElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLHtmlElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLHtmlElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLHtmlElementVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLHtmlElement* castedThis = static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLHtmlElement* imp = static_cast<HTMLHtmlElement*>(static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()))->impl());
+ HTMLHtmlElement* imp = static_cast<HTMLHtmlElement*>(castedThis->impl());
return jsString(exec, imp->version());
}
JSValue jsHTMLHtmlElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLHtmlElement* domObject = static_cast<JSHTMLHtmlElement*>(asObject(slot.slotBase()));
+ return JSHTMLHtmlElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLHtmlElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLHtmlElementVersion(ExecState* exec, JSObject* thisObject, JSValue
imp->setVersion(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLHtmlElement::getConstructor(ExecState* exec)
+JSValue JSHTMLHtmlElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLHtmlElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLHtmlElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h
index b9e49c7..fb6150a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h
@@ -30,7 +30,7 @@ class HTMLHtmlElement;
class JSHTMLHtmlElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLHtmlElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLHtmlElement>);
+ JSHTMLHtmlElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLHtmlElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp
index 068dfc2..b11b753 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSHTMLIFrameElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIFrameElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIFrameElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLIFrameElementTableValues, 0 };
#else
@@ -74,19 +74,19 @@ static const HashTableValue JSHTMLIFrameElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIFrameElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIFrameElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIFrameElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLIFrameElementConstructorTableValues, 0 };
#endif
-class JSHTMLIFrameElementConstructor : public DOMObject {
+class JSHTMLIFrameElementConstructor : public DOMConstructorObject {
public:
- JSHTMLIFrameElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLIFrameElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLIFrameElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLIFrameElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLIFrameElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLIFrameElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -113,7 +113,7 @@ static const HashTableValue JSHTMLIFrameElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIFrameElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIFrameElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIFrameElementPrototypeTableValues, 0 };
#else
@@ -134,8 +134,8 @@ bool JSHTMLIFrameElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLIFrameElement::s_info = { "HTMLIFrameElement", &JSHTMLElement::s_info, &JSHTMLIFrameElementTable, 0 };
-JSHTMLIFrameElement::JSHTMLIFrameElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLIFrameElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLIFrameElement::JSHTMLIFrameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIFrameElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -151,90 +151,103 @@ bool JSHTMLIFrameElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLIFrameElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLIFrameElementFrameBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->frameBorder());
}
JSValue jsHTMLIFrameElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLIFrameElementLongDesc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->longDesc());
}
JSValue jsHTMLIFrameElementMarginHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginHeight());
}
JSValue jsHTMLIFrameElementMarginWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->marginWidth());
}
JSValue jsHTMLIFrameElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLIFrameElementScrolling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->scrolling());
}
JSValue jsHTMLIFrameElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLIFrameElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLIFrameElementContentDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, WTF::getPtr(imp->contentDocument())) : jsUndefined();
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentDocument())) : jsUndefined();
}
JSValue jsHTMLIFrameElementContentWindow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIFrameElement* castedThis = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->contentWindow()));
+ HTMLIFrameElement* imp = static_cast<HTMLIFrameElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentWindow()));
}
JSValue jsHTMLIFrameElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLIFrameElement* domObject = static_cast<JSHTMLIFrameElement*>(asObject(slot.slotBase()));
+ return JSHTMLIFrameElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLIFrameElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -300,9 +313,9 @@ void setJSHTMLIFrameElementWidth(ExecState* exec, JSObject* thisObject, JSValue
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLIFrameElement::getConstructor(ExecState* exec)
+JSValue JSHTMLIFrameElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLIFrameElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLIFrameElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLIFrameElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsHTMLIFrameElementPrototypeFunctionGetSVGDocument(ExecSta
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h
index 158ae70..a1a62be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h
@@ -30,7 +30,7 @@ class HTMLIFrameElement;
class JSHTMLIFrameElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLIFrameElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLIFrameElement>);
+ JSHTMLIFrameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIFrameElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
void setSrc(JSC::ExecState*, JSC::JSValue);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp
index a0259bb..0fdb334 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSHTMLImageElementTableValues[20] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLImageElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLImageElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 16383, JSHTMLImageElementTableValues, 0 };
#else
@@ -74,19 +74,19 @@ static const HashTableValue JSHTMLImageElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLImageElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLImageElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLImageElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLImageElementConstructorTableValues, 0 };
#endif
-class JSHTMLImageElementConstructor : public DOMObject {
+class JSHTMLImageElementConstructor : public DOMConstructorObject {
public:
- JSHTMLImageElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLImageElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLImageElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLImageElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLImageElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -112,7 +112,7 @@ static const HashTableValue JSHTMLImageElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLImageElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLImageElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLImageElementPrototypeTableValues, 0 };
#else
@@ -128,8 +128,8 @@ JSObject* JSHTMLImageElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLImageElement::s_info = { "HTMLImageElement", &JSHTMLElement::s_info, &JSHTMLImageElementTable, 0 };
-JSHTMLImageElement::JSHTMLImageElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLImageElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLImageElement::JSHTMLImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLImageElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -145,133 +145,152 @@ bool JSHTMLImageElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLImageElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::nameAttr));
}
JSValue jsHTMLImageElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::alignAttr));
}
JSValue jsHTMLImageElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::altAttr));
}
JSValue jsHTMLImageElementBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::borderAttr));
}
JSValue jsHTMLImageElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLImageElementHspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->hspace());
}
JSValue jsHTMLImageElementIsMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsBoolean(imp->isMap());
}
JSValue jsHTMLImageElementLongDesc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getURLAttribute(HTMLNames::longdescAttr));
}
JSValue jsHTMLImageElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getURLAttribute(HTMLNames::srcAttr));
}
JSValue jsHTMLImageElementUseMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getAttribute(HTMLNames::usemapAttr));
}
JSValue jsHTMLImageElementVspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->vspace());
}
JSValue jsHTMLImageElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLImageElementComplete(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsBoolean(imp->complete());
}
JSValue jsHTMLImageElementLowsrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsString(exec, imp->getURLAttribute(HTMLNames::lowsrcAttr));
}
JSValue jsHTMLImageElementNaturalHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->naturalHeight());
}
JSValue jsHTMLImageElementNaturalWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->naturalWidth());
}
JSValue jsHTMLImageElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsHTMLImageElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLImageElement* castedThis = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLImageElement* imp = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->impl());
+ HTMLImageElement* imp = static_cast<HTMLImageElement*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsHTMLImageElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLImageElement* domObject = static_cast<JSHTMLImageElement*>(asObject(slot.slotBase()));
+ return JSHTMLImageElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLImageElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -356,9 +375,9 @@ void setJSHTMLImageElementLowsrc(ExecState* exec, JSObject* thisObject, JSValue
imp->setAttribute(HTMLNames::lowsrcAttr, valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLImageElement::getConstructor(ExecState* exec)
+JSValue JSHTMLImageElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLImageElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLImageElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h
index d24fda0..ec618c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h
@@ -30,7 +30,7 @@ class HTMLImageElement;
class JSHTMLImageElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLImageElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLImageElement>);
+ JSHTMLImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLImageElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp
index 720249a..8499893 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp
@@ -24,9 +24,12 @@
#include "FileList.h"
#include "HTMLFormElement.h"
#include "HTMLInputElement.h"
+#include "HTMLNames.h"
#include "JSFileList.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
#include "KURL.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -40,11 +43,12 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLInputElement);
/* Hash table */
-static const HashTableValue JSHTMLInputElementTableValues[27] =
+static const HashTableValue JSHTMLInputElementTableValues[30] =
{
{ "defaultValue", DontDelete, (intptr_t)jsHTMLInputElementDefaultValue, (intptr_t)setJSHTMLInputElementDefaultValue },
{ "defaultChecked", DontDelete, (intptr_t)jsHTMLInputElementDefaultChecked, (intptr_t)setJSHTMLInputElementDefaultChecked },
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLInputElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLInputElementValidity, (intptr_t)0 },
{ "accept", DontDelete, (intptr_t)jsHTMLInputElementAccept, (intptr_t)setJSHTMLInputElementAccept },
{ "accessKey", DontDelete, (intptr_t)jsHTMLInputElementAccessKey, (intptr_t)setJSHTMLInputElementAccessKey },
{ "align", DontDelete, (intptr_t)jsHTMLInputElementAlign, (intptr_t)setJSHTMLInputElementAlign },
@@ -55,8 +59,10 @@ static const HashTableValue JSHTMLInputElementTableValues[27] =
{ "maxLength", DontDelete, (intptr_t)jsHTMLInputElementMaxLength, (intptr_t)setJSHTMLInputElementMaxLength },
{ "multiple", DontDelete, (intptr_t)jsHTMLInputElementMultiple, (intptr_t)setJSHTMLInputElementMultiple },
{ "name", DontDelete, (intptr_t)jsHTMLInputElementName, (intptr_t)setJSHTMLInputElementName },
+ { "pattern", DontDelete, (intptr_t)jsHTMLInputElementPattern, (intptr_t)setJSHTMLInputElementPattern },
{ "placeholder", DontDelete, (intptr_t)jsHTMLInputElementPlaceholder, (intptr_t)setJSHTMLInputElementPlaceholder },
{ "readOnly", DontDelete, (intptr_t)jsHTMLInputElementReadOnly, (intptr_t)setJSHTMLInputElementReadOnly },
+ { "required", DontDelete, (intptr_t)jsHTMLInputElementRequired, (intptr_t)setJSHTMLInputElementRequired },
{ "size", DontDelete, (intptr_t)jsHTMLInputElementSize, (intptr_t)setJSHTMLInputElementSize },
{ "src", DontDelete, (intptr_t)jsHTMLInputElementSrc, (intptr_t)setJSHTMLInputElementSrc },
{ "type", DontDelete, (intptr_t)jsHTMLInputElementType, (intptr_t)setJSHTMLInputElementType },
@@ -71,11 +77,11 @@ static const HashTableValue JSHTMLInputElementTableValues[27] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLInputElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLInputElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
- { 255, JSHTMLInputElementTableValues, 0 };
+ { 2047, JSHTMLInputElementTableValues, 0 };
#else
- { 70, 63, JSHTMLInputElementTableValues, 0 };
+ { 71, 63, JSHTMLInputElementTableValues, 0 };
#endif
/* Hash table for constructor */
@@ -85,19 +91,19 @@ static const HashTableValue JSHTMLInputElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLInputElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLInputElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLInputElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLInputElementConstructorTableValues, 0 };
#endif
-class JSHTMLInputElementConstructor : public DOMObject {
+class JSHTMLInputElementConstructor : public DOMConstructorObject {
public:
- JSHTMLInputElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLInputElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLInputElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLInputElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLInputElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLInputElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -126,7 +132,7 @@ static const HashTableValue JSHTMLInputElementPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLInputElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLInputElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLInputElementPrototypeTableValues, 0 };
#else
@@ -147,8 +153,8 @@ bool JSHTMLInputElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLInputElement::s_info = { "HTMLInputElement", &JSHTMLElement::s_info, &JSHTMLInputElementTable, 0 };
-JSHTMLInputElement::JSHTMLInputElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLInputElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLInputElement::JSHTMLInputElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLInputElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -164,176 +170,226 @@ bool JSHTMLInputElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLInputElementDefaultValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->defaultValue());
}
JSValue jsHTMLInputElementDefaultChecked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->defaultChecked());
}
JSValue jsHTMLInputElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLInputElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLInputElementAccept(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->accept());
}
JSValue jsHTMLInputElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLInputElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLInputElementAlt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->alt());
}
JSValue jsHTMLInputElementChecked(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->checked());
}
JSValue jsHTMLInputElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLInputElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLInputElementMaxLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsNumber(exec, imp->maxLength());
}
JSValue jsHTMLInputElementMultiple(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->multiple());
}
JSValue jsHTMLInputElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
+JSValue jsHTMLInputElementPattern(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return jsString(exec, imp->getAttribute(HTMLNames::patternAttr));
+}
+
JSValue jsHTMLInputElementPlaceholder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->placeholder());
}
JSValue jsHTMLInputElementReadOnly(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->readOnly());
}
+JSValue jsHTMLInputElementRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return jsBoolean(imp->required());
+}
+
JSValue jsHTMLInputElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsNumber(exec, imp->size());
}
JSValue jsHTMLInputElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLInputElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->type(exec);
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return castedThis->type(exec);
}
JSValue jsHTMLInputElementUseMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->useMap());
}
JSValue jsHTMLInputElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLInputElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLInputElementIndeterminate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
return jsBoolean(imp->indeterminate());
}
JSValue jsHTMLInputElementSelectionStart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->selectionStart(exec);
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return castedThis->selectionStart(exec);
}
JSValue jsHTMLInputElementSelectionEnd(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->selectionEnd(exec);
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return castedThis->selectionEnd(exec);
}
JSValue jsHTMLInputElementFiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLInputElement* castedThis = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->files()));
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->files()));
}
JSValue jsHTMLInputElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLInputElement* domObject = static_cast<JSHTMLInputElement*>(asObject(slot.slotBase()));
+ return JSHTMLInputElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLInputElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -412,6 +468,12 @@ void setJSHTMLInputElementName(ExecState* exec, JSObject* thisObject, JSValue va
imp->setName(valueToStringWithNullCheck(exec, value));
}
+void setJSHTMLInputElementPattern(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
+ imp->setAttribute(HTMLNames::patternAttr, value.toString(exec));
+}
+
void setJSHTMLInputElementPlaceholder(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
@@ -424,6 +486,12 @@ void setJSHTMLInputElementReadOnly(ExecState* exec, JSObject* thisObject, JSValu
imp->setReadOnly(value.toBoolean(exec));
}
+void setJSHTMLInputElementRequired(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
+ imp->setRequired(value.toBoolean(exec));
+}
+
void setJSHTMLInputElementSize(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLInputElement* imp = static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElement*>(thisObject)->impl());
@@ -470,9 +538,9 @@ void setJSHTMLInputElementSelectionEnd(ExecState* exec, JSObject* thisObject, JS
static_cast<JSHTMLInputElement*>(thisObject)->setSelectionEnd(exec, value);
}
-JSValue JSHTMLInputElement::getConstructor(ExecState* exec)
+JSValue JSHTMLInputElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLInputElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLInputElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLInputElementPrototypeFunctionSelect(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h
index ef9431c..8a5f61a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h
@@ -30,7 +30,7 @@ class HTMLInputElement;
class JSHTMLInputElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLInputElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLInputElement>);
+ JSHTMLInputElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLInputElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue type(JSC::ExecState*) const;
@@ -82,6 +82,7 @@ void setJSHTMLInputElementDefaultValue(JSC::ExecState*, JSC::JSObject*, JSC::JSV
JSC::JSValue jsHTMLInputElementDefaultChecked(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementDefaultChecked(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLInputElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLInputElementAccept(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementAccept(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementAccessKey(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -102,10 +103,14 @@ JSC::JSValue jsHTMLInputElementMultiple(JSC::ExecState*, const JSC::Identifier&,
void setJSHTMLInputElementMultiple(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementName(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLInputElementPattern(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLInputElementPattern(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementPlaceholder(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementPlaceholder(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementReadOnly(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementReadOnly(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLInputElementRequired(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLInputElementRequired(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementSize(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLInputElementSize(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLInputElementSrc(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp
index d23f3f1..b937fb5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLIsIndexElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIsIndexElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIsIndexElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLIsIndexElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLIsIndexElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIsIndexElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIsIndexElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIsIndexElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLIsIndexElementConstructorTableValues, 0 };
#endif
-class JSHTMLIsIndexElementConstructor : public DOMObject {
+class JSHTMLIsIndexElementConstructor : public DOMConstructorObject {
public:
- JSHTMLIsIndexElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLIsIndexElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLIsIndexElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLIsIndexElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLIsIndexElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLIsIndexElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLIsIndexElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLIsIndexElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLIsIndexElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLIsIndexElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLIsIndexElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSHTMLIsIndexElement::s_info = { "HTMLIsIndexElement", &JSHTMLInputElement::s_info, &JSHTMLIsIndexElementTable, 0 };
-JSHTMLIsIndexElement::JSHTMLIsIndexElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLIsIndexElement> impl)
- : JSHTMLInputElement(structure, impl)
+JSHTMLIsIndexElement::JSHTMLIsIndexElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLIsIndexElement> impl)
+ : JSHTMLInputElement(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSHTMLIsIndexElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLIsIndexElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIsIndexElement* castedThis = static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLIsIndexElementPrompt(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLIsIndexElement* castedThis = static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()))->impl());
+ HTMLIsIndexElement* imp = static_cast<HTMLIsIndexElement*>(castedThis->impl());
return jsString(exec, imp->prompt());
}
JSValue jsHTMLIsIndexElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLIsIndexElement* domObject = static_cast<JSHTMLIsIndexElement*>(asObject(slot.slotBase()));
+ return JSHTMLIsIndexElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLIsIndexElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -156,9 +159,9 @@ void setJSHTMLIsIndexElementPrompt(ExecState* exec, JSObject* thisObject, JSValu
imp->setPrompt(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLIsIndexElement::getConstructor(ExecState* exec)
+JSValue JSHTMLIsIndexElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLIsIndexElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLIsIndexElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h
index a4a3363..335e785 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h
@@ -30,7 +30,7 @@ class HTMLIsIndexElement;
class JSHTMLIsIndexElement : public JSHTMLInputElement {
typedef JSHTMLInputElement Base;
public:
- JSHTMLIsIndexElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLIsIndexElement>);
+ JSHTMLIsIndexElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLIsIndexElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp
index 35f00d2..f82c7b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSHTMLLIElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLIElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLIElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLLIElementTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSHTMLLIElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLIElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLIElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLIElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLIElementConstructorTableValues, 0 };
#endif
-class JSHTMLLIElementConstructor : public DOMObject {
+class JSHTMLLIElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLIElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLIElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLIElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLIElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLIElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLIElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -95,7 +95,7 @@ static const HashTableValue JSHTMLLIElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLIElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLIElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLIElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ JSObject* JSHTMLLIElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSHTMLLIElement::s_info = { "HTMLLIElement", &JSHTMLElement::s_info, &JSHTMLLIElementTable, 0 };
-JSHTMLLIElement::JSHTMLLIElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLIElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLIElement::JSHTMLLIElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLIElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -128,21 +128,24 @@ bool JSHTMLLIElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsHTMLLIElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLIElement* castedThis = static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLIElement* imp = static_cast<HTMLLIElement*>(static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLIElement* imp = static_cast<HTMLLIElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLLIElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLIElement* castedThis = static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLIElement* imp = static_cast<HTMLLIElement*>(static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLIElement* imp = static_cast<HTMLLIElement*>(castedThis->impl());
return jsNumber(exec, imp->value());
}
JSValue jsHTMLLIElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLIElement* domObject = static_cast<JSHTMLLIElement*>(asObject(slot.slotBase()));
+ return JSHTMLLIElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLIElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -161,9 +164,9 @@ void setJSHTMLLIElementValue(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setValue(value.toInt32(exec));
}
-JSValue JSHTMLLIElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLIElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLIElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLIElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h
index 1c3ffcd..92ee1a6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h
@@ -30,7 +30,7 @@ class HTMLLIElement;
class JSHTMLLIElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLIElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLIElement>);
+ JSHTMLLIElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLIElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp
index 24d1f57..c765a38 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSHTMLLabelElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLabelElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLabelElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLLabelElementTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSHTMLLabelElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLabelElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLabelElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLabelElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLabelElementConstructorTableValues, 0 };
#endif
-class JSHTMLLabelElementConstructor : public DOMObject {
+class JSHTMLLabelElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLabelElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLabelElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLabelElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLabelElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLabelElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLabelElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSHTMLLabelElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLabelElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLabelElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLabelElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSHTMLLabelElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLLabelElement::s_info = { "HTMLLabelElement", &JSHTMLElement::s_info, &JSHTMLLabelElementTable, 0 };
-JSHTMLLabelElement::JSHTMLLabelElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLabelElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLabelElement::JSHTMLLabelElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLabelElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -130,28 +130,32 @@ bool JSHTMLLabelElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLLabelElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLabelElement* castedThis = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLLabelElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLabelElement* castedThis = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLLabelElementHtmlFor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLabelElement* castedThis = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLabelElement* imp = static_cast<HTMLLabelElement*>(castedThis->impl());
return jsString(exec, imp->htmlFor());
}
JSValue jsHTMLLabelElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLabelElement* domObject = static_cast<JSHTMLLabelElement*>(asObject(slot.slotBase()));
+ return JSHTMLLabelElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLabelElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -170,9 +174,9 @@ void setJSHTMLLabelElementHtmlFor(ExecState* exec, JSObject* thisObject, JSValue
imp->setHtmlFor(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLLabelElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLabelElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLabelElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLabelElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h
index 32eb056..4ec25cc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h
@@ -30,7 +30,7 @@ class HTMLLabelElement;
class JSHTMLLabelElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLabelElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLabelElement>);
+ JSHTMLLabelElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLabelElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp
index b52f3e9..1094cf4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSHTMLLegendElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLegendElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLegendElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLLegendElementTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSHTMLLegendElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLegendElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLegendElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLegendElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLegendElementConstructorTableValues, 0 };
#endif
-class JSHTMLLegendElementConstructor : public DOMObject {
+class JSHTMLLegendElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLegendElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLegendElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLegendElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLegendElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLegendElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLegendElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -97,7 +97,7 @@ static const HashTableValue JSHTMLLegendElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLegendElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLegendElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLegendElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ JSObject* JSHTMLLegendElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLLegendElement::s_info = { "HTMLLegendElement", &JSHTMLElement::s_info, &JSHTMLLegendElementTable, 0 };
-JSHTMLLegendElement::JSHTMLLegendElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLegendElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLegendElement::JSHTMLLegendElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLegendElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -130,28 +130,32 @@ bool JSHTMLLegendElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLLegendElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLegendElement* castedThis = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLLegendElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLegendElement* castedThis = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLLegendElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLegendElement* castedThis = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLegendElement* imp = static_cast<HTMLLegendElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLLegendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLegendElement* domObject = static_cast<JSHTMLLegendElement*>(asObject(slot.slotBase()));
+ return JSHTMLLegendElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLegendElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -170,9 +174,9 @@ void setJSHTMLLegendElementAlign(ExecState* exec, JSObject* thisObject, JSValue
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLLegendElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLegendElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLegendElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLegendElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h
index 9f0b2c2..507a8ba 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h
@@ -30,7 +30,7 @@ class HTMLLegendElement;
class JSHTMLLegendElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLegendElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLegendElement>);
+ JSHTMLLegendElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLegendElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp
index c40004e..6163872 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSHTMLLinkElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLinkElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLinkElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLLinkElementTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSHTMLLinkElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLinkElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLinkElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLinkElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLLinkElementConstructorTableValues, 0 };
#endif
-class JSHTMLLinkElementConstructor : public DOMObject {
+class JSHTMLLinkElementConstructor : public DOMConstructorObject {
public:
- JSHTMLLinkElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLLinkElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLLinkElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLLinkElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLLinkElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLLinkElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSHTMLLinkElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLLinkElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLLinkElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLLinkElementPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ JSObject* JSHTMLLinkElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLLinkElement::s_info = { "HTMLLinkElement", &JSHTMLElement::s_info, &JSHTMLLinkElementTable, 0 };
-JSHTMLLinkElement::JSHTMLLinkElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLLinkElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLLinkElement::JSHTMLLinkElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLLinkElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -137,77 +137,88 @@ bool JSHTMLLinkElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLLinkElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLLinkElementCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->charset());
}
JSValue jsHTMLLinkElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->href());
}
JSValue jsHTMLLinkElementHreflang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->hreflang());
}
JSValue jsHTMLLinkElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsHTMLLinkElementRel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->rel());
}
JSValue jsHTMLLinkElementRev(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->rev());
}
JSValue jsHTMLLinkElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->target());
}
JSValue jsHTMLLinkElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLLinkElementSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLLinkElement* castedThis = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sheet()));
+ HTMLLinkElement* imp = static_cast<HTMLLinkElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sheet()));
}
JSValue jsHTMLLinkElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLLinkElement* domObject = static_cast<JSHTMLLinkElement*>(asObject(slot.slotBase()));
+ return JSHTMLLinkElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLLinkElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -268,9 +279,9 @@ void setJSHTMLLinkElementType(ExecState* exec, JSObject* thisObject, JSValue val
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLLinkElement::getConstructor(ExecState* exec)
+JSValue JSHTMLLinkElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLLinkElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLLinkElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h
index d1bb4de..4d3e094 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h
@@ -30,7 +30,7 @@ class HTMLLinkElement;
class JSHTMLLinkElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLLinkElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLLinkElement>);
+ JSHTMLLinkElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLLinkElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp
index 458c3f1..ab7fcd6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLMapElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMapElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMapElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLMapElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLMapElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMapElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMapElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMapElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMapElementConstructorTableValues, 0 };
#endif
-class JSHTMLMapElementConstructor : public DOMObject {
+class JSHTMLMapElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMapElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMapElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMapElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMapElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMapElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMapElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLMapElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMapElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMapElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMapElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLMapElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLMapElement::s_info = { "HTMLMapElement", &JSHTMLElement::s_info, &JSHTMLMapElementTable, 0 };
-JSHTMLMapElement::JSHTMLMapElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMapElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMapElement::JSHTMLMapElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMapElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,21 +129,24 @@ bool JSHTMLMapElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLMapElementAreas(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMapElement* castedThis = static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMapElement* imp = static_cast<HTMLMapElement*>(static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->areas()));
+ HTMLMapElement* imp = static_cast<HTMLMapElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->areas()));
}
JSValue jsHTMLMapElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMapElement* castedThis = static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMapElement* imp = static_cast<HTMLMapElement*>(static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMapElement* imp = static_cast<HTMLMapElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMapElement* domObject = static_cast<JSHTMLMapElement*>(asObject(slot.slotBase()));
+ return JSHTMLMapElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMapElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -156,9 +159,9 @@ void setJSHTMLMapElementName(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setName(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLMapElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMapElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMapElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMapElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h
index 8476c3a..23d3a90 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h
@@ -30,7 +30,7 @@ class HTMLMapElement;
class JSHTMLMapElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMapElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMapElement>);
+ JSHTMLMapElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMapElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp
index 90f090f..be92487 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLMarqueeElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMarqueeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMarqueeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMarqueeElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLMarqueeElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMarqueeElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMarqueeElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMarqueeElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMarqueeElementConstructorTableValues, 0 };
#endif
-class JSHTMLMarqueeElementConstructor : public DOMObject {
+class JSHTMLMarqueeElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMarqueeElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMarqueeElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMarqueeElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMarqueeElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMarqueeElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMarqueeElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLMarqueeElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMarqueeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMarqueeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLMarqueeElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSHTMLMarqueeElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSHTMLMarqueeElement::s_info = { "HTMLMarqueeElement", &JSHTMLElement::s_info, &JSHTMLMarqueeElementTable, 0 };
-JSHTMLMarqueeElement::JSHTMLMarqueeElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMarqueeElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMarqueeElement::JSHTMLMarqueeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMarqueeElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,11 +131,12 @@ bool JSHTMLMarqueeElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLMarqueeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMarqueeElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMarqueeElement* domObject = static_cast<JSHTMLMarqueeElement*>(asObject(slot.slotBase()));
+ return JSHTMLMarqueeElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSHTMLMarqueeElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMarqueeElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMarqueeElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMarqueeElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLMarqueeElementPrototypeFunctionStart(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h
index 238b8d3..b1ec1af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h
@@ -30,7 +30,7 @@ class HTMLMarqueeElement;
class JSHTMLMarqueeElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMarqueeElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMarqueeElement>);
+ JSHTMLMarqueeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMarqueeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp
index 1f04d40..2778b6e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSHTMLMediaElementTableValues[25] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMediaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMediaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSHTMLMediaElementTableValues, 0 };
#else
@@ -96,19 +96,19 @@ static const HashTableValue JSHTMLMediaElementConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMediaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMediaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLMediaElementConstructorTableValues, 0 };
#else
{ 33, 31, JSHTMLMediaElementConstructorTableValues, 0 };
#endif
-class JSHTMLMediaElementConstructor : public DOMObject {
+class JSHTMLMediaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMediaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMediaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMediaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMediaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMediaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMediaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -148,7 +148,7 @@ static const HashTableValue JSHTMLMediaElementPrototypeTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMediaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMediaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLMediaElementPrototypeTableValues, 0 };
#else
@@ -169,8 +169,8 @@ bool JSHTMLMediaElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLMediaElement::s_info = { "HTMLMediaElement", &JSHTMLElement::s_info, &JSHTMLMediaElementTable, 0 };
-JSHTMLMediaElement::JSHTMLMediaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMediaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMediaElement::JSHTMLMediaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMediaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -186,168 +186,192 @@ bool JSHTMLMediaElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLMediaElementError(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->error()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->error()));
}
JSValue jsHTMLMediaElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLMediaElementCurrentSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsString(exec, imp->currentSrc());
}
JSValue jsHTMLMediaElementNetworkState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->networkState());
}
JSValue jsHTMLMediaElementAutobuffer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->autobuffer());
}
JSValue jsHTMLMediaElementBuffered(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->buffered()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->buffered()));
}
JSValue jsHTMLMediaElementReadyState(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->readyState());
}
JSValue jsHTMLMediaElementSeeking(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->seeking());
}
JSValue jsHTMLMediaElementCurrentTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->currentTime());
}
JSValue jsHTMLMediaElementStartTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->startTime());
}
JSValue jsHTMLMediaElementDuration(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->duration());
}
JSValue jsHTMLMediaElementPaused(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->paused());
}
JSValue jsHTMLMediaElementDefaultPlaybackRate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->defaultPlaybackRate());
}
JSValue jsHTMLMediaElementPlaybackRate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->playbackRate());
}
JSValue jsHTMLMediaElementPlayed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->played()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->played()));
}
JSValue jsHTMLMediaElementSeekable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->seekable()));
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->seekable()));
}
JSValue jsHTMLMediaElementEnded(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->ended());
}
JSValue jsHTMLMediaElementAutoplay(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->autoplay());
}
JSValue jsHTMLMediaElementLoop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->loop());
}
JSValue jsHTMLMediaElementControls(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->controls());
}
JSValue jsHTMLMediaElementVolume(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsNumber(exec, imp->volume());
}
JSValue jsHTMLMediaElementMuted(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->muted());
}
JSValue jsHTMLMediaElementWebkitPreservesPitch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMediaElement* castedThis = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMediaElement* imp = static_cast<HTMLMediaElement*>(castedThis->impl());
return jsBoolean(imp->webkitPreservesPitch());
}
JSValue jsHTMLMediaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMediaElement* domObject = static_cast<JSHTMLMediaElement*>(asObject(slot.slotBase()));
+ return JSHTMLMediaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMediaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -424,9 +448,9 @@ void setJSHTMLMediaElementWebkitPreservesPitch(ExecState* exec, JSObject* thisOb
imp->setWebkitPreservesPitch(value.toBoolean(exec));
}
-JSValue JSHTMLMediaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMediaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMediaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMediaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLMediaElementPrototypeFunctionLoad(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h
index c0fb829..01e1e10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h
@@ -32,7 +32,7 @@ class HTMLMediaElement;
class JSHTMLMediaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMediaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMediaElement>);
+ JSHTMLMediaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMediaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp
index 35ce014..5319a46 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSHTMLMenuElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMenuElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMenuElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLMenuElementTableValues, 0 };
#else
@@ -53,19 +53,19 @@ static const HashTableValue JSHTMLMenuElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMenuElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMenuElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMenuElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMenuElementConstructorTableValues, 0 };
#endif
-class JSHTMLMenuElementConstructor : public DOMObject {
+class JSHTMLMenuElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMenuElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMenuElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMenuElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMenuElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMenuElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMenuElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -91,7 +91,7 @@ static const HashTableValue JSHTMLMenuElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMenuElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMenuElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMenuElementPrototypeTableValues, 0 };
#else
@@ -107,8 +107,8 @@ JSObject* JSHTMLMenuElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLMenuElement::s_info = { "HTMLMenuElement", &JSHTMLElement::s_info, &JSHTMLMenuElementTable, 0 };
-JSHTMLMenuElement::JSHTMLMenuElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMenuElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMenuElement::JSHTMLMenuElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMenuElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -124,14 +124,16 @@ bool JSHTMLMenuElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLMenuElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMenuElement* castedThis = static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMenuElement* imp = static_cast<HTMLMenuElement*>(static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMenuElement* imp = static_cast<HTMLMenuElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLMenuElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMenuElement* domObject = static_cast<JSHTMLMenuElement*>(asObject(slot.slotBase()));
+ return JSHTMLMenuElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMenuElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -144,9 +146,9 @@ void setJSHTMLMenuElementCompact(ExecState* exec, JSObject* thisObject, JSValue
imp->setCompact(value.toBoolean(exec));
}
-JSValue JSHTMLMenuElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMenuElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMenuElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMenuElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h
index ca9321c..0002e55 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h
@@ -30,7 +30,7 @@ class HTMLMenuElement;
class JSHTMLMenuElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMenuElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMenuElement>);
+ JSHTMLMenuElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMenuElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp
index 213c2bf..c1df168 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLMetaElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMetaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMetaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLMetaElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLMetaElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMetaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMetaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMetaElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLMetaElementConstructorTableValues, 0 };
#endif
-class JSHTMLMetaElementConstructor : public DOMObject {
+class JSHTMLMetaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLMetaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLMetaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLMetaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLMetaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLMetaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLMetaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLMetaElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLMetaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLMetaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLMetaElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLMetaElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSHTMLMetaElement::s_info = { "HTMLMetaElement", &JSHTMLElement::s_info, &JSHTMLMetaElementTable, 0 };
-JSHTMLMetaElement::JSHTMLMetaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLMetaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLMetaElement::JSHTMLMetaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLMetaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,35 +129,40 @@ bool JSHTMLMetaElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsHTMLMetaElementContent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->content());
}
JSValue jsHTMLMetaElementHttpEquiv(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->httpEquiv());
}
JSValue jsHTMLMetaElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLMetaElementScheme(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLMetaElement* castedThis = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLMetaElement* imp = static_cast<HTMLMetaElement*>(castedThis->impl());
return jsString(exec, imp->scheme());
}
JSValue jsHTMLMetaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLMetaElement* domObject = static_cast<JSHTMLMetaElement*>(asObject(slot.slotBase()));
+ return JSHTMLMetaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLMetaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -188,9 +193,9 @@ void setJSHTMLMetaElementScheme(ExecState* exec, JSObject* thisObject, JSValue v
imp->setScheme(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLMetaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLMetaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLMetaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLMetaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h
index ee531c5..acb73af 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h
@@ -30,7 +30,7 @@ class HTMLMetaElement;
class JSHTMLMetaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLMetaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLMetaElement>);
+ JSHTMLMetaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLMetaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp
index b55516c..27b71e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSHTMLModElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLModElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLModElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLModElementTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSHTMLModElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLModElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLModElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLModElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLModElementConstructorTableValues, 0 };
#endif
-class JSHTMLModElementConstructor : public DOMObject {
+class JSHTMLModElementConstructor : public DOMConstructorObject {
public:
- JSHTMLModElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLModElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLModElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLModElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLModElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLModElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSHTMLModElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLModElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLModElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLModElementPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSHTMLModElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLModElement::s_info = { "HTMLModElement", &JSHTMLElement::s_info, &JSHTMLModElementTable, 0 };
-JSHTMLModElement::JSHTMLModElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLModElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLModElement::JSHTMLModElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLModElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +127,24 @@ bool JSHTMLModElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLModElementCite(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLModElement* castedThis = static_cast<JSHTMLModElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLModElement* imp = static_cast<HTMLModElement*>(static_cast<JSHTMLModElement*>(asObject(slot.slotBase()))->impl());
+ HTMLModElement* imp = static_cast<HTMLModElement*>(castedThis->impl());
return jsString(exec, imp->cite());
}
JSValue jsHTMLModElementDateTime(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLModElement* castedThis = static_cast<JSHTMLModElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLModElement* imp = static_cast<HTMLModElement*>(static_cast<JSHTMLModElement*>(asObject(slot.slotBase()))->impl());
+ HTMLModElement* imp = static_cast<HTMLModElement*>(castedThis->impl());
return jsString(exec, imp->dateTime());
}
JSValue jsHTMLModElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLModElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLModElement* domObject = static_cast<JSHTMLModElement*>(asObject(slot.slotBase()));
+ return JSHTMLModElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLModElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,9 +163,9 @@ void setJSHTMLModElementDateTime(ExecState* exec, JSObject* thisObject, JSValue
imp->setDateTime(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLModElement::getConstructor(ExecState* exec)
+JSValue JSHTMLModElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLModElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLModElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h
index 67b6e02..b9cfe5b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h
@@ -30,7 +30,7 @@ class HTMLModElement;
class JSHTMLModElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLModElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLModElement>);
+ JSHTMLModElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLModElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp
index 70fe0b4..189107c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLOListElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOListElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOListElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLOListElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLOListElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOListElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOListElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOListElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLOListElementConstructorTableValues, 0 };
#endif
-class JSHTMLOListElementConstructor : public DOMObject {
+class JSHTMLOListElementConstructor : public DOMConstructorObject {
public:
- JSHTMLOListElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLOListElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLOListElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLOListElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLOListElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOListElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLOListElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOListElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOListElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOListElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLOListElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLOListElement::s_info = { "HTMLOListElement", &JSHTMLElement::s_info, &JSHTMLOListElementTable, 0 };
-JSHTMLOListElement::JSHTMLOListElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLOListElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLOListElement::JSHTMLOListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOListElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,28 +129,32 @@ bool JSHTMLOListElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLOListElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOListElement* castedThis = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOListElement* imp = static_cast<HTMLOListElement*>(static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOListElement* imp = static_cast<HTMLOListElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLOListElementStart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOListElement* castedThis = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOListElement* imp = static_cast<HTMLOListElement*>(static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOListElement* imp = static_cast<HTMLOListElement*>(castedThis->impl());
return jsNumber(exec, imp->start());
}
JSValue jsHTMLOListElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOListElement* castedThis = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOListElement* imp = static_cast<HTMLOListElement*>(static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOListElement* imp = static_cast<HTMLOListElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLOListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLOListElement* domObject = static_cast<JSHTMLOListElement*>(asObject(slot.slotBase()));
+ return JSHTMLOListElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLOListElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -175,9 +179,9 @@ void setJSHTMLOListElementType(ExecState* exec, JSObject* thisObject, JSValue va
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLOListElement::getConstructor(ExecState* exec)
+JSValue JSHTMLOListElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLOListElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLOListElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h
index e7cfac5..57dcb6a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h
@@ -30,7 +30,7 @@ class HTMLOListElement;
class JSHTMLOListElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLOListElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOListElement>);
+ JSHTMLOListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOListElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp
index c50e27a..4ca8e94 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp
@@ -69,7 +69,7 @@ static const HashTableValue JSHTMLObjectElementTableValues[20] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLObjectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLObjectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLObjectElementTableValues, 0 };
#else
@@ -83,19 +83,19 @@ static const HashTableValue JSHTMLObjectElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLObjectElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLObjectElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLObjectElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLObjectElementConstructorTableValues, 0 };
#endif
-class JSHTMLObjectElementConstructor : public DOMObject {
+class JSHTMLObjectElementConstructor : public DOMConstructorObject {
public:
- JSHTMLObjectElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLObjectElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLObjectElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLObjectElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLObjectElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLObjectElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -122,7 +122,7 @@ static const HashTableValue JSHTMLObjectElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLObjectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLObjectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLObjectElementPrototypeTableValues, 0 };
#else
@@ -143,8 +143,8 @@ bool JSHTMLObjectElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLObjectElement::s_info = { "HTMLObjectElement", &JSHTMLElement::s_info, &JSHTMLObjectElementTable, 0 };
-JSHTMLObjectElement::JSHTMLObjectElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLObjectElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLObjectElement::JSHTMLObjectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLObjectElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -166,132 +166,151 @@ bool JSHTMLObjectElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLObjectElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLObjectElementCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->code());
}
JSValue jsHTMLObjectElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLObjectElementArchive(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->archive());
}
JSValue jsHTMLObjectElementBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->border());
}
JSValue jsHTMLObjectElementCodeBase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->codeBase());
}
JSValue jsHTMLObjectElementCodeType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->codeType());
}
JSValue jsHTMLObjectElementData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsHTMLObjectElementDeclare(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsBoolean(imp->declare());
}
JSValue jsHTMLObjectElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLObjectElementHspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsNumber(exec, imp->hspace());
}
JSValue jsHTMLObjectElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLObjectElementStandby(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->standby());
}
JSValue jsHTMLObjectElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLObjectElementUseMap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->useMap());
}
JSValue jsHTMLObjectElementVspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsNumber(exec, imp->vspace());
}
JSValue jsHTMLObjectElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLObjectElementContentDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->impl());
- return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, WTF::getPtr(imp->contentDocument())) : jsUndefined();
+ JSHTMLObjectElement* castedThis = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
+ HTMLObjectElement* imp = static_cast<HTMLObjectElement*>(castedThis->impl());
+ return checkNodeSecurity(exec, imp->contentDocument()) ? toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->contentDocument())) : jsUndefined();
}
JSValue jsHTMLObjectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLObjectElement* domObject = static_cast<JSHTMLObjectElement*>(asObject(slot.slotBase()));
+ return JSHTMLObjectElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLObjectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -396,9 +415,9 @@ void setJSHTMLObjectElementWidth(ExecState* exec, JSObject* thisObject, JSValue
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLObjectElement::getConstructor(ExecState* exec)
+JSValue JSHTMLObjectElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLObjectElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLObjectElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLObjectElementPrototypeFunctionGetSVGDocument(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -413,7 +432,7 @@ JSValue JSC_HOST_CALL jsHTMLObjectElementPrototypeFunctionGetSVGDocument(ExecSta
return jsUndefined();
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getSVGDocument(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getSVGDocument(ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h
index 5e9d01c..7414b0c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h
@@ -31,7 +31,7 @@ class HTMLObjectElement;
class JSHTMLObjectElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLObjectElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLObjectElement>);
+ JSHTMLObjectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLObjectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
bool getOwnPropertySlotDelegate(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
@@ -47,7 +47,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
private:
static bool canGetItemsForName(JSC::ExecState*, HTMLObjectElement*, const JSC::Identifier&);
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp
index 69506b0..0ed746e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSHTMLOptGroupElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptGroupElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptGroupElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLOptGroupElementTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSHTMLOptGroupElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptGroupElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptGroupElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptGroupElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLOptGroupElementConstructorTableValues, 0 };
#endif
-class JSHTMLOptGroupElementConstructor : public DOMObject {
+class JSHTMLOptGroupElementConstructor : public DOMConstructorObject {
public:
- JSHTMLOptGroupElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLOptGroupElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLOptGroupElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLOptGroupElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLOptGroupElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOptGroupElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSHTMLOptGroupElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptGroupElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptGroupElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptGroupElementPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSHTMLOptGroupElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLOptGroupElement::s_info = { "HTMLOptGroupElement", &JSHTMLElement::s_info, &JSHTMLOptGroupElementTable, 0 };
-JSHTMLOptGroupElement::JSHTMLOptGroupElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLOptGroupElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLOptGroupElement::JSHTMLOptGroupElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptGroupElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +127,24 @@ bool JSHTMLOptGroupElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLOptGroupElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptGroupElement* castedThis = static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLOptGroupElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptGroupElement* castedThis = static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptGroupElement* imp = static_cast<HTMLOptGroupElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLOptGroupElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLOptGroupElement* domObject = static_cast<JSHTMLOptGroupElement*>(asObject(slot.slotBase()));
+ return JSHTMLOptGroupElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLOptGroupElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,9 +163,9 @@ void setJSHTMLOptGroupElementLabel(ExecState* exec, JSObject* thisObject, JSValu
imp->setLabel(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLOptGroupElement::getConstructor(ExecState* exec)
+JSValue JSHTMLOptGroupElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLOptGroupElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLOptGroupElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h
index 44cfa44..d489b26 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h
@@ -30,7 +30,7 @@ class HTMLOptGroupElement;
class JSHTMLOptGroupElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLOptGroupElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOptGroupElement>);
+ JSHTMLOptGroupElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptGroupElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp
index ee1283d..65d92e6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSHTMLOptionElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLOptionElementTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSHTMLOptionElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptionElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLOptionElementConstructorTableValues, 0 };
#endif
-class JSHTMLOptionElementConstructor : public DOMObject {
+class JSHTMLOptionElementConstructor : public DOMConstructorObject {
public:
- JSHTMLOptionElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLOptionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLOptionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLOptionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLOptionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSHTMLOptionElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLOptionElementPrototypeTableValues, 0 };
#else
@@ -119,8 +119,8 @@ JSObject* JSHTMLOptionElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLOptionElement::s_info = { "HTMLOptionElement", &JSHTMLElement::s_info, &JSHTMLOptionElementTable, 0 };
-JSHTMLOptionElement::JSHTMLOptionElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLOptionElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLOptionElement::JSHTMLOptionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -136,63 +136,72 @@ bool JSHTMLOptionElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLOptionElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
}
JSValue jsHTMLOptionElementDefaultSelected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsBoolean(imp->defaultSelected());
}
JSValue jsHTMLOptionElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLOptionElementIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsNumber(exec, imp->index());
}
JSValue jsHTMLOptionElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLOptionElementLabel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsString(exec, imp->label());
}
JSValue jsHTMLOptionElementSelected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsBoolean(imp->selected());
}
JSValue jsHTMLOptionElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionElement* castedThis = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionElement* imp = static_cast<HTMLOptionElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLOptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLOptionElement* domObject = static_cast<JSHTMLOptionElement*>(asObject(slot.slotBase()));
+ return JSHTMLOptionElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLOptionElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -237,9 +246,9 @@ void setJSHTMLOptionElementValue(ExecState* exec, JSObject* thisObject, JSValue
imp->setValue(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLOptionElement::getConstructor(ExecState* exec)
+JSValue JSHTMLOptionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLOptionElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLOptionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
HTMLOptionElement* toHTMLOptionElement(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h
index d9bd338..be93183 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h
@@ -31,7 +31,7 @@ class HTMLOptionElement;
class JSHTMLOptionElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLOptionElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOptionElement>);
+ JSHTMLOptionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLOptionElement* impl() const
{
return static_cast<HTMLOptionElement*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp
index 578ab90..bebf56a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLOptionsCollectionTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionsCollectionTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionsCollectionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSHTMLOptionsCollectionTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSHTMLOptionsCollectionPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLOptionsCollectionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLOptionsCollectionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSHTMLOptionsCollectionPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ bool JSHTMLOptionsCollectionPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSHTMLOptionsCollection::s_info = { "HTMLOptionsCollection", &JSHTMLCollection::s_info, &JSHTMLOptionsCollectionTable, 0 };
-JSHTMLOptionsCollection::JSHTMLOptionsCollection(PassRefPtr<Structure> structure, PassRefPtr<HTMLOptionsCollection> impl)
- : JSHTMLCollection(structure, impl)
+JSHTMLOptionsCollection::JSHTMLOptionsCollection(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLOptionsCollection> impl)
+ : JSHTMLCollection(structure, globalObject, impl)
{
}
@@ -95,14 +95,16 @@ bool JSHTMLOptionsCollection::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsHTMLOptionsCollectionSelectedIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLOptionsCollection* castedThis = static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()))->impl());
+ HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(castedThis->impl());
return jsNumber(exec, imp->selectedIndex());
}
JSValue jsHTMLOptionsCollectionLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()))->length(exec);
+ JSHTMLOptionsCollection* castedThis = static_cast<JSHTMLOptionsCollection*>(asObject(slot.slotBase()));
+ return castedThis->length(exec);
}
void JSHTMLOptionsCollection::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h
index 40d89f6..de86695 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h
@@ -31,7 +31,7 @@ class HTMLOptionsCollection;
class JSHTMLOptionsCollection : public JSHTMLCollection {
typedef JSHTMLCollection Base;
public:
- JSHTMLOptionsCollection(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLOptionsCollection>);
+ JSHTMLOptionsCollection(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLOptionsCollection>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp
index ba47a53..f8e9fd6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLParagraphElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParagraphElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParagraphElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLParagraphElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLParagraphElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParagraphElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParagraphElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParagraphElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLParagraphElementConstructorTableValues, 0 };
#endif
-class JSHTMLParagraphElementConstructor : public DOMObject {
+class JSHTMLParagraphElementConstructor : public DOMConstructorObject {
public:
- JSHTMLParagraphElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLParagraphElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLParagraphElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLParagraphElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLParagraphElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLParagraphElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLParagraphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParagraphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParagraphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParagraphElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLParagraphElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLParagraphElement::s_info = { "HTMLParagraphElement", &JSHTMLElement::s_info, &JSHTMLParagraphElementTable, 0 };
-JSHTMLParagraphElement::JSHTMLParagraphElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLParagraphElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLParagraphElement::JSHTMLParagraphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParagraphElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLParagraphElement::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsHTMLParagraphElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParagraphElement* castedThis = static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParagraphElement* imp = static_cast<HTMLParagraphElement*>(static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParagraphElement* imp = static_cast<HTMLParagraphElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLParagraphElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLParagraphElement* domObject = static_cast<JSHTMLParagraphElement*>(asObject(slot.slotBase()));
+ return JSHTMLParagraphElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLParagraphElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLParagraphElementAlign(ExecState* exec, JSObject* thisObject, JSVal
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLParagraphElement::getConstructor(ExecState* exec)
+JSValue JSHTMLParagraphElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLParagraphElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLParagraphElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h
index 3693849..1fa7ea5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h
@@ -30,7 +30,7 @@ class HTMLParagraphElement;
class JSHTMLParagraphElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLParagraphElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLParagraphElement>);
+ JSHTMLParagraphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParagraphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp
index b4c9348..717ff80 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSHTMLParamElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParamElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParamElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLParamElementTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSHTMLParamElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParamElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParamElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParamElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLParamElementConstructorTableValues, 0 };
#endif
-class JSHTMLParamElementConstructor : public DOMObject {
+class JSHTMLParamElementConstructor : public DOMConstructorObject {
public:
- JSHTMLParamElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLParamElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLParamElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLParamElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLParamElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLParamElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSHTMLParamElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLParamElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLParamElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLParamElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSHTMLParamElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLParamElement::s_info = { "HTMLParamElement", &JSHTMLElement::s_info, &JSHTMLParamElementTable, 0 };
-JSHTMLParamElement::JSHTMLParamElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLParamElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLParamElement::JSHTMLParamElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLParamElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -129,35 +129,40 @@ bool JSHTMLParamElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLParamElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLParamElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLParamElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLParamElementValueType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLParamElement* castedThis = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLParamElement* imp = static_cast<HTMLParamElement*>(static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->impl());
+ HTMLParamElement* imp = static_cast<HTMLParamElement*>(castedThis->impl());
return jsString(exec, imp->valueType());
}
JSValue jsHTMLParamElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLParamElement* domObject = static_cast<JSHTMLParamElement*>(asObject(slot.slotBase()));
+ return JSHTMLParamElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLParamElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -188,9 +193,9 @@ void setJSHTMLParamElementValueType(ExecState* exec, JSObject* thisObject, JSVal
imp->setValueType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLParamElement::getConstructor(ExecState* exec)
+JSValue JSHTMLParamElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLParamElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLParamElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h
index 7e7760e..12b80d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h
@@ -30,7 +30,7 @@ class HTMLParamElement;
class JSHTMLParamElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLParamElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLParamElement>);
+ JSHTMLParamElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLParamElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp
index 8aac7c1..2b7320a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLPreElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLPreElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLPreElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLPreElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLPreElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLPreElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLPreElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLPreElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLPreElementConstructorTableValues, 0 };
#endif
-class JSHTMLPreElementConstructor : public DOMObject {
+class JSHTMLPreElementConstructor : public DOMConstructorObject {
public:
- JSHTMLPreElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLPreElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLPreElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLPreElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLPreElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLPreElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLPreElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLPreElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLPreElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLPreElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLPreElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSHTMLPreElement::s_info = { "HTMLPreElement", &JSHTMLElement::s_info, &JSHTMLPreElementTable, 0 };
-JSHTMLPreElement::JSHTMLPreElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLPreElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLPreElement::JSHTMLPreElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLPreElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,21 +126,24 @@ bool JSHTMLPreElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsHTMLPreElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLPreElement* castedThis = static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLPreElement* imp = static_cast<HTMLPreElement*>(static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()))->impl());
+ HTMLPreElement* imp = static_cast<HTMLPreElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLPreElementWrap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLPreElement* castedThis = static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLPreElement* imp = static_cast<HTMLPreElement*>(static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()))->impl());
+ HTMLPreElement* imp = static_cast<HTMLPreElement*>(castedThis->impl());
return jsBoolean(imp->wrap());
}
JSValue jsHTMLPreElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLPreElement* domObject = static_cast<JSHTMLPreElement*>(asObject(slot.slotBase()));
+ return JSHTMLPreElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLPreElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -159,9 +162,9 @@ void setJSHTMLPreElementWrap(ExecState* exec, JSObject* thisObject, JSValue valu
imp->setWrap(value.toBoolean(exec));
}
-JSValue JSHTMLPreElement::getConstructor(ExecState* exec)
+JSValue JSHTMLPreElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLPreElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLPreElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h
index 1938f93..439a7b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h
@@ -30,7 +30,7 @@ class HTMLPreElement;
class JSHTMLPreElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLPreElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLPreElement>);
+ JSHTMLPreElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLPreElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp
index dd831c0..84fce1b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLQuoteElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLQuoteElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLQuoteElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLQuoteElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLQuoteElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLQuoteElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLQuoteElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLQuoteElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLQuoteElementConstructorTableValues, 0 };
#endif
-class JSHTMLQuoteElementConstructor : public DOMObject {
+class JSHTMLQuoteElementConstructor : public DOMConstructorObject {
public:
- JSHTMLQuoteElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLQuoteElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLQuoteElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLQuoteElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLQuoteElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLQuoteElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLQuoteElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLQuoteElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLQuoteElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLQuoteElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLQuoteElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLQuoteElement::s_info = { "HTMLQuoteElement", &JSHTMLElement::s_info, &JSHTMLQuoteElementTable, 0 };
-JSHTMLQuoteElement::JSHTMLQuoteElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLQuoteElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLQuoteElement::JSHTMLQuoteElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLQuoteElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLQuoteElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLQuoteElementCite(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLQuoteElement* castedThis = static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLQuoteElement* imp = static_cast<HTMLQuoteElement*>(static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()))->impl());
+ HTMLQuoteElement* imp = static_cast<HTMLQuoteElement*>(castedThis->impl());
return jsString(exec, imp->cite());
}
JSValue jsHTMLQuoteElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLQuoteElement* domObject = static_cast<JSHTMLQuoteElement*>(asObject(slot.slotBase()));
+ return JSHTMLQuoteElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLQuoteElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLQuoteElementCite(ExecState* exec, JSObject* thisObject, JSValue va
imp->setCite(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLQuoteElement::getConstructor(ExecState* exec)
+JSValue JSHTMLQuoteElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLQuoteElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLQuoteElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h
index a45fc2f..26d985c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h
@@ -30,7 +30,7 @@ class HTMLQuoteElement;
class JSHTMLQuoteElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLQuoteElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLQuoteElement>);
+ JSHTMLQuoteElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLQuoteElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp
index ab7bc3d..42d4410 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSHTMLScriptElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLScriptElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLScriptElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLScriptElementTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSHTMLScriptElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLScriptElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLScriptElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLScriptElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLScriptElementConstructorTableValues, 0 };
#endif
-class JSHTMLScriptElementConstructor : public DOMObject {
+class JSHTMLScriptElementConstructor : public DOMConstructorObject {
public:
- JSHTMLScriptElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLScriptElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLScriptElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLScriptElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLScriptElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLScriptElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSHTMLScriptElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLScriptElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLScriptElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLScriptElementPrototypeTableValues, 0 };
#else
@@ -115,8 +115,8 @@ JSObject* JSHTMLScriptElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLScriptElement::s_info = { "HTMLScriptElement", &JSHTMLElement::s_info, &JSHTMLScriptElementTable, 0 };
-JSHTMLScriptElement::JSHTMLScriptElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLScriptElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLScriptElement::JSHTMLScriptElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLScriptElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -132,56 +132,64 @@ bool JSHTMLScriptElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLScriptElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLScriptElementHtmlFor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->htmlFor());
}
JSValue jsHTMLScriptElementEvent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->event());
}
JSValue jsHTMLScriptElementCharset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->charset());
}
JSValue jsHTMLScriptElementDefer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsBoolean(imp->defer());
}
JSValue jsHTMLScriptElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLScriptElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLScriptElement* castedThis = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->impl());
+ HTMLScriptElement* imp = static_cast<HTMLScriptElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLScriptElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLScriptElement* domObject = static_cast<JSHTMLScriptElement*>(asObject(slot.slotBase()));
+ return JSHTMLScriptElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLScriptElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -230,9 +238,9 @@ void setJSHTMLScriptElementType(ExecState* exec, JSObject* thisObject, JSValue v
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLScriptElement::getConstructor(ExecState* exec)
+JSValue JSHTMLScriptElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLScriptElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLScriptElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h
index 89b67ef..a028470 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h
@@ -30,7 +30,7 @@ class HTMLScriptElement;
class JSHTMLScriptElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLScriptElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLScriptElement>);
+ JSHTMLScriptElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLScriptElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp
index 8a61381..794d24c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp
@@ -29,8 +29,10 @@
#include "JSHTMLFormElement.h"
#include "JSHTMLOptionsCollection.h"
#include "JSNode.h"
+#include "JSValidityState.h"
#include "KURL.h"
#include "Node.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -45,13 +47,14 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLSelectElement);
/* Hash table */
-static const HashTableValue JSHTMLSelectElementTableValues[14] =
+static const HashTableValue JSHTMLSelectElementTableValues[15] =
{
{ "type", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementType, (intptr_t)0 },
{ "selectedIndex", DontDelete, (intptr_t)jsHTMLSelectElementSelectedIndex, (intptr_t)setJSHTMLSelectElementSelectedIndex },
{ "value", DontDelete, (intptr_t)jsHTMLSelectElementValue, (intptr_t)setJSHTMLSelectElementValue },
{ "length", DontDelete, (intptr_t)jsHTMLSelectElementLength, (intptr_t)setJSHTMLSelectElementLength },
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementValidity, (intptr_t)0 },
{ "willValidate", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementWillValidate, (intptr_t)0 },
{ "options", DontDelete|ReadOnly, (intptr_t)jsHTMLSelectElementOptions, (intptr_t)0 },
{ "disabled", DontDelete, (intptr_t)jsHTMLSelectElementDisabled, (intptr_t)setJSHTMLSelectElementDisabled },
@@ -63,11 +66,11 @@ static const HashTableValue JSHTMLSelectElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSelectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSelectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLSelectElementTableValues, 0 };
#else
- { 34, 31, JSHTMLSelectElementTableValues, 0 };
+ { 35, 31, JSHTMLSelectElementTableValues, 0 };
#endif
/* Hash table for constructor */
@@ -77,19 +80,19 @@ static const HashTableValue JSHTMLSelectElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSelectElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSelectElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLSelectElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLSelectElementConstructorTableValues, 0 };
#endif
-class JSHTMLSelectElementConstructor : public DOMObject {
+class JSHTMLSelectElementConstructor : public DOMConstructorObject {
public:
- JSHTMLSelectElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLSelectElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLSelectElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLSelectElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLSelectElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLSelectElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +122,7 @@ static const HashTableValue JSHTMLSelectElementPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSelectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSelectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLSelectElementPrototypeTableValues, 0 };
#else
@@ -140,8 +143,8 @@ bool JSHTMLSelectElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSHTMLSelectElement::s_info = { "HTMLSelectElement", &JSHTMLElement::s_info, &JSHTMLSelectElementTable, 0 };
-JSHTMLSelectElement::JSHTMLSelectElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLSelectElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLSelectElement::JSHTMLSelectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSelectElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -177,91 +180,112 @@ bool JSHTMLSelectElement::getOwnPropertySlot(ExecState* exec, unsigned propertyN
JSValue jsHTMLSelectElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLSelectElementSelectedIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsNumber(exec, imp->selectedIndex());
}
JSValue jsHTMLSelectElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLSelectElementLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsHTMLSelectElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLSelectElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLSelectElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLSelectElementOptions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->options()));
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->options()));
}
JSValue jsHTMLSelectElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLSelectElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLSelectElementMultiple(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsBoolean(imp->multiple());
}
JSValue jsHTMLSelectElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLSelectElementSize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSelectElement* castedThis = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSelectElement* imp = static_cast<HTMLSelectElement*>(castedThis->impl());
return jsNumber(exec, imp->size());
}
JSValue jsHTMLSelectElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLSelectElement* domObject = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
+ return JSHTMLSelectElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLSelectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -337,9 +361,9 @@ void JSHTMLSelectElement::getPropertyNames(ExecState* exec, PropertyNameArray& p
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSHTMLSelectElement::getConstructor(ExecState* exec)
+JSValue JSHTMLSelectElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLSelectElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLSelectElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionAdd(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -381,7 +405,7 @@ JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionItem(ExecState* exec,
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -395,7 +419,7 @@ JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionNamedItem(ExecState* e
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -403,7 +427,7 @@ JSValue JSC_HOST_CALL jsHTMLSelectElementPrototypeFunctionNamedItem(ExecState* e
JSValue JSHTMLSelectElement::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSHTMLSelectElement* thisObj = static_cast<JSHTMLSelectElement*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<HTMLSelectElement*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<HTMLSelectElement*>(thisObj->impl())->item(slot.index()));
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h
index 1790360..6544254 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h
@@ -30,7 +30,7 @@ class HTMLSelectElement;
class JSHTMLSelectElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLSelectElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLSelectElement>);
+ JSHTMLSelectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSelectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual bool getOwnPropertySlot(JSC::ExecState*, unsigned propertyName, JSC::PropertySlot&);
@@ -45,7 +45,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue remove(JSC::ExecState*, const JSC::ArgList&);
@@ -84,6 +84,7 @@ void setJSHTMLSelectElementValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLSelectElementLength(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLSelectElementLength(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLSelectElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLSelectElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLSelectElementWillValidate(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLSelectElementOptions(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLSelectElementDisabled(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp
index b9f65ad..d4a7d72 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSHTMLSourceElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSourceElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSourceElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLSourceElementTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSHTMLSourceElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSourceElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSourceElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLSourceElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLSourceElementConstructorTableValues, 0 };
#endif
-class JSHTMLSourceElementConstructor : public DOMObject {
+class JSHTMLSourceElementConstructor : public DOMConstructorObject {
public:
- JSHTMLSourceElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLSourceElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLSourceElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLSourceElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLSourceElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLSourceElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSHTMLSourceElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLSourceElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLSourceElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLSourceElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSHTMLSourceElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSHTMLSourceElement::s_info = { "HTMLSourceElement", &JSHTMLElement::s_info, &JSHTMLSourceElementTable, 0 };
-JSHTMLSourceElement::JSHTMLSourceElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLSourceElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLSourceElement::JSHTMLSourceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLSourceElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,28 +131,32 @@ bool JSHTMLSourceElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsHTMLSourceElementSrc(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSourceElement* castedThis = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(castedThis->impl());
return jsString(exec, imp->src());
}
JSValue jsHTMLSourceElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSourceElement* castedThis = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLSourceElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLSourceElement* castedThis = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->impl());
+ HTMLSourceElement* imp = static_cast<HTMLSourceElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsHTMLSourceElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLSourceElement* domObject = static_cast<JSHTMLSourceElement*>(asObject(slot.slotBase()));
+ return JSHTMLSourceElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLSourceElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -177,9 +181,9 @@ void setJSHTMLSourceElementMedia(ExecState* exec, JSObject* thisObject, JSValue
imp->setMedia(value.toString(exec));
}
-JSValue JSHTMLSourceElement::getConstructor(ExecState* exec)
+JSValue JSHTMLSourceElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLSourceElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLSourceElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h
index 18ece59..7c00c0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h
@@ -32,7 +32,7 @@ class HTMLSourceElement;
class JSHTMLSourceElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLSourceElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLSourceElement>);
+ JSHTMLSourceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLSourceElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp
index 5b31c04..4de3dc8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSHTMLStyleElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLStyleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLStyleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLStyleElementTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSHTMLStyleElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLStyleElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLStyleElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLStyleElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLStyleElementConstructorTableValues, 0 };
#endif
-class JSHTMLStyleElementConstructor : public DOMObject {
+class JSHTMLStyleElementConstructor : public DOMConstructorObject {
public:
- JSHTMLStyleElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLStyleElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLStyleElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLStyleElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLStyleElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLStyleElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSHTMLStyleElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLStyleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLStyleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLStyleElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSHTMLStyleElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLStyleElement::s_info = { "HTMLStyleElement", &JSHTMLElement::s_info, &JSHTMLStyleElementTable, 0 };
-JSHTMLStyleElement::JSHTMLStyleElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLStyleElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLStyleElement::JSHTMLStyleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLStyleElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -131,35 +131,40 @@ bool JSHTMLStyleElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLStyleElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLStyleElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsHTMLStyleElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLStyleElementSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLStyleElement* castedThis = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sheet()));
+ HTMLStyleElement* imp = static_cast<HTMLStyleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sheet()));
}
JSValue jsHTMLStyleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLStyleElement* domObject = static_cast<JSHTMLStyleElement*>(asObject(slot.slotBase()));
+ return JSHTMLStyleElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLStyleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -184,9 +189,9 @@ void setJSHTMLStyleElementType(ExecState* exec, JSObject* thisObject, JSValue va
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLStyleElement::getConstructor(ExecState* exec)
+JSValue JSHTMLStyleElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLStyleElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLStyleElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h
index d0e9201..3698a23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h
@@ -30,7 +30,7 @@ class HTMLStyleElement;
class JSHTMLStyleElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLStyleElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLStyleElement>);
+ JSHTMLStyleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLStyleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp
index 51b8dbe..6206931 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLTableCaptionElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCaptionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCaptionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLTableCaptionElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLTableCaptionElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCaptionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCaptionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCaptionElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableCaptionElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableCaptionElementConstructor : public DOMObject {
+class JSHTMLTableCaptionElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableCaptionElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableCaptionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableCaptionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableCaptionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableCaptionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableCaptionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLTableCaptionElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCaptionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCaptionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCaptionElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLTableCaptionElementPrototype::self(ExecState* exec, JSGlobalObje
const ClassInfo JSHTMLTableCaptionElement::s_info = { "HTMLTableCaptionElement", &JSHTMLElement::s_info, &JSHTMLTableCaptionElementTable, 0 };
-JSHTMLTableCaptionElement::JSHTMLTableCaptionElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableCaptionElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableCaptionElement::JSHTMLTableCaptionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCaptionElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLTableCaptionElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsHTMLTableCaptionElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCaptionElement* castedThis = static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCaptionElement* imp = static_cast<HTMLTableCaptionElement*>(static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCaptionElement* imp = static_cast<HTMLTableCaptionElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableCaptionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableCaptionElement* domObject = static_cast<JSHTMLTableCaptionElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableCaptionElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableCaptionElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLTableCaptionElementAlign(ExecState* exec, JSObject* thisObject, JS
imp->setAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableCaptionElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableCaptionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableCaptionElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableCaptionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
HTMLTableCaptionElement* toHTMLTableCaptionElement(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h
index bc37fd4..5071186 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h
@@ -31,7 +31,7 @@ class HTMLTableCaptionElement;
class JSHTMLTableCaptionElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableCaptionElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableCaptionElement>);
+ JSHTMLTableCaptionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCaptionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLTableCaptionElement* impl() const
{
return static_cast<HTMLTableCaptionElement*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp
index cb81f6d..02a8e96 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSHTMLTableCellElementTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCellElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCellElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLTableCellElementTableValues, 0 };
#else
@@ -70,19 +70,19 @@ static const HashTableValue JSHTMLTableCellElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCellElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCellElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCellElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableCellElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableCellElementConstructor : public DOMObject {
+class JSHTMLTableCellElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableCellElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableCellElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableCellElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableCellElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableCellElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableCellElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSHTMLTableCellElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableCellElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableCellElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableCellElementPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ JSObject* JSHTMLTableCellElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLTableCellElement::s_info = { "HTMLTableCellElement", &JSHTMLElement::s_info, &JSHTMLTableCellElementTable, 0 };
-JSHTMLTableCellElement::JSHTMLTableCellElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableCellElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableCellElement::JSHTMLTableCellElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableCellElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -141,112 +141,128 @@ bool JSHTMLTableCellElement::getOwnPropertySlot(ExecState* exec, const Identifie
JSValue jsHTMLTableCellElementCellIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsNumber(exec, imp->cellIndex());
}
JSValue jsHTMLTableCellElementAbbr(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->abbr());
}
JSValue jsHTMLTableCellElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableCellElementAxis(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->axis());
}
JSValue jsHTMLTableCellElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLTableCellElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableCellElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableCellElementColSpan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsNumber(exec, imp->colSpan());
}
JSValue jsHTMLTableCellElementHeaders(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->headers());
}
JSValue jsHTMLTableCellElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->height());
}
JSValue jsHTMLTableCellElementNoWrap(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsBoolean(imp->noWrap());
}
JSValue jsHTMLTableCellElementRowSpan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsNumber(exec, imp->rowSpan());
}
JSValue jsHTMLTableCellElementScope(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->scope());
}
JSValue jsHTMLTableCellElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableCellElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableCellElement* castedThis = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableCellElement* imp = static_cast<HTMLTableCellElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLTableCellElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableCellElement* domObject = static_cast<JSHTMLTableCellElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableCellElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableCellElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -337,9 +353,9 @@ void setJSHTMLTableCellElementWidth(ExecState* exec, JSObject* thisObject, JSVal
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableCellElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableCellElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableCellElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableCellElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h
index 7aa08ef..3575ad9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h
@@ -30,7 +30,7 @@ class HTMLTableCellElement;
class JSHTMLTableCellElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableCellElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableCellElement>);
+ JSHTMLTableCellElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableCellElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp
index 470cd02..033a6e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSHTMLTableColElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableColElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableColElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSHTMLTableColElementTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSHTMLTableColElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableColElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableColElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableColElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableColElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableColElementConstructor : public DOMObject {
+class JSHTMLTableColElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableColElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableColElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableColElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableColElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableColElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableColElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSHTMLTableColElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableColElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableColElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableColElementPrototypeTableValues, 0 };
#else
@@ -115,8 +115,8 @@ JSObject* JSHTMLTableColElementPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSHTMLTableColElement::s_info = { "HTMLTableColElement", &JSHTMLElement::s_info, &JSHTMLTableColElementTable, 0 };
-JSHTMLTableColElement::JSHTMLTableColElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableColElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableColElement::JSHTMLTableColElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableColElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -132,49 +132,56 @@ bool JSHTMLTableColElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLTableColElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableColElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableColElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableColElementSpan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsNumber(exec, imp->span());
}
JSValue jsHTMLTableColElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableColElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableColElement* castedThis = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableColElement* imp = static_cast<HTMLTableColElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLTableColElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableColElement* domObject = static_cast<JSHTMLTableColElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableColElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableColElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -217,9 +224,9 @@ void setJSHTMLTableColElementWidth(ExecState* exec, JSObject* thisObject, JSValu
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableColElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableColElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableColElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableColElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h
index a060d19..87584cd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h
@@ -30,7 +30,7 @@ class HTMLTableColElement;
class JSHTMLTableColElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableColElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableColElement>);
+ JSHTMLTableColElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableColElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp
index 96b92e0..55e43e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp
@@ -63,7 +63,7 @@ static const HashTableValue JSHTMLTableElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLTableElementTableValues, 0 };
#else
@@ -77,19 +77,19 @@ static const HashTableValue JSHTMLTableElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableElementConstructor : public DOMObject {
+class JSHTMLTableElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -123,7 +123,7 @@ static const HashTableValue JSHTMLTableElementPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSHTMLTableElementPrototypeTableValues, 0 };
#else
@@ -144,8 +144,8 @@ bool JSHTMLTableElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSHTMLTableElement::s_info = { "HTMLTableElement", &JSHTMLElement::s_info, &JSHTMLTableElementTable, 0 };
-JSHTMLTableElement::JSHTMLTableElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableElement::JSHTMLTableElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -161,105 +161,120 @@ bool JSHTMLTableElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLTableElementCaption(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->caption()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->caption()));
}
JSValue jsHTMLTableElementTHead(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->tHead()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->tHead()));
}
JSValue jsHTMLTableElementTFoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->tFoot()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->tFoot()));
}
JSValue jsHTMLTableElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rows()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rows()));
}
JSValue jsHTMLTableElementTBodies(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->tBodies()));
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->tBodies()));
}
JSValue jsHTMLTableElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLTableElementBorder(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->border());
}
JSValue jsHTMLTableElementCellPadding(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->cellPadding());
}
JSValue jsHTMLTableElementCellSpacing(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->cellSpacing());
}
JSValue jsHTMLTableElementFrame(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->frame());
}
JSValue jsHTMLTableElementRules(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->rules());
}
JSValue jsHTMLTableElementSummary(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->summary());
}
JSValue jsHTMLTableElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableElement* castedThis = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableElement* imp = static_cast<HTMLTableElement*>(static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThis->impl());
return jsString(exec, imp->width());
}
JSValue jsHTMLTableElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableElement* domObject = static_cast<JSHTMLTableElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -344,9 +359,9 @@ void setJSHTMLTableElementWidth(ExecState* exec, JSObject* thisObject, JSValue v
imp->setWidth(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateTHead(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -358,7 +373,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateTHead(ExecState*
HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createTHead()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTHead()));
return result;
}
@@ -383,7 +398,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateTFoot(ExecState*
HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createTFoot()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createTFoot()));
return result;
}
@@ -408,7 +423,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionCreateCaption(ExecState
HTMLTableElement* imp = static_cast<HTMLTableElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createCaption()));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createCaption()));
return result;
}
@@ -435,7 +450,7 @@ JSValue JSC_HOST_CALL jsHTMLTableElementPrototypeFunctionInsertRow(ExecState* ex
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertRow(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertRow(index, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h
index 234d812..ebef7fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h
@@ -30,7 +30,7 @@ class HTMLTableElement;
class JSHTMLTableElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableElement>);
+ JSHTMLTableElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp
index c384613..3305604 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp
@@ -54,7 +54,7 @@ static const HashTableValue JSHTMLTableRowElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableRowElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableRowElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSHTMLTableRowElementTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSHTMLTableRowElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableRowElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableRowElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableRowElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableRowElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableRowElementConstructor : public DOMObject {
+class JSHTMLTableRowElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableRowElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableRowElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableRowElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableRowElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableRowElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableRowElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSHTMLTableRowElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableRowElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableRowElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSHTMLTableRowElementPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ bool JSHTMLTableRowElementPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSHTMLTableRowElement::s_info = { "HTMLTableRowElement", &JSHTMLElement::s_info, &JSHTMLTableRowElementTable, 0 };
-JSHTMLTableRowElement::JSHTMLTableRowElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableRowElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableRowElement::JSHTMLTableRowElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableRowElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -146,63 +146,72 @@ bool JSHTMLTableRowElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLTableRowElementRowIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsNumber(exec, imp->rowIndex());
}
JSValue jsHTMLTableRowElementSectionRowIndex(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsNumber(exec, imp->sectionRowIndex());
}
JSValue jsHTMLTableRowElementCells(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->cells()));
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->cells()));
}
JSValue jsHTMLTableRowElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableRowElementBgColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->bgColor());
}
JSValue jsHTMLTableRowElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableRowElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableRowElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableRowElement* castedThis = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableRowElement* imp = static_cast<HTMLTableRowElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableRowElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableRowElement* domObject = static_cast<JSHTMLTableRowElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableRowElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableRowElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -239,9 +248,9 @@ void setJSHTMLTableRowElementVAlign(ExecState* exec, JSObject* thisObject, JSVal
imp->setVAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableRowElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableRowElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableRowElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableRowElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTableRowElementPrototypeFunctionInsertCell(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -255,7 +264,7 @@ JSValue JSC_HOST_CALL jsHTMLTableRowElementPrototypeFunctionInsertCell(ExecState
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertCell(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertCell(index, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h
index e3e93bc..3a592b4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h
@@ -30,7 +30,7 @@ class HTMLTableRowElement;
class JSHTMLTableRowElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableRowElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableRowElement>);
+ JSHTMLTableRowElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableRowElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp
index 8e8ce54..fa3c5b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSHTMLTableSectionElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableSectionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableSectionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLTableSectionElementTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSHTMLTableSectionElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableSectionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableSectionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTableSectionElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTableSectionElementConstructorTableValues, 0 };
#endif
-class JSHTMLTableSectionElementConstructor : public DOMObject {
+class JSHTMLTableSectionElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTableSectionElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTableSectionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTableSectionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTableSectionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTableSectionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTableSectionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSHTMLTableSectionElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTableSectionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTableSectionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLTableSectionElementPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSHTMLTableSectionElementPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSHTMLTableSectionElement::s_info = { "HTMLTableSectionElement", &JSHTMLElement::s_info, &JSHTMLTableSectionElementTable, 0 };
-JSHTMLTableSectionElement::JSHTMLTableSectionElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTableSectionElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTableSectionElement::JSHTMLTableSectionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTableSectionElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -142,42 +142,48 @@ bool JSHTMLTableSectionElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsHTMLTableSectionElementAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->align());
}
JSValue jsHTMLTableSectionElementCh(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->ch());
}
JSValue jsHTMLTableSectionElementChOff(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->chOff());
}
JSValue jsHTMLTableSectionElementVAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
return jsString(exec, imp->vAlign());
}
JSValue jsHTMLTableSectionElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTableSectionElement* castedThis = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rows()));
+ HTMLTableSectionElement* imp = static_cast<HTMLTableSectionElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rows()));
}
JSValue jsHTMLTableSectionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTableSectionElement* domObject = static_cast<JSHTMLTableSectionElement*>(asObject(slot.slotBase()));
+ return JSHTMLTableSectionElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTableSectionElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -208,9 +214,9 @@ void setJSHTMLTableSectionElementVAlign(ExecState* exec, JSObject* thisObject, J
imp->setVAlign(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTableSectionElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTableSectionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTableSectionElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTableSectionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTableSectionElementPrototypeFunctionInsertRow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -224,7 +230,7 @@ JSValue JSC_HOST_CALL jsHTMLTableSectionElementPrototypeFunctionInsertRow(ExecSt
int index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->insertRow(index, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->insertRow(index, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h
index 672165f..0734bdb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h
@@ -31,7 +31,7 @@ class HTMLTableSectionElement;
class JSHTMLTableSectionElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTableSectionElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTableSectionElement>);
+ JSHTMLTableSectionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTableSectionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -43,7 +43,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
HTMLTableSectionElement* impl() const
{
return static_cast<HTMLTableSectionElement*>(Base::impl());
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp
index 6d845f9..0a2c779 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp
@@ -24,7 +24,9 @@
#include "HTMLFormElement.h"
#include "HTMLTextAreaElement.h"
#include "JSHTMLFormElement.h"
+#include "JSValidityState.h"
#include "KURL.h"
+#include "ValidityState.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
#include <runtime/JSString.h>
@@ -38,16 +40,18 @@ ASSERT_CLASS_FITS_IN_CELL(JSHTMLTextAreaElement);
/* Hash table */
-static const HashTableValue JSHTMLTextAreaElementTableValues[16] =
+static const HashTableValue JSHTMLTextAreaElementTableValues[18] =
{
{ "defaultValue", DontDelete, (intptr_t)jsHTMLTextAreaElementDefaultValue, (intptr_t)setJSHTMLTextAreaElementDefaultValue },
{ "form", DontDelete|ReadOnly, (intptr_t)jsHTMLTextAreaElementForm, (intptr_t)0 },
+ { "validity", DontDelete|ReadOnly, (intptr_t)jsHTMLTextAreaElementValidity, (intptr_t)0 },
{ "accessKey", DontDelete, (intptr_t)jsHTMLTextAreaElementAccessKey, (intptr_t)setJSHTMLTextAreaElementAccessKey },
{ "cols", DontDelete, (intptr_t)jsHTMLTextAreaElementCols, (intptr_t)setJSHTMLTextAreaElementCols },
{ "disabled", DontDelete, (intptr_t)jsHTMLTextAreaElementDisabled, (intptr_t)setJSHTMLTextAreaElementDisabled },
{ "autofocus", DontDelete, (intptr_t)jsHTMLTextAreaElementAutofocus, (intptr_t)setJSHTMLTextAreaElementAutofocus },
{ "name", DontDelete, (intptr_t)jsHTMLTextAreaElementName, (intptr_t)setJSHTMLTextAreaElementName },
{ "readOnly", DontDelete, (intptr_t)jsHTMLTextAreaElementReadOnly, (intptr_t)setJSHTMLTextAreaElementReadOnly },
+ { "required", DontDelete, (intptr_t)jsHTMLTextAreaElementRequired, (intptr_t)setJSHTMLTextAreaElementRequired },
{ "rows", DontDelete, (intptr_t)jsHTMLTextAreaElementRows, (intptr_t)setJSHTMLTextAreaElementRows },
{ "type", DontDelete|ReadOnly, (intptr_t)jsHTMLTextAreaElementType, (intptr_t)0 },
{ "value", DontDelete, (intptr_t)jsHTMLTextAreaElementValue, (intptr_t)setJSHTMLTextAreaElementValue },
@@ -58,11 +62,11 @@ static const HashTableValue JSHTMLTextAreaElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTextAreaElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTextAreaElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSHTMLTextAreaElementTableValues, 0 };
#else
- { 35, 31, JSHTMLTextAreaElementTableValues, 0 };
+ { 67, 63, JSHTMLTextAreaElementTableValues, 0 };
#endif
/* Hash table for constructor */
@@ -72,19 +76,19 @@ static const HashTableValue JSHTMLTextAreaElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTextAreaElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTextAreaElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTextAreaElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTextAreaElementConstructorTableValues, 0 };
#endif
-class JSHTMLTextAreaElementConstructor : public DOMObject {
+class JSHTMLTextAreaElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTextAreaElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTextAreaElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTextAreaElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTextAreaElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTextAreaElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTextAreaElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -112,7 +116,7 @@ static const HashTableValue JSHTMLTextAreaElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTextAreaElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTextAreaElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSHTMLTextAreaElementPrototypeTableValues, 0 };
#else
@@ -133,8 +137,8 @@ bool JSHTMLTextAreaElementPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSHTMLTextAreaElement::s_info = { "HTMLTextAreaElement", &JSHTMLElement::s_info, &JSHTMLTextAreaElementTable, 0 };
-JSHTMLTextAreaElement::JSHTMLTextAreaElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTextAreaElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTextAreaElement::JSHTMLTextAreaElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTextAreaElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -150,105 +154,136 @@ bool JSHTMLTextAreaElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsHTMLTextAreaElementDefaultValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->defaultValue());
}
JSValue jsHTMLTextAreaElementForm(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->form()));
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->form()));
+}
+
+JSValue jsHTMLTextAreaElementValidity(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->validity()));
}
JSValue jsHTMLTextAreaElementAccessKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->accessKey());
}
JSValue jsHTMLTextAreaElementCols(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->cols());
}
JSValue jsHTMLTextAreaElementDisabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->disabled());
}
JSValue jsHTMLTextAreaElementAutofocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->autofocus());
}
JSValue jsHTMLTextAreaElementName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsHTMLTextAreaElementReadOnly(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->readOnly());
}
+JSValue jsHTMLTextAreaElementRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
+ return jsBoolean(imp->required());
+}
+
JSValue jsHTMLTextAreaElementRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->rows());
}
JSValue jsHTMLTextAreaElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLTextAreaElementValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsString(exec, imp->value());
}
JSValue jsHTMLTextAreaElementWillValidate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsBoolean(imp->willValidate());
}
JSValue jsHTMLTextAreaElementSelectionStart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->selectionStart());
}
JSValue jsHTMLTextAreaElementSelectionEnd(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTextAreaElement* castedThis = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(castedThis->impl());
return jsNumber(exec, imp->selectionEnd());
}
JSValue jsHTMLTextAreaElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTextAreaElement* domObject = static_cast<JSHTMLTextAreaElement*>(asObject(slot.slotBase()));
+ return JSHTMLTextAreaElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTextAreaElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -297,6 +332,12 @@ void setJSHTMLTextAreaElementReadOnly(ExecState* exec, JSObject* thisObject, JSV
imp->setReadOnly(value.toBoolean(exec));
}
+void setJSHTMLTextAreaElementRequired(ExecState* exec, JSObject* thisObject, JSValue value)
+{
+ HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(thisObject)->impl());
+ imp->setRequired(value.toBoolean(exec));
+}
+
void setJSHTMLTextAreaElementRows(ExecState* exec, JSObject* thisObject, JSValue value)
{
HTMLTextAreaElement* imp = static_cast<HTMLTextAreaElement*>(static_cast<JSHTMLTextAreaElement*>(thisObject)->impl());
@@ -321,9 +362,9 @@ void setJSHTMLTextAreaElementSelectionEnd(ExecState* exec, JSObject* thisObject,
imp->setSelectionEnd(value.toInt32(exec));
}
-JSValue JSHTMLTextAreaElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTextAreaElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTextAreaElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTextAreaElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsHTMLTextAreaElementPrototypeFunctionSelect(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h
index d248975..52b05dd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h
@@ -30,7 +30,7 @@ class HTMLTextAreaElement;
class JSHTMLTextAreaElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTextAreaElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTextAreaElement>);
+ JSHTMLTextAreaElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTextAreaElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
@@ -69,6 +69,7 @@ JSC::JSValue JSC_HOST_CALL jsHTMLTextAreaElementPrototypeFunctionSetSelectionRan
JSC::JSValue jsHTMLTextAreaElementDefaultValue(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementDefaultValue(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementForm(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsHTMLTextAreaElementValidity(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
JSC::JSValue jsHTMLTextAreaElementAccessKey(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementAccessKey(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementCols(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
@@ -81,6 +82,8 @@ JSC::JSValue jsHTMLTextAreaElementName(JSC::ExecState*, const JSC::Identifier&,
void setJSHTMLTextAreaElementName(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementReadOnly(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementReadOnly(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
+JSC::JSValue jsHTMLTextAreaElementRequired(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+void setJSHTMLTextAreaElementRequired(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementRows(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
void setJSHTMLTextAreaElementRows(JSC::ExecState*, JSC::JSObject*, JSC::JSValue);
JSC::JSValue jsHTMLTextAreaElementType(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp
index 82a61ad..04bf7e0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHTMLTitleElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTitleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTitleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSHTMLTitleElementTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSHTMLTitleElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTitleElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTitleElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTitleElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLTitleElementConstructorTableValues, 0 };
#endif
-class JSHTMLTitleElementConstructor : public DOMObject {
+class JSHTMLTitleElementConstructor : public DOMConstructorObject {
public:
- JSHTMLTitleElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLTitleElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLTitleElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLTitleElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLTitleElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLTitleElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSHTMLTitleElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLTitleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLTitleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLTitleElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSHTMLTitleElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLTitleElement::s_info = { "HTMLTitleElement", &JSHTMLElement::s_info, &JSHTMLTitleElementTable, 0 };
-JSHTMLTitleElement::JSHTMLTitleElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLTitleElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLTitleElement::JSHTMLTitleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLTitleElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -126,14 +126,16 @@ bool JSHTMLTitleElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLTitleElementText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLTitleElement* castedThis = static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLTitleElement* imp = static_cast<HTMLTitleElement*>(static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()))->impl());
+ HTMLTitleElement* imp = static_cast<HTMLTitleElement*>(castedThis->impl());
return jsString(exec, imp->text());
}
JSValue jsHTMLTitleElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLTitleElement* domObject = static_cast<JSHTMLTitleElement*>(asObject(slot.slotBase()));
+ return JSHTMLTitleElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLTitleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -146,9 +148,9 @@ void setJSHTMLTitleElementText(ExecState* exec, JSObject* thisObject, JSValue va
imp->setText(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLTitleElement::getConstructor(ExecState* exec)
+JSValue JSHTMLTitleElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLTitleElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLTitleElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h
index 79e73ae..fa8c4c6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h
@@ -30,7 +30,7 @@ class HTMLTitleElement;
class JSHTMLTitleElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLTitleElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLTitleElement>);
+ JSHTMLTitleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLTitleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp
index 522ff7f..017a317 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSHTMLUListElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLUListElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLUListElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSHTMLUListElementTableValues, 0 };
#else
@@ -56,19 +56,19 @@ static const HashTableValue JSHTMLUListElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLUListElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLUListElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLUListElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLUListElementConstructorTableValues, 0 };
#endif
-class JSHTMLUListElementConstructor : public DOMObject {
+class JSHTMLUListElementConstructor : public DOMConstructorObject {
public:
- JSHTMLUListElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLUListElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLUListElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLUListElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLUListElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLUListElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -94,7 +94,7 @@ static const HashTableValue JSHTMLUListElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLUListElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLUListElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLUListElementPrototypeTableValues, 0 };
#else
@@ -110,8 +110,8 @@ JSObject* JSHTMLUListElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLUListElement::s_info = { "HTMLUListElement", &JSHTMLElement::s_info, &JSHTMLUListElementTable, 0 };
-JSHTMLUListElement::JSHTMLUListElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLUListElement> impl)
- : JSHTMLElement(structure, impl)
+JSHTMLUListElement::JSHTMLUListElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLUListElement> impl)
+ : JSHTMLElement(structure, globalObject, impl)
{
}
@@ -127,21 +127,24 @@ bool JSHTMLUListElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLUListElementCompact(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLUListElement* castedThis = static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLUListElement* imp = static_cast<HTMLUListElement*>(static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLUListElement* imp = static_cast<HTMLUListElement*>(castedThis->impl());
return jsBoolean(imp->compact());
}
JSValue jsHTMLUListElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLUListElement* castedThis = static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLUListElement* imp = static_cast<HTMLUListElement*>(static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()))->impl());
+ HTMLUListElement* imp = static_cast<HTMLUListElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsHTMLUListElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLUListElement* domObject = static_cast<JSHTMLUListElement*>(asObject(slot.slotBase()));
+ return JSHTMLUListElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLUListElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -160,9 +163,9 @@ void setJSHTMLUListElementType(ExecState* exec, JSObject* thisObject, JSValue va
imp->setType(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLUListElement::getConstructor(ExecState* exec)
+JSValue JSHTMLUListElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLUListElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLUListElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h
index 339b5f0..9c1cc10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h
@@ -30,7 +30,7 @@ class HTMLUListElement;
class JSHTMLUListElement : public JSHTMLElement {
typedef JSHTMLElement Base;
public:
- JSHTMLUListElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLUListElement>);
+ JSHTMLUListElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLUListElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp
index c097281..152ae5f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSHTMLVideoElementTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLVideoElementTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLVideoElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHTMLVideoElementTableValues, 0 };
#else
@@ -63,19 +63,19 @@ static const HashTableValue JSHTMLVideoElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLVideoElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLVideoElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLVideoElementConstructorTableValues, 0 };
#else
{ 1, 0, JSHTMLVideoElementConstructorTableValues, 0 };
#endif
-class JSHTMLVideoElementConstructor : public DOMObject {
+class JSHTMLVideoElementConstructor : public DOMConstructorObject {
public:
- JSHTMLVideoElementConstructor(ExecState* exec)
- : DOMObject(JSHTMLVideoElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSHTMLVideoElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSHTMLVideoElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSHTMLVideoElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSHTMLVideoElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -101,7 +101,7 @@ static const HashTableValue JSHTMLVideoElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHTMLVideoElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHTMLVideoElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHTMLVideoElementPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ JSObject* JSHTMLVideoElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSHTMLVideoElement::s_info = { "HTMLVideoElement", &JSHTMLMediaElement::s_info, &JSHTMLVideoElementTable, 0 };
-JSHTMLVideoElement::JSHTMLVideoElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLVideoElement> impl)
- : JSHTMLMediaElement(structure, impl)
+JSHTMLVideoElement::JSHTMLVideoElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLVideoElement> impl)
+ : JSHTMLMediaElement(structure, globalObject, impl)
{
}
@@ -134,42 +134,48 @@ bool JSHTMLVideoElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsHTMLVideoElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsHTMLVideoElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsHTMLVideoElementVideoWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->videoWidth());
}
JSValue jsHTMLVideoElementVideoHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsNumber(exec, imp->videoHeight());
}
JSValue jsHTMLVideoElementPoster(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHTMLVideoElement* castedThis = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->impl());
+ HTMLVideoElement* imp = static_cast<HTMLVideoElement*>(castedThis->impl());
return jsString(exec, imp->poster());
}
JSValue jsHTMLVideoElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSHTMLVideoElement* domObject = static_cast<JSHTMLVideoElement*>(asObject(slot.slotBase()));
+ return JSHTMLVideoElement::getConstructor(exec, domObject->globalObject());
}
void JSHTMLVideoElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -194,9 +200,9 @@ void setJSHTMLVideoElementPoster(ExecState* exec, JSObject* thisObject, JSValue
imp->setPoster(valueToStringWithNullCheck(exec, value));
}
-JSValue JSHTMLVideoElement::getConstructor(ExecState* exec)
+JSValue JSHTMLVideoElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSHTMLVideoElementConstructor>(exec);
+ return getDOMConstructor<JSHTMLVideoElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h
index 3e3b8c2..15bcc89 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h
@@ -32,7 +32,7 @@ class HTMLVideoElement;
class JSHTMLVideoElement : public JSHTMLMediaElement {
typedef JSHTMLMediaElement Base;
public:
- JSHTMLVideoElement(PassRefPtr<JSC::Structure>, PassRefPtr<HTMLVideoElement>);
+ JSHTMLVideoElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<HTMLVideoElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
index 55e22af..fc8c0b6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSHistoryTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHistoryTable =
+static JSC_CONST_HASHTABLE HashTable JSHistoryTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSHistoryTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSHistoryPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSHistoryPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSHistoryPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSHistoryPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ bool JSHistoryPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& p
const ClassInfo JSHistory::s_info = { "History", 0, &JSHistoryTable, 0 };
-JSHistory::JSHistory(PassRefPtr<Structure> structure, PassRefPtr<History> impl)
- : DOMObject(structure)
+JSHistory::JSHistory(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<History> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,8 +104,9 @@ bool JSHistory::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsHistoryLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSHistory* castedThis = static_cast<JSHistory*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- History* imp = static_cast<History*>(static_cast<JSHistory*>(asObject(slot.slotBase()))->impl());
+ History* imp = static_cast<History*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -153,9 +154,9 @@ JSValue JSC_HOST_CALL jsHistoryPrototypeFunctionGo(ExecState* exec, JSObject*, J
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, History* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, History* object)
{
- return getDOMObjectWrapper<JSHistory>(exec, object);
+ return getDOMObjectWrapper<JSHistory>(exec, globalObject, object);
}
History* toHistory(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSHistory.h b/src/3rdparty/webkit/WebCore/generated/JSHistory.h
index e81255a..8163882 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSHistory.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSHistory.h
@@ -21,6 +21,7 @@
#ifndef JSHistory_h
#define JSHistory_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class History;
-class JSHistory : public DOMObject {
- typedef DOMObject Base;
+class JSHistory : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSHistory(PassRefPtr<JSC::Structure>, PassRefPtr<History>);
+ JSHistory(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<History>);
virtual ~JSHistory();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -55,7 +56,7 @@ private:
RefPtr<History> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, History*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, History*);
History* toHistory(JSC::JSValue);
class JSHistoryPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
index a965375..841b1a2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSImageDataTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSImageDataTable =
+static JSC_CONST_HASHTABLE HashTable JSImageDataTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSImageDataTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSImageDataConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSImageDataConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSImageDataConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSImageDataConstructorTableValues, 0 };
#else
{ 1, 0, JSImageDataConstructorTableValues, 0 };
#endif
-class JSImageDataConstructor : public DOMObject {
+class JSImageDataConstructor : public DOMConstructorObject {
public:
- JSImageDataConstructor(ExecState* exec)
- : DOMObject(JSImageDataConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSImageDataConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSImageDataConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSImageDataPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSImageDataPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSImageDataPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSImageDataPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSImageDataPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSImageDataPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSImageDataPrototype::self(ExecState* exec, JSGlobalObject* globalObje
const ClassInfo JSImageData::s_info = { "ImageData", 0, &JSImageDataTable, 0 };
-JSImageData::JSImageData(PassRefPtr<Structure> structure, PassRefPtr<ImageData> impl)
- : DOMObject(structure)
+JSImageData::JSImageData(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ImageData> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -132,25 +132,28 @@ bool JSImageData::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsImageDataWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSImageData* castedThis = static_cast<JSImageData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ImageData* imp = static_cast<ImageData*>(static_cast<JSImageData*>(asObject(slot.slotBase()))->impl());
+ ImageData* imp = static_cast<ImageData*>(castedThis->impl());
return jsNumber(exec, imp->width());
}
JSValue jsImageDataHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSImageData* castedThis = static_cast<JSImageData*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ImageData* imp = static_cast<ImageData*>(static_cast<JSImageData*>(asObject(slot.slotBase()))->impl());
+ ImageData* imp = static_cast<ImageData*>(castedThis->impl());
return jsNumber(exec, imp->height());
}
JSValue jsImageDataConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSImageData*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSImageData* domObject = static_cast<JSImageData*>(asObject(slot.slotBase()));
+ return JSImageData::getConstructor(exec, domObject->globalObject());
}
-JSValue JSImageData::getConstructor(ExecState* exec)
+JSValue JSImageData::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSImageDataConstructor>(exec);
+ return getDOMConstructor<JSImageDataConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
ImageData* toImageData(JSC::JSValue value)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSImageData.h b/src/3rdparty/webkit/WebCore/generated/JSImageData.h
index 12a9f01..5b6ab1d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSImageData.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSImageData.h
@@ -21,6 +21,7 @@
#ifndef JSImageData_h
#define JSImageData_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class ImageData;
-class JSImageData : public DOMObject {
- typedef DOMObject Base;
+class JSImageData : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSImageData(PassRefPtr<JSC::Structure>, PassRefPtr<ImageData>);
+ JSImageData(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ImageData>);
virtual ~JSImageData();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
ImageData* impl() const { return m_impl.get(); }
private:
RefPtr<ImageData> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, ImageData*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, ImageData*);
ImageData* toImageData(JSC::JSValue);
class JSImageDataPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
new file mode 100644
index 0000000..78e5420
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp
@@ -0,0 +1,773 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSInspectorBackend.h"
+
+#include "DOMWindow.h"
+#include "InspectorBackend.h"
+#include "JSNode.h"
+#include "KURL.h"
+#include <runtime/Error.h>
+#include <runtime/JSString.h>
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSInspectorBackend);
+
+/* Hash table */
+
+static const HashTableValue JSInspectorBackendTableValues[2] =
+{
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsInspectorBackendConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSInspectorBackendTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSInspectorBackendTableValues, 0 };
+#else
+ { 2, 1, JSInspectorBackendTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSInspectorBackendConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSInspectorBackendConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSInspectorBackendConstructorTableValues, 0 };
+#else
+ { 1, 0, JSInspectorBackendConstructorTableValues, 0 };
+#endif
+
+class JSInspectorBackendConstructor : public DOMConstructorObject {
+public:
+ JSInspectorBackendConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSInspectorBackendConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSInspectorBackendPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSInspectorBackendConstructor::s_info = { "InspectorBackendConstructor", 0, &JSInspectorBackendConstructorTable, 0 };
+
+bool JSInspectorBackendConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSInspectorBackendConstructor, DOMObject>(exec, &JSInspectorBackendConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSInspectorBackendPrototypeTableValues[48] =
+{
+ { "hideDOMNodeHighlight", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight, (intptr_t)0 },
+ { "highlightDOMNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHighlightDOMNode, (intptr_t)1 },
+ { "loaded", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionLoaded, (intptr_t)0 },
+ { "windowUnloading", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionWindowUnloading, (intptr_t)0 },
+ { "attach", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAttach, (intptr_t)0 },
+ { "detach", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDetach, (intptr_t)0 },
+ { "closeWindow", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionCloseWindow, (intptr_t)0 },
+ { "clearMessages", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionClearMessages, (intptr_t)0 },
+ { "toggleNodeSearch", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionToggleNodeSearch, (intptr_t)0 },
+ { "isWindowVisible", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionIsWindowVisible, (intptr_t)0 },
+ { "searchingForNode", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSearchingForNode, (intptr_t)0 },
+ { "addResourceSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAddResourceSourceToFrame, (intptr_t)2 },
+ { "addSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAddSourceToFrame, (intptr_t)3 },
+ { "search", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSearch, (intptr_t)2 },
+ { "databaseTableNames", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDatabaseTableNames, (intptr_t)1 },
+ { "setting", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetting, (intptr_t)1 },
+ { "setSetting", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetSetting, (intptr_t)2 },
+ { "inspectedWindow", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionInspectedWindow, (intptr_t)0 },
+ { "localizedStringsURL", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionLocalizedStringsURL, (intptr_t)0 },
+ { "hiddenPanels", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionHiddenPanels, (intptr_t)0 },
+ { "platform", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPlatform, (intptr_t)0 },
+ { "moveByUnrestricted", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionMoveByUnrestricted, (intptr_t)2 },
+ { "setAttachedWindowHeight", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetAttachedWindowHeight, (intptr_t)1 },
+ { "wrapCallback", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionWrapCallback, (intptr_t)1 },
+ { "resourceTrackingEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionResourceTrackingEnabled, (intptr_t)0 },
+ { "enableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableResourceTracking, (intptr_t)1 },
+ { "disableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableResourceTracking, (intptr_t)1 },
+ { "storeLastActivePanel", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStoreLastActivePanel, (intptr_t)1 },
+ { "debuggerEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDebuggerEnabled, (intptr_t)0 },
+ { "enableDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableDebugger, (intptr_t)1 },
+ { "disableDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableDebugger, (intptr_t)1 },
+ { "addBreakpoint", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionAddBreakpoint, (intptr_t)2 },
+ { "removeBreakpoint", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionRemoveBreakpoint, (intptr_t)2 },
+ { "pauseInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPauseInDebugger, (intptr_t)0 },
+ { "resumeDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionResumeDebugger, (intptr_t)0 },
+ { "stepOverStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStepOverStatementInDebugger, (intptr_t)0 },
+ { "stepIntoStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStepIntoStatementInDebugger, (intptr_t)0 },
+ { "stepOutOfFunctionInDebugger", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStepOutOfFunctionInDebugger, (intptr_t)0 },
+ { "currentCallFrame", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionCurrentCallFrame, (intptr_t)0 },
+ { "pauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionPauseOnExceptions, (intptr_t)0 },
+ { "setPauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionSetPauseOnExceptions, (intptr_t)1 },
+ { "profilerEnabled", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionProfilerEnabled, (intptr_t)0 },
+ { "enableProfiler", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionEnableProfiler, (intptr_t)1 },
+ { "disableProfiler", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionDisableProfiler, (intptr_t)1 },
+ { "startProfiling", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStartProfiling, (intptr_t)0 },
+ { "stopProfiling", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionStopProfiling, (intptr_t)0 },
+ { "profiles", DontDelete|Function, (intptr_t)jsInspectorBackendPrototypeFunctionProfiles, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSInspectorBackendPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 2047, JSInspectorBackendPrototypeTableValues, 0 };
+#else
+ { 137, 127, JSInspectorBackendPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSInspectorBackendPrototype::s_info = { "InspectorBackendPrototype", 0, &JSInspectorBackendPrototypeTable, 0 };
+
+JSObject* JSInspectorBackendPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSInspectorBackend>(exec, globalObject);
+}
+
+bool JSInspectorBackendPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticFunctionSlot<JSObject>(exec, &JSInspectorBackendPrototypeTable, this, propertyName, slot);
+}
+
+const ClassInfo JSInspectorBackend::s_info = { "InspectorBackend", 0, &JSInspectorBackendTable, 0 };
+
+JSInspectorBackend::JSInspectorBackend(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<InspectorBackend> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSInspectorBackend::~JSInspectorBackend()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSInspectorBackend::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSInspectorBackendPrototype(JSInspectorBackendPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSInspectorBackend::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSInspectorBackend, Base>(exec, &JSInspectorBackendTable, this, propertyName, slot);
+}
+
+JSValue jsInspectorBackendConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSInspectorBackend* domObject = static_cast<JSInspectorBackend*>(asObject(slot.slotBase()));
+ return JSInspectorBackend::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSInspectorBackend::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSInspectorBackendConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->hideDOMNodeHighlight();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHighlightDOMNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->highlightDOMNode(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLoaded(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->loaded();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWindowUnloading(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->windowUnloading();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAttach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->attach();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDetach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->detach();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCloseWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->closeWindow();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionClearMessages(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->clearMessages();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionToggleNodeSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->toggleNodeSearch();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionIsWindowVisible(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->isWindowVisible());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearchingForNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->searchingForNode());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddResourceSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ int identifier = args.at(0).toInt32(exec);
+ Node* frame = toNode(args.at(1));
+
+ imp->addResourceSourceToFrame(identifier, frame);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& mimeType = args.at(0).toString(exec);
+ const UString& sourceValue = args.at(1).toString(exec);
+ Node* frame = toNode(args.at(2));
+
+
+ JSC::JSValue result = jsBoolean(imp->addSourceToFrame(mimeType, sourceValue, frame));
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->search(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDatabaseTableNames(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->databaseTableNames(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->setting(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->setSetting(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionInspectedWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->inspectedWindow(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLocalizedStringsURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->localizedStringsURL());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHiddenPanels(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->hiddenPanels());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPlatform(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsString(exec, imp->platform());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionMoveByUnrestricted(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ float x = args.at(0).toFloat(exec);
+ float y = args.at(1).toFloat(exec);
+
+ imp->moveWindowBy(x, y);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetAttachedWindowHeight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ unsigned height = args.at(0).toInt32(exec);
+
+ imp->setAttachedWindowHeight(height);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWrapCallback(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->wrapCallback(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResourceTrackingEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->resourceTrackingEnabled());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->enableResourceTracking(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->disableResourceTracking(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStoreLastActivePanel(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& panelName = args.at(0).toString(exec);
+
+ imp->storeLastActivePanel(panelName);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDebuggerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->debuggerEnabled());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->enableDebugger(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->disableDebugger(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& sourceID = args.at(0).toString(exec);
+ unsigned lineNumber = args.at(1).toInt32(exec);
+
+ imp->addBreakpoint(sourceID, lineNumber);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionRemoveBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ const UString& sourceID = args.at(0).toString(exec);
+ unsigned lineNumber = args.at(1).toInt32(exec);
+
+ imp->removeBreakpoint(sourceID, lineNumber);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->pauseInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResumeDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->resumeDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOverStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stepOverStatementInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepIntoStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stepIntoStatementInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOutOfFunctionInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stepOutOfFunctionInDebugger();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCurrentCallFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->currentCallFrame(exec, args);
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->pauseOnExceptions());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool pauseOnExceptions = args.at(0).toBoolean(exec);
+
+ imp->setPauseOnExceptions(pauseOnExceptions);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfilerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+
+ JSC::JSValue result = jsBoolean(imp->profilerEnabled());
+ return result;
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->enableProfiler(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+ bool always = args.at(0).toBoolean(exec);
+
+ imp->disableProfiler(always);
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStartProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->startProfiling();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStopProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ InspectorBackend* imp = static_cast<InspectorBackend*>(castedThisObj->impl());
+
+ imp->stopProfiling();
+ return jsUndefined();
+}
+
+JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfiles(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
+{
+ UNUSED_PARAM(args);
+ if (!thisValue.isObject(&JSInspectorBackend::s_info))
+ return throwError(exec, TypeError);
+ JSInspectorBackend* castedThisObj = static_cast<JSInspectorBackend*>(asObject(thisValue));
+ return castedThisObj->profiles(exec, args);
+}
+
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, InspectorBackend* object)
+{
+ return getDOMObjectWrapper<JSInspectorBackend>(exec, globalObject, object);
+}
+InspectorBackend* toInspectorBackend(JSC::JSValue value)
+{
+ return value.isObject(&JSInspectorBackend::s_info) ? static_cast<JSInspectorBackend*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
new file mode 100644
index 0000000..da9a09e
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h
@@ -0,0 +1,138 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSInspectorBackend_h
+#define JSInspectorBackend_h
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class InspectorBackend;
+
+class JSInspectorBackend : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSInspectorBackend(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<InspectorBackend>);
+ virtual ~JSInspectorBackend();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+
+ // Custom functions
+ JSC::JSValue highlightDOMNode(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue search(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue databaseTableNames(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue setting(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue setSetting(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue inspectedWindow(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue wrapCallback(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue currentCallFrame(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue profiles(JSC::ExecState*, const JSC::ArgList&);
+ InspectorBackend* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<InspectorBackend> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, InspectorBackend*);
+InspectorBackend* toInspectorBackend(JSC::JSValue);
+
+class JSInspectorBackendPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+ JSInspectorBackendPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Functions
+
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHideDOMNodeHighlight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHighlightDOMNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLoaded(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWindowUnloading(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAttach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDetach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCloseWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionClearMessages(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionToggleNodeSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionIsWindowVisible(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearchingForNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddResourceSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDatabaseTableNames(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionInspectedWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionLocalizedStringsURL(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionHiddenPanels(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPlatform(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionMoveByUnrestricted(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetAttachedWindowHeight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionWrapCallback(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResourceTrackingEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStoreLastActivePanel(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDebuggerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionAddBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionRemoveBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionResumeDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOverStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepIntoStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStepOutOfFunctionInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionCurrentCallFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionSetPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfilerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionEnableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionDisableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStartProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionStopProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+JSC::JSValue JSC_HOST_CALL jsInspectorBackendPrototypeFunctionProfiles(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
+// Attributes
+
+JSC::JSValue jsInspectorBackendConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp b/src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp
deleted file mode 100644
index a0dac40..0000000
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.cpp
+++ /dev/null
@@ -1,769 +0,0 @@
-/*
- This file is part of the WebKit open source project.
- This file has been generated by generate-bindings.pl. DO NOT MODIFY!
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "config.h"
-#include "JSInspectorController.h"
-
-#include "DOMWindow.h"
-#include "InspectorController.h"
-#include "JSNode.h"
-#include "KURL.h"
-#include "Node.h"
-#include <runtime/Error.h>
-#include <runtime/JSString.h>
-#include <wtf/GetPtr.h>
-
-using namespace JSC;
-
-namespace WebCore {
-
-ASSERT_CLASS_FITS_IN_CELL(JSInspectorController);
-
-/* Hash table */
-
-static const HashTableValue JSInspectorControllerTableValues[2] =
-{
- { "constructor", DontEnum|ReadOnly, (intptr_t)jsInspectorControllerConstructor, (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-static const HashTable JSInspectorControllerTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 0, JSInspectorControllerTableValues, 0 };
-#else
- { 2, 1, JSInspectorControllerTableValues, 0 };
-#endif
-
-/* Hash table for constructor */
-
-static const HashTableValue JSInspectorControllerConstructorTableValues[1] =
-{
- { 0, 0, 0, 0 }
-};
-
-static const HashTable JSInspectorControllerConstructorTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 0, JSInspectorControllerConstructorTableValues, 0 };
-#else
- { 1, 0, JSInspectorControllerConstructorTableValues, 0 };
-#endif
-
-class JSInspectorControllerConstructor : public DOMObject {
-public:
- JSInspectorControllerConstructor(ExecState* exec)
- : DOMObject(JSInspectorControllerConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
- {
- putDirect(exec->propertyNames().prototype, JSInspectorControllerPrototype::self(exec, exec->lexicalGlobalObject()), None);
- }
- virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
- virtual const ClassInfo* classInfo() const { return &s_info; }
- static const ClassInfo s_info;
-
- static PassRefPtr<Structure> createStructure(JSValue proto)
- {
- return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
- }
-};
-
-const ClassInfo JSInspectorControllerConstructor::s_info = { "InspectorControllerConstructor", 0, &JSInspectorControllerConstructorTable, 0 };
-
-bool JSInspectorControllerConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSInspectorControllerConstructor, DOMObject>(exec, &JSInspectorControllerConstructorTable, this, propertyName, slot);
-}
-
-/* Hash table for prototype */
-
-static const HashTableValue JSInspectorControllerPrototypeTableValues[48] =
-{
- { "hideDOMNodeHighlight", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionHideDOMNodeHighlight, (intptr_t)0 },
- { "highlightDOMNode", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionHighlightDOMNode, (intptr_t)1 },
- { "loaded", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionLoaded, (intptr_t)0 },
- { "windowUnloading", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionWindowUnloading, (intptr_t)0 },
- { "attach", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAttach, (intptr_t)0 },
- { "detach", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDetach, (intptr_t)0 },
- { "closeWindow", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionCloseWindow, (intptr_t)0 },
- { "clearMessages", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionClearMessages, (intptr_t)0 },
- { "toggleNodeSearch", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionToggleNodeSearch, (intptr_t)0 },
- { "isWindowVisible", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionIsWindowVisible, (intptr_t)0 },
- { "searchingForNode", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSearchingForNode, (intptr_t)0 },
- { "addResourceSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAddResourceSourceToFrame, (intptr_t)2 },
- { "addSourceToFrame", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAddSourceToFrame, (intptr_t)3 },
- { "getResourceDocumentNode", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionGetResourceDocumentNode, (intptr_t)1 },
- { "search", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSearch, (intptr_t)2 },
- { "databaseTableNames", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDatabaseTableNames, (intptr_t)1 },
- { "setting", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetting, (intptr_t)1 },
- { "setSetting", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetSetting, (intptr_t)2 },
- { "inspectedWindow", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionInspectedWindow, (intptr_t)0 },
- { "localizedStringsURL", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionLocalizedStringsURL, (intptr_t)0 },
- { "hiddenPanels", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionHiddenPanels, (intptr_t)0 },
- { "platform", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionPlatform, (intptr_t)0 },
- { "moveByUnrestricted", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionMoveByUnrestricted, (intptr_t)2 },
- { "setAttachedWindowHeight", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetAttachedWindowHeight, (intptr_t)1 },
- { "wrapCallback", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionWrapCallback, (intptr_t)1 },
- { "resourceTrackingEnabled", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionResourceTrackingEnabled, (intptr_t)0 },
- { "enableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionEnableResourceTracking, (intptr_t)1 },
- { "disableResourceTracking", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDisableResourceTracking, (intptr_t)1 },
- { "enableDebuggerFromFrontend", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionEnableDebuggerFromFrontend, (intptr_t)1 },
- { "disableDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDisableDebugger, (intptr_t)1 },
- { "pauseInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionPauseInDebugger, (intptr_t)0 },
- { "resumeDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionResumeDebugger, (intptr_t)0 },
- { "stepOverStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStepOverStatementInDebugger, (intptr_t)0 },
- { "stepIntoStatementInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStepIntoStatementInDebugger, (intptr_t)0 },
- { "stepOutOfFunctionInDebugger", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStepOutOfFunctionInDebugger, (intptr_t)0 },
- { "debuggerEnabled", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDebuggerEnabled, (intptr_t)0 },
- { "pauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionPauseOnExceptions, (intptr_t)0 },
- { "profilerEnabled", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionProfilerEnabled, (intptr_t)0 },
- { "startProfiling", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStartProfiling, (intptr_t)0 },
- { "stopProfiling", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionStopProfiling, (intptr_t)0 },
- { "enableProfiler", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionEnableProfiler, (intptr_t)1 },
- { "disableProfiler", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionDisableProfiler, (intptr_t)1 },
- { "currentCallFrame", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionCurrentCallFrame, (intptr_t)0 },
- { "setPauseOnExceptions", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionSetPauseOnExceptions, (intptr_t)1 },
- { "addBreakpoint", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionAddBreakpoint, (intptr_t)2 },
- { "removeBreakpoint", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionRemoveBreakpoint, (intptr_t)2 },
- { "profiles", DontDelete|Function, (intptr_t)jsInspectorControllerPrototypeFunctionProfiles, (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-static const HashTable JSInspectorControllerPrototypeTable =
-#if ENABLE(PERFECT_HASH_SIZE)
- { 2047, JSInspectorControllerPrototypeTableValues, 0 };
-#else
- { 137, 127, JSInspectorControllerPrototypeTableValues, 0 };
-#endif
-
-const ClassInfo JSInspectorControllerPrototype::s_info = { "InspectorControllerPrototype", 0, &JSInspectorControllerPrototypeTable, 0 };
-
-JSObject* JSInspectorControllerPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
-{
- return getDOMPrototype<JSInspectorController>(exec, globalObject);
-}
-
-bool JSInspectorControllerPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticFunctionSlot<JSObject>(exec, &JSInspectorControllerPrototypeTable, this, propertyName, slot);
-}
-
-const ClassInfo JSInspectorController::s_info = { "InspectorController", 0, &JSInspectorControllerTable, 0 };
-
-JSInspectorController::JSInspectorController(PassRefPtr<Structure> structure, PassRefPtr<InspectorController> impl)
- : DOMObject(structure)
- , m_impl(impl)
-{
-}
-
-JSInspectorController::~JSInspectorController()
-{
- forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
-}
-
-JSObject* JSInspectorController::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
-{
- return new (exec) JSInspectorControllerPrototype(JSInspectorControllerPrototype::createStructure(globalObject->objectPrototype()));
-}
-
-bool JSInspectorController::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
-{
- return getStaticValueSlot<JSInspectorController, Base>(exec, &JSInspectorControllerTable, this, propertyName, slot);
-}
-
-JSValue jsInspectorControllerConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
-{
- return static_cast<JSInspectorController*>(asObject(slot.slotBase()))->getConstructor(exec);
-}
-JSValue JSInspectorController::getConstructor(ExecState* exec)
-{
- return getDOMConstructor<JSInspectorControllerConstructor>(exec);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHideDOMNodeHighlight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->hideHighlight();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHighlightDOMNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->highlightDOMNode(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLoaded(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->scriptObjectReady();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWindowUnloading(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->close();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAttach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->attachWindow();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDetach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->detachWindow();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCloseWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->closeWindow();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionClearMessages(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->clearConsoleMessages();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionToggleNodeSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->toggleSearchForNodeInPage();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionIsWindowVisible(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->windowVisible());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearchingForNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->searchingForNodeInPage());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddResourceSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- int identifier = args.at(0).toInt32(exec);
- Node* frame = toNode(args.at(1));
-
- imp->addResourceSourceToFrame(identifier, frame);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddSourceToFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- const UString& mimeType = args.at(0).toString(exec);
- const UString& sourceValue = args.at(1).toString(exec);
- Node* frame = toNode(args.at(2));
-
-
- JSC::JSValue result = jsBoolean(imp->addSourceToFrame(mimeType, sourceValue, frame));
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionGetResourceDocumentNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->getResourceDocumentNode(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearch(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->search(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDatabaseTableNames(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->databaseTableNames(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->setting(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetSetting(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->setSetting(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionInspectedWindow(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->inspectedWindow(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLocalizedStringsURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsString(exec, imp->localizedStringsURL());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHiddenPanels(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsString(exec, imp->hiddenPanels());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPlatform(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsString(exec, imp->platform());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionMoveByUnrestricted(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- float x = args.at(0).toFloat(exec);
- float y = args.at(1).toFloat(exec);
-
- imp->moveWindowBy(x, y);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetAttachedWindowHeight(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- unsigned height = args.at(0).toInt32(exec);
-
- imp->setAttachedWindowHeight(height);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWrapCallback(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->wrapCallback(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResourceTrackingEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->resourceTrackingEnabled());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->enableResourceTracking(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableResourceTracking(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->disableResourceTracking(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableDebuggerFromFrontend(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->enableDebuggerFromFrontend(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->disableDebugger(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->pauseInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResumeDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->resumeDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOverStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stepOverStatementInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepIntoStatementInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stepIntoStatementInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOutOfFunctionInDebugger(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stepOutOfFunctionInDebugger();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDebuggerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->debuggerEnabled());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->pauseOnExceptions());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfilerEnabled(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
-
- JSC::JSValue result = jsBoolean(imp->profilerEnabled());
- return result;
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStartProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->startUserInitiatedProfiling();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStopProfiling(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
-
- imp->stopUserInitiatedProfiling();
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->enableProfiler(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableProfiler(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool always = args.at(0).toBoolean(exec);
-
- imp->disableProfiler(always);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCurrentCallFrame(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->currentCallFrame(exec, args);
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetPauseOnExceptions(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- bool pauseOnExceptions = args.at(0).toBoolean(exec);
-
- imp->setPauseOnExceptions(pauseOnExceptions);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- const UString& sourceID = args.at(0).toString(exec);
- unsigned lineNumber = args.at(1).toInt32(exec);
-
- imp->addBreakpoint(sourceID, lineNumber);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionRemoveBreakpoint(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- InspectorController* imp = static_cast<InspectorController*>(castedThisObj->impl());
- const UString& sourceID = args.at(0).toString(exec);
- unsigned lineNumber = args.at(1).toInt32(exec);
-
- imp->removeBreakpoint(sourceID, lineNumber);
- return jsUndefined();
-}
-
-JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfiles(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
-{
- UNUSED_PARAM(args);
- if (!thisValue.isObject(&JSInspectorController::s_info))
- return throwError(exec, TypeError);
- JSInspectorController* castedThisObj = static_cast<JSInspectorController*>(asObject(thisValue));
- return castedThisObj->profiles(exec, args);
-}
-
-JSC::JSValue toJS(JSC::ExecState* exec, InspectorController* object)
-{
- return getDOMObjectWrapper<JSInspectorController>(exec, object);
-}
-InspectorController* toInspectorController(JSC::JSValue value)
-{
- return value.isObject(&JSInspectorController::s_info) ? static_cast<JSInspectorController*>(asObject(value))->impl() : 0;
-}
-
-}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.h b/src/3rdparty/webkit/WebCore/generated/JSInspectorController.h
deleted file mode 100644
index 3bb1480..0000000
--- a/src/3rdparty/webkit/WebCore/generated/JSInspectorController.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- This file is part of the WebKit open source project.
- This file has been generated by generate-bindings.pl. DO NOT MODIFY!
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef JSInspectorController_h
-#define JSInspectorController_h
-
-#include "JSDOMBinding.h"
-#include <runtime/JSGlobalObject.h>
-#include <runtime/ObjectPrototype.h>
-
-namespace WebCore {
-
-class InspectorController;
-
-class JSInspectorController : public DOMObject {
- typedef DOMObject Base;
-public:
- JSInspectorController(PassRefPtr<JSC::Structure>, PassRefPtr<InspectorController>);
- virtual ~JSInspectorController();
- static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
-
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
- }
-
- static JSC::JSValue getConstructor(JSC::ExecState*);
-
- // Custom functions
- JSC::JSValue highlightDOMNode(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue getResourceDocumentNode(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue search(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue databaseTableNames(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue setting(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue setSetting(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue inspectedWindow(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue wrapCallback(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue currentCallFrame(JSC::ExecState*, const JSC::ArgList&);
- JSC::JSValue profiles(JSC::ExecState*, const JSC::ArgList&);
- InspectorController* impl() const { return m_impl.get(); }
-
-private:
- RefPtr<InspectorController> m_impl;
-};
-
-JSC::JSValue toJS(JSC::ExecState*, InspectorController*);
-InspectorController* toInspectorController(JSC::JSValue);
-
-class JSInspectorControllerPrototype : public JSC::JSObject {
- typedef JSC::JSObject Base;
-public:
- static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
- virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
- static const JSC::ClassInfo s_info;
- virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
- static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
- {
- return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
- }
- JSInspectorControllerPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
-};
-
-// Functions
-
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHideDOMNodeHighlight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHighlightDOMNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLoaded(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWindowUnloading(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAttach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDetach(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCloseWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionClearMessages(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionToggleNodeSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionIsWindowVisible(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearchingForNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddResourceSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddSourceToFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionGetResourceDocumentNode(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSearch(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDatabaseTableNames(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetSetting(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionInspectedWindow(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionLocalizedStringsURL(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionHiddenPanels(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPlatform(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionMoveByUnrestricted(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetAttachedWindowHeight(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionWrapCallback(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResourceTrackingEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableResourceTracking(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableDebuggerFromFrontend(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionResumeDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOverStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepIntoStatementInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStepOutOfFunctionInDebugger(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDebuggerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfilerEnabled(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStartProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionStopProfiling(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionEnableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionDisableProfiler(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionCurrentCallFrame(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionSetPauseOnExceptions(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionAddBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionRemoveBreakpoint(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-JSC::JSValue JSC_HOST_CALL jsInspectorControllerPrototypeFunctionProfiles(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
-// Attributes
-
-JSC::JSValue jsInspectorControllerConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
-
-} // namespace WebCore
-
-#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
index c8a3f3d..dc9389f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSJavaScriptCallFrameTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSJavaScriptCallFrameTable =
+static JSC_CONST_HASHTABLE HashTable JSJavaScriptCallFrameTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSJavaScriptCallFrameTableValues, 0 };
#else
@@ -67,7 +67,7 @@ static const HashTableValue JSJavaScriptCallFramePrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSJavaScriptCallFramePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSJavaScriptCallFramePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSJavaScriptCallFramePrototypeTableValues, 0 };
#else
@@ -88,8 +88,8 @@ bool JSJavaScriptCallFramePrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSJavaScriptCallFrame::s_info = { "JavaScriptCallFrame", 0, &JSJavaScriptCallFrameTable, 0 };
-JSJavaScriptCallFrame::JSJavaScriptCallFrame(PassRefPtr<Structure> structure, PassRefPtr<JavaScriptCallFrame> impl)
- : DOMObject(structure)
+JSJavaScriptCallFrame::JSJavaScriptCallFrame(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JavaScriptCallFrame> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -111,45 +111,52 @@ bool JSJavaScriptCallFrame::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsJavaScriptCallFrameCaller(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->caller()));
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->caller()));
}
JSValue jsJavaScriptCallFrameSourceID(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
return jsNumber(exec, imp->sourceID());
}
JSValue jsJavaScriptCallFrameLine(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
return jsNumber(exec, imp->line());
}
JSValue jsJavaScriptCallFrameScopeChain(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->scopeChain(exec);
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
+ return castedThis->scopeChain(exec);
}
JSValue jsJavaScriptCallFrameThisObject(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->thisObject(exec);
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
+ return castedThis->thisObject(exec);
}
JSValue jsJavaScriptCallFrameFunctionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->impl());
+ JavaScriptCallFrame* imp = static_cast<JavaScriptCallFrame*>(castedThis->impl());
return jsString(exec, imp->functionName());
}
JSValue jsJavaScriptCallFrameType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()))->type(exec);
+ JSJavaScriptCallFrame* castedThis = static_cast<JSJavaScriptCallFrame*>(asObject(slot.slotBase()));
+ return castedThis->type(exec);
}
JSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -161,9 +168,9 @@ JSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState*
return castedThisObj->evaluate(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, JavaScriptCallFrame* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JavaScriptCallFrame* object)
{
- return getDOMObjectWrapper<JSJavaScriptCallFrame>(exec, object);
+ return getDOMObjectWrapper<JSJavaScriptCallFrame>(exec, globalObject, object);
}
JavaScriptCallFrame* toJavaScriptCallFrame(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h
index 166ee60..3dff1bc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h
@@ -23,6 +23,7 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class JavaScriptCallFrame;
-class JSJavaScriptCallFrame : public DOMObject {
- typedef DOMObject Base;
+class JSJavaScriptCallFrame : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSJavaScriptCallFrame(PassRefPtr<JSC::Structure>, PassRefPtr<JavaScriptCallFrame>);
+ JSJavaScriptCallFrame(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JavaScriptCallFrame>);
virtual ~JSJavaScriptCallFrame();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -60,7 +61,7 @@ private:
RefPtr<JavaScriptCallFrame> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JavaScriptCallFrame*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JavaScriptCallFrame*);
JavaScriptCallFrame* toJavaScriptCallFrame(JSC::JSValue);
class JSJavaScriptCallFramePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp
index 750d1be..2c5d0bd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSKeyboardEventTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSKeyboardEventTable =
+static JSC_CONST_HASHTABLE HashTable JSKeyboardEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSKeyboardEventTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSKeyboardEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSKeyboardEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSKeyboardEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSKeyboardEventConstructorTableValues, 0 };
#else
{ 1, 0, JSKeyboardEventConstructorTableValues, 0 };
#endif
-class JSKeyboardEventConstructor : public DOMObject {
+class JSKeyboardEventConstructor : public DOMConstructorObject {
public:
- JSKeyboardEventConstructor(ExecState* exec)
- : DOMObject(JSKeyboardEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSKeyboardEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSKeyboardEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSKeyboardEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSKeyboardEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSKeyboardEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSKeyboardEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSKeyboardEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSKeyboardEventPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSKeyboardEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSKeyboardEvent::s_info = { "KeyboardEvent", &JSUIEvent::s_info, &JSKeyboardEventTable, 0 };
-JSKeyboardEvent::JSKeyboardEvent(PassRefPtr<Structure> structure, PassRefPtr<KeyboardEvent> impl)
- : JSUIEvent(structure, impl)
+JSKeyboardEvent::JSKeyboardEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<KeyboardEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -141,60 +141,68 @@ bool JSKeyboardEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsKeyboardEventKeyIdentifier(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsString(exec, imp->keyIdentifier());
}
JSValue jsKeyboardEventKeyLocation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsNumber(exec, imp->keyLocation());
}
JSValue jsKeyboardEventCtrlKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->ctrlKey());
}
JSValue jsKeyboardEventShiftKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->shiftKey());
}
JSValue jsKeyboardEventAltKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->altKey());
}
JSValue jsKeyboardEventMetaKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->metaKey());
}
JSValue jsKeyboardEventAltGraphKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- KeyboardEvent* imp = static_cast<KeyboardEvent*>(static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->impl());
+ KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl());
return jsBoolean(imp->altGraphKey());
}
JSValue jsKeyboardEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSKeyboardEvent* domObject = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase()));
+ return JSKeyboardEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSKeyboardEvent::getConstructor(ExecState* exec)
+JSValue JSKeyboardEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSKeyboardEventConstructor>(exec);
+ return getDOMConstructor<JSKeyboardEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsKeyboardEventPrototypeFunctionInitKeyboardEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h
index 40e6eb1..b1ead27 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h
@@ -30,7 +30,7 @@ class KeyboardEvent;
class JSKeyboardEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSKeyboardEvent(PassRefPtr<JSC::Structure>, PassRefPtr<KeyboardEvent>);
+ JSKeyboardEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<KeyboardEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
index a1c76be..f6d9be4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSLocationTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSLocationTable =
+static JSC_CONST_HASHTABLE HashTable JSLocationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSLocationTableValues, 0 };
#else
@@ -67,7 +67,7 @@ static const HashTableValue JSLocationPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSLocationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSLocationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSLocationPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ void JSLocationPrototype::put(ExecState* exec, const Identifier& propertyName, J
const ClassInfo JSLocation::s_info = { "Location", 0, &JSLocationTable, 0 };
-JSLocation::JSLocation(PassRefPtr<Structure> structure, PassRefPtr<Location> impl)
- : DOMObject(structure)
+JSLocation::JSLocation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Location> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -120,57 +120,65 @@ bool JSLocation::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsLocationHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->href());
}
JSValue jsLocationProtocol(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->protocol());
}
JSValue jsLocationHost(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->host());
}
JSValue jsLocationHostname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->hostname());
}
JSValue jsLocationPort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->port());
}
JSValue jsLocationPathname(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->pathname());
}
JSValue jsLocationSearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->search());
}
JSValue jsLocationHash(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSLocation* castedThis = static_cast<JSLocation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Location* imp = static_cast<Location*>(static_cast<JSLocation*>(asObject(slot.slotBase()))->impl());
+ Location* imp = static_cast<Location*>(castedThis->impl());
return jsString(exec, imp->hash());
}
@@ -257,9 +265,9 @@ JSValue JSC_HOST_CALL jsLocationPrototypeFunctionToString(ExecState* exec, JSObj
return castedThisObj->toString(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, Location* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Location* object)
{
- return getDOMObjectWrapper<JSLocation>(exec, object);
+ return getDOMObjectWrapper<JSLocation>(exec, globalObject, object);
}
Location* toLocation(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSLocation.h b/src/3rdparty/webkit/WebCore/generated/JSLocation.h
index 81cb7a3..155cfbc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSLocation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSLocation.h
@@ -21,6 +21,7 @@
#ifndef JSLocation_h
#define JSLocation_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Location;
-class JSLocation : public DOMObject {
- typedef DOMObject Base;
+class JSLocation : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSLocation(PassRefPtr<JSC::Structure>, PassRefPtr<Location>);
+ JSLocation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Location>);
virtual ~JSLocation();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -72,7 +73,7 @@ private:
RefPtr<Location> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Location*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Location*);
Location* toLocation(JSC::JSValue);
class JSLocationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
index 490e06c..37b1b43 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSMediaErrorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaErrorTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaErrorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMediaErrorTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSMediaErrorConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaErrorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaErrorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSMediaErrorConstructorTableValues, 0 };
#else
{ 9, 7, JSMediaErrorConstructorTableValues, 0 };
#endif
-class JSMediaErrorConstructor : public DOMObject {
+class JSMediaErrorConstructor : public DOMConstructorObject {
public:
- JSMediaErrorConstructor(ExecState* exec)
- : DOMObject(JSMediaErrorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMediaErrorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMediaErrorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMediaErrorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMediaErrorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSMediaErrorPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaErrorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaErrorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSMediaErrorPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSMediaErrorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSMediaError::s_info = { "MediaError", 0, &JSMediaErrorTable, 0 };
-JSMediaError::JSMediaError(PassRefPtr<Structure> structure, PassRefPtr<MediaError> impl)
- : DOMObject(structure)
+JSMediaError::JSMediaError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaError> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -147,18 +147,20 @@ bool JSMediaError::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsMediaErrorCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMediaError* castedThis = static_cast<JSMediaError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MediaError* imp = static_cast<MediaError*>(static_cast<JSMediaError*>(asObject(slot.slotBase()))->impl());
+ MediaError* imp = static_cast<MediaError*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsMediaErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMediaError*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMediaError* domObject = static_cast<JSMediaError*>(asObject(slot.slotBase()));
+ return JSMediaError::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMediaError::getConstructor(ExecState* exec)
+JSValue JSMediaError::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMediaErrorConstructor>(exec);
+ return getDOMConstructor<JSMediaErrorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -183,9 +185,9 @@ JSValue jsMediaErrorMEDIA_ERR_SRC_NOT_SUPPORTED(ExecState* exec, const Identifie
return jsNumber(exec, static_cast<int>(4));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MediaError* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MediaError* object)
{
- return getDOMObjectWrapper<JSMediaError>(exec, object);
+ return getDOMObjectWrapper<JSMediaError>(exec, globalObject, object);
}
MediaError* toMediaError(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaError.h b/src/3rdparty/webkit/WebCore/generated/JSMediaError.h
index 54f58a7..5a159b9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaError.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaError.h
@@ -23,6 +23,7 @@
#if ENABLE(VIDEO)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class MediaError;
-class JSMediaError : public DOMObject {
- typedef DOMObject Base;
+class JSMediaError : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMediaError(PassRefPtr<JSC::Structure>, PassRefPtr<MediaError>);
+ JSMediaError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaError>);
virtual ~JSMediaError();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MediaError* impl() const { return m_impl.get(); }
private:
RefPtr<MediaError> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MediaError*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MediaError*);
MediaError* toMediaError(JSC::JSValue);
class JSMediaErrorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
index 4a517c8f..007e976 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSMediaListTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaListTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMediaListTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSMediaListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMediaListConstructorTableValues, 0 };
#else
{ 1, 0, JSMediaListConstructorTableValues, 0 };
#endif
-class JSMediaListConstructor : public DOMObject {
+class JSMediaListConstructor : public DOMConstructorObject {
public:
- JSMediaListConstructor(ExecState* exec)
- : DOMObject(JSMediaListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMediaListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMediaListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMediaListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMediaListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSMediaListPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMediaListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMediaListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMediaListPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSMediaListPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSMediaList::s_info = { "MediaList", 0, &JSMediaListTable, 0 };
-JSMediaList::JSMediaList(PassRefPtr<Structure> structure, PassRefPtr<MediaList> impl)
- : DOMObject(structure)
+JSMediaList::JSMediaList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MediaList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -163,21 +163,24 @@ bool JSMediaList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Pro
JSValue jsMediaListMediaText(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MediaList* imp = static_cast<MediaList*>(static_cast<JSMediaList*>(asObject(slot.slotBase()))->impl());
+ MediaList* imp = static_cast<MediaList*>(castedThis->impl());
return jsStringOrNull(exec, imp->mediaText());
}
JSValue jsMediaListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MediaList* imp = static_cast<MediaList*>(static_cast<JSMediaList*>(asObject(slot.slotBase()))->impl());
+ MediaList* imp = static_cast<MediaList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsMediaListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMediaList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMediaList* domObject = static_cast<JSMediaList*>(asObject(slot.slotBase()));
+ return JSMediaList::getConstructor(exec, domObject->globalObject());
}
void JSMediaList::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -199,9 +202,9 @@ void JSMediaList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyN
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSMediaList::getConstructor(ExecState* exec)
+JSValue JSMediaList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMediaListConstructor>(exec);
+ return getDOMConstructor<JSMediaListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMediaListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -254,9 +257,9 @@ JSValue JSMediaList::indexGetter(ExecState* exec, const Identifier&, const Prope
JSMediaList* thisObj = static_cast<JSMediaList*>(asObject(slot.slotBase()));
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MediaList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MediaList* object)
{
- return getDOMObjectWrapper<JSMediaList>(exec, object);
+ return getDOMObjectWrapper<JSMediaList>(exec, globalObject, object);
}
MediaList* toMediaList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMediaList.h b/src/3rdparty/webkit/WebCore/generated/JSMediaList.h
index 800d9d4..da82e56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMediaList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMediaList.h
@@ -21,6 +21,7 @@
#ifndef JSMediaList_h
#define JSMediaList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MediaList;
-class JSMediaList : public DOMObject {
- typedef DOMObject Base;
+class JSMediaList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMediaList(PassRefPtr<JSC::Structure>, PassRefPtr<MediaList>);
+ JSMediaList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MediaList>);
virtual ~JSMediaList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MediaList* impl() const { return m_impl.get(); }
private:
@@ -55,7 +56,7 @@ private:
static JSC::JSValue indexGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, MediaList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MediaList*);
MediaList* toMediaList(JSC::JSValue);
class JSMediaListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
index 8f660f2..9304f83 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSMessageChannelTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageChannelTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageChannelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSMessageChannelTableValues, 0 };
#else
@@ -55,7 +55,7 @@ static const HashTableValue JSMessageChannelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageChannelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageChannelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessageChannelPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ static const HashTable* getJSMessageChannelTable(ExecState* exec)
}
const ClassInfo JSMessageChannel::s_info = { "MessageChannel", 0, 0, getJSMessageChannelTable };
-JSMessageChannel::JSMessageChannel(PassRefPtr<Structure> structure, PassRefPtr<MessageChannel> impl)
- : DOMObject(structure)
+JSMessageChannel::JSMessageChannel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageChannel> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -102,21 +102,23 @@ bool JSMessageChannel::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsMessageChannelPort1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageChannel* castedThis = static_cast<JSMessageChannel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageChannel* imp = static_cast<MessageChannel*>(static_cast<JSMessageChannel*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->port1()));
+ MessageChannel* imp = static_cast<MessageChannel*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->port1()));
}
JSValue jsMessageChannelPort2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageChannel* castedThis = static_cast<JSMessageChannel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageChannel* imp = static_cast<MessageChannel*>(static_cast<JSMessageChannel*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->port2()));
+ MessageChannel* imp = static_cast<MessageChannel*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->port2()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MessageChannel* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MessageChannel* object)
{
- return getDOMObjectWrapper<JSMessageChannel>(exec, object);
+ return getDOMObjectWrapper<JSMessageChannel>(exec, globalObject, object);
}
MessageChannel* toMessageChannel(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h
index f9a9026..a56f7c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h
@@ -21,6 +21,7 @@
#ifndef JSMessageChannel_h
#define JSMessageChannel_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MessageChannel;
-class JSMessageChannel : public DOMObject {
- typedef DOMObject Base;
+class JSMessageChannel : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMessageChannel(PassRefPtr<JSC::Structure>, PassRefPtr<MessageChannel>);
+ JSMessageChannel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageChannel>);
virtual ~JSMessageChannel();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<MessageChannel> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MessageChannel*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MessageChannel*);
MessageChannel* toMessageChannel(JSC::JSValue);
class JSMessageChannelPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp
index e95dd9c..293655d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSMessageEventTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageEventTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMessageEventTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSMessageEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessageEventConstructorTableValues, 0 };
#else
{ 1, 0, JSMessageEventConstructorTableValues, 0 };
#endif
-class JSMessageEventConstructor : public DOMObject {
+class JSMessageEventConstructor : public DOMConstructorObject {
public:
- JSMessageEventConstructor(ExecState* exec)
- : DOMObject(JSMessageEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMessageEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMessageEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMessageEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMessageEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSMessageEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessageEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMessageEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessageEventPrototypeTableValues, 0 };
#else
@@ -132,8 +132,8 @@ static const HashTable* getJSMessageEventTable(ExecState* exec)
}
const ClassInfo JSMessageEvent::s_info = { "MessageEvent", &JSEvent::s_info, 0, getJSMessageEventTable };
-JSMessageEvent::JSMessageEvent(PassRefPtr<Structure> structure, PassRefPtr<MessageEvent> impl)
- : JSEvent(structure, impl)
+JSMessageEvent::JSMessageEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessageEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -149,46 +149,52 @@ bool JSMessageEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsMessageEventData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
return jsString(exec, imp->data());
}
JSValue jsMessageEventOrigin(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
return jsString(exec, imp->origin());
}
JSValue jsMessageEventLastEventId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
return jsString(exec, imp->lastEventId());
}
JSValue jsMessageEventSource(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->source()));
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->source()));
}
JSValue jsMessageEventMessagePort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessageEvent* castedThis = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessageEvent* imp = static_cast<MessageEvent*>(static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->messagePort()));
+ MessageEvent* imp = static_cast<MessageEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->messagePort()));
}
JSValue jsMessageEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMessageEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMessageEvent* domObject = static_cast<JSMessageEvent*>(asObject(slot.slotBase()));
+ return JSMessageEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMessageEvent::getConstructor(ExecState* exec)
+JSValue JSMessageEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMessageEventConstructor>(exec);
+ return getDOMConstructor<JSMessageEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMessageEventPrototypeFunctionInitMessageEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h
index 4cdefab..34a0b9f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h
@@ -30,7 +30,7 @@ class MessageEvent;
class JSMessageEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSMessageEvent(PassRefPtr<JSC::Structure>, PassRefPtr<MessageEvent>);
+ JSMessageEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessageEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
index 7cb75b2..2969c22 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSMessagePortTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessagePortTable =
+static JSC_CONST_HASHTABLE HashTable JSMessagePortTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSMessagePortTableValues, 0 };
#else
@@ -62,19 +62,19 @@ static const HashTableValue JSMessagePortConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessagePortConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMessagePortConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMessagePortConstructorTableValues, 0 };
#else
{ 1, 0, JSMessagePortConstructorTableValues, 0 };
#endif
-class JSMessagePortConstructor : public DOMObject {
+class JSMessagePortConstructor : public DOMConstructorObject {
public:
- JSMessagePortConstructor(ExecState* exec)
- : DOMObject(JSMessagePortConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMessagePortConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMessagePortConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMessagePortPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMessagePortPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -106,7 +106,7 @@ static const HashTableValue JSMessagePortPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMessagePortPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMessagePortPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSMessagePortPrototypeTableValues, 0 };
#else
@@ -135,8 +135,8 @@ static const HashTable* getJSMessagePortTable(ExecState* exec)
}
const ClassInfo JSMessagePort::s_info = { "MessagePort", 0, 0, getJSMessagePortTable };
-JSMessagePort::JSMessagePort(PassRefPtr<Structure> structure, PassRefPtr<MessagePort> impl)
- : DOMObject(structure)
+JSMessagePort::JSMessagePort(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MessagePort> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -158,8 +158,9 @@ bool JSMessagePort::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsMessagePortOnmessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMessagePort* castedThis = static_cast<JSMessagePort*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MessagePort* imp = static_cast<MessagePort*>(static_cast<JSMessagePort*>(asObject(slot.slotBase()))->impl());
+ MessagePort* imp = static_cast<MessagePort*>(castedThis->impl());
if (EventListener* listener = imp->onmessage()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -169,7 +170,8 @@ JSValue jsMessagePortOnmessage(ExecState* exec, const Identifier&, const Propert
JSValue jsMessagePortConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMessagePort*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMessagePort* domObject = static_cast<JSMessagePort*>(asObject(slot.slotBase()));
+ return JSMessagePort::getConstructor(exec, domObject->globalObject());
}
void JSMessagePort::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -186,9 +188,9 @@ void setJSMessagePortOnmessage(ExecState* exec, JSObject* thisObject, JSValue va
imp->setOnmessage(globalObject->createJSAttributeEventListener(value));
}
-JSValue JSMessagePort::getConstructor(ExecState* exec)
+JSValue JSMessagePort::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMessagePortConstructor>(exec);
+ return getDOMConstructor<JSMessagePortConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMessagePortPrototypeFunctionPostMessage(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -273,9 +275,9 @@ JSValue JSC_HOST_CALL jsMessagePortPrototypeFunctionDispatchEvent(ExecState* exe
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, MessagePort* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MessagePort* object)
{
- return getDOMObjectWrapper<JSMessagePort>(exec, object);
+ return getDOMObjectWrapper<JSMessagePort>(exec, globalObject, object);
}
MessagePort* toMessagePort(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h
index 1804d8d..7db5838 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMessagePort.h
@@ -21,6 +21,7 @@
#ifndef JSMessagePort_h
#define JSMessagePort_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MessagePort;
-class JSMessagePort : public DOMObject {
- typedef DOMObject Base;
+class JSMessagePort : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMessagePort(PassRefPtr<JSC::Structure>, PassRefPtr<MessagePort>);
+ JSMessagePort(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MessagePort>);
virtual ~JSMessagePort();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,7 +48,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue addEventListener(JSC::ExecState*, const JSC::ArgList&);
@@ -58,7 +59,7 @@ private:
RefPtr<MessagePort> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MessagePort*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MessagePort*);
MessagePort* toMessagePort(JSC::JSValue);
class JSMessagePortPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
index 09a5dbd..e5ef403 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSMimeTypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMimeTypeTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSMimeTypeConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMimeTypeConstructorTableValues, 0 };
#else
{ 1, 0, JSMimeTypeConstructorTableValues, 0 };
#endif
-class JSMimeTypeConstructor : public DOMObject {
+class JSMimeTypeConstructor : public DOMConstructorObject {
public:
- JSMimeTypeConstructor(ExecState* exec)
- : DOMObject(JSMimeTypeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMimeTypeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMimeTypeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMimeTypePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMimeTypePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -98,7 +98,7 @@ static const HashTableValue JSMimeTypePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMimeTypePrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ JSObject* JSMimeTypePrototype::self(ExecState* exec, JSGlobalObject* globalObjec
const ClassInfo JSMimeType::s_info = { "MimeType", 0, &JSMimeTypeTable, 0 };
-JSMimeType::JSMimeType(PassRefPtr<Structure> structure, PassRefPtr<MimeType> impl)
- : DOMObject(structure)
+JSMimeType::JSMimeType(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeType> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -137,44 +137,49 @@ bool JSMimeType::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsMimeTypeType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsMimeTypeSuffixes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
return jsString(exec, imp->suffixes());
}
JSValue jsMimeTypeDescription(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
return jsString(exec, imp->description());
}
JSValue jsMimeTypeEnabledPlugin(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeType* castedThis = static_cast<JSMimeType*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeType* imp = static_cast<MimeType*>(static_cast<JSMimeType*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->enabledPlugin()));
+ MimeType* imp = static_cast<MimeType*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->enabledPlugin()));
}
JSValue jsMimeTypeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMimeType*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMimeType* domObject = static_cast<JSMimeType*>(asObject(slot.slotBase()));
+ return JSMimeType::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMimeType::getConstructor(ExecState* exec)
+JSValue JSMimeType::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMimeTypeConstructor>(exec);
+ return getDOMConstructor<JSMimeTypeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MimeType* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MimeType* object)
{
- return getDOMObjectWrapper<JSMimeType>(exec, object);
+ return getDOMObjectWrapper<JSMimeType>(exec, globalObject, object);
}
MimeType* toMimeType(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeType.h b/src/3rdparty/webkit/WebCore/generated/JSMimeType.h
index 79b904d..662945a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeType.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeType.h
@@ -21,6 +21,7 @@
#ifndef JSMimeType_h
#define JSMimeType_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MimeType;
-class JSMimeType : public DOMObject {
- typedef DOMObject Base;
+class JSMimeType : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMimeType(PassRefPtr<JSC::Structure>, PassRefPtr<MimeType>);
+ JSMimeType(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeType>);
virtual ~JSMimeType();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MimeType* impl() const { return m_impl.get(); }
private:
RefPtr<MimeType> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, MimeType*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MimeType*);
MimeType* toMimeType(JSC::JSValue);
class JSMimeTypePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
index 509d6d0..8f769fb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSMimeTypeArrayTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeArrayTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeArrayTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSMimeTypeArrayTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSMimeTypeArrayConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeArrayConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeArrayConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMimeTypeArrayConstructorTableValues, 0 };
#else
{ 1, 0, JSMimeTypeArrayConstructorTableValues, 0 };
#endif
-class JSMimeTypeArrayConstructor : public DOMObject {
+class JSMimeTypeArrayConstructor : public DOMConstructorObject {
public:
- JSMimeTypeArrayConstructor(ExecState* exec)
- : DOMObject(JSMimeTypeArrayConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMimeTypeArrayConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMimeTypeArrayConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMimeTypeArrayPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMimeTypeArrayPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSMimeTypeArrayPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMimeTypeArrayPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMimeTypeArrayPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMimeTypeArrayPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSMimeTypeArrayPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSMimeTypeArray::s_info = { "MimeTypeArray", 0, &JSMimeTypeArrayTable, 0 };
-JSMimeTypeArray::JSMimeTypeArray(PassRefPtr<Structure> structure, PassRefPtr<MimeTypeArray> impl)
- : DOMObject(structure)
+JSMimeTypeArray::JSMimeTypeArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MimeTypeArray> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -167,14 +167,16 @@ bool JSMimeTypeArray::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
JSValue jsMimeTypeArrayLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMimeTypeArray* castedThis = static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MimeTypeArray* imp = static_cast<MimeTypeArray*>(static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()))->impl());
+ MimeTypeArray* imp = static_cast<MimeTypeArray*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsMimeTypeArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMimeTypeArray* domObject = static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()));
+ return JSMimeTypeArray::getConstructor(exec, domObject->globalObject());
}
void JSMimeTypeArray::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -183,9 +185,9 @@ void JSMimeTypeArray::getPropertyNames(ExecState* exec, PropertyNameArray& prope
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSMimeTypeArray::getConstructor(ExecState* exec)
+JSValue JSMimeTypeArray::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMimeTypeArrayConstructor>(exec);
+ return getDOMConstructor<JSMimeTypeArrayConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -198,7 +200,7 @@ JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionItem(ExecState* exec, JSOb
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -212,7 +214,7 @@ JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionNamedItem(ExecState* exec,
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -220,11 +222,11 @@ JSValue JSC_HOST_CALL jsMimeTypeArrayPrototypeFunctionNamedItem(ExecState* exec,
JSValue JSMimeTypeArray::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSMimeTypeArray* thisObj = static_cast<JSMimeTypeArray*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<MimeTypeArray*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<MimeTypeArray*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, MimeTypeArray* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, MimeTypeArray* object)
{
- return getDOMObjectWrapper<JSMimeTypeArray>(exec, object);
+ return getDOMObjectWrapper<JSMimeTypeArray>(exec, globalObject, object);
}
MimeTypeArray* toMimeTypeArray(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h
index adc4824..f0625e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h
@@ -21,6 +21,7 @@
#ifndef JSMimeTypeArray_h
#define JSMimeTypeArray_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class MimeTypeArray;
-class JSMimeTypeArray : public DOMObject {
- typedef DOMObject Base;
+class JSMimeTypeArray : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSMimeTypeArray(PassRefPtr<JSC::Structure>, PassRefPtr<MimeTypeArray>);
+ JSMimeTypeArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MimeTypeArray>);
virtual ~JSMimeTypeArray();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
MimeTypeArray* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, MimeTypeArray*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, MimeTypeArray*);
MimeTypeArray* toMimeTypeArray(JSC::JSValue);
class JSMimeTypeArrayPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp
index 6daf2ab..1ba4b0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp
@@ -64,7 +64,7 @@ static const HashTableValue JSMouseEventTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMouseEventTable =
+static JSC_CONST_HASHTABLE HashTable JSMouseEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSMouseEventTableValues, 0 };
#else
@@ -78,19 +78,19 @@ static const HashTableValue JSMouseEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMouseEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMouseEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMouseEventConstructorTableValues, 0 };
#else
{ 1, 0, JSMouseEventConstructorTableValues, 0 };
#endif
-class JSMouseEventConstructor : public DOMObject {
+class JSMouseEventConstructor : public DOMConstructorObject {
public:
- JSMouseEventConstructor(ExecState* exec)
- : DOMObject(JSMouseEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMouseEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMouseEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMouseEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMouseEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -117,7 +117,7 @@ static const HashTableValue JSMouseEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMouseEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMouseEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSMouseEventPrototypeTableValues, 0 };
#else
@@ -138,8 +138,8 @@ bool JSMouseEventPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSMouseEvent::s_info = { "MouseEvent", &JSUIEvent::s_info, &JSMouseEventTable, 0 };
-JSMouseEvent::JSMouseEvent(PassRefPtr<Structure> structure, PassRefPtr<MouseEvent> impl)
- : JSUIEvent(structure, impl)
+JSMouseEvent::JSMouseEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MouseEvent> impl)
+ : JSUIEvent(structure, globalObject, impl)
{
}
@@ -155,130 +155,148 @@ bool JSMouseEvent::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsMouseEventScreenX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->screenX());
}
JSValue jsMouseEventScreenY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->screenY());
}
JSValue jsMouseEventClientX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->clientX());
}
JSValue jsMouseEventClientY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->clientY());
}
JSValue jsMouseEventCtrlKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->ctrlKey());
}
JSValue jsMouseEventShiftKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->shiftKey());
}
JSValue jsMouseEventAltKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->altKey());
}
JSValue jsMouseEventMetaKey(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsBoolean(imp->metaKey());
}
JSValue jsMouseEventButton(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->button());
}
JSValue jsMouseEventRelatedTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->relatedTarget()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->relatedTarget()));
}
JSValue jsMouseEventOffsetX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->offsetX());
}
JSValue jsMouseEventOffsetY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->offsetY());
}
JSValue jsMouseEventX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsMouseEventY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsMouseEventFromElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->fromElement()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->fromElement()));
}
JSValue jsMouseEventToElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->toElement()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->toElement()));
}
JSValue jsMouseEventDataTransfer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMouseEvent* castedThis = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MouseEvent* imp = static_cast<MouseEvent*>(static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->dataTransfer()));
+ MouseEvent* imp = static_cast<MouseEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->dataTransfer()));
}
JSValue jsMouseEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMouseEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMouseEvent* domObject = static_cast<JSMouseEvent*>(asObject(slot.slotBase()));
+ return JSMouseEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMouseEvent::getConstructor(ExecState* exec)
+JSValue JSMouseEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMouseEventConstructor>(exec);
+ return getDOMConstructor<JSMouseEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMouseEventPrototypeFunctionInitMouseEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h
index 3730d93..73727e5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h
@@ -30,7 +30,7 @@ class MouseEvent;
class JSMouseEvent : public JSUIEvent {
typedef JSUIEvent Base;
public:
- JSMouseEvent(PassRefPtr<JSC::Structure>, PassRefPtr<MouseEvent>);
+ JSMouseEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MouseEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp
index 71d339e..7632b91 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSMutationEventTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMutationEventTable =
+static JSC_CONST_HASHTABLE HashTable JSMutationEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSMutationEventTableValues, 0 };
#else
@@ -66,19 +66,19 @@ static const HashTableValue JSMutationEventConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMutationEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSMutationEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMutationEventConstructorTableValues, 0 };
#else
{ 8, 7, JSMutationEventConstructorTableValues, 0 };
#endif
-class JSMutationEventConstructor : public DOMObject {
+class JSMutationEventConstructor : public DOMConstructorObject {
public:
- JSMutationEventConstructor(ExecState* exec)
- : DOMObject(JSMutationEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSMutationEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSMutationEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSMutationEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSMutationEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -108,7 +108,7 @@ static const HashTableValue JSMutationEventPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSMutationEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSMutationEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSMutationEventPrototypeTableValues, 0 };
#else
@@ -129,8 +129,8 @@ bool JSMutationEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSMutationEvent::s_info = { "MutationEvent", &JSEvent::s_info, &JSMutationEventTable, 0 };
-JSMutationEvent::JSMutationEvent(PassRefPtr<Structure> structure, PassRefPtr<MutationEvent> impl)
- : JSEvent(structure, impl)
+JSMutationEvent::JSMutationEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<MutationEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -146,46 +146,52 @@ bool JSMutationEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsMutationEventRelatedNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->relatedNode()));
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->relatedNode()));
}
JSValue jsMutationEventPrevValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsString(exec, imp->prevValue());
}
JSValue jsMutationEventNewValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsString(exec, imp->newValue());
}
JSValue jsMutationEventAttrName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsString(exec, imp->attrName());
}
JSValue jsMutationEventAttrChange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSMutationEvent* castedThis = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- MutationEvent* imp = static_cast<MutationEvent*>(static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->impl());
+ MutationEvent* imp = static_cast<MutationEvent*>(castedThis->impl());
return jsNumber(exec, imp->attrChange());
}
JSValue jsMutationEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSMutationEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSMutationEvent* domObject = static_cast<JSMutationEvent*>(asObject(slot.slotBase()));
+ return JSMutationEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSMutationEvent::getConstructor(ExecState* exec)
+JSValue JSMutationEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSMutationEventConstructor>(exec);
+ return getDOMConstructor<JSMutationEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsMutationEventPrototypeFunctionInitMutationEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h
index 7948398..faa1b64 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h
@@ -30,7 +30,7 @@ class MutationEvent;
class JSMutationEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSMutationEvent(PassRefPtr<JSC::Structure>, PassRefPtr<MutationEvent>);
+ JSMutationEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<MutationEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
index 9c6a5a9..355464c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSNamedNodeMapTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNamedNodeMapTable =
+static JSC_CONST_HASHTABLE HashTable JSNamedNodeMapTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNamedNodeMapTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSNamedNodeMapConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNamedNodeMapConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNamedNodeMapConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNamedNodeMapConstructorTableValues, 0 };
#else
{ 1, 0, JSNamedNodeMapConstructorTableValues, 0 };
#endif
-class JSNamedNodeMapConstructor : public DOMObject {
+class JSNamedNodeMapConstructor : public DOMConstructorObject {
public:
- JSNamedNodeMapConstructor(ExecState* exec)
- : DOMObject(JSNamedNodeMapConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNamedNodeMapConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNamedNodeMapConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNamedNodeMapPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNamedNodeMapPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSNamedNodeMapPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNamedNodeMapPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNamedNodeMapPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNamedNodeMapPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSNamedNodeMapPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSNamedNodeMap::s_info = { "NamedNodeMap", 0, &JSNamedNodeMapTable, 0 };
-JSNamedNodeMap::JSNamedNodeMap(PassRefPtr<Structure> structure, PassRefPtr<NamedNodeMap> impl)
- : DOMObject(structure)
+JSNamedNodeMap::JSNamedNodeMap(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NamedNodeMap> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -176,14 +176,16 @@ bool JSNamedNodeMap::getOwnPropertySlot(ExecState* exec, unsigned propertyName,
JSValue jsNamedNodeMapLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NamedNodeMap* imp = static_cast<NamedNodeMap*>(static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()))->impl());
+ NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsNamedNodeMapConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNamedNodeMap* domObject = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
+ return JSNamedNodeMap::getConstructor(exec, domObject->globalObject());
}
void JSNamedNodeMap::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -192,9 +194,9 @@ void JSNamedNodeMap::getPropertyNames(ExecState* exec, PropertyNameArray& proper
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSNamedNodeMap::getConstructor(ExecState* exec)
+JSValue JSNamedNodeMap::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNamedNodeMapConstructor>(exec);
+ return getDOMConstructor<JSNamedNodeMapConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -207,7 +209,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItem(ExecState* exe
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getNamedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getNamedItem(name)));
return result;
}
@@ -222,7 +224,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItem(ExecState* exe
Node* node = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->setNamedItem(node, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->setNamedItem(node, ec)));
setDOMException(exec, ec);
return result;
}
@@ -238,7 +240,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItem(ExecState*
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->removeNamedItem(name, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->removeNamedItem(name, ec)));
setDOMException(exec, ec);
return result;
}
@@ -253,7 +255,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionItem(ExecState* exec, JSObj
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -268,7 +270,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItemNS(ExecState* e
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getNamedItemNS(namespaceURI, localName)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getNamedItemNS(namespaceURI, localName)));
return result;
}
@@ -283,7 +285,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItemNS(ExecState* e
Node* node = toNode(args.at(0));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->setNamedItemNS(node, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->setNamedItemNS(node, ec)));
setDOMException(exec, ec);
return result;
}
@@ -300,7 +302,7 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS(ExecState
const UString& localName = args.at(1).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->removeNamedItemNS(namespaceURI, localName, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->removeNamedItemNS(namespaceURI, localName, ec)));
setDOMException(exec, ec);
return result;
}
@@ -309,11 +311,11 @@ JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS(ExecState
JSValue JSNamedNodeMap::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSNamedNodeMap* thisObj = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<NamedNodeMap*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<NamedNodeMap*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, NamedNodeMap* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NamedNodeMap* object)
{
- return getDOMObjectWrapper<JSNamedNodeMap>(exec, object);
+ return getDOMObjectWrapper<JSNamedNodeMap>(exec, globalObject, object);
}
NamedNodeMap* toNamedNodeMap(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h
index f7c132e..ca64bfb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h
@@ -21,6 +21,7 @@
#ifndef JSNamedNodeMap_h
#define JSNamedNodeMap_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class NamedNodeMap;
-class JSNamedNodeMap : public DOMObject {
- typedef DOMObject Base;
+class JSNamedNodeMap : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNamedNodeMap(PassRefPtr<JSC::Structure>, PassRefPtr<NamedNodeMap>);
+ JSNamedNodeMap(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NamedNodeMap>);
virtual ~JSNamedNodeMap();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
NamedNodeMap* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, NamedNodeMap*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NamedNodeMap*);
NamedNodeMap* toNamedNodeMap(JSC::JSValue);
class JSNamedNodeMapPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
index feefecc..19dfdee 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp
@@ -58,7 +58,7 @@ static const HashTableValue JSNavigatorTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNavigatorTable =
+static JSC_CONST_HASHTABLE HashTable JSNavigatorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSNavigatorTableValues, 0 };
#else
@@ -73,7 +73,7 @@ static const HashTableValue JSNavigatorPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNavigatorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNavigatorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNavigatorPrototypeTableValues, 0 };
#else
@@ -94,8 +94,8 @@ bool JSNavigatorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSNavigator::s_info = { "Navigator", 0, &JSNavigatorTable, 0 };
-JSNavigator::JSNavigator(PassRefPtr<Structure> structure, PassRefPtr<Navigator> impl)
- : DOMObject(structure)
+JSNavigator::JSNavigator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Navigator> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -117,99 +117,113 @@ bool JSNavigator::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsNavigatorAppCodeName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->appCodeName());
}
JSValue jsNavigatorAppName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->appName());
}
JSValue jsNavigatorAppVersion(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->appVersion());
}
JSValue jsNavigatorLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->language());
}
JSValue jsNavigatorUserAgent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->userAgent());
}
JSValue jsNavigatorPlatform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->platform());
}
JSValue jsNavigatorPlugins(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->plugins()));
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->plugins()));
}
JSValue jsNavigatorMimeTypes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->mimeTypes()));
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->mimeTypes()));
}
JSValue jsNavigatorProduct(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->product());
}
JSValue jsNavigatorProductSub(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->productSub());
}
JSValue jsNavigatorVendor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->vendor());
}
JSValue jsNavigatorVendorSub(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsString(exec, imp->vendorSub());
}
JSValue jsNavigatorCookieEnabled(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsBoolean(imp->cookieEnabled());
}
JSValue jsNavigatorOnLine(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNavigator* castedThis = static_cast<JSNavigator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Navigator* imp = static_cast<Navigator*>(static_cast<JSNavigator*>(asObject(slot.slotBase()))->impl());
+ Navigator* imp = static_cast<Navigator*>(castedThis->impl());
return jsBoolean(imp->onLine());
}
@@ -226,9 +240,9 @@ JSValue JSC_HOST_CALL jsNavigatorPrototypeFunctionJavaEnabled(ExecState* exec, J
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, Navigator* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Navigator* object)
{
- return getDOMObjectWrapper<JSNavigator>(exec, object);
+ return getDOMObjectWrapper<JSNavigator>(exec, globalObject, object);
}
Navigator* toNavigator(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNavigator.h b/src/3rdparty/webkit/WebCore/generated/JSNavigator.h
index 0a3a5df..b332f74 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNavigator.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNavigator.h
@@ -21,6 +21,7 @@
#ifndef JSNavigator_h
#define JSNavigator_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Navigator;
-class JSNavigator : public DOMObject {
- typedef DOMObject Base;
+class JSNavigator : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNavigator(PassRefPtr<JSC::Structure>, PassRefPtr<Navigator>);
+ JSNavigator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Navigator>);
virtual ~JSNavigator();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<Navigator> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Navigator*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Navigator*);
Navigator* toNavigator(JSC::JSValue);
class JSNavigatorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
index fda843c..98d82ce 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNode.cpp
@@ -71,7 +71,7 @@ static const HashTableValue JSNodeTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSNodeTableValues, 0 };
#else
@@ -103,19 +103,19 @@ static const HashTableValue JSNodeConstructorTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSNodeConstructorTableValues, 0 };
#else
{ 67, 63, JSNodeConstructorTableValues, 0 };
#endif
-class JSNodeConstructor : public DOMObject {
+class JSNodeConstructor : public DOMConstructorObject {
public:
- JSNodeConstructor(ExecState* exec)
- : DOMObject(JSNodeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -177,7 +177,7 @@ static const HashTableValue JSNodePrototypeTableValues[37] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSNodePrototypeTableValues, 0 };
#else
@@ -198,8 +198,8 @@ bool JSNodePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& prop
const ClassInfo JSNode::s_info = { "Node", 0, &JSNodeTable, 0 };
-JSNode::JSNode(PassRefPtr<Structure> structure, PassRefPtr<Node> impl)
- : DOMObject(structure)
+JSNode::JSNode(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Node> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -217,126 +217,144 @@ JSObject* JSNode::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
JSValue jsNodeNodeName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->nodeName());
}
JSValue jsNodeNodeValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->nodeValue());
}
JSValue jsNodeNodeType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsNumber(exec, imp->nodeType());
}
JSValue jsNodeParentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentNode()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentNode()));
}
JSValue jsNodeChildNodes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->childNodes()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->childNodes()));
}
JSValue jsNodeFirstChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->firstChild()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->firstChild()));
}
JSValue jsNodeLastChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastChild()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastChild()));
}
JSValue jsNodePreviousSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->previousSibling()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousSibling()));
}
JSValue jsNodeNextSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nextSibling()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nextSibling()));
}
JSValue jsNodeAttributes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->attributes()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->attributes()));
}
JSValue jsNodeOwnerDocument(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerDocument()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerDocument()));
}
JSValue jsNodeNamespaceURI(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->namespaceURI());
}
JSValue jsNodePrefix(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->prefix());
}
JSValue jsNodeLocalName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->localName());
}
JSValue jsNodeBaseURI(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->baseURI());
}
JSValue jsNodeTextContent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
+ Node* imp = static_cast<Node*>(castedThis->impl());
return jsStringOrNull(exec, imp->textContent());
}
JSValue jsNodeParentElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNode* castedThis = static_cast<JSNode*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Node* imp = static_cast<Node*>(static_cast<JSNode*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentElement()));
+ Node* imp = static_cast<Node*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentElement()));
}
JSValue jsNodeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNode*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNode* domObject = static_cast<JSNode*>(asObject(slot.slotBase()));
+ return JSNode::getConstructor(exec, domObject->globalObject());
}
void JSNode::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -367,9 +385,9 @@ void setJSNodeTextContent(ExecState* exec, JSObject* thisObject, JSValue value)
setDOMException(exec, ec);
}
-JSValue JSNode::getConstructor(ExecState* exec)
+JSValue JSNode::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeConstructor>(exec);
+ return getDOMConstructor<JSNodeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodePrototypeFunctionInsertBefore(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -431,7 +449,7 @@ JSValue JSC_HOST_CALL jsNodePrototypeFunctionCloneNode(ExecState* exec, JSObject
bool deep = args.at(0).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->cloneNode(deep)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->cloneNode(deep)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNode.h b/src/3rdparty/webkit/WebCore/generated/JSNode.h
index 3fdc5a3..d4d1f59 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNode.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNode.h
@@ -21,6 +21,7 @@
#ifndef JSNode_h
#define JSNode_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/Lookup.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class Node;
-class JSNode : public DOMObject {
- typedef DOMObject Base;
+class JSNode : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNode(PassRefPtr<JSC::Structure>, PassRefPtr<Node>);
+ JSNode(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Node>);
virtual ~JSNode();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -51,7 +52,7 @@ public:
virtual void pushEventHandlerScope(JSC::ExecState*, JSC::ScopeChain&) const;
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue insertBefore(JSC::ExecState*, const JSC::ArgList&);
@@ -71,9 +72,9 @@ ALWAYS_INLINE bool JSNode::getOwnPropertySlot(JSC::ExecState* exec, const JSC::I
return JSC::getStaticValueSlot<JSNode, Base>(exec, s_info.staticPropHashTable, this, propertyName, slot);
}
-JSC::JSValue toJS(JSC::ExecState*, Node*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Node*);
Node* toNode(JSC::JSValue);
-JSC::JSValue toJSNewlyCreated(JSC::ExecState*, Node*);
+JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject*, Node*);
class JSNodePrototype : public JSC::JSObject {
typedef JSC::JSObject Base;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
index 3084eed..ead0b47 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp
@@ -39,7 +39,7 @@ static const HashTableValue JSNodeFilterTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeFilterTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeFilterTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeFilterTableValues, 0 };
#else
@@ -69,19 +69,19 @@ static const HashTableValue JSNodeFilterConstructorTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeFilterConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeFilterConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSNodeFilterConstructorTableValues, 0 };
#else
{ 34, 31, JSNodeFilterConstructorTableValues, 0 };
#endif
-class JSNodeFilterConstructor : public DOMObject {
+class JSNodeFilterConstructor : public DOMConstructorObject {
public:
- JSNodeFilterConstructor(ExecState* exec)
- : DOMObject(JSNodeFilterConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeFilterConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeFilterConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodeFilterPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodeFilterPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -124,7 +124,7 @@ static const HashTableValue JSNodeFilterPrototypeTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeFilterPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeFilterPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSNodeFilterPrototypeTableValues, 0 };
#else
@@ -145,8 +145,8 @@ bool JSNodeFilterPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSNodeFilter::s_info = { "NodeFilter", 0, &JSNodeFilterTable, 0 };
-JSNodeFilter::JSNodeFilter(PassRefPtr<Structure> structure, PassRefPtr<NodeFilter> impl)
- : DOMObject(structure)
+JSNodeFilter::JSNodeFilter(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeFilter> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -168,11 +168,12 @@ bool JSNodeFilter::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsNodeFilterConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNodeFilter*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNodeFilter* domObject = static_cast<JSNodeFilter*>(asObject(slot.slotBase()));
+ return JSNodeFilter::getConstructor(exec, domObject->globalObject());
}
-JSValue JSNodeFilter::getConstructor(ExecState* exec)
+JSValue JSNodeFilter::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeFilterConstructor>(exec);
+ return getDOMConstructor<JSNodeFilterConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodeFilterPrototypeFunctionAcceptNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -266,9 +267,9 @@ JSValue jsNodeFilterSHOW_NOTATION(ExecState* exec, const Identifier&, const Prop
return jsNumber(exec, static_cast<int>(0x00000800));
}
-JSC::JSValue toJS(JSC::ExecState* exec, NodeFilter* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NodeFilter* object)
{
- return getDOMObjectWrapper<JSNodeFilter>(exec, object);
+ return getDOMObjectWrapper<JSNodeFilter>(exec, globalObject, object);
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h
index 0fd1b42..b955a03 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h
@@ -21,6 +21,7 @@
#ifndef JSNodeFilter_h
#define JSNodeFilter_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class NodeFilter;
-class JSNodeFilter : public DOMObject {
- typedef DOMObject Base;
+class JSNodeFilter : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNodeFilter(PassRefPtr<JSC::Structure>, PassRefPtr<NodeFilter>);
+ JSNodeFilter(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeFilter>);
virtual ~JSNodeFilter();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue acceptNode(JSC::ExecState*, const JSC::ArgList&);
@@ -56,7 +57,7 @@ private:
RefPtr<NodeFilter> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, NodeFilter*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NodeFilter*);
PassRefPtr<NodeFilter> toNodeFilter(JSC::JSValue);
class JSNodeFilterPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
index 152ab6f..81613a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSNodeIteratorTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeIteratorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeIteratorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSNodeIteratorTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSNodeIteratorConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeIteratorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeIteratorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeIteratorConstructorTableValues, 0 };
#else
{ 1, 0, JSNodeIteratorConstructorTableValues, 0 };
#endif
-class JSNodeIteratorConstructor : public DOMObject {
+class JSNodeIteratorConstructor : public DOMConstructorObject {
public:
- JSNodeIteratorConstructor(ExecState* exec)
- : DOMObject(JSNodeIteratorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeIteratorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeIteratorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodeIteratorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodeIteratorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSNodeIteratorPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeIteratorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeIteratorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSNodeIteratorPrototypeTableValues, 0 };
#else
@@ -126,8 +126,8 @@ bool JSNodeIteratorPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSNodeIterator::s_info = { "NodeIterator", 0, &JSNodeIteratorTable, 0 };
-JSNodeIterator::JSNodeIterator(PassRefPtr<Structure> structure, PassRefPtr<NodeIterator> impl)
- : DOMObject(structure)
+JSNodeIterator::JSNodeIterator(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeIterator> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -149,53 +149,60 @@ bool JSNodeIterator::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsNodeIteratorRoot(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->root()));
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->root()));
}
JSValue jsNodeIteratorWhatToShow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
return jsNumber(exec, imp->whatToShow());
}
JSValue jsNodeIteratorFilter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->filter()));
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->filter()));
}
JSValue jsNodeIteratorExpandEntityReferences(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
return jsBoolean(imp->expandEntityReferences());
}
JSValue jsNodeIteratorReferenceNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->referenceNode()));
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->referenceNode()));
}
JSValue jsNodeIteratorPointerBeforeReferenceNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeIterator* imp = static_cast<NodeIterator*>(static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->impl());
+ NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl());
return jsBoolean(imp->pointerBeforeReferenceNode());
}
JSValue jsNodeIteratorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNodeIterator*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNodeIterator* domObject = static_cast<JSNodeIterator*>(asObject(slot.slotBase()));
+ return JSNodeIterator::getConstructor(exec, domObject->globalObject());
}
-JSValue JSNodeIterator::getConstructor(ExecState* exec)
+JSValue JSNodeIterator::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeIteratorConstructor>(exec);
+ return getDOMConstructor<JSNodeIteratorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionNextNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -228,9 +235,9 @@ JSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionDetach(ExecState* exec, JSO
return jsUndefined();
}
-JSC::JSValue toJS(JSC::ExecState* exec, NodeIterator* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NodeIterator* object)
{
- return getDOMObjectWrapper<JSNodeIterator>(exec, object);
+ return getDOMObjectWrapper<JSNodeIterator>(exec, globalObject, object);
}
NodeIterator* toNodeIterator(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h
index ab5e7c6..e521a05 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h
@@ -21,6 +21,7 @@
#ifndef JSNodeIterator_h
#define JSNodeIterator_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class NodeIterator;
-class JSNodeIterator : public DOMObject {
- typedef DOMObject Base;
+class JSNodeIterator : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNodeIterator(PassRefPtr<JSC::Structure>, PassRefPtr<NodeIterator>);
+ JSNodeIterator(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeIterator>);
virtual ~JSNodeIterator();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
virtual void mark();
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom functions
JSC::JSValue nextNode(JSC::ExecState*, const JSC::ArgList&);
@@ -57,7 +58,7 @@ private:
RefPtr<NodeIterator> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, NodeIterator*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NodeIterator*);
NodeIterator* toNodeIterator(JSC::JSValue);
class JSNodeIteratorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
index 80e1f22..437dd84 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSNodeListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeListTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNodeListTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSNodeListConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeListConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeListConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeListConstructorTableValues, 0 };
#else
{ 1, 0, JSNodeListConstructorTableValues, 0 };
#endif
-class JSNodeListConstructor : public DOMObject {
+class JSNodeListConstructor : public DOMConstructorObject {
public:
- JSNodeListConstructor(ExecState* exec)
- : DOMObject(JSNodeListConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNodeListConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNodeListConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNodeListPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNodeListPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -99,7 +99,7 @@ static const HashTableValue JSNodeListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNodeListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNodeListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNodeListPrototypeTableValues, 0 };
#else
@@ -120,8 +120,8 @@ bool JSNodeListPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSNodeList::s_info = { "NodeList", 0, &JSNodeListTable, 0 };
-JSNodeList::JSNodeList(PassRefPtr<Structure> structure, PassRefPtr<NodeList> impl)
- : DOMObject(structure)
+JSNodeList::JSNodeList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<NodeList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -167,14 +167,16 @@ bool JSNodeList::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Prop
JSValue jsNodeListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNodeList* castedThis = static_cast<JSNodeList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- NodeList* imp = static_cast<NodeList*>(static_cast<JSNodeList*>(asObject(slot.slotBase()))->impl());
+ NodeList* imp = static_cast<NodeList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsNodeListConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNodeList*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNodeList* domObject = static_cast<JSNodeList*>(asObject(slot.slotBase()));
+ return JSNodeList::getConstructor(exec, domObject->globalObject());
}
void JSNodeList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -183,9 +185,9 @@ void JSNodeList::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNa
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSNodeList::getConstructor(ExecState* exec)
+JSValue JSNodeList::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNodeListConstructor>(exec);
+ return getDOMConstructor<JSNodeListConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsNodeListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -202,7 +204,7 @@ JSValue JSC_HOST_CALL jsNodeListPrototypeFunctionItem(ExecState* exec, JSObject*
}
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -210,11 +212,11 @@ JSValue JSC_HOST_CALL jsNodeListPrototypeFunctionItem(ExecState* exec, JSObject*
JSValue JSNodeList::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSNodeList* thisObj = static_cast<JSNodeList*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<NodeList*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<NodeList*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, NodeList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, NodeList* object)
{
- return getDOMObjectWrapper<JSNodeList>(exec, object);
+ return getDOMObjectWrapper<JSNodeList>(exec, globalObject, object);
}
NodeList* toNodeList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNodeList.h b/src/3rdparty/webkit/WebCore/generated/JSNodeList.h
index c4fce0b..21faa3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNodeList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNodeList.h
@@ -21,6 +21,7 @@
#ifndef JSNodeList_h
#define JSNodeList_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/CallData.h>
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@ namespace WebCore {
class NodeList;
-class JSNodeList : public DOMObject {
- typedef DOMObject Base;
+class JSNodeList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSNodeList(PassRefPtr<JSC::Structure>, PassRefPtr<NodeList>);
+ JSNodeList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<NodeList>);
virtual ~JSNodeList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -49,7 +50,7 @@ public:
virtual JSC::CallType getCallData(JSC::CallData&);
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
NodeList* impl() const { return m_impl.get(); }
private:
@@ -60,7 +61,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, NodeList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, NodeList*);
NodeList* toNodeList(JSC::JSValue);
class JSNodeListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp b/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp
index 95dacaa..31b9d18 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSNotation.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSNotationTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNotationTable =
+static JSC_CONST_HASHTABLE HashTable JSNotationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSNotationTableValues, 0 };
#else
@@ -55,19 +55,19 @@ static const HashTableValue JSNotationConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNotationConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSNotationConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNotationConstructorTableValues, 0 };
#else
{ 1, 0, JSNotationConstructorTableValues, 0 };
#endif
-class JSNotationConstructor : public DOMObject {
+class JSNotationConstructor : public DOMConstructorObject {
public:
- JSNotationConstructor(ExecState* exec)
- : DOMObject(JSNotationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSNotationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSNotationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSNotationPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSNotationPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -93,7 +93,7 @@ static const HashTableValue JSNotationPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSNotationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSNotationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSNotationPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ JSObject* JSNotationPrototype::self(ExecState* exec, JSGlobalObject* globalObjec
const ClassInfo JSNotation::s_info = { "Notation", &JSNode::s_info, &JSNotationTable, 0 };
-JSNotation::JSNotation(PassRefPtr<Structure> structure, PassRefPtr<Notation> impl)
- : JSNode(structure, impl)
+JSNotation::JSNotation(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Notation> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -126,25 +126,28 @@ bool JSNotation::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsNotationPublicId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNotation* castedThis = static_cast<JSNotation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Notation* imp = static_cast<Notation*>(static_cast<JSNotation*>(asObject(slot.slotBase()))->impl());
+ Notation* imp = static_cast<Notation*>(castedThis->impl());
return jsStringOrNull(exec, imp->publicId());
}
JSValue jsNotationSystemId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSNotation* castedThis = static_cast<JSNotation*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Notation* imp = static_cast<Notation*>(static_cast<JSNotation*>(asObject(slot.slotBase()))->impl());
+ Notation* imp = static_cast<Notation*>(castedThis->impl());
return jsStringOrNull(exec, imp->systemId());
}
JSValue jsNotationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSNotation*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSNotation* domObject = static_cast<JSNotation*>(asObject(slot.slotBase()));
+ return JSNotation::getConstructor(exec, domObject->globalObject());
}
-JSValue JSNotation::getConstructor(ExecState* exec)
+JSValue JSNotation::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSNotationConstructor>(exec);
+ return getDOMConstructor<JSNotationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSNotation.h b/src/3rdparty/webkit/WebCore/generated/JSNotation.h
index 00d3427..5928834 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSNotation.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSNotation.h
@@ -30,7 +30,7 @@ class Notation;
class JSNotation : public JSNode {
typedef JSNode Base;
public:
- JSNotation(PassRefPtr<JSC::Structure>, PassRefPtr<Notation>);
+ JSNotation(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Notation>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h b/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h
index 9a12bb4..ce685c2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSONObject.lut.h
@@ -10,6 +10,6 @@ static const struct HashTableValue jsonTableValues[3] = {
{ 0, 0, 0, 0 }
};
-extern const struct HashTable jsonTable =
+extern JSC_CONST_HASHTABLE HashTable jsonTable =
{ 4, 3, jsonTableValues, 0 };
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp
index b704dcb..69715e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSOverflowEventTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSOverflowEventTable =
+static JSC_CONST_HASHTABLE HashTable JSOverflowEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSOverflowEventTableValues, 0 };
#else
@@ -60,19 +60,19 @@ static const HashTableValue JSOverflowEventConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSOverflowEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSOverflowEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSOverflowEventConstructorTableValues, 0 };
#else
{ 9, 7, JSOverflowEventConstructorTableValues, 0 };
#endif
-class JSOverflowEventConstructor : public DOMObject {
+class JSOverflowEventConstructor : public DOMConstructorObject {
public:
- JSOverflowEventConstructor(ExecState* exec)
- : DOMObject(JSOverflowEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSOverflowEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSOverflowEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSOverflowEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSOverflowEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSOverflowEventPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSOverflowEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSOverflowEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSOverflowEventPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSOverflowEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSOverflowEvent::s_info = { "OverflowEvent", &JSEvent::s_info, &JSOverflowEventTable, 0 };
-JSOverflowEvent::JSOverflowEvent(PassRefPtr<Structure> structure, PassRefPtr<OverflowEvent> impl)
- : JSEvent(structure, impl)
+JSOverflowEvent::JSOverflowEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<OverflowEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -140,32 +140,36 @@ bool JSOverflowEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsOverflowEventOrient(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSOverflowEvent* castedThis = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- OverflowEvent* imp = static_cast<OverflowEvent*>(static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->impl());
+ OverflowEvent* imp = static_cast<OverflowEvent*>(castedThis->impl());
return jsNumber(exec, imp->orient());
}
JSValue jsOverflowEventHorizontalOverflow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSOverflowEvent* castedThis = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- OverflowEvent* imp = static_cast<OverflowEvent*>(static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->impl());
+ OverflowEvent* imp = static_cast<OverflowEvent*>(castedThis->impl());
return jsBoolean(imp->horizontalOverflow());
}
JSValue jsOverflowEventVerticalOverflow(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSOverflowEvent* castedThis = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- OverflowEvent* imp = static_cast<OverflowEvent*>(static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->impl());
+ OverflowEvent* imp = static_cast<OverflowEvent*>(castedThis->impl());
return jsBoolean(imp->verticalOverflow());
}
JSValue jsOverflowEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSOverflowEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSOverflowEvent* domObject = static_cast<JSOverflowEvent*>(asObject(slot.slotBase()));
+ return JSOverflowEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSOverflowEvent::getConstructor(ExecState* exec)
+JSValue JSOverflowEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSOverflowEventConstructor>(exec);
+ return getDOMConstructor<JSOverflowEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsOverflowEventPrototypeFunctionInitOverflowEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h
index b018a86..f179a71 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h
@@ -30,7 +30,7 @@ class OverflowEvent;
class JSOverflowEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSOverflowEvent(PassRefPtr<JSC::Structure>, PassRefPtr<OverflowEvent>);
+ JSOverflowEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<OverflowEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
index 9b3c480..39616d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp
@@ -50,7 +50,7 @@ static const HashTableValue JSPluginTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSPluginTableValues, 0 };
#else
@@ -64,19 +64,19 @@ static const HashTableValue JSPluginConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSPluginConstructorTableValues, 0 };
#else
{ 1, 0, JSPluginConstructorTableValues, 0 };
#endif
-class JSPluginConstructor : public DOMObject {
+class JSPluginConstructor : public DOMConstructorObject {
public:
- JSPluginConstructor(ExecState* exec)
- : DOMObject(JSPluginConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSPluginConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSPluginConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSPluginPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSPluginPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -104,7 +104,7 @@ static const HashTableValue JSPluginPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSPluginPrototypeTableValues, 0 };
#else
@@ -125,8 +125,8 @@ bool JSPluginPrototype::getOwnPropertySlot(ExecState* exec, const Identifier& pr
const ClassInfo JSPlugin::s_info = { "Plugin", 0, &JSPluginTable, 0 };
-JSPlugin::JSPlugin(PassRefPtr<Structure> structure, PassRefPtr<Plugin> impl)
- : DOMObject(structure)
+JSPlugin::JSPlugin(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Plugin> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -172,35 +172,40 @@ bool JSPlugin::getOwnPropertySlot(ExecState* exec, unsigned propertyName, Proper
JSValue jsPluginName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsPluginFilename(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsString(exec, imp->filename());
}
JSValue jsPluginDescription(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsString(exec, imp->description());
}
JSValue jsPluginLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPlugin* castedThis = static_cast<JSPlugin*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Plugin* imp = static_cast<Plugin*>(static_cast<JSPlugin*>(asObject(slot.slotBase()))->impl());
+ Plugin* imp = static_cast<Plugin*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsPluginConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSPlugin*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSPlugin* domObject = static_cast<JSPlugin*>(asObject(slot.slotBase()));
+ return JSPlugin::getConstructor(exec, domObject->globalObject());
}
void JSPlugin::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -209,9 +214,9 @@ void JSPlugin::getPropertyNames(ExecState* exec, PropertyNameArray& propertyName
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSPlugin::getConstructor(ExecState* exec)
+JSValue JSPlugin::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSPluginConstructor>(exec);
+ return getDOMConstructor<JSPluginConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsPluginPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -224,7 +229,7 @@ JSValue JSC_HOST_CALL jsPluginPrototypeFunctionItem(ExecState* exec, JSObject*,
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -238,7 +243,7 @@ JSValue JSC_HOST_CALL jsPluginPrototypeFunctionNamedItem(ExecState* exec, JSObje
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -246,11 +251,11 @@ JSValue JSC_HOST_CALL jsPluginPrototypeFunctionNamedItem(ExecState* exec, JSObje
JSValue JSPlugin::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSPlugin* thisObj = static_cast<JSPlugin*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<Plugin*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<Plugin*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Plugin* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Plugin* object)
{
- return getDOMObjectWrapper<JSPlugin>(exec, object);
+ return getDOMObjectWrapper<JSPlugin>(exec, globalObject, object);
}
Plugin* toPlugin(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPlugin.h b/src/3rdparty/webkit/WebCore/generated/JSPlugin.h
index 7ff040f..eee4c7d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPlugin.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSPlugin.h
@@ -21,6 +21,7 @@
#ifndef JSPlugin_h
#define JSPlugin_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Plugin;
-class JSPlugin : public DOMObject {
- typedef DOMObject Base;
+class JSPlugin : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSPlugin(PassRefPtr<JSC::Structure>, PassRefPtr<Plugin>);
+ JSPlugin(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Plugin>);
virtual ~JSPlugin();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Plugin* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, Plugin*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Plugin*);
Plugin* toPlugin(JSC::JSValue);
class JSPluginPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
index ba960da..955d50c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSPluginArrayTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginArrayTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginArrayTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSPluginArrayTableValues, 0 };
#else
@@ -59,19 +59,19 @@ static const HashTableValue JSPluginArrayConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginArrayConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginArrayConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSPluginArrayConstructorTableValues, 0 };
#else
{ 1, 0, JSPluginArrayConstructorTableValues, 0 };
#endif
-class JSPluginArrayConstructor : public DOMObject {
+class JSPluginArrayConstructor : public DOMConstructorObject {
public:
- JSPluginArrayConstructor(ExecState* exec)
- : DOMObject(JSPluginArrayConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSPluginArrayConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSPluginArrayConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSPluginArrayPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSPluginArrayPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -100,7 +100,7 @@ static const HashTableValue JSPluginArrayPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPluginArrayPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSPluginArrayPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSPluginArrayPrototypeTableValues, 0 };
#else
@@ -121,8 +121,8 @@ bool JSPluginArrayPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSPluginArray::s_info = { "PluginArray", 0, &JSPluginArrayTable, 0 };
-JSPluginArray::JSPluginArray(PassRefPtr<Structure> structure, PassRefPtr<PluginArray> impl)
- : DOMObject(structure)
+JSPluginArray::JSPluginArray(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PluginArray> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -168,14 +168,16 @@ bool JSPluginArray::getOwnPropertySlot(ExecState* exec, unsigned propertyName, P
JSValue jsPluginArrayLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPluginArray* castedThis = static_cast<JSPluginArray*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- PluginArray* imp = static_cast<PluginArray*>(static_cast<JSPluginArray*>(asObject(slot.slotBase()))->impl());
+ PluginArray* imp = static_cast<PluginArray*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
JSValue jsPluginArrayConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSPluginArray*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSPluginArray* domObject = static_cast<JSPluginArray*>(asObject(slot.slotBase()));
+ return JSPluginArray::getConstructor(exec, domObject->globalObject());
}
void JSPluginArray::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
{
@@ -184,9 +186,9 @@ void JSPluginArray::getPropertyNames(ExecState* exec, PropertyNameArray& propert
Base::getPropertyNames(exec, propertyNames);
}
-JSValue JSPluginArray::getConstructor(ExecState* exec)
+JSValue JSPluginArray::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSPluginArrayConstructor>(exec);
+ return getDOMConstructor<JSPluginArrayConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -199,7 +201,7 @@ JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionItem(ExecState* exec, JSObje
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
@@ -213,7 +215,7 @@ JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionNamedItem(ExecState* exec, J
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->namedItem(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->namedItem(name)));
return result;
}
@@ -234,11 +236,11 @@ JSValue JSC_HOST_CALL jsPluginArrayPrototypeFunctionRefresh(ExecState* exec, JSO
JSValue JSPluginArray::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSPluginArray* thisObj = static_cast<JSPluginArray*>(asObject(slot.slotBase()));
- return toJS(exec, static_cast<PluginArray*>(thisObj->impl())->item(slot.index()));
+ return toJS(exec, thisObj->globalObject(), static_cast<PluginArray*>(thisObj->impl())->item(slot.index()));
}
-JSC::JSValue toJS(JSC::ExecState* exec, PluginArray* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PluginArray* object)
{
- return getDOMObjectWrapper<JSPluginArray>(exec, object);
+ return getDOMObjectWrapper<JSPluginArray>(exec, globalObject, object);
}
PluginArray* toPluginArray(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h
index 56bb33e..44443f3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSPluginArray.h
@@ -21,6 +21,7 @@
#ifndef JSPluginArray_h
#define JSPluginArray_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class PluginArray;
-class JSPluginArray : public DOMObject {
- typedef DOMObject Base;
+class JSPluginArray : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSPluginArray(PassRefPtr<JSC::Structure>, PassRefPtr<PluginArray>);
+ JSPluginArray(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PluginArray>);
virtual ~JSPluginArray();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,7 +47,7 @@ public:
}
virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
PluginArray* impl() const { return m_impl.get(); }
private:
@@ -57,7 +58,7 @@ private:
static JSC::JSValue nameGetter(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
};
-JSC::JSValue toJS(JSC::ExecState*, PluginArray*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, PluginArray*);
PluginArray* toPluginArray(JSC::JSValue);
class JSPluginArrayPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
index 89f9e56..c0c1a10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSPositionErrorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPositionErrorTable =
+static JSC_CONST_HASHTABLE HashTable JSPositionErrorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSPositionErrorTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSPositionErrorConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPositionErrorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSPositionErrorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSPositionErrorConstructorTableValues, 0 };
#else
{ 10, 7, JSPositionErrorConstructorTableValues, 0 };
#endif
-class JSPositionErrorConstructor : public DOMObject {
+class JSPositionErrorConstructor : public DOMConstructorObject {
public:
- JSPositionErrorConstructor(ExecState* exec)
- : DOMObject(JSPositionErrorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSPositionErrorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSPositionErrorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSPositionErrorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSPositionErrorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -103,7 +103,7 @@ static const HashTableValue JSPositionErrorPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSPositionErrorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSPositionErrorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSPositionErrorPrototypeTableValues, 0 };
#else
@@ -124,8 +124,8 @@ bool JSPositionErrorPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSPositionError::s_info = { "PositionError", 0, &JSPositionErrorTable, 0 };
-JSPositionError::JSPositionError(PassRefPtr<Structure> structure, PassRefPtr<PositionError> impl)
- : DOMObject(structure)
+JSPositionError::JSPositionError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<PositionError> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -147,25 +147,28 @@ bool JSPositionError::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsPositionErrorCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPositionError* castedThis = static_cast<JSPositionError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- PositionError* imp = static_cast<PositionError*>(static_cast<JSPositionError*>(asObject(slot.slotBase()))->impl());
+ PositionError* imp = static_cast<PositionError*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsPositionErrorMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSPositionError* castedThis = static_cast<JSPositionError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- PositionError* imp = static_cast<PositionError*>(static_cast<JSPositionError*>(asObject(slot.slotBase()))->impl());
+ PositionError* imp = static_cast<PositionError*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsPositionErrorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSPositionError*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSPositionError* domObject = static_cast<JSPositionError*>(asObject(slot.slotBase()));
+ return JSPositionError::getConstructor(exec, domObject->globalObject());
}
-JSValue JSPositionError::getConstructor(ExecState* exec)
+JSValue JSPositionError::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSPositionErrorConstructor>(exec);
+ return getDOMConstructor<JSPositionErrorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -190,9 +193,9 @@ JSValue jsPositionErrorTIMEOUT(ExecState* exec, const Identifier&, const Propert
return jsNumber(exec, static_cast<int>(3));
}
-JSC::JSValue toJS(JSC::ExecState* exec, PositionError* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, PositionError* object)
{
- return getDOMObjectWrapper<JSPositionError>(exec, object);
+ return getDOMObjectWrapper<JSPositionError>(exec, globalObject, object);
}
PositionError* toPositionError(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSPositionError.h b/src/3rdparty/webkit/WebCore/generated/JSPositionError.h
index 9f256f4..a7478fc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSPositionError.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSPositionError.h
@@ -21,6 +21,7 @@
#ifndef JSPositionError_h
#define JSPositionError_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class PositionError;
-class JSPositionError : public DOMObject {
- typedef DOMObject Base;
+class JSPositionError : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSPositionError(PassRefPtr<JSC::Structure>, PassRefPtr<PositionError>);
+ JSPositionError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<PositionError>);
virtual ~JSPositionError();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
PositionError* impl() const { return m_impl.get(); }
private:
RefPtr<PositionError> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, PositionError*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, PositionError*);
PositionError* toPositionError(JSC::JSValue);
class JSPositionErrorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp
index 7ca8069..c945742 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSProcessingInstructionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProcessingInstructionTable =
+static JSC_CONST_HASHTABLE HashTable JSProcessingInstructionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSProcessingInstructionTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSProcessingInstructionConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProcessingInstructionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSProcessingInstructionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProcessingInstructionConstructorTableValues, 0 };
#else
{ 1, 0, JSProcessingInstructionConstructorTableValues, 0 };
#endif
-class JSProcessingInstructionConstructor : public DOMObject {
+class JSProcessingInstructionConstructor : public DOMConstructorObject {
public:
- JSProcessingInstructionConstructor(ExecState* exec)
- : DOMObject(JSProcessingInstructionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSProcessingInstructionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSProcessingInstructionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSProcessingInstructionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSProcessingInstructionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSProcessingInstructionPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProcessingInstructionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSProcessingInstructionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProcessingInstructionPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSProcessingInstructionPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSProcessingInstruction::s_info = { "ProcessingInstruction", &JSNode::s_info, &JSProcessingInstructionTable, 0 };
-JSProcessingInstruction::JSProcessingInstruction(PassRefPtr<Structure> structure, PassRefPtr<ProcessingInstruction> impl)
- : JSNode(structure, impl)
+JSProcessingInstruction::JSProcessingInstruction(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProcessingInstruction> impl)
+ : JSNode(structure, globalObject, impl)
{
}
@@ -129,28 +129,32 @@ bool JSProcessingInstruction::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsProcessingInstructionTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProcessingInstruction* castedThis = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->impl());
+ ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(castedThis->impl());
return jsStringOrNull(exec, imp->target());
}
JSValue jsProcessingInstructionData(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProcessingInstruction* castedThis = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->impl());
+ ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(castedThis->impl());
return jsStringOrNull(exec, imp->data());
}
JSValue jsProcessingInstructionSheet(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProcessingInstruction* castedThis = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->sheet()));
+ ProcessingInstruction* imp = static_cast<ProcessingInstruction*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->sheet()));
}
JSValue jsProcessingInstructionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSProcessingInstruction* domObject = static_cast<JSProcessingInstruction*>(asObject(slot.slotBase()));
+ return JSProcessingInstruction::getConstructor(exec, domObject->globalObject());
}
void JSProcessingInstruction::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -165,9 +169,9 @@ void setJSProcessingInstructionData(ExecState* exec, JSObject* thisObject, JSVal
setDOMException(exec, ec);
}
-JSValue JSProcessingInstruction::getConstructor(ExecState* exec)
+JSValue JSProcessingInstruction::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSProcessingInstructionConstructor>(exec);
+ return getDOMConstructor<JSProcessingInstructionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h
index 7c0ccd6..0b2b7df 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h
@@ -30,7 +30,7 @@ class ProcessingInstruction;
class JSProcessingInstruction : public JSNode {
typedef JSNode Base;
public:
- JSProcessingInstruction(PassRefPtr<JSC::Structure>, PassRefPtr<ProcessingInstruction>);
+ JSProcessingInstruction(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProcessingInstruction>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -42,7 +42,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp
index b70c3c2..bb7be66 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSProgressEventTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProgressEventTable =
+static JSC_CONST_HASHTABLE HashTable JSProgressEventTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSProgressEventTableValues, 0 };
#else
@@ -57,19 +57,19 @@ static const HashTableValue JSProgressEventConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProgressEventConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSProgressEventConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProgressEventConstructorTableValues, 0 };
#else
{ 1, 0, JSProgressEventConstructorTableValues, 0 };
#endif
-class JSProgressEventConstructor : public DOMObject {
+class JSProgressEventConstructor : public DOMConstructorObject {
public:
- JSProgressEventConstructor(ExecState* exec)
- : DOMObject(JSProgressEventConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSProgressEventConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSProgressEventConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSProgressEventPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSProgressEventPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSProgressEventPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSProgressEventPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSProgressEventPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSProgressEventPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ bool JSProgressEventPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSProgressEvent::s_info = { "ProgressEvent", &JSEvent::s_info, &JSProgressEventTable, 0 };
-JSProgressEvent::JSProgressEvent(PassRefPtr<Structure> structure, PassRefPtr<ProgressEvent> impl)
- : JSEvent(structure, impl)
+JSProgressEvent::JSProgressEvent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<ProgressEvent> impl)
+ : JSEvent(structure, globalObject, impl)
{
}
@@ -134,32 +134,36 @@ bool JSProgressEvent::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsProgressEventLengthComputable(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProgressEvent* castedThis = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProgressEvent* imp = static_cast<ProgressEvent*>(static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->impl());
+ ProgressEvent* imp = static_cast<ProgressEvent*>(castedThis->impl());
return jsBoolean(imp->lengthComputable());
}
JSValue jsProgressEventLoaded(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProgressEvent* castedThis = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProgressEvent* imp = static_cast<ProgressEvent*>(static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->impl());
+ ProgressEvent* imp = static_cast<ProgressEvent*>(castedThis->impl());
return jsNumber(exec, imp->loaded());
}
JSValue jsProgressEventTotal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSProgressEvent* castedThis = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- ProgressEvent* imp = static_cast<ProgressEvent*>(static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->impl());
+ ProgressEvent* imp = static_cast<ProgressEvent*>(castedThis->impl());
return jsNumber(exec, imp->total());
}
JSValue jsProgressEventConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSProgressEvent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSProgressEvent* domObject = static_cast<JSProgressEvent*>(asObject(slot.slotBase()));
+ return JSProgressEvent::getConstructor(exec, domObject->globalObject());
}
-JSValue JSProgressEvent::getConstructor(ExecState* exec)
+JSValue JSProgressEvent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSProgressEventConstructor>(exec);
+ return getDOMConstructor<JSProgressEventConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsProgressEventPrototypeFunctionInitProgressEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h
index 5f0744a..7e436be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h
@@ -30,7 +30,7 @@ class ProgressEvent;
class JSProgressEvent : public JSEvent {
typedef JSEvent Base;
public:
- JSProgressEvent(PassRefPtr<JSC::Structure>, PassRefPtr<ProgressEvent>);
+ JSProgressEvent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<ProgressEvent>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -41,7 +41,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
new file mode 100644
index 0000000..27d17a9
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp
@@ -0,0 +1,178 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "config.h"
+#include "JSRGBColor.h"
+
+#include "CSSPrimitiveValue.h"
+#include "JSCSSPrimitiveValue.h"
+#include "RGBColor.h"
+#include <wtf/GetPtr.h>
+
+using namespace JSC;
+
+namespace WebCore {
+
+ASSERT_CLASS_FITS_IN_CELL(JSRGBColor);
+
+/* Hash table */
+
+static const HashTableValue JSRGBColorTableValues[5] =
+{
+ { "red", DontDelete|ReadOnly, (intptr_t)jsRGBColorRed, (intptr_t)0 },
+ { "green", DontDelete|ReadOnly, (intptr_t)jsRGBColorGreen, (intptr_t)0 },
+ { "blue", DontDelete|ReadOnly, (intptr_t)jsRGBColorBlue, (intptr_t)0 },
+ { "constructor", DontEnum|ReadOnly, (intptr_t)jsRGBColorConstructor, (intptr_t)0 },
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSRGBColorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 7, JSRGBColorTableValues, 0 };
+#else
+ { 8, 7, JSRGBColorTableValues, 0 };
+#endif
+
+/* Hash table for constructor */
+
+static const HashTableValue JSRGBColorConstructorTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSRGBColorConstructorTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSRGBColorConstructorTableValues, 0 };
+#else
+ { 1, 0, JSRGBColorConstructorTableValues, 0 };
+#endif
+
+class JSRGBColorConstructor : public DOMConstructorObject {
+public:
+ JSRGBColorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRGBColorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
+ {
+ putDirect(exec->propertyNames().prototype, JSRGBColorPrototype::self(exec, globalObject), None);
+ }
+ virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
+ virtual const ClassInfo* classInfo() const { return &s_info; }
+ static const ClassInfo s_info;
+
+ static PassRefPtr<Structure> createStructure(JSValue proto)
+ {
+ return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
+ }
+};
+
+const ClassInfo JSRGBColorConstructor::s_info = { "RGBColorConstructor", 0, &JSRGBColorConstructorTable, 0 };
+
+bool JSRGBColorConstructor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSRGBColorConstructor, DOMObject>(exec, &JSRGBColorConstructorTable, this, propertyName, slot);
+}
+
+/* Hash table for prototype */
+
+static const HashTableValue JSRGBColorPrototypeTableValues[1] =
+{
+ { 0, 0, 0, 0 }
+};
+
+static JSC_CONST_HASHTABLE HashTable JSRGBColorPrototypeTable =
+#if ENABLE(PERFECT_HASH_SIZE)
+ { 0, JSRGBColorPrototypeTableValues, 0 };
+#else
+ { 1, 0, JSRGBColorPrototypeTableValues, 0 };
+#endif
+
+const ClassInfo JSRGBColorPrototype::s_info = { "RGBColorPrototype", 0, &JSRGBColorPrototypeTable, 0 };
+
+JSObject* JSRGBColorPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMPrototype<JSRGBColor>(exec, globalObject);
+}
+
+const ClassInfo JSRGBColor::s_info = { "RGBColor", 0, &JSRGBColorTable, 0 };
+
+JSRGBColor::JSRGBColor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RGBColor> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
+ , m_impl(impl)
+{
+}
+
+JSRGBColor::~JSRGBColor()
+{
+ forgetDOMObject(*Heap::heap(this)->globalData(), m_impl.get());
+}
+
+JSObject* JSRGBColor::createPrototype(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return new (exec) JSRGBColorPrototype(JSRGBColorPrototype::createStructure(globalObject->objectPrototype()));
+}
+
+bool JSRGBColor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, PropertySlot& slot)
+{
+ return getStaticValueSlot<JSRGBColor, Base>(exec, &JSRGBColorTable, this, propertyName, slot);
+}
+
+JSValue jsRGBColorRed(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* castedThis = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ RGBColor* imp = static_cast<RGBColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->red()));
+}
+
+JSValue jsRGBColorGreen(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* castedThis = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ RGBColor* imp = static_cast<RGBColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->green()));
+}
+
+JSValue jsRGBColorBlue(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* castedThis = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ UNUSED_PARAM(exec);
+ RGBColor* imp = static_cast<RGBColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->blue()));
+}
+
+JSValue jsRGBColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
+{
+ JSRGBColor* domObject = static_cast<JSRGBColor*>(asObject(slot.slotBase()));
+ return JSRGBColor::getConstructor(exec, domObject->globalObject());
+}
+JSValue JSRGBColor::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
+{
+ return getDOMConstructor<JSRGBColorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
+}
+
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, RGBColor* object)
+{
+ return getDOMObjectWrapper<JSRGBColor>(exec, globalObject, object);
+}
+RGBColor* toRGBColor(JSC::JSValue value)
+{
+ return value.isObject(&JSRGBColor::s_info) ? static_cast<JSRGBColor*>(asObject(value))->impl() : 0;
+}
+
+}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h
new file mode 100644
index 0000000..8116d7b
--- /dev/null
+++ b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.h
@@ -0,0 +1,76 @@
+/*
+ This file is part of the WebKit open source project.
+ This file has been generated by generate-bindings.pl. DO NOT MODIFY!
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef JSRGBColor_h
+#define JSRGBColor_h
+
+#include "DOMObjectWithSVGContext.h"
+#include "JSDOMBinding.h"
+#include <runtime/JSGlobalObject.h>
+#include <runtime/ObjectPrototype.h>
+
+namespace WebCore {
+
+class RGBColor;
+
+class JSRGBColor : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
+public:
+ JSRGBColor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RGBColor>);
+ virtual ~JSRGBColor();
+ static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+
+ static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
+ {
+ return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
+ }
+
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
+ RGBColor* impl() const { return m_impl.get(); }
+
+private:
+ RefPtr<RGBColor> m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, RGBColor*);
+RGBColor* toRGBColor(JSC::JSValue);
+
+class JSRGBColorPrototype : public JSC::JSObject {
+ typedef JSC::JSObject Base;
+public:
+ static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
+ virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
+ static const JSC::ClassInfo s_info;
+ JSRGBColorPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
+};
+
+// Attributes
+
+JSC::JSValue jsRGBColorRed(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsRGBColorGreen(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsRGBColorBlue(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+JSC::JSValue jsRGBColorConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
+
+} // namespace WebCore
+
+#endif
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h b/src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h
deleted file mode 100644
index 03bb415..0000000
--- a/src/3rdparty/webkit/WebCore/generated/JSRGBColor.lut.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// Automatically generated from ../bindings/js/JSRGBColor.cpp using WebCore/../JavaScriptCore/create_hash_table. DO NOT EDIT!
-
-namespace WebCore {
-
-using namespace JSC;
-
-static const struct HashTableValue JSRGBColorTableValues[4] = {
- { "red", DontDelete|ReadOnly, (intptr_t)jsRGBColorRed, (intptr_t)0 },
- { "green", DontDelete|ReadOnly, (intptr_t)jsRGBColorGreen, (intptr_t)0 },
- { "blue", DontDelete|ReadOnly, (intptr_t)jsRGBColorBlue, (intptr_t)0 },
- { 0, 0, 0, 0 }
-};
-
-extern const struct HashTable JSRGBColorTable =
- { 8, 7, JSRGBColorTableValues, 0 };
-} // namespace
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
index 901b8f3..cefe592 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRange.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSRangeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSRangeTableValues, 0 };
#else
@@ -75,19 +75,19 @@ static const HashTableValue JSRangeConstructorTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSRangeConstructorTableValues, 0 };
#else
{ 18, 15, JSRangeConstructorTableValues, 0 };
#endif
-class JSRangeConstructor : public DOMObject {
+class JSRangeConstructor : public DOMConstructorObject {
public:
- JSRangeConstructor(ExecState* exec)
- : DOMObject(JSRangeConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSRangeConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRangeConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSRangePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSRangePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -144,7 +144,7 @@ static const HashTableValue JSRangePrototypeTableValues[32] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSRangePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSRangePrototypeTableValues, 0 };
#else
@@ -165,8 +165,8 @@ bool JSRangePrototype::getOwnPropertySlot(ExecState* exec, const Identifier& pro
const ClassInfo JSRange::s_info = { "Range", 0, &JSRangeTable, 0 };
-JSRange::JSRange(PassRefPtr<Structure> structure, PassRefPtr<Range> impl)
- : DOMObject(structure)
+JSRange::JSRange(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Range> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -188,17 +188,19 @@ bool JSRange::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName
JSValue jsRangeStartContainer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->startContainer(ec)));
+ Range* imp = static_cast<Range*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->startContainer(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsRangeStartOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
+ Range* imp = static_cast<Range*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->startOffset(ec));
setDOMException(exec, ec);
return result;
@@ -206,17 +208,19 @@ JSValue jsRangeStartOffset(ExecState* exec, const Identifier&, const PropertySlo
JSValue jsRangeEndContainer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->endContainer(ec)));
+ Range* imp = static_cast<Range*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->endContainer(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsRangeEndOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
+ Range* imp = static_cast<Range*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->endOffset(ec));
setDOMException(exec, ec);
return result;
@@ -224,8 +228,9 @@ JSValue jsRangeEndOffset(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsRangeCollapsed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
+ Range* imp = static_cast<Range*>(castedThis->impl());
JSC::JSValue result = jsBoolean(imp->collapsed(ec));
setDOMException(exec, ec);
return result;
@@ -233,20 +238,22 @@ JSValue jsRangeCollapsed(ExecState* exec, const Identifier&, const PropertySlot&
JSValue jsRangeCommonAncestorContainer(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRange* castedThis = static_cast<JSRange*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- Range* imp = static_cast<Range*>(static_cast<JSRange*>(asObject(slot.slotBase()))->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->commonAncestorContainer(ec)));
+ Range* imp = static_cast<Range*>(castedThis->impl());
+ JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->commonAncestorContainer(ec)));
setDOMException(exec, ec);
return result;
}
JSValue jsRangeConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSRange*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSRange* domObject = static_cast<JSRange*>(asObject(slot.slotBase()));
+ return JSRange::getConstructor(exec, domObject->globalObject());
}
-JSValue JSRange::getConstructor(ExecState* exec)
+JSValue JSRange::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSRangeConstructor>(exec);
+ return getDOMConstructor<JSRangeConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsRangePrototypeFunctionSetStart(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -427,7 +434,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionExtractContents(ExecState* exec, J
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->extractContents(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->extractContents(ec)));
setDOMException(exec, ec);
return result;
}
@@ -442,7 +449,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionCloneContents(ExecState* exec, JSO
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->cloneContents(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->cloneContents(ec)));
setDOMException(exec, ec);
return result;
}
@@ -487,7 +494,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionCloneRange(ExecState* exec, JSObje
ExceptionCode ec = 0;
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->cloneRange(ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->cloneRange(ec)));
setDOMException(exec, ec);
return result;
}
@@ -532,7 +539,7 @@ JSValue JSC_HOST_CALL jsRangePrototypeFunctionCreateContextualFragment(ExecState
const UString& html = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createContextualFragment(html, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createContextualFragment(html, ec)));
setDOMException(exec, ec);
return result;
}
@@ -645,9 +652,9 @@ JSValue jsRangeNODE_INSIDE(ExecState* exec, const Identifier&, const PropertySlo
return jsNumber(exec, static_cast<int>(3));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Range* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Range* object)
{
- return getDOMObjectWrapper<JSRange>(exec, object);
+ return getDOMObjectWrapper<JSRange>(exec, globalObject, object);
}
Range* toRange(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRange.h b/src/3rdparty/webkit/WebCore/generated/JSRange.h
index 4d8a6f9..a97f759 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRange.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSRange.h
@@ -21,6 +21,7 @@
#ifndef JSRange_h
#define JSRange_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Range;
-class JSRange : public DOMObject {
- typedef DOMObject Base;
+class JSRange : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSRange(PassRefPtr<JSC::Structure>, PassRefPtr<Range>);
+ JSRange(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Range>);
virtual ~JSRange();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Range* impl() const { return m_impl.get(); }
private:
RefPtr<Range> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Range*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Range*);
Range* toRange(JSC::JSValue);
class JSRangePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
index 3cf51ee..fb8addf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSRangeExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSRangeExceptionTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSRangeExceptionConstructorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSRangeExceptionConstructorTableValues, 0 };
#else
{ 4, 3, JSRangeExceptionConstructorTableValues, 0 };
#endif
-class JSRangeExceptionConstructor : public DOMObject {
+class JSRangeExceptionConstructor : public DOMConstructorObject {
public:
- JSRangeExceptionConstructor(ExecState* exec)
- : DOMObject(JSRangeExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSRangeExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRangeExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSRangeExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSRangeExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -102,7 +102,7 @@ static const HashTableValue JSRangeExceptionPrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRangeExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSRangeExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSRangeExceptionPrototypeTableValues, 0 };
#else
@@ -123,8 +123,8 @@ bool JSRangeExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSRangeException::s_info = { "RangeException", 0, &JSRangeExceptionTable, 0 };
-JSRangeException::JSRangeException(PassRefPtr<Structure> structure, PassRefPtr<RangeException> impl)
- : DOMObject(structure)
+JSRangeException::JSRangeException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<RangeException> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -146,32 +146,36 @@ bool JSRangeException::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsRangeExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRangeException* castedThis = static_cast<JSRangeException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- RangeException* imp = static_cast<RangeException*>(static_cast<JSRangeException*>(asObject(slot.slotBase()))->impl());
+ RangeException* imp = static_cast<RangeException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsRangeExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRangeException* castedThis = static_cast<JSRangeException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- RangeException* imp = static_cast<RangeException*>(static_cast<JSRangeException*>(asObject(slot.slotBase()))->impl());
+ RangeException* imp = static_cast<RangeException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsRangeExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRangeException* castedThis = static_cast<JSRangeException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- RangeException* imp = static_cast<RangeException*>(static_cast<JSRangeException*>(asObject(slot.slotBase()))->impl());
+ RangeException* imp = static_cast<RangeException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsRangeExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSRangeException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSRangeException* domObject = static_cast<JSRangeException*>(asObject(slot.slotBase()));
+ return JSRangeException::getConstructor(exec, domObject->globalObject());
}
-JSValue JSRangeException::getConstructor(ExecState* exec)
+JSValue JSRangeException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSRangeExceptionConstructor>(exec);
+ return getDOMConstructor<JSRangeExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsRangeExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -199,9 +203,9 @@ JSValue jsRangeExceptionINVALID_NODE_TYPE_ERR(ExecState* exec, const Identifier&
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, RangeException* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, RangeException* object)
{
- return getDOMObjectWrapper<JSRangeException>(exec, object);
+ return getDOMObjectWrapper<JSRangeException>(exec, globalObject, object);
}
RangeException* toRangeException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRangeException.h b/src/3rdparty/webkit/WebCore/generated/JSRangeException.h
index 5c45cd2..7afd133 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRangeException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSRangeException.h
@@ -21,6 +21,7 @@
#ifndef JSRangeException_h
#define JSRangeException_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class RangeException;
-class JSRangeException : public DOMObject {
- typedef DOMObject Base;
+class JSRangeException : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSRangeException(PassRefPtr<JSC::Structure>, PassRefPtr<RangeException>);
+ JSRangeException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<RangeException>);
virtual ~JSRangeException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
RangeException* impl() const { return m_impl.get(); }
private:
RefPtr<RangeException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, RangeException*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, RangeException*);
RangeException* toRangeException(JSC::JSValue);
class JSRangeExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
index 02423ef..998f649 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSRect.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSRectTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRectTable =
+static JSC_CONST_HASHTABLE HashTable JSRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSRectTableValues, 0 };
#else
@@ -58,19 +58,19 @@ static const HashTableValue JSRectConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRectConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSRectConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSRectConstructorTableValues, 0 };
#else
{ 1, 0, JSRectConstructorTableValues, 0 };
#endif
-class JSRectConstructor : public DOMObject {
+class JSRectConstructor : public DOMConstructorObject {
public:
- JSRectConstructor(ExecState* exec)
- : DOMObject(JSRectConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSRectConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSRectConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSRectPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSRectPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -96,7 +96,7 @@ static const HashTableValue JSRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSRectPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ JSObject* JSRectPrototype::self(ExecState* exec, JSGlobalObject* globalObject)
const ClassInfo JSRect::s_info = { "Rect", 0, &JSRectTable, 0 };
-JSRect::JSRect(PassRefPtr<Structure> structure, PassRefPtr<Rect> impl)
- : DOMObject(structure)
+JSRect::JSRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<Rect> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -135,44 +135,49 @@ bool JSRect::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
JSValue jsRectTop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->top()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->top()));
}
JSValue jsRectRight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->right()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->right()));
}
JSValue jsRectBottom(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->bottom()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->bottom()));
}
JSValue jsRectLeft(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSRect* castedThis = static_cast<JSRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- Rect* imp = static_cast<Rect*>(static_cast<JSRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->left()));
+ Rect* imp = static_cast<Rect*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->left()));
}
JSValue jsRectConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSRect*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSRect* domObject = static_cast<JSRect*>(asObject(slot.slotBase()));
+ return JSRect::getConstructor(exec, domObject->globalObject());
}
-JSValue JSRect::getConstructor(ExecState* exec)
+JSValue JSRect::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSRectConstructor>(exec);
+ return getDOMConstructor<JSRectConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
-JSC::JSValue toJS(JSC::ExecState* exec, Rect* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Rect* object)
{
- return getDOMObjectWrapper<JSRect>(exec, object);
+ return getDOMObjectWrapper<JSRect>(exec, globalObject, object);
}
Rect* toRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSRect.h b/src/3rdparty/webkit/WebCore/generated/JSRect.h
index be23966..4b1e427 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSRect.h
@@ -21,6 +21,7 @@
#ifndef JSRect_h
#define JSRect_h
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -29,10 +30,10 @@ namespace WebCore {
class Rect;
-class JSRect : public DOMObject {
- typedef DOMObject Base;
+class JSRect : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSRect(PassRefPtr<JSC::Structure>, PassRefPtr<Rect>);
+ JSRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<Rect>);
virtual ~JSRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -44,14 +45,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
Rect* impl() const { return m_impl.get(); }
private:
RefPtr<Rect> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, Rect*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, Rect*);
Rect* toRect(JSC::JSValue);
class JSRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
index 77cdc74..bb987c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSQLErrorTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLErrorTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLErrorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSQLErrorTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSQLErrorPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLErrorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLErrorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLErrorPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSQLErrorPrototype::self(ExecState* exec, JSGlobalObject* globalObjec
const ClassInfo JSSQLError::s_info = { "SQLError", 0, &JSSQLErrorTable, 0 };
-JSSQLError::JSSQLError(PassRefPtr<Structure> structure, PassRefPtr<SQLError> impl)
- : DOMObject(structure)
+JSSQLError::JSSQLError(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLError> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -98,21 +98,23 @@ bool JSSQLError::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSQLErrorCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLError* castedThis = static_cast<JSSQLError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLError* imp = static_cast<SQLError*>(static_cast<JSSQLError*>(asObject(slot.slotBase()))->impl());
+ SQLError* imp = static_cast<SQLError*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsSQLErrorMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLError* castedThis = static_cast<JSSQLError*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLError* imp = static_cast<SQLError*>(static_cast<JSSQLError*>(asObject(slot.slotBase()))->impl());
+ SQLError* imp = static_cast<SQLError*>(castedThis->impl());
return jsString(exec, imp->message());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLError* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLError* object)
{
- return getDOMObjectWrapper<JSSQLError>(exec, object);
+ return getDOMObjectWrapper<JSSQLError>(exec, globalObject, object);
}
SQLError* toSQLError(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLError.h b/src/3rdparty/webkit/WebCore/generated/JSSQLError.h
index d500434f..04aad81 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLError.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLError.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLError;
-class JSSQLError : public DOMObject {
- typedef DOMObject Base;
+class JSSQLError : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLError(PassRefPtr<JSC::Structure>, PassRefPtr<SQLError>);
+ JSSQLError(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLError>);
virtual ~JSSQLError();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<SQLError> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLError*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLError*);
SQLError* toSQLError(JSC::JSValue);
class JSSQLErrorPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
index 8852997..11d8ffc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSQLResultSetTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSQLResultSetTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSQLResultSetPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLResultSetPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSQLResultSetPrototype::self(ExecState* exec, JSGlobalObject* globalO
const ClassInfo JSSQLResultSet::s_info = { "SQLResultSet", 0, &JSSQLResultSetTable, 0 };
-JSSQLResultSet::JSSQLResultSet(PassRefPtr<Structure> structure, PassRefPtr<SQLResultSet> impl)
- : DOMObject(structure)
+JSSQLResultSet::JSSQLResultSet(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSet> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -99,15 +99,17 @@ bool JSSQLResultSet::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSQLResultSetRows(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSet* castedThis = static_cast<JSSQLResultSet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLResultSet* imp = static_cast<SQLResultSet*>(static_cast<JSSQLResultSet*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rows()));
+ SQLResultSet* imp = static_cast<SQLResultSet*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rows()));
}
JSValue jsSQLResultSetInsertId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSet* castedThis = static_cast<JSSQLResultSet*>(asObject(slot.slotBase()));
ExceptionCode ec = 0;
- SQLResultSet* imp = static_cast<SQLResultSet*>(static_cast<JSSQLResultSet*>(asObject(slot.slotBase()))->impl());
+ SQLResultSet* imp = static_cast<SQLResultSet*>(castedThis->impl());
JSC::JSValue result = jsNumber(exec, imp->insertId(ec));
setDOMException(exec, ec);
return result;
@@ -115,14 +117,15 @@ JSValue jsSQLResultSetInsertId(ExecState* exec, const Identifier&, const Propert
JSValue jsSQLResultSetRowsAffected(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSet* castedThis = static_cast<JSSQLResultSet*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLResultSet* imp = static_cast<SQLResultSet*>(static_cast<JSSQLResultSet*>(asObject(slot.slotBase()))->impl());
+ SQLResultSet* imp = static_cast<SQLResultSet*>(castedThis->impl());
return jsNumber(exec, imp->rowsAffected());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLResultSet* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLResultSet* object)
{
- return getDOMObjectWrapper<JSSQLResultSet>(exec, object);
+ return getDOMObjectWrapper<JSSQLResultSet>(exec, globalObject, object);
}
SQLResultSet* toSQLResultSet(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h
index d009dad..401bc3a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLResultSet;
-class JSSQLResultSet : public DOMObject {
- typedef DOMObject Base;
+class JSSQLResultSet : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLResultSet(PassRefPtr<JSC::Structure>, PassRefPtr<SQLResultSet>);
+ JSSQLResultSet(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSet>);
virtual ~JSSQLResultSet();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,7 +53,7 @@ private:
RefPtr<SQLResultSet> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLResultSet*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLResultSet*);
SQLResultSet* toSQLResultSet(JSC::JSValue);
class JSSQLResultSetPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
index daf19f5..a166fb0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSQLResultSetRowListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetRowListTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetRowListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLResultSetRowListTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSQLResultSetRowListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLResultSetRowListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLResultSetRowListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLResultSetRowListPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ bool JSSQLResultSetRowListPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSSQLResultSetRowList::s_info = { "SQLResultSetRowList", 0, &JSSQLResultSetRowListTable, 0 };
-JSSQLResultSetRowList::JSSQLResultSetRowList(PassRefPtr<Structure> structure, PassRefPtr<SQLResultSetRowList> impl)
- : DOMObject(structure)
+JSSQLResultSetRowList::JSSQLResultSetRowList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLResultSetRowList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -102,8 +102,9 @@ bool JSSQLResultSetRowList::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSQLResultSetRowListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSQLResultSetRowList* castedThis = static_cast<JSSQLResultSetRowList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SQLResultSetRowList* imp = static_cast<SQLResultSetRowList*>(static_cast<JSSQLResultSetRowList*>(asObject(slot.slotBase()))->impl());
+ SQLResultSetRowList* imp = static_cast<SQLResultSetRowList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -116,9 +117,9 @@ JSValue JSC_HOST_CALL jsSQLResultSetRowListPrototypeFunctionItem(ExecState* exec
return castedThisObj->item(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLResultSetRowList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLResultSetRowList* object)
{
- return getDOMObjectWrapper<JSSQLResultSetRowList>(exec, object);
+ return getDOMObjectWrapper<JSSQLResultSetRowList>(exec, globalObject, object);
}
SQLResultSetRowList* toSQLResultSetRowList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h
index df28567..22fb844 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLResultSetRowList;
-class JSSQLResultSetRowList : public DOMObject {
- typedef DOMObject Base;
+class JSSQLResultSetRowList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLResultSetRowList(PassRefPtr<JSC::Structure>, PassRefPtr<SQLResultSetRowList>);
+ JSSQLResultSetRowList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLResultSetRowList>);
virtual ~JSSQLResultSetRowList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -55,7 +56,7 @@ private:
RefPtr<SQLResultSetRowList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLResultSetRowList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLResultSetRowList*);
SQLResultSetRowList* toSQLResultSetRowList(JSC::JSValue);
class JSSQLResultSetRowListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
index 1f086ee..f8c6d67 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSQLTransactionPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSQLTransactionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSQLTransactionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSQLTransactionPrototypeTableValues, 0 };
#else
@@ -63,8 +63,8 @@ bool JSSQLTransactionPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSQLTransaction::s_info = { "SQLTransaction", 0, 0, 0 };
-JSSQLTransaction::JSSQLTransaction(PassRefPtr<Structure> structure, PassRefPtr<SQLTransaction> impl)
- : DOMObject(structure)
+JSSQLTransaction::JSSQLTransaction(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SQLTransaction> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -88,9 +88,9 @@ JSValue JSC_HOST_CALL jsSQLTransactionPrototypeFunctionExecuteSql(ExecState* exe
return castedThisObj->executeSql(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SQLTransaction* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SQLTransaction* object)
{
- return getDOMObjectWrapper<JSSQLTransaction>(exec, object);
+ return getDOMObjectWrapper<JSSQLTransaction>(exec, globalObject, object);
}
SQLTransaction* toSQLTransaction(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h
index 94c10a5..bb72108 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h
@@ -23,6 +23,7 @@
#if ENABLE(DATABASE)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
@@ -31,10 +32,10 @@ namespace WebCore {
class SQLTransaction;
-class JSSQLTransaction : public DOMObject {
- typedef DOMObject Base;
+class JSSQLTransaction : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSQLTransaction(PassRefPtr<JSC::Structure>, PassRefPtr<SQLTransaction>);
+ JSSQLTransaction(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SQLTransaction>);
virtual ~JSSQLTransaction();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -49,7 +50,7 @@ private:
RefPtr<SQLTransaction> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SQLTransaction*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SQLTransaction*);
SQLTransaction* toSQLTransaction(JSC::JSValue);
class JSSQLTransactionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp
index 3e6d235..dd66b1f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGAElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGAElementTableValues, 0 };
#else
@@ -90,7 +90,7 @@ static const HashTableValue JSSVGAElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGAElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ bool JSSVGAElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSSVGAElement::s_info = { "SVGAElement", &JSSVGElement::s_info, &JSSVGAElementTable, 0 };
-JSSVGAElement::JSSVGAElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGAElement::JSSVGAElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -128,98 +128,111 @@ bool JSSVGAElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsSVGAElementTarget(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->targetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGAElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGAElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGAElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGAElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGAElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGAElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGAElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGAElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAElement* castedThis = static_cast<JSSVGAElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAElement* imp = static_cast<SVGAElement*>(static_cast<JSSVGAElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGAElement* imp = static_cast<SVGAElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGAElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -263,7 +276,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetPresentationAttribute(Exe
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetBBox(ExecState* exec, JSO
SVGAElement* imp = static_cast<SVGAElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -289,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetCTM(ExecState* exec, JSOb
SVGAElement* imp = static_cast<SVGAElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -302,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetScreenCTM(ExecState* exec
SVGAElement* imp = static_cast<SVGAElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGAElementPrototypeFunctionGetTransformToElement(ExecSt
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h
index 78406f6..09d21e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h
@@ -33,7 +33,7 @@ class SVGAElement;
class JSSVGAElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGAElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAElement>);
+ JSSVGAElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp
index 89543b1..8f8a5fa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGAltGlyphElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAltGlyphElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAltGlyphElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGAltGlyphElementTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGAltGlyphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAltGlyphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAltGlyphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAltGlyphElementPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSVGAltGlyphElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGAltGlyphElement::s_info = { "SVGAltGlyphElement", &JSSVGTextPositioningElement::s_info, &JSSVGAltGlyphElementTable, 0 };
-JSSVGAltGlyphElement::JSSVGAltGlyphElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAltGlyphElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGAltGlyphElement::JSSVGAltGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAltGlyphElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
@@ -93,24 +93,27 @@ bool JSSVGAltGlyphElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAltGlyphElementGlyphRef(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAltGlyphElement* castedThis = static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()))->impl());
+ SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(castedThis->impl());
return jsString(exec, imp->glyphRef());
}
JSValue jsSVGAltGlyphElementFormat(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAltGlyphElement* castedThis = static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()))->impl());
+ SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(castedThis->impl());
return jsString(exec, imp->format());
}
JSValue jsSVGAltGlyphElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAltGlyphElement* castedThis = static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(static_cast<JSSVGAltGlyphElement*>(asObject(slot.slotBase()))->impl());
+ SVGAltGlyphElement* imp = static_cast<SVGAltGlyphElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGAltGlyphElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h
index f92bdcd..5df51fe 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h
@@ -33,7 +33,7 @@ class SVGAltGlyphElement;
class JSSVGAltGlyphElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGAltGlyphElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAltGlyphElement>);
+ JSSVGAltGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAltGlyphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
index 39c7e73..be80003 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGAngleTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAngleTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAngleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGAngleTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSSVGAngleConstructorTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAngleConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAngleConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGAngleConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGAngleConstructorTableValues, 0 };
#endif
-class JSSVGAngleConstructor : public DOMObject {
+class JSSVGAngleConstructor : public DOMConstructorObject {
public:
- JSSVGAngleConstructor(ExecState* exec)
- : DOMObject(JSSVGAngleConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGAngleConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGAngleConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGAnglePrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGAnglePrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -113,7 +113,7 @@ static const HashTableValue JSSVGAnglePrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnglePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnglePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGAnglePrototypeTableValues, 0 };
#else
@@ -134,9 +134,8 @@ bool JSSVGAnglePrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGAngle::s_info = { "SVGAngle", 0, &JSSVGAngleTable, 0 };
-JSSVGAngle::JSSVGAngle(PassRefPtr<Structure> structure, PassRefPtr<SVGAngle> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAngle::JSSVGAngle(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAngle> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -158,35 +157,40 @@ bool JSSVGAngle::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGAngleUnitType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsNumber(exec, imp->unitType());
}
JSValue jsSVGAngleValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsNumber(exec, imp->value());
}
JSValue jsSVGAngleValueInSpecifiedUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsNumber(exec, imp->valueInSpecifiedUnits());
}
JSValue jsSVGAngleValueAsString(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAngle* castedThis = static_cast<JSSVGAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAngle* imp = static_cast<SVGAngle*>(static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->impl());
+ SVGAngle* imp = static_cast<SVGAngle*>(castedThis->impl());
return jsString(exec, imp->valueAsString());
}
JSValue jsSVGAngleConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGAngle*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGAngle::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
void JSSVGAngle::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -217,9 +221,9 @@ void setJSSVGAngleValueAsString(ExecState* exec, JSObject* thisObject, JSValue v
static_cast<JSSVGAngle*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAngle*>(thisObject)->impl()->associatedAttributeName());
}
-JSValue JSSVGAngle::getConstructor(ExecState* exec)
+JSValue JSSVGAngle::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGAngleConstructor>(exec);
+ return getDOMConstructor<JSSVGAngleConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGAnglePrototypeFunctionNewValueSpecifiedUnits(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -276,9 +280,9 @@ JSValue jsSVGAngleSVG_ANGLETYPE_GRAD(ExecState* exec, const Identifier&, const P
return jsNumber(exec, static_cast<int>(4));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAngle* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAngle* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAngle>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAngle>(exec, globalObject, object, context);
}
SVGAngle* toSVGAngle(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h
index 5312581..92cf6b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGAngle;
-class JSSVGAngle : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAngle : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAngle(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAngle>, SVGElement* context);
+ JSSVGAngle(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAngle>, SVGElement* context);
virtual ~JSSVGAngle();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,16 +49,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGAngle* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAngle > m_impl;
+ RefPtr<SVGAngle> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAngle*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAngle*, SVGElement* context);
SVGAngle* toSVGAngle(JSC::JSValue);
class JSSVGAnglePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp
index cbb2269..e6aa047 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGAnimateColorElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimateColorElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimateColorElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimateColorElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGAnimateColorElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGAnimateColorElement::s_info = { "SVGAnimateColorElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGAnimateColorElement::JSSVGAnimateColorElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimateColorElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGAnimateColorElement::JSSVGAnimateColorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateColorElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h
index a1519a4..2a44d41 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h
@@ -33,7 +33,7 @@ class SVGAnimateColorElement;
class JSSVGAnimateColorElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGAnimateColorElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimateColorElement>);
+ JSSVGAnimateColorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateColorElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp
index 77d0331..a49dea6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGAnimateElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimateElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimateElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimateElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGAnimateElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimateElement::s_info = { "SVGAnimateElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGAnimateElement::JSSVGAnimateElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimateElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGAnimateElement::JSSVGAnimateElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h
index 77415d9..90937ca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h
@@ -33,7 +33,7 @@ class SVGAnimateElement;
class JSSVGAnimateElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGAnimateElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimateElement>);
+ JSSVGAnimateElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp
index 511108f..d5c70c0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGAnimateTransformElementPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimateTransformElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimateTransformElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimateTransformElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGAnimateTransformElementPrototype::self(ExecState* exec, JSGlobalO
const ClassInfo JSSVGAnimateTransformElement::s_info = { "SVGAnimateTransformElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGAnimateTransformElement::JSSVGAnimateTransformElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimateTransformElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGAnimateTransformElement::JSSVGAnimateTransformElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimateTransformElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h
index ed8d9bb..fb8c1c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h
@@ -33,7 +33,7 @@ class SVGAnimateTransformElement;
class JSSVGAnimateTransformElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGAnimateTransformElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimateTransformElement>);
+ JSSVGAnimateTransformElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimateTransformElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
index 92c485a..e123d2f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedAngleTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedAngleTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedAngleTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedAngleTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedAnglePrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedAnglePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedAnglePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedAnglePrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedAnglePrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGAnimatedAngle::s_info = { "SVGAnimatedAngle", 0, &JSSVGAnimatedAngleTable, 0 };
-JSSVGAnimatedAngle::JSSVGAnimatedAngle(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedAngle> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedAngle::JSSVGAnimatedAngle(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedAngle> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedAngle::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGAnimatedAngleBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedAngle* castedThis = static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedAngleAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedAngle* castedThis = static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedAngle*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedAngle* imp = static_cast<SVGAnimatedAngle*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedAngle* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedAngle* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedAngle>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedAngle>(exec, globalObject, object, context);
}
SVGAnimatedAngle* toSVGAnimatedAngle(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h
index 9500054..fb2a73f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedAngle : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedAngle : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedAngle(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedAngle>, SVGElement* context);
+ JSSVGAnimatedAngle(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedAngle>, SVGElement* context);
virtual ~JSSVGAnimatedAngle();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedAngle* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedAngle > m_impl;
+ RefPtr<SVGAnimatedAngle> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedAngle*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedAngle*, SVGElement* context);
SVGAnimatedAngle* toSVGAnimatedAngle(JSC::JSValue);
class JSSVGAnimatedAnglePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
index 2821aaa..983dd2a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGAnimatedBooleanTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedBooleanTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedBooleanTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedBooleanTableValues, 0 };
#else
@@ -55,7 +55,7 @@ static const HashTableValue JSSVGAnimatedBooleanPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedBooleanPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedBooleanPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedBooleanPrototypeTableValues, 0 };
#else
@@ -71,9 +71,8 @@ JSObject* JSSVGAnimatedBooleanPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGAnimatedBoolean::s_info = { "SVGAnimatedBoolean", 0, &JSSVGAnimatedBooleanTable, 0 };
-JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedBoolean> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedBoolean::JSSVGAnimatedBoolean(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedBoolean> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -95,15 +94,17 @@ bool JSSVGAnimatedBoolean::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedBooleanBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedBoolean* castedThis = static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(castedThis->impl());
return jsBoolean(imp->baseVal());
}
JSValue jsSVGAnimatedBooleanAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedBoolean* castedThis = static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(static_cast<JSSVGAnimatedBoolean*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedBoolean* imp = static_cast<SVGAnimatedBoolean*>(castedThis->impl());
return jsBoolean(imp->animVal());
}
@@ -120,9 +121,9 @@ void setJSSVGAnimatedBooleanBaseVal(ExecState* exec, JSObject* thisObject, JSVal
static_cast<JSSVGAnimatedBoolean*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedBoolean*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedBoolean* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedBoolean* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedBoolean>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedBoolean>(exec, globalObject, object, context);
}
SVGAnimatedBoolean* toSVGAnimatedBoolean(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h
index 4a4d6f6..599e2a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedBoolean : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedBoolean : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedBoolean(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedBoolean>, SVGElement* context);
+ JSSVGAnimatedBoolean(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedBoolean>, SVGElement* context);
virtual ~JSSVGAnimatedBoolean();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedBoolean* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedBoolean > m_impl;
+ RefPtr<SVGAnimatedBoolean> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedBoolean*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedBoolean*, SVGElement* context);
SVGAnimatedBoolean* toSVGAnimatedBoolean(JSC::JSValue);
class JSSVGAnimatedBooleanPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
index 3af330f..2cf3ad9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedEnumerationTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedEnumerationTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedEnumerationTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedEnumerationTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedEnumerationPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedEnumerationPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedEnumerationPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedEnumerationPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedEnumerationPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGAnimatedEnumeration::s_info = { "SVGAnimatedEnumeration", 0, &JSSVGAnimatedEnumerationTable, 0 };
-JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedEnumeration> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedEnumeration::JSSVGAnimatedEnumeration(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedEnumeration> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,15 +95,17 @@ bool JSSVGAnimatedEnumeration::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGAnimatedEnumerationBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedEnumeration* castedThis = static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(castedThis->impl());
return jsNumber(exec, imp->baseVal());
}
JSValue jsSVGAnimatedEnumerationAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedEnumeration* castedThis = static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(static_cast<JSSVGAnimatedEnumeration*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedEnumeration* imp = static_cast<SVGAnimatedEnumeration*>(castedThis->impl());
return jsNumber(exec, imp->animVal());
}
@@ -121,9 +122,9 @@ void setJSSVGAnimatedEnumerationBaseVal(ExecState* exec, JSObject* thisObject, J
static_cast<JSSVGAnimatedEnumeration*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedEnumeration*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedEnumeration* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedEnumeration* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedEnumeration>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedEnumeration>(exec, globalObject, object, context);
}
SVGAnimatedEnumeration* toSVGAnimatedEnumeration(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h
index b021183..20403ab 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedEnumeration : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedEnumeration : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedEnumeration(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedEnumeration>, SVGElement* context);
+ JSSVGAnimatedEnumeration(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedEnumeration>, SVGElement* context);
virtual ~JSSVGAnimatedEnumeration();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedEnumeration* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedEnumeration > m_impl;
+ RefPtr<SVGAnimatedEnumeration> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedEnumeration*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedEnumeration*, SVGElement* context);
SVGAnimatedEnumeration* toSVGAnimatedEnumeration(JSC::JSValue);
class JSSVGAnimatedEnumerationPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
index 11337a2..6602bcd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedIntegerTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedIntegerTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedIntegerTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedIntegerTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedIntegerPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedIntegerPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedIntegerPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedIntegerPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedIntegerPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGAnimatedInteger::s_info = { "SVGAnimatedInteger", 0, &JSSVGAnimatedIntegerTable, 0 };
-JSSVGAnimatedInteger::JSSVGAnimatedInteger(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedInteger> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedInteger::JSSVGAnimatedInteger(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedInteger> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,15 +95,17 @@ bool JSSVGAnimatedInteger::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedIntegerBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedInteger* castedThis = static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(castedThis->impl());
return jsNumber(exec, imp->baseVal());
}
JSValue jsSVGAnimatedIntegerAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedInteger* castedThis = static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(static_cast<JSSVGAnimatedInteger*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedInteger* imp = static_cast<SVGAnimatedInteger*>(castedThis->impl());
return jsNumber(exec, imp->animVal());
}
@@ -121,9 +122,9 @@ void setJSSVGAnimatedIntegerBaseVal(ExecState* exec, JSObject* thisObject, JSVal
static_cast<JSSVGAnimatedInteger*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedInteger*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedInteger* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedInteger* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedInteger>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedInteger>(exec, globalObject, object, context);
}
SVGAnimatedInteger* toSVGAnimatedInteger(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h
index 34947f0..9045693 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedInteger : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedInteger : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedInteger(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedInteger>, SVGElement* context);
+ JSSVGAnimatedInteger(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedInteger>, SVGElement* context);
virtual ~JSSVGAnimatedInteger();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedInteger* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedInteger > m_impl;
+ RefPtr<SVGAnimatedInteger> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedInteger*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedInteger*, SVGElement* context);
SVGAnimatedInteger* toSVGAnimatedInteger(JSC::JSValue);
class JSSVGAnimatedIntegerPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
index 2e1fc5b..bcc5a81 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedLengthTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedLengthTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedLengthPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedLengthPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedLengthPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimatedLength::s_info = { "SVGAnimatedLength", 0, &JSSVGAnimatedLengthTable, 0 };
-JSSVGAnimatedLength::JSSVGAnimatedLength(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedLength> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedLength::JSSVGAnimatedLength(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLength> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,21 +95,23 @@ bool JSSVGAnimatedLength::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedLengthBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLength* castedThis = static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::baseVal, &SVGAnimatedLength::setBaseVal).get(), static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::baseVal, &SVGAnimatedLength::setBaseVal).get(), castedThis->context());
}
JSValue jsSVGAnimatedLengthAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLength* castedThis = static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::animVal, &SVGAnimatedLength::setAnimVal).get(), static_cast<JSSVGAnimatedLength*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLength* imp = static_cast<SVGAnimatedLength*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<SVGLength, SVGAnimatedLength>::lookupOrCreateWrapper(imp, &SVGAnimatedLength::animVal, &SVGAnimatedLength::setAnimVal).get(), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedLength* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedLength* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedLength>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedLength>(exec, globalObject, object, context);
}
SVGAnimatedLength* toSVGAnimatedLength(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h
index 430d78b..7e3ba12 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedLength : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedLength : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedLength(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedLength>, SVGElement* context);
+ JSSVGAnimatedLength(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLength>, SVGElement* context);
virtual ~JSSVGAnimatedLength();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedLength* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedLength > m_impl;
+ RefPtr<SVGAnimatedLength> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedLength*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedLength*, SVGElement* context);
SVGAnimatedLength* toSVGAnimatedLength(JSC::JSValue);
class JSSVGAnimatedLengthPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
index 04fa5f2..6dc24ab 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedLengthListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedLengthListTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedLengthListPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedLengthListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedLengthListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedLengthListPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedLengthListPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGAnimatedLengthList::s_info = { "SVGAnimatedLengthList", 0, &JSSVGAnimatedLengthListTable, 0 };
-JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedLengthList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedLengthList::JSSVGAnimatedLengthList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedLengthList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedLengthList::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGAnimatedLengthListBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLengthList* castedThis = static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedLengthListAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedLengthList* castedThis = static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedLengthList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedLengthList* imp = static_cast<SVGAnimatedLengthList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedLengthList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedLengthList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedLengthList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedLengthList>(exec, globalObject, object, context);
}
SVGAnimatedLengthList* toSVGAnimatedLengthList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h
index bd19ac9..288ccfc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedLengthList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedLengthList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedLengthList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedLengthList>, SVGElement* context);
+ JSSVGAnimatedLengthList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedLengthList>, SVGElement* context);
virtual ~JSSVGAnimatedLengthList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedLengthList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedLengthList > m_impl;
+ RefPtr<SVGAnimatedLengthList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedLengthList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedLengthList*, SVGElement* context);
SVGAnimatedLengthList* toSVGAnimatedLengthList(JSC::JSValue);
class JSSVGAnimatedLengthListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
index 0b1d5a3..9081e47 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGAnimatedNumberTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedNumberTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGAnimatedNumberPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedNumberPrototypeTableValues, 0 };
#else
@@ -72,9 +72,8 @@ JSObject* JSSVGAnimatedNumberPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimatedNumber::s_info = { "SVGAnimatedNumber", 0, &JSSVGAnimatedNumberTable, 0 };
-JSSVGAnimatedNumber::JSSVGAnimatedNumber(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedNumber> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedNumber::JSSVGAnimatedNumber(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumber> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -96,15 +95,17 @@ bool JSSVGAnimatedNumber::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedNumberBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumber* castedThis = static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(castedThis->impl());
return jsNumber(exec, imp->baseVal());
}
JSValue jsSVGAnimatedNumberAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumber* castedThis = static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(static_cast<JSSVGAnimatedNumber*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedNumber* imp = static_cast<SVGAnimatedNumber*>(castedThis->impl());
return jsNumber(exec, imp->animVal());
}
@@ -121,9 +122,9 @@ void setJSSVGAnimatedNumberBaseVal(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSSVGAnimatedNumber*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedNumber*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedNumber* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedNumber* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedNumber>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedNumber>(exec, globalObject, object, context);
}
SVGAnimatedNumber* toSVGAnimatedNumber(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h
index 77f77a6..eab3888 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedNumber : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedNumber : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedNumber(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedNumber>, SVGElement* context);
+ JSSVGAnimatedNumber(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumber>, SVGElement* context);
virtual ~JSSVGAnimatedNumber();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedNumber* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedNumber > m_impl;
+ RefPtr<SVGAnimatedNumber> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedNumber*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedNumber*, SVGElement* context);
SVGAnimatedNumber* toSVGAnimatedNumber(JSC::JSValue);
class JSSVGAnimatedNumberPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
index 3e07104..224936f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedNumberListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedNumberListTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedNumberListPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedNumberListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedNumberListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedNumberListPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedNumberListPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGAnimatedNumberList::s_info = { "SVGAnimatedNumberList", 0, &JSSVGAnimatedNumberListTable, 0 };
-JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedNumberList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedNumberList::JSSVGAnimatedNumberList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedNumberList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedNumberList::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGAnimatedNumberListBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumberList* castedThis = static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedNumberListAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedNumberList* castedThis = static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedNumberList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedNumberList* imp = static_cast<SVGAnimatedNumberList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedNumberList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedNumberList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedNumberList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedNumberList>(exec, globalObject, object, context);
}
SVGAnimatedNumberList* toSVGAnimatedNumberList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h
index bc1c751..c37905c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedNumberList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedNumberList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedNumberList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedNumberList>, SVGElement* context);
+ JSSVGAnimatedNumberList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedNumberList>, SVGElement* context);
virtual ~JSSVGAnimatedNumberList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedNumberList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedNumberList > m_impl;
+ RefPtr<SVGAnimatedNumberList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedNumberList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedNumberList*, SVGElement* context);
SVGAnimatedNumberList* toSVGAnimatedNumberList(JSC::JSValue);
class JSSVGAnimatedNumberListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
index 6209832..6a602c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedPreserveAspectRatioTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedPreserveAspectRatioTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedPreserveAspectRatioTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedPreserveAspectRatioTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedPreserveAspectRatioPrototypeTableValues
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedPreserveAspectRatioPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedPreserveAspectRatioPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedPreserveAspectRatioPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedPreserveAspectRatioPrototype::self(ExecState* exec, JSGlo
const ClassInfo JSSVGAnimatedPreserveAspectRatio::s_info = { "SVGAnimatedPreserveAspectRatio", 0, &JSSVGAnimatedPreserveAspectRatioTable, 0 };
-JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedPreserveAspectRatio> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedPreserveAspectRatio::JSSVGAnimatedPreserveAspectRatio(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedPreserveAspectRatio> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedPreserveAspectRatio::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGAnimatedPreserveAspectRatioBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedPreserveAspectRatio* castedThis = static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedPreserveAspectRatioAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedPreserveAspectRatio* castedThis = static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedPreserveAspectRatio*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedPreserveAspectRatio* imp = static_cast<SVGAnimatedPreserveAspectRatio*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedPreserveAspectRatio* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedPreserveAspectRatio* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedPreserveAspectRatio>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedPreserveAspectRatio>(exec, globalObject, object, context);
}
SVGAnimatedPreserveAspectRatio* toSVGAnimatedPreserveAspectRatio(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h
index 3a36ff9..172691a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedPreserveAspectRatio : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedPreserveAspectRatio : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedPreserveAspectRatio(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedPreserveAspectRatio>, SVGElement* context);
+ JSSVGAnimatedPreserveAspectRatio(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedPreserveAspectRatio>, SVGElement* context);
virtual ~JSSVGAnimatedPreserveAspectRatio();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedPreserveAspectRatio* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedPreserveAspectRatio > m_impl;
+ RefPtr<SVGAnimatedPreserveAspectRatio> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedPreserveAspectRatio*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedPreserveAspectRatio*, SVGElement* context);
SVGAnimatedPreserveAspectRatio* toSVGAnimatedPreserveAspectRatio(JSC::JSValue);
class JSSVGAnimatedPreserveAspectRatioPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
index 41698eb..34bd262 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedRectTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedRectTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedRectTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedRectPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedRectPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGAnimatedRect::s_info = { "SVGAnimatedRect", 0, &JSSVGAnimatedRectTable, 0 };
-JSSVGAnimatedRect::JSSVGAnimatedRect(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedRect> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedRect::JSSVGAnimatedRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedRect> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedRect::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGAnimatedRectBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedRect* castedThis = static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::baseVal, &SVGAnimatedRect::setBaseVal).get(), static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::baseVal, &SVGAnimatedRect::setBaseVal).get(), castedThis->context());
}
JSValue jsSVGAnimatedRectAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedRect* castedThis = static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::animVal, &SVGAnimatedRect::setAnimVal).get(), static_cast<JSSVGAnimatedRect*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedRect* imp = static_cast<SVGAnimatedRect*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGDynamicPODTypeWrapperCache<FloatRect, SVGAnimatedRect>::lookupOrCreateWrapper(imp, &SVGAnimatedRect::animVal, &SVGAnimatedRect::setAnimVal).get(), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedRect* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedRect* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedRect>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedRect>(exec, globalObject, object, context);
}
SVGAnimatedRect* toSVGAnimatedRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h
index 00c9ffa..c71c0b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedRect : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedRect : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedRect(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedRect>, SVGElement* context);
+ JSSVGAnimatedRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedRect>, SVGElement* context);
virtual ~JSSVGAnimatedRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedRect* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedRect > m_impl;
+ RefPtr<SVGAnimatedRect> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedRect*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedRect*, SVGElement* context);
SVGAnimatedRect* toSVGAnimatedRect(JSC::JSValue);
class JSSVGAnimatedRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
index 8d29f52..52c8129 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGAnimatedStringTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedStringTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedStringTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedStringTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGAnimatedStringPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedStringPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedStringPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedStringPrototypeTableValues, 0 };
#else
@@ -74,9 +74,8 @@ JSObject* JSSVGAnimatedStringPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGAnimatedString::s_info = { "SVGAnimatedString", 0, &JSSVGAnimatedStringTable, 0 };
-JSSVGAnimatedString::JSSVGAnimatedString(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedString> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedString::JSSVGAnimatedString(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedString> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -98,15 +97,17 @@ bool JSSVGAnimatedString::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGAnimatedStringBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedString* castedThis = static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(castedThis->impl());
return jsString(exec, imp->baseVal());
}
JSValue jsSVGAnimatedStringAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedString* castedThis = static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(static_cast<JSSVGAnimatedString*>(asObject(slot.slotBase()))->impl());
+ SVGAnimatedString* imp = static_cast<SVGAnimatedString*>(castedThis->impl());
return jsString(exec, imp->animVal());
}
@@ -123,9 +124,9 @@ void setJSSVGAnimatedStringBaseVal(ExecState* exec, JSObject* thisObject, JSValu
static_cast<JSSVGAnimatedString*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGAnimatedString*>(thisObject)->impl()->associatedAttributeName());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedString* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedString* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedString>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedString>(exec, globalObject, object, context);
}
SVGAnimatedString* toSVGAnimatedString(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h
index c7fd6db..6380728 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedString : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedString : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedString(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedString>, SVGElement* context);
+ JSSVGAnimatedString(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedString>, SVGElement* context);
virtual ~JSSVGAnimatedString();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,14 +48,12 @@ public:
}
SVGAnimatedString* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedString > m_impl;
+ RefPtr<SVGAnimatedString> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedString*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedString*, SVGElement* context);
SVGAnimatedString* toSVGAnimatedString(JSC::JSValue);
class JSSVGAnimatedStringPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
index ecdf262..077f379 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGAnimatedTransformListTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedTransformListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedTransformListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGAnimatedTransformListTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGAnimatedTransformListPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimatedTransformListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimatedTransformListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGAnimatedTransformListPrototypeTableValues, 0 };
#else
@@ -73,9 +73,8 @@ JSObject* JSSVGAnimatedTransformListPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGAnimatedTransformList::s_info = { "SVGAnimatedTransformList", 0, &JSSVGAnimatedTransformListTable, 0 };
-JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimatedTransformList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGAnimatedTransformList::JSSVGAnimatedTransformList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimatedTransformList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -97,21 +96,23 @@ bool JSSVGAnimatedTransformList::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGAnimatedTransformListBaseVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedTransformList* castedThis = static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->baseVal()), static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->baseVal()), castedThis->context());
}
JSValue jsSVGAnimatedTransformListAnimVal(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimatedTransformList* castedThis = static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animVal()), static_cast<JSSVGAnimatedTransformList*>(asObject(slot.slotBase()))->context());
+ SVGAnimatedTransformList* imp = static_cast<SVGAnimatedTransformList*>(castedThis->impl());
+ return toJS(exec, deprecatedGlobalObjectForPrototype(exec), WTF::getPtr(imp->animVal()), castedThis->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGAnimatedTransformList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGAnimatedTransformList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGAnimatedTransformList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGAnimatedTransformList>(exec, globalObject, object, context);
}
SVGAnimatedTransformList* toSVGAnimatedTransformList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h
index eb129ef..358905c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -30,10 +31,10 @@
namespace WebCore {
-class JSSVGAnimatedTransformList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGAnimatedTransformList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGAnimatedTransformList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimatedTransformList>, SVGElement* context);
+ JSSVGAnimatedTransformList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimatedTransformList>, SVGElement* context);
virtual ~JSSVGAnimatedTransformList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -46,14 +47,12 @@ public:
}
SVGAnimatedTransformList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGAnimatedTransformList > m_impl;
+ RefPtr<SVGAnimatedTransformList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGAnimatedTransformList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGAnimatedTransformList*, SVGElement* context);
SVGAnimatedTransformList* toSVGAnimatedTransformList(JSC::JSValue);
class JSSVGAnimatedTransformListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp
index 12d6f19..48a51e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp
@@ -52,7 +52,7 @@ static const HashTableValue JSSVGAnimationElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimationElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimationElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGAnimationElementTableValues, 0 };
#else
@@ -74,7 +74,7 @@ static const HashTableValue JSSVGAnimationElementPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGAnimationElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGAnimationElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGAnimationElementPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ bool JSSVGAnimationElementPrototype::getOwnPropertySlot(ExecState* exec, const I
const ClassInfo JSSVGAnimationElement::s_info = { "SVGAnimationElement", &JSSVGElement::s_info, &JSSVGAnimationElementTable, 0 };
-JSSVGAnimationElement::JSSVGAnimationElement(PassRefPtr<Structure> structure, PassRefPtr<SVGAnimationElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGAnimationElement::JSSVGAnimationElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGAnimationElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -112,38 +112,43 @@ bool JSSVGAnimationElement::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGAnimationElementTargetElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->targetElement()));
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->targetElement()));
}
JSValue jsSVGAnimationElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGAnimationElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGAnimationElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGAnimationElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGAnimationElement* castedThis = static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(static_cast<JSSVGAnimationElement*>(asObject(slot.slotBase()))->impl());
+ SVGAnimationElement* imp = static_cast<SVGAnimationElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue JSC_HOST_CALL jsSVGAnimationElementPrototypeFunctionGetStartTime(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h
index 989c0d0..4a48a7b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h
@@ -33,7 +33,7 @@ class SVGAnimationElement;
class JSSVGAnimationElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGAnimationElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGAnimationElement>);
+ JSSVGAnimationElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGAnimationElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp
index f9fa2aa..92213c7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSSVGCircleElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCircleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCircleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGCircleElementTableValues, 0 };
#else
@@ -92,7 +92,7 @@ static const HashTableValue JSSVGCircleElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCircleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCircleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGCircleElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ bool JSSVGCircleElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGCircleElement::s_info = { "SVGCircleElement", &JSSVGElement::s_info, &JSSVGCircleElementTable, 0 };
-JSSVGCircleElement::JSSVGCircleElement(PassRefPtr<Structure> structure, PassRefPtr<SVGCircleElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGCircleElement::JSSVGCircleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCircleElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -130,106 +130,120 @@ bool JSSVGCircleElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGCircleElementCx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementCy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementR(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGCircleElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGCircleElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGCircleElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGCircleElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGCircleElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGCircleElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCircleElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGCircleElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCircleElement* castedThis = static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCircleElement* imp = static_cast<SVGCircleElement*>(static_cast<JSSVGCircleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGCircleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -273,7 +287,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -286,7 +300,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetBBox(ExecState* exec
SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -299,7 +313,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetCTM(ExecState* exec,
SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -312,7 +326,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetScreenCTM(ExecState*
SVGCircleElement* imp = static_cast<SVGCircleElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -327,7 +341,7 @@ JSValue JSC_HOST_CALL jsSVGCircleElementPrototypeFunctionGetTransformToElement(E
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h
index 8c9acda..6dfad23 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h
@@ -33,7 +33,7 @@ class SVGCircleElement;
class JSSVGCircleElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGCircleElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGCircleElement>);
+ JSSVGCircleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCircleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp
index 73e31af..c67ced4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGClipPathElementTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGClipPathElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGClipPathElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGClipPathElementTableValues, 0 };
#else
@@ -90,7 +90,7 @@ static const HashTableValue JSSVGClipPathElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGClipPathElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGClipPathElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGClipPathElementPrototypeTableValues, 0 };
#else
@@ -111,8 +111,8 @@ bool JSSVGClipPathElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGClipPathElement::s_info = { "SVGClipPathElement", &JSSVGElement::s_info, &JSSVGClipPathElementTable, 0 };
-JSSVGClipPathElement::JSSVGClipPathElement(PassRefPtr<Structure> structure, PassRefPtr<SVGClipPathElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGClipPathElement::JSSVGClipPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGClipPathElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -128,90 +128,102 @@ bool JSSVGClipPathElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGClipPathElementClipPathUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->clipPathUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGClipPathElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGClipPathElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGClipPathElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGClipPathElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGClipPathElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGClipPathElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGClipPathElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGClipPathElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGClipPathElement* castedThis = static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(static_cast<JSSVGClipPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGClipPathElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -255,7 +267,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -268,7 +280,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetBBox(ExecState* ex
SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -281,7 +293,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetCTM(ExecState* exe
SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -294,7 +306,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetScreenCTM(ExecStat
SVGClipPathElement* imp = static_cast<SVGClipPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -309,7 +321,7 @@ JSValue JSC_HOST_CALL jsSVGClipPathElementPrototypeFunctionGetTransformToElement
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h
index b4a44cf..b27abca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h
@@ -33,7 +33,7 @@ class SVGClipPathElement;
class JSSVGClipPathElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGClipPathElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGClipPathElement>);
+ JSSVGClipPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGClipPathElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp
index 88c62e4..59c2549 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp
@@ -25,6 +25,7 @@
#include "JSSVGColor.h"
#include "JSRGBColor.h"
+#include "RGBColor.h"
#include "SVGColor.h"
#include <runtime/Error.h>
#include <runtime/JSNumberCell.h>
@@ -46,7 +47,7 @@ static const HashTableValue JSSVGColorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGColorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGColorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGColorTableValues, 0 };
#else
@@ -64,19 +65,19 @@ static const HashTableValue JSSVGColorConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGColorConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGColorConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGColorConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGColorConstructorTableValues, 0 };
#endif
-class JSSVGColorConstructor : public DOMObject {
+class JSSVGColorConstructor : public DOMConstructorObject {
public:
- JSSVGColorConstructor(ExecState* exec)
- : DOMObject(JSSVGColorConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGColorConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGColorConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGColorPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGColorPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -109,7 +110,7 @@ static const HashTableValue JSSVGColorPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGColorPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGColorPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGColorPrototypeTableValues, 0 };
#else
@@ -130,8 +131,8 @@ bool JSSVGColorPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGColor::s_info = { "SVGColor", &JSCSSValue::s_info, &JSSVGColorTable, 0 };
-JSSVGColor::JSSVGColor(PassRefPtr<Structure> structure, PassRefPtr<SVGColor> impl)
- : JSCSSValue(structure, impl)
+JSSVGColor::JSSVGColor(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGColor> impl)
+ : JSCSSValue(structure, globalObject, impl)
{
}
@@ -147,25 +148,28 @@ bool JSSVGColor::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGColorColorType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGColor* castedThis = static_cast<JSSVGColor*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGColor* imp = static_cast<SVGColor*>(static_cast<JSSVGColor*>(asObject(slot.slotBase()))->impl());
+ SVGColor* imp = static_cast<SVGColor*>(castedThis->impl());
return jsNumber(exec, imp->colorType());
}
JSValue jsSVGColorRgbColor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGColor* castedThis = static_cast<JSSVGColor*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGColor* imp = static_cast<SVGColor*>(static_cast<JSSVGColor*>(asObject(slot.slotBase()))->impl());
- return getJSRGBColor(exec, imp->rgbColor());
+ SVGColor* imp = static_cast<SVGColor*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rgbColor()));
}
JSValue jsSVGColorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGColor*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGColor* domObject = static_cast<JSSVGColor*>(asObject(slot.slotBase()));
+ return JSSVGColor::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGColor::getConstructor(ExecState* exec)
+JSValue JSSVGColor::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGColorConstructor>(exec);
+ return getDOMConstructor<JSSVGColorConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGColorPrototypeFunctionSetRGBColor(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h
index 43baabb..9161bfc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGColor.h
@@ -33,7 +33,7 @@ class SVGColor;
class JSSVGColor : public JSCSSValue {
typedef JSCSSValue Base;
public:
- JSSVGColor(PassRefPtr<JSC::Structure>, PassRefPtr<SVGColor>);
+ JSSVGColor(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGColor>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp
index d5be3bc..be144bb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSSVGComponentTransferFunctionElementTableValues[9]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGComponentTransferFunctionElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGComponentTransferFunctionElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGComponentTransferFunctionElementTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSSVGComponentTransferFunctionElementConstructorTabl
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGComponentTransferFunctionElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGComponentTransferFunctionElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGComponentTransferFunctionElementConstructorTableValues, 0 };
#else
{ 17, 15, JSSVGComponentTransferFunctionElementConstructorTableValues, 0 };
#endif
-class JSSVGComponentTransferFunctionElementConstructor : public DOMObject {
+class JSSVGComponentTransferFunctionElementConstructor : public DOMConstructorObject {
public:
- JSSVGComponentTransferFunctionElementConstructor(ExecState* exec)
- : DOMObject(JSSVGComponentTransferFunctionElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGComponentTransferFunctionElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGComponentTransferFunctionElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGComponentTransferFunctionElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGComponentTransferFunctionElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -115,7 +115,7 @@ static const HashTableValue JSSVGComponentTransferFunctionElementPrototypeTableV
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGComponentTransferFunctionElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGComponentTransferFunctionElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGComponentTransferFunctionElementPrototypeTableValues, 0 };
#else
@@ -136,8 +136,8 @@ bool JSSVGComponentTransferFunctionElementPrototype::getOwnPropertySlot(ExecStat
const ClassInfo JSSVGComponentTransferFunctionElement::s_info = { "SVGComponentTransferFunctionElement", &JSSVGElement::s_info, &JSSVGComponentTransferFunctionElementTable, 0 };
-JSSVGComponentTransferFunctionElement::JSSVGComponentTransferFunctionElement(PassRefPtr<Structure> structure, PassRefPtr<SVGComponentTransferFunctionElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGComponentTransferFunctionElement::JSSVGComponentTransferFunctionElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGComponentTransferFunctionElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -153,67 +153,75 @@ bool JSSVGComponentTransferFunctionElement::getOwnPropertySlot(ExecState* exec,
JSValue jsSVGComponentTransferFunctionElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->typeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementTableValues(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumberList> obj = imp->tableValuesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementSlope(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->slopeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementIntercept(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->interceptAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementAmplitude(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->amplitudeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementExponent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->exponentAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGComponentTransferFunctionElement* castedThis = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->impl());
+ SVGComponentTransferFunctionElement* imp = static_cast<SVGComponentTransferFunctionElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->offsetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGComponentTransferFunctionElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGComponentTransferFunctionElement* domObject = static_cast<JSSVGComponentTransferFunctionElement*>(asObject(slot.slotBase()));
+ return JSSVGComponentTransferFunctionElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGComponentTransferFunctionElement::getConstructor(ExecState* exec)
+JSValue JSSVGComponentTransferFunctionElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGComponentTransferFunctionElementConstructor>(exec);
+ return getDOMConstructor<JSSVGComponentTransferFunctionElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h
index 6576e32..6cc0d9e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h
@@ -33,7 +33,7 @@ class SVGComponentTransferFunctionElement;
class JSSVGComponentTransferFunctionElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGComponentTransferFunctionElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGComponentTransferFunctionElement>);
+ JSSVGComponentTransferFunctionElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGComponentTransferFunctionElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp
index d6171c6..ed17541 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSSVGCursorElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCursorElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCursorElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGCursorElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGCursorElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGCursorElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGCursorElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGCursorElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGCursorElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGCursorElement::s_info = { "SVGCursorElement", &JSSVGElement::s_info, &JSSVGCursorElementTable, 0 };
-JSSVGCursorElement::JSSVGCursorElement(PassRefPtr<Structure> structure, PassRefPtr<SVGCursorElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGCursorElement::JSSVGCursorElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGCursorElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,55 +106,62 @@ bool JSSVGCursorElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGCursorElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCursorElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCursorElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGCursorElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGCursorElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGCursorElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGCursorElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGCursorElement* castedThis = static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGCursorElement* imp = static_cast<SVGCursorElement*>(static_cast<JSSVGCursorElement*>(asObject(slot.slotBase()))->impl());
+ SVGCursorElement* imp = static_cast<SVGCursorElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue JSC_HOST_CALL jsSVGCursorElementPrototypeFunctionHasExtension(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h
index 3771090..81921c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h
@@ -33,7 +33,7 @@ class SVGCursorElement;
class JSSVGCursorElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGCursorElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGCursorElement>);
+ JSSVGCursorElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGCursorElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp
index 6947dda..9550465 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGDefinitionSrcElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDefinitionSrcElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDefinitionSrcElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDefinitionSrcElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGDefinitionSrcElementPrototype::self(ExecState* exec, JSGlobalObje
const ClassInfo JSSVGDefinitionSrcElement::s_info = { "SVGDefinitionSrcElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGDefinitionSrcElement::JSSVGDefinitionSrcElement(PassRefPtr<Structure> structure, PassRefPtr<SVGDefinitionSrcElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGDefinitionSrcElement::JSSVGDefinitionSrcElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDefinitionSrcElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h
index 9997f52..2afb3e9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefinitionSrcElement.h
@@ -33,7 +33,7 @@ class SVGDefinitionSrcElement;
class JSSVGDefinitionSrcElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGDefinitionSrcElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDefinitionSrcElement>);
+ JSSVGDefinitionSrcElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDefinitionSrcElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp
index 83e26d0..f5e8ac7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGDefsElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDefsElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDefsElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGDefsElementTableValues, 0 };
#else
@@ -88,7 +88,7 @@ static const HashTableValue JSSVGDefsElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDefsElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDefsElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGDefsElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ bool JSSVGDefsElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGDefsElement::s_info = { "SVGDefsElement", &JSSVGElement::s_info, &JSSVGDefsElementTable, 0 };
-JSSVGDefsElement::JSSVGDefsElement(PassRefPtr<Structure> structure, PassRefPtr<SVGDefsElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGDefsElement::JSSVGDefsElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDefsElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -126,82 +126,93 @@ bool JSSVGDefsElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGDefsElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGDefsElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGDefsElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGDefsElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGDefsElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGDefsElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDefsElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDefsElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGDefsElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDefsElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGDefsElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDefsElement* castedThis = static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDefsElement* imp = static_cast<SVGDefsElement*>(static_cast<JSSVGDefsElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGDefsElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -245,7 +256,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetBBox(ExecState* exec,
SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -271,7 +282,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -284,7 +295,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGDefsElement* imp = static_cast<SVGDefsElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -299,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGDefsElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h
index e4fa8b5..b960226 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h
@@ -33,7 +33,7 @@ class SVGDefsElement;
class JSSVGDefsElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGDefsElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDefsElement>);
+ JSSVGDefsElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDefsElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp
index 28641ab..55ab055 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSSVGDescElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDescElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDescElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGDescElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGDescElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDescElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDescElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDescElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGDescElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGDescElement::s_info = { "SVGDescElement", &JSSVGElement::s_info, &JSSVGDescElementTable, 0 };
-JSSVGDescElement::JSSVGDescElement(PassRefPtr<Structure> structure, PassRefPtr<SVGDescElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGDescElement::JSSVGDescElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDescElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,31 +106,35 @@ bool JSSVGDescElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGDescElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGDescElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGDescElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGDescElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDescElement* castedThis = static_cast<JSSVGDescElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDescElement* imp = static_cast<SVGDescElement*>(static_cast<JSSVGDescElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGDescElement* imp = static_cast<SVGDescElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGDescElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -160,7 +164,7 @@ JSValue JSC_HOST_CALL jsSVGDescElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h
index b8ca101..179d7b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h
@@ -33,7 +33,7 @@ class SVGDescElement;
class JSSVGDescElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGDescElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDescElement>);
+ JSSVGDescElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDescElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp
index 840e6c9..0e7d8fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGDocumentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDocumentTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDocumentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDocumentTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGDocumentPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGDocumentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGDocumentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGDocumentPrototypeTableValues, 0 };
#else
@@ -82,8 +82,8 @@ bool JSSVGDocumentPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSSVGDocument::s_info = { "SVGDocument", &JSDocument::s_info, &JSSVGDocumentTable, 0 };
-JSSVGDocument::JSSVGDocument(PassRefPtr<Structure> structure, PassRefPtr<SVGDocument> impl)
- : JSDocument(structure, impl)
+JSSVGDocument::JSSVGDocument(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGDocument> impl)
+ : JSDocument(structure, globalObject, impl)
{
}
@@ -99,9 +99,10 @@ bool JSSVGDocument::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsSVGDocumentRootElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGDocument* castedThis = static_cast<JSSVGDocument*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGDocument* imp = static_cast<SVGDocument*>(static_cast<JSSVGDocument*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->rootElement()));
+ SVGDocument* imp = static_cast<SVGDocument*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->rootElement()));
}
JSValue JSC_HOST_CALL jsSVGDocumentPrototypeFunctionCreateEvent(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -115,7 +116,7 @@ JSValue JSC_HOST_CALL jsSVGDocumentPrototypeFunctionCreateEvent(ExecState* exec,
const UString& eventType = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createEvent(eventType, ec)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createEvent(eventType, ec)));
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h
index d4bd50e..8f279c9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h
@@ -33,7 +33,7 @@ class SVGDocument;
class JSSVGDocument : public JSDocument {
typedef JSDocument Base;
public:
- JSSVGDocument(PassRefPtr<JSC::Structure>, PassRefPtr<SVGDocument>);
+ JSSVGDocument(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGDocument>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp
index e4defcf..f6a775b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGElementTableValues, 0 };
#else
@@ -63,7 +63,7 @@ static const HashTableValue JSSVGElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGElementPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ JSObject* JSSVGElementPrototype::self(ExecState* exec, JSGlobalObject* globalObj
const ClassInfo JSSVGElement::s_info = { "SVGElement", &JSElement::s_info, &JSSVGElementTable, 0 };
-JSSVGElement::JSSVGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGElement> impl)
- : JSElement(structure, impl)
+JSSVGElement::JSSVGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> impl)
+ : JSElement(structure, globalObject, impl)
{
}
@@ -96,30 +96,34 @@ bool JSSVGElement::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsSVGElementId(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
return jsString(exec, imp->id());
}
JSValue jsSVGElementXmlbase(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
return jsString(exec, imp->xmlbase());
}
JSValue jsSVGElementOwnerSVGElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->ownerSVGElement()));
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->ownerSVGElement()));
}
JSValue jsSVGElementViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElement* castedThis = static_cast<JSSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElement* imp = static_cast<SVGElement*>(static_cast<JSSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->viewportElement()));
+ SVGElement* imp = static_cast<SVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->viewportElement()));
}
void JSSVGElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h
index 7123c7d..cb2ae10 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElement.h
@@ -33,7 +33,7 @@ class SVGElement;
class JSSVGElement : public JSElement {
typedef JSElement Base;
public:
- JSSVGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGElement>);
+ JSSVGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
index 3b4d6b1..979d2ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp
@@ -102,7 +102,7 @@ static const HashTableValue JSSVGElementInstanceTableValues[49] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstanceTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstanceTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSSVGElementInstanceTableValues, 0 };
#else
@@ -119,7 +119,7 @@ static const HashTableValue JSSVGElementInstancePrototypeTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstancePrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstancePrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGElementInstancePrototypeTableValues, 0 };
#else
@@ -140,8 +140,8 @@ bool JSSVGElementInstancePrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGElementInstance::s_info = { "SVGElementInstance", 0, &JSSVGElementInstanceTable, 0 };
-JSSVGElementInstance::JSSVGElementInstance(PassRefPtr<Structure> structure, PassRefPtr<SVGElementInstance> impl)
- : DOMObject(structure)
+JSSVGElementInstance::JSSVGElementInstance(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstance> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -163,64 +163,73 @@ bool JSSVGElementInstance::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGElementInstanceCorrespondingElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->correspondingElement()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->correspondingElement()));
}
JSValue jsSVGElementInstanceCorrespondingUseElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->correspondingUseElement()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->correspondingUseElement()));
}
JSValue jsSVGElementInstanceParentNode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->parentNode()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentNode()));
}
JSValue jsSVGElementInstanceChildNodes(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->childNodes()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->childNodes()));
}
JSValue jsSVGElementInstanceFirstChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->firstChild()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->firstChild()));
}
JSValue jsSVGElementInstanceLastChild(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->lastChild()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->lastChild()));
}
JSValue jsSVGElementInstancePreviousSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->previousSibling()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousSibling()));
}
JSValue jsSVGElementInstanceNextSibling(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nextSibling()));
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nextSibling()));
}
JSValue jsSVGElementInstanceOnabort(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onabort()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -230,8 +239,9 @@ JSValue jsSVGElementInstanceOnabort(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnblur(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onblur()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -241,8 +251,9 @@ JSValue jsSVGElementInstanceOnblur(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOnchange(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onchange()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -252,8 +263,9 @@ JSValue jsSVGElementInstanceOnchange(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -263,8 +275,9 @@ JSValue jsSVGElementInstanceOnclick(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOncontextmenu(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oncontextmenu()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -274,8 +287,9 @@ JSValue jsSVGElementInstanceOncontextmenu(ExecState* exec, const Identifier&, co
JSValue jsSVGElementInstanceOndblclick(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondblclick()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -285,8 +299,9 @@ JSValue jsSVGElementInstanceOndblclick(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnerror(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onerror()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -296,8 +311,9 @@ JSValue jsSVGElementInstanceOnerror(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnfocus(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onfocus()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -307,8 +323,9 @@ JSValue jsSVGElementInstanceOnfocus(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOninput(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oninput()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -318,8 +335,9 @@ JSValue jsSVGElementInstanceOninput(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnkeydown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onkeydown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -329,8 +347,9 @@ JSValue jsSVGElementInstanceOnkeydown(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnkeypress(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onkeypress()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -340,8 +359,9 @@ JSValue jsSVGElementInstanceOnkeypress(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnkeyup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onkeyup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -351,8 +371,9 @@ JSValue jsSVGElementInstanceOnkeyup(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -362,8 +383,9 @@ JSValue jsSVGElementInstanceOnload(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOnmousedown(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmousedown()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -373,8 +395,9 @@ JSValue jsSVGElementInstanceOnmousedown(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOnmousemove(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmousemove()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -384,8 +407,9 @@ JSValue jsSVGElementInstanceOnmousemove(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOnmouseout(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmouseout()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -395,8 +419,9 @@ JSValue jsSVGElementInstanceOnmouseout(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnmouseover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmouseover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -406,8 +431,9 @@ JSValue jsSVGElementInstanceOnmouseover(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOnmouseup(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmouseup()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -417,8 +443,9 @@ JSValue jsSVGElementInstanceOnmouseup(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnmousewheel(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onmousewheel()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -428,8 +455,9 @@ JSValue jsSVGElementInstanceOnmousewheel(ExecState* exec, const Identifier&, con
JSValue jsSVGElementInstanceOnbeforecut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -439,8 +467,9 @@ JSValue jsSVGElementInstanceOnbeforecut(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOncut(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oncut()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -450,8 +479,9 @@ JSValue jsSVGElementInstanceOncut(ExecState* exec, const Identifier&, const Prop
JSValue jsSVGElementInstanceOnbeforecopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onbeforecopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -461,8 +491,9 @@ JSValue jsSVGElementInstanceOnbeforecopy(ExecState* exec, const Identifier&, con
JSValue jsSVGElementInstanceOncopy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->oncopy()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -472,8 +503,9 @@ JSValue jsSVGElementInstanceOncopy(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOnbeforepaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onbeforepaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -483,8 +515,9 @@ JSValue jsSVGElementInstanceOnbeforepaste(ExecState* exec, const Identifier&, co
JSValue jsSVGElementInstanceOnpaste(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onpaste()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -494,8 +527,9 @@ JSValue jsSVGElementInstanceOnpaste(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOndragenter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragenter()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -505,8 +539,9 @@ JSValue jsSVGElementInstanceOndragenter(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOndragover(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragover()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -516,8 +551,9 @@ JSValue jsSVGElementInstanceOndragover(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOndragleave(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragleave()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -527,8 +563,9 @@ JSValue jsSVGElementInstanceOndragleave(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOndrop(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondrop()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -538,8 +575,9 @@ JSValue jsSVGElementInstanceOndrop(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOndragstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -549,8 +587,9 @@ JSValue jsSVGElementInstanceOndragstart(ExecState* exec, const Identifier&, cons
JSValue jsSVGElementInstanceOndrag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondrag()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -560,8 +599,9 @@ JSValue jsSVGElementInstanceOndrag(ExecState* exec, const Identifier&, const Pro
JSValue jsSVGElementInstanceOndragend(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->ondragend()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -571,8 +611,9 @@ JSValue jsSVGElementInstanceOndragend(ExecState* exec, const Identifier&, const
JSValue jsSVGElementInstanceOnreset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onreset()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -582,8 +623,9 @@ JSValue jsSVGElementInstanceOnreset(ExecState* exec, const Identifier&, const Pr
JSValue jsSVGElementInstanceOnresize(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onresize()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -593,8 +635,9 @@ JSValue jsSVGElementInstanceOnresize(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnscroll(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onscroll()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -604,8 +647,9 @@ JSValue jsSVGElementInstanceOnscroll(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnsearch(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onsearch()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -615,8 +659,9 @@ JSValue jsSVGElementInstanceOnsearch(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnselect(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onselect()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -626,8 +671,9 @@ JSValue jsSVGElementInstanceOnselect(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnselectstart(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onselectstart()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -637,8 +683,9 @@ JSValue jsSVGElementInstanceOnselectstart(ExecState* exec, const Identifier&, co
JSValue jsSVGElementInstanceOnsubmit(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onsubmit()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
@@ -648,8 +695,9 @@ JSValue jsSVGElementInstanceOnsubmit(ExecState* exec, const Identifier&, const P
JSValue jsSVGElementInstanceOnunload(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstance* castedThis = static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstance* imp = static_cast<SVGElementInstance*>(static_cast<JSSVGElementInstance*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstance* imp = static_cast<SVGElementInstance*>(castedThis->impl());
if (EventListener* listener = imp->onunload()) {
if (JSObject* jsFunction = listener->jsFunction())
return jsFunction;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h
index 59a9c10..2922b42 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGElementInstance;
-class JSSVGElementInstance : public DOMObject {
- typedef DOMObject Base;
+class JSSVGElementInstance : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSVGElementInstance(PassRefPtr<JSC::Structure>, PassRefPtr<SVGElementInstance>);
+ JSSVGElementInstance(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstance>);
virtual ~JSSVGElementInstance();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -62,7 +63,7 @@ private:
RefPtr<SVGElementInstance> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGElementInstance*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGElementInstance*);
SVGElementInstance* toSVGElementInstance(JSC::JSValue);
class JSSVGElementInstancePrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
index 81c9335..1f965aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGElementInstanceListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstanceListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstanceListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGElementInstanceListTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGElementInstanceListPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGElementInstanceListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGElementInstanceListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGElementInstanceListPrototypeTableValues, 0 };
#else
@@ -81,8 +81,8 @@ bool JSSVGElementInstanceListPrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSSVGElementInstanceList::s_info = { "SVGElementInstanceList", 0, &JSSVGElementInstanceListTable, 0 };
-JSSVGElementInstanceList::JSSVGElementInstanceList(PassRefPtr<Structure> structure, PassRefPtr<SVGElementInstanceList> impl)
- : DOMObject(structure)
+JSSVGElementInstanceList::JSSVGElementInstanceList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElementInstanceList> impl)
+ : DOMObjectWithGlobalPointer(structure, globalObject)
, m_impl(impl)
{
}
@@ -104,8 +104,9 @@ bool JSSVGElementInstanceList::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGElementInstanceListLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGElementInstanceList* castedThis = static_cast<JSSVGElementInstanceList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGElementInstanceList* imp = static_cast<SVGElementInstanceList*>(static_cast<JSSVGElementInstanceList*>(asObject(slot.slotBase()))->impl());
+ SVGElementInstanceList* imp = static_cast<SVGElementInstanceList*>(castedThis->impl());
return jsNumber(exec, imp->length());
}
@@ -119,13 +120,13 @@ JSValue JSC_HOST_CALL jsSVGElementInstanceListPrototypeFunctionItem(ExecState* e
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->item(index)));
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGElementInstanceList* object)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGElementInstanceList* object)
{
- return getDOMObjectWrapper<JSSVGElementInstanceList>(exec, object);
+ return getDOMObjectWrapper<JSSVGElementInstanceList>(exec, globalObject, object);
}
SVGElementInstanceList* toSVGElementInstanceList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h
index 956d44a..fa9f853 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGElementInstanceList;
-class JSSVGElementInstanceList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGElementInstanceList : public DOMObjectWithGlobalPointer {
+ typedef DOMObjectWithGlobalPointer Base;
public:
- JSSVGElementInstanceList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGElementInstanceList>);
+ JSSVGElementInstanceList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGElementInstanceList>);
virtual ~JSSVGElementInstanceList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -53,7 +54,7 @@ private:
RefPtr<SVGElementInstanceList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGElementInstanceList*);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGElementInstanceList*);
SVGElementInstanceList* toSVGElementInstanceList(JSC::JSValue);
class JSSVGElementInstanceListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp
index 6579833..3b44712 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp
@@ -143,249 +143,249 @@ namespace WebCore {
using namespace SVGNames;
-typedef JSNode* (*CreateSVGElementWrapperFunction)(ExecState*, PassRefPtr<SVGElement>);
+typedef JSNode* (*CreateSVGElementWrapperFunction)(ExecState*, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
-static JSNode* createSVGAElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAElement, element.get());
}
-static JSNode* createSVGAltGlyphElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAltGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAltGlyphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAltGlyphElement, element.get());
}
-static JSNode* createSVGAnimateElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAnimateElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAnimateElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAnimateElement, element.get());
}
-static JSNode* createSVGAnimateColorElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAnimateColorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAnimateColorElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAnimateColorElement, element.get());
}
-static JSNode* createSVGAnimateTransformElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGAnimateTransformElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGAnimateTransformElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGAnimateTransformElement, element.get());
}
-static JSNode* createSVGCircleElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGCircleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGCircleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGCircleElement, element.get());
}
-static JSNode* createSVGClipPathElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGClipPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGClipPathElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGClipPathElement, element.get());
}
-static JSNode* createSVGCursorElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGCursorElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGCursorElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGCursorElement, element.get());
}
-static JSNode* createSVGDefinitionSrcElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGDefinitionSrcElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGDefinitionSrcElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDefinitionSrcElement, element.get());
}
-static JSNode* createSVGDefsElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGDefsElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGDefsElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDefsElement, element.get());
}
-static JSNode* createSVGDescElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGDescElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGDescElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGDescElement, element.get());
}
-static JSNode* createSVGEllipseElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGEllipseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGEllipseElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGEllipseElement, element.get());
}
-static JSNode* createSVGFontElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontElement, element.get());
}
-static JSNode* createSVGFontFaceElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceElement, element.get());
}
-static JSNode* createSVGFontFaceFormatElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceFormatElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceFormatElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceFormatElement, element.get());
}
-static JSNode* createSVGFontFaceNameElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceNameElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceNameElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceNameElement, element.get());
}
-static JSNode* createSVGFontFaceSrcElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceSrcElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceSrcElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceSrcElement, element.get());
}
-static JSNode* createSVGFontFaceUriElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGFontFaceUriElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGFontFaceUriElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGFontFaceUriElement, element.get());
}
-static JSNode* createSVGForeignObjectElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGForeignObjectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGForeignObjectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGForeignObjectElement, element.get());
}
-static JSNode* createSVGGElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGGElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGGElement, element.get());
}
-static JSNode* createSVGGlyphElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGGlyphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGGlyphElement, element.get());
}
-static JSNode* createSVGImageElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGImageElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGImageElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGImageElement, element.get());
}
-static JSNode* createSVGLineElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGLineElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGLineElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGLineElement, element.get());
}
-static JSNode* createSVGLinearGradientElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGLinearGradientElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGLinearGradientElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGLinearGradientElement, element.get());
}
-static JSNode* createSVGMarkerElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMarkerElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMarkerElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMarkerElement, element.get());
}
-static JSNode* createSVGMaskElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMaskElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMaskElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMaskElement, element.get());
}
-static JSNode* createSVGMetadataElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMetadataElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMetadataElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMetadataElement, element.get());
}
-static JSNode* createSVGMissingGlyphElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGMissingGlyphElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGMissingGlyphElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGMissingGlyphElement, element.get());
}
-static JSNode* createSVGPathElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPathElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPathElement, element.get());
}
-static JSNode* createSVGPatternElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPatternElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPatternElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPatternElement, element.get());
}
-static JSNode* createSVGPolygonElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPolygonElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPolygonElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPolygonElement, element.get());
}
-static JSNode* createSVGPolylineElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGPolylineElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGPolylineElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGPolylineElement, element.get());
}
-static JSNode* createSVGRadialGradientElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGRadialGradientElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGRadialGradientElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGRadialGradientElement, element.get());
}
-static JSNode* createSVGRectElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGRectElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGRectElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGRectElement, element.get());
}
-static JSNode* createSVGScriptElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGScriptElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGScriptElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGScriptElement, element.get());
}
-static JSNode* createSVGSetElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSetElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSetElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSetElement, element.get());
}
-static JSNode* createSVGStopElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGStopElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGStopElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGStopElement, element.get());
}
-static JSNode* createSVGStyleElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGStyleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGStyleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGStyleElement, element.get());
}
-static JSNode* createSVGSVGElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSVGElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSVGElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSVGElement, element.get());
}
-static JSNode* createSVGSwitchElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSwitchElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSwitchElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSwitchElement, element.get());
}
-static JSNode* createSVGSymbolElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGSymbolElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGSymbolElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGSymbolElement, element.get());
}
-static JSNode* createSVGTextElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTextElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTextElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTextElement, element.get());
}
-static JSNode* createSVGTextPathElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTextPathElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTextPathElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTextPathElement, element.get());
}
-static JSNode* createSVGTitleElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTitleElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTitleElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTitleElement, element.get());
}
-static JSNode* createSVGTRefElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTRefElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTRefElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTRefElement, element.get());
}
-static JSNode* createSVGTSpanElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGTSpanElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGTSpanElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGTSpanElement, element.get());
}
-static JSNode* createSVGUseElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGUseElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGUseElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGUseElement, element.get());
}
-static JSNode* createSVGViewElementWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+static JSNode* createSVGViewElementWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
- return CREATE_DOM_NODE_WRAPPER(exec, SVGViewElement, element.get());
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGViewElement, element.get());
}
-JSNode* createJSSVGWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
+JSNode* createJSSVGWrapper(ExecState* exec, JSDOMGlobalObject* globalObject, PassRefPtr<SVGElement> element)
{
typedef HashMap<WebCore::AtomicStringImpl*, CreateSVGElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -441,8 +441,8 @@ JSNode* createJSSVGWrapper(ExecState* exec, PassRefPtr<SVGElement> element)
}
CreateSVGElementWrapperFunction createWrapperFunction = map.get(element->localName().impl());
if (createWrapperFunction)
- return createWrapperFunction(exec, element);
- return CREATE_DOM_NODE_WRAPPER(exec, SVGElement, element.get());
+ return createWrapperFunction(exec, globalObject, element);
+ return CREATE_DOM_NODE_WRAPPER(exec, globalObject, SVGElement, element.get());
}
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h
index 933906b..843ba7e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h
@@ -40,9 +40,10 @@ namespace JSC {
namespace WebCore {
class JSNode;
+ class JSDOMGlobalObject;
class SVGElement;
- JSNode* createJSSVGWrapper(JSC::ExecState*, PassRefPtr<SVGElement>);
+ JSNode* createJSSVGWrapper(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<SVGElement>);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp
index 8d6d8ec..0297726 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGEllipseElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGEllipseElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGEllipseElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGEllipseElementTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSSVGEllipseElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGEllipseElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGEllipseElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGEllipseElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSSVGEllipseElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGEllipseElement::s_info = { "SVGEllipseElement", &JSSVGElement::s_info, &JSSVGEllipseElementTable, 0 };
-JSSVGEllipseElement::JSSVGEllipseElement(PassRefPtr<Structure> structure, PassRefPtr<SVGEllipseElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGEllipseElement::JSSVGEllipseElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGEllipseElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -131,114 +131,129 @@ bool JSSVGEllipseElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGEllipseElementCx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementCy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementRx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementRy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->ryAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGEllipseElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGEllipseElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGEllipseElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGEllipseElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGEllipseElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGEllipseElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGEllipseElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGEllipseElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGEllipseElement* castedThis = static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(static_cast<JSSVGEllipseElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGEllipseElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -282,7 +297,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -295,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetBBox(ExecState* exe
SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -308,7 +323,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetCTM(ExecState* exec
SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -321,7 +336,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetScreenCTM(ExecState
SVGEllipseElement* imp = static_cast<SVGEllipseElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -336,7 +351,7 @@ JSValue JSC_HOST_CALL jsSVGEllipseElementPrototypeFunctionGetTransformToElement(
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h
index 2ccb260..37d23e3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h
@@ -33,7 +33,7 @@ class SVGEllipseElement;
class JSSVGEllipseElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGEllipseElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGEllipseElement>);
+ JSSVGEllipseElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGEllipseElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
index af6a2090..bb8942d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGExceptionTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGExceptionTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGExceptionTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGExceptionTableValues, 0 };
#else
@@ -65,19 +65,19 @@ static const HashTableValue JSSVGExceptionConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGExceptionConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGExceptionConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGExceptionConstructorTableValues, 0 };
#else
{ 9, 7, JSSVGExceptionConstructorTableValues, 0 };
#endif
-class JSSVGExceptionConstructor : public DOMObject {
+class JSSVGExceptionConstructor : public DOMConstructorObject {
public:
- JSSVGExceptionConstructor(ExecState* exec)
- : DOMObject(JSSVGExceptionConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGExceptionConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGExceptionConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGExceptionPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGExceptionPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -107,7 +107,7 @@ static const HashTableValue JSSVGExceptionPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGExceptionPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGExceptionPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGExceptionPrototypeTableValues, 0 };
#else
@@ -128,9 +128,8 @@ bool JSSVGExceptionPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSSVGException::s_info = { "SVGException", 0, &JSSVGExceptionTable, 0 };
-JSSVGException::JSSVGException(PassRefPtr<Structure> structure, PassRefPtr<SVGException> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGException::JSSVGException(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGException> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -152,32 +151,36 @@ bool JSSVGException::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGExceptionCode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGException* castedThis = static_cast<JSSVGException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGException* imp = static_cast<SVGException*>(static_cast<JSSVGException*>(asObject(slot.slotBase()))->impl());
+ SVGException* imp = static_cast<SVGException*>(castedThis->impl());
return jsNumber(exec, imp->code());
}
JSValue jsSVGExceptionName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGException* castedThis = static_cast<JSSVGException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGException* imp = static_cast<SVGException*>(static_cast<JSSVGException*>(asObject(slot.slotBase()))->impl());
+ SVGException* imp = static_cast<SVGException*>(castedThis->impl());
return jsString(exec, imp->name());
}
JSValue jsSVGExceptionMessage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGException* castedThis = static_cast<JSSVGException*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGException* imp = static_cast<SVGException*>(static_cast<JSSVGException*>(asObject(slot.slotBase()))->impl());
+ SVGException* imp = static_cast<SVGException*>(castedThis->impl());
return jsString(exec, imp->message());
}
JSValue jsSVGExceptionConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGException*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGException::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGException::getConstructor(ExecState* exec)
+JSValue JSSVGException::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGExceptionConstructor>(exec);
+ return getDOMConstructor<JSSVGExceptionConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGExceptionPrototypeFunctionToString(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -210,9 +213,9 @@ JSValue jsSVGExceptionSVG_MATRIX_NOT_INVERTABLE(ExecState* exec, const Identifie
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGException* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGException* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGException>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGException>(exec, globalObject, object, context);
}
SVGException* toSVGException(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGException.h b/src/3rdparty/webkit/WebCore/generated/JSSVGException.h
index e8fb53d..15b893d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGException.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGException.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGException;
-class JSSVGException : public DOMObject {
- typedef DOMObject Base;
+class JSSVGException : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGException(PassRefPtr<JSC::Structure>, PassRefPtr<SVGException>, SVGElement* context);
+ JSSVGException(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGException>, SVGElement* context);
virtual ~JSSVGException();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGException* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGException > m_impl;
+ RefPtr<SVGException> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGException*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGException*, SVGElement* context);
SVGException* toSVGException(JSC::JSValue);
class JSSVGExceptionPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp
index 0ecbe59..a3ecf1c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGFEBlendElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEBlendElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEBlendElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEBlendElementTableValues, 0 };
#else
@@ -80,19 +80,19 @@ static const HashTableValue JSSVGFEBlendElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEBlendElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEBlendElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEBlendElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGFEBlendElementConstructorTableValues, 0 };
#endif
-class JSSVGFEBlendElementConstructor : public DOMObject {
+class JSSVGFEBlendElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEBlendElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEBlendElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEBlendElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEBlendElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEBlendElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEBlendElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -125,7 +125,7 @@ static const HashTableValue JSSVGFEBlendElementPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEBlendElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEBlendElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEBlendElementPrototypeTableValues, 0 };
#else
@@ -146,8 +146,8 @@ bool JSSVGFEBlendElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEBlendElement::s_info = { "SVGFEBlendElement", &JSSVGElement::s_info, &JSSVGFEBlendElementTable, 0 };
-JSSVGFEBlendElement::JSSVGFEBlendElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEBlendElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEBlendElement::JSSVGFEBlendElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEBlendElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -163,90 +163,101 @@ bool JSSVGFEBlendElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEBlendElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementIn2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementMode(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->modeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEBlendElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEBlendElement* castedThis = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEBlendElement* imp = static_cast<SVGFEBlendElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEBlendElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEBlendElement* domObject = static_cast<JSSVGFEBlendElement*>(asObject(slot.slotBase()));
+ return JSSVGFEBlendElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEBlendElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEBlendElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEBlendElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEBlendElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEBlendElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -259,7 +270,7 @@ JSValue JSC_HOST_CALL jsSVGFEBlendElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h
index 34750a9..88033bb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h
@@ -33,7 +33,7 @@ class SVGFEBlendElement;
class JSSVGFEBlendElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEBlendElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEBlendElement>);
+ JSSVGFEBlendElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEBlendElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp
index dd8db83..6aa69fc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGFEColorMatrixElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEColorMatrixElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEColorMatrixElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEColorMatrixElementTableValues, 0 };
#else
@@ -80,19 +80,19 @@ static const HashTableValue JSSVGFEColorMatrixElementConstructorTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEColorMatrixElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEColorMatrixElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGFEColorMatrixElementConstructorTableValues, 0 };
#else
{ 17, 15, JSSVGFEColorMatrixElementConstructorTableValues, 0 };
#endif
-class JSSVGFEColorMatrixElementConstructor : public DOMObject {
+class JSSVGFEColorMatrixElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEColorMatrixElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEColorMatrixElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEColorMatrixElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEColorMatrixElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEColorMatrixElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEColorMatrixElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -124,7 +124,7 @@ static const HashTableValue JSSVGFEColorMatrixElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEColorMatrixElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEColorMatrixElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGFEColorMatrixElementPrototypeTableValues, 0 };
#else
@@ -145,8 +145,8 @@ bool JSSVGFEColorMatrixElementPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSSVGFEColorMatrixElement::s_info = { "SVGFEColorMatrixElement", &JSSVGElement::s_info, &JSSVGFEColorMatrixElementTable, 0 };
-JSSVGFEColorMatrixElement::JSSVGFEColorMatrixElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEColorMatrixElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEColorMatrixElement::JSSVGFEColorMatrixElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEColorMatrixElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -162,90 +162,101 @@ bool JSSVGFEColorMatrixElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsSVGFEColorMatrixElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->typeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementValues(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumberList> obj = imp->valuesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEColorMatrixElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEColorMatrixElement* castedThis = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEColorMatrixElement* imp = static_cast<SVGFEColorMatrixElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEColorMatrixElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEColorMatrixElement* domObject = static_cast<JSSVGFEColorMatrixElement*>(asObject(slot.slotBase()));
+ return JSSVGFEColorMatrixElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEColorMatrixElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEColorMatrixElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEColorMatrixElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEColorMatrixElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEColorMatrixElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGFEColorMatrixElementPrototypeFunctionGetPresentationA
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h
index de9ef2f..3a6aa67 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h
@@ -33,7 +33,7 @@ class SVGFEColorMatrixElement;
class JSSVGFEColorMatrixElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEColorMatrixElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEColorMatrixElement>);
+ JSSVGFEColorMatrixElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEColorMatrixElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp
index cf4de5c..a0be501 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGFEComponentTransferElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEComponentTransferElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEComponentTransferElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEComponentTransferElementTableValues, 0 };
#else
@@ -71,7 +71,7 @@ static const HashTableValue JSSVGFEComponentTransferElementPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEComponentTransferElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEComponentTransferElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEComponentTransferElementPrototypeTableValues, 0 };
#else
@@ -92,8 +92,8 @@ bool JSSVGFEComponentTransferElementPrototype::getOwnPropertySlot(ExecState* exe
const ClassInfo JSSVGFEComponentTransferElement::s_info = { "SVGFEComponentTransferElement", &JSSVGElement::s_info, &JSSVGFEComponentTransferElementTable, 0 };
-JSSVGFEComponentTransferElement::JSSVGFEComponentTransferElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEComponentTransferElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEComponentTransferElement::JSSVGFEComponentTransferElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEComponentTransferElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -109,65 +109,73 @@ bool JSSVGFEComponentTransferElement::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGFEComponentTransferElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEComponentTransferElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEComponentTransferElement* castedThis = static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(static_cast<JSSVGFEComponentTransferElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEComponentTransferElement* imp = static_cast<SVGFEComponentTransferElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEComponentTransferElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -180,7 +188,7 @@ JSValue JSC_HOST_CALL jsSVGFEComponentTransferElementPrototypeFunctionGetPresent
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h
index 803a32b..c50b12b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h
@@ -33,7 +33,7 @@ class SVGFEComponentTransferElement;
class JSSVGFEComponentTransferElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEComponentTransferElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEComponentTransferElement>);
+ JSSVGFEComponentTransferElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEComponentTransferElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp
index 6aff814..42fe70a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGFECompositeElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFECompositeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFECompositeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFECompositeElementTableValues, 0 };
#else
@@ -86,19 +86,19 @@ static const HashTableValue JSSVGFECompositeElementConstructorTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFECompositeElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFECompositeElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFECompositeElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGFECompositeElementConstructorTableValues, 0 };
#endif
-class JSSVGFECompositeElementConstructor : public DOMObject {
+class JSSVGFECompositeElementConstructor : public DOMConstructorObject {
public:
- JSSVGFECompositeElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFECompositeElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFECompositeElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFECompositeElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFECompositeElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFECompositeElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -132,7 +132,7 @@ static const HashTableValue JSSVGFECompositeElementPrototypeTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFECompositeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFECompositeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGFECompositeElementPrototypeTableValues, 0 };
#else
@@ -153,8 +153,8 @@ bool JSSVGFECompositeElementPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSSVGFECompositeElement::s_info = { "SVGFECompositeElement", &JSSVGElement::s_info, &JSSVGFECompositeElementTable, 0 };
-JSSVGFECompositeElement::JSSVGFECompositeElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFECompositeElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFECompositeElement::JSSVGFECompositeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFECompositeElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -170,122 +170,137 @@ bool JSSVGFECompositeElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGFECompositeElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementIn2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElement_operator(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->_operatorAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK3(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k3Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementK4(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->k4Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFECompositeElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFECompositeElement* castedThis = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFECompositeElement* imp = static_cast<SVGFECompositeElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFECompositeElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFECompositeElement* domObject = static_cast<JSSVGFECompositeElement*>(asObject(slot.slotBase()));
+ return JSSVGFECompositeElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFECompositeElement::getConstructor(ExecState* exec)
+JSValue JSSVGFECompositeElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFECompositeElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFECompositeElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFECompositeElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -298,7 +313,7 @@ JSValue JSC_HOST_CALL jsSVGFECompositeElementPrototypeFunctionGetPresentationAtt
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h
index b2876c3..826db95 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h
@@ -33,7 +33,7 @@ class SVGFECompositeElement;
class JSSVGFECompositeElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFECompositeElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFECompositeElement>);
+ JSSVGFECompositeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFECompositeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp
index 4549381..01492c4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGFEDiffuseLightingElementTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDiffuseLightingElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDiffuseLightingElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEDiffuseLightingElementTableValues, 0 };
#else
@@ -76,7 +76,7 @@ static const HashTableValue JSSVGFEDiffuseLightingElementPrototypeTableValues[2]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDiffuseLightingElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDiffuseLightingElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEDiffuseLightingElementPrototypeTableValues, 0 };
#else
@@ -97,8 +97,8 @@ bool JSSVGFEDiffuseLightingElementPrototype::getOwnPropertySlot(ExecState* exec,
const ClassInfo JSSVGFEDiffuseLightingElement::s_info = { "SVGFEDiffuseLightingElement", &JSSVGElement::s_info, &JSSVGFEDiffuseLightingElementTable, 0 };
-JSSVGFEDiffuseLightingElement::JSSVGFEDiffuseLightingElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEDiffuseLightingElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEDiffuseLightingElement::JSSVGFEDiffuseLightingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDiffuseLightingElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -114,97 +114,109 @@ bool JSSVGFEDiffuseLightingElement::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGFEDiffuseLightingElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementSurfaceScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->surfaceScaleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementDiffuseConstant(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->diffuseConstantAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementKernelUnitLengthX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->kernelUnitLengthXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementKernelUnitLengthY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->kernelUnitLengthYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDiffuseLightingElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDiffuseLightingElement* castedThis = static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(static_cast<JSSVGFEDiffuseLightingElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEDiffuseLightingElement* imp = static_cast<SVGFEDiffuseLightingElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEDiffuseLightingElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -217,7 +229,7 @@ JSValue JSC_HOST_CALL jsSVGFEDiffuseLightingElementPrototypeFunctionGetPresentat
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h
index 96bb14d..26e6e91 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h
@@ -33,7 +33,7 @@ class SVGFEDiffuseLightingElement;
class JSSVGFEDiffuseLightingElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEDiffuseLightingElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEDiffuseLightingElement>);
+ JSSVGFEDiffuseLightingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDiffuseLightingElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp
index dca7363..a3441e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp
@@ -63,7 +63,7 @@ static const HashTableValue JSSVGFEDisplacementMapElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDisplacementMapElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDisplacementMapElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEDisplacementMapElementTableValues, 0 };
#else
@@ -82,19 +82,19 @@ static const HashTableValue JSSVGFEDisplacementMapElementConstructorTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDisplacementMapElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDisplacementMapElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEDisplacementMapElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGFEDisplacementMapElementConstructorTableValues, 0 };
#endif
-class JSSVGFEDisplacementMapElementConstructor : public DOMObject {
+class JSSVGFEDisplacementMapElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEDisplacementMapElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEDisplacementMapElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEDisplacementMapElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEDisplacementMapElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEDisplacementMapElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEDisplacementMapElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -126,7 +126,7 @@ static const HashTableValue JSSVGFEDisplacementMapElementPrototypeTableValues[7]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDisplacementMapElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDisplacementMapElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEDisplacementMapElementPrototypeTableValues, 0 };
#else
@@ -147,8 +147,8 @@ bool JSSVGFEDisplacementMapElementPrototype::getOwnPropertySlot(ExecState* exec,
const ClassInfo JSSVGFEDisplacementMapElement::s_info = { "SVGFEDisplacementMapElement", &JSSVGElement::s_info, &JSSVGFEDisplacementMapElementTable, 0 };
-JSSVGFEDisplacementMapElement::JSSVGFEDisplacementMapElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEDisplacementMapElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEDisplacementMapElement::JSSVGFEDisplacementMapElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDisplacementMapElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -164,106 +164,119 @@ bool JSSVGFEDisplacementMapElement::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGFEDisplacementMapElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementIn2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->scaleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementXChannelSelector(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->xChannelSelectorAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementYChannelSelector(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->yChannelSelectorAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDisplacementMapElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDisplacementMapElement* castedThis = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEDisplacementMapElement* imp = static_cast<SVGFEDisplacementMapElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEDisplacementMapElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEDisplacementMapElement* domObject = static_cast<JSSVGFEDisplacementMapElement*>(asObject(slot.slotBase()));
+ return JSSVGFEDisplacementMapElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEDisplacementMapElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEDisplacementMapElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEDisplacementMapElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEDisplacementMapElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEDisplacementMapElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGFEDisplacementMapElementPrototypeFunctionGetPresentat
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h
index 93c9fe5..3c7db0f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h
@@ -33,7 +33,7 @@ class SVGFEDisplacementMapElement;
class JSSVGFEDisplacementMapElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEDisplacementMapElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEDisplacementMapElement>);
+ JSSVGFEDisplacementMapElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDisplacementMapElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp
index 55abac8..f494d91 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGFEDistantLightElementTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDistantLightElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDistantLightElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFEDistantLightElementTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGFEDistantLightElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEDistantLightElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEDistantLightElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEDistantLightElementPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGFEDistantLightElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGFEDistantLightElement::s_info = { "SVGFEDistantLightElement", &JSSVGElement::s_info, &JSSVGFEDistantLightElementTable, 0 };
-JSSVGFEDistantLightElement::JSSVGFEDistantLightElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEDistantLightElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEDistantLightElement::JSSVGFEDistantLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEDistantLightElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -90,18 +90,20 @@ bool JSSVGFEDistantLightElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGFEDistantLightElementAzimuth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDistantLightElement* castedThis = static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->azimuthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEDistantLightElementElevation(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEDistantLightElement* castedThis = static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(static_cast<JSSVGFEDistantLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEDistantLightElement* imp = static_cast<SVGFEDistantLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->elevationAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h
index 1a61871..c6d46e7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h
@@ -33,7 +33,7 @@ class SVGFEDistantLightElement;
class JSSVGFEDistantLightElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEDistantLightElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEDistantLightElement>);
+ JSSVGFEDistantLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEDistantLightElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp
index 1b7cab5..dc392f2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGFEFloodElementTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFloodElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFloodElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEFloodElementTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSSVGFEFloodElementConstructorTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFloodElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFloodElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFloodElementConstructorTableValues, 0 };
#else
{ 1, 0, JSSVGFEFloodElementConstructorTableValues, 0 };
#endif
-class JSSVGFEFloodElementConstructor : public DOMObject {
+class JSSVGFEFloodElementConstructor : public DOMConstructorObject {
public:
- JSSVGFEFloodElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFEFloodElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFEFloodElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFEFloodElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFEFloodElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFEFloodElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -110,7 +110,7 @@ static const HashTableValue JSSVGFEFloodElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFloodElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFloodElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFloodElementPrototypeTableValues, 0 };
#else
@@ -131,8 +131,8 @@ bool JSSVGFEFloodElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEFloodElement::s_info = { "SVGFEFloodElement", &JSSVGElement::s_info, &JSSVGFEFloodElementTable, 0 };
-JSSVGFEFloodElement::JSSVGFEFloodElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFloodElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEFloodElement::JSSVGFEFloodElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFloodElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -148,74 +148,83 @@ bool JSSVGFEFloodElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEFloodElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEFloodElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEFloodElement* castedThis = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEFloodElement* imp = static_cast<SVGFEFloodElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFEFloodElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFEFloodElement* domObject = static_cast<JSSVGFEFloodElement*>(asObject(slot.slotBase()));
+ return JSSVGFEFloodElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFEFloodElement::getConstructor(ExecState* exec)
+JSValue JSSVGFEFloodElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFEFloodElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFEFloodElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFEFloodElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -228,7 +237,7 @@ JSValue JSC_HOST_CALL jsSVGFEFloodElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h
index fe54ca4..46aa9a5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h
@@ -33,7 +33,7 @@ class SVGFEFloodElement;
class JSSVGFEFloodElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEFloodElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFloodElement>);
+ JSSVGFEFloodElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFloodElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp
index 90dbf26..e91153e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncAElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncAElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncAElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncAElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncAElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncAElement::s_info = { "SVGFEFuncAElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncAElement::JSSVGFEFuncAElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncAElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncAElement::JSSVGFEFuncAElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncAElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h
index 1afcb58..f7a84be 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncAElement;
class JSSVGFEFuncAElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncAElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncAElement>);
+ JSSVGFEFuncAElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncAElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp
index a2c895b..5475952 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncBElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncBElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncBElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncBElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncBElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncBElement::s_info = { "SVGFEFuncBElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncBElement::JSSVGFEFuncBElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncBElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncBElement::JSSVGFEFuncBElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncBElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h
index 5f44847..b3acd3b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncBElement;
class JSSVGFEFuncBElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncBElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncBElement>);
+ JSSVGFEFuncBElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncBElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp
index acebd39..afbf091 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncGElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncGElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncGElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncGElement::s_info = { "SVGFEFuncGElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncGElement::JSSVGFEFuncGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncGElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncGElement::JSSVGFEFuncGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncGElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h
index 2a14252..1b98d35 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncGElement;
class JSSVGFEFuncGElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncGElement>);
+ JSSVGFEFuncGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp
index c6fad7b..a1df1b7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFEFuncRElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEFuncRElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEFuncRElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEFuncRElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFEFuncRElementPrototype::self(ExecState* exec, JSGlobalObject* gl
const ClassInfo JSSVGFEFuncRElement::s_info = { "SVGFEFuncRElement", &JSSVGComponentTransferFunctionElement::s_info, 0, 0 };
-JSSVGFEFuncRElement::JSSVGFEFuncRElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEFuncRElement> impl)
- : JSSVGComponentTransferFunctionElement(structure, impl)
+JSSVGFEFuncRElement::JSSVGFEFuncRElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEFuncRElement> impl)
+ : JSSVGComponentTransferFunctionElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h
index c6ba514..f427dfa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h
@@ -33,7 +33,7 @@ class SVGFEFuncRElement;
class JSSVGFEFuncRElement : public JSSVGComponentTransferFunctionElement {
typedef JSSVGComponentTransferFunctionElement Base;
public:
- JSSVGFEFuncRElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEFuncRElement>);
+ JSSVGFEFuncRElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEFuncRElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp
index 281c9be..e1ee3bd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGFEGaussianBlurElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEGaussianBlurElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEGaussianBlurElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEGaussianBlurElementTableValues, 0 };
#else
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGFEGaussianBlurElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEGaussianBlurElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEGaussianBlurElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGFEGaussianBlurElementPrototypeTableValues, 0 };
#else
@@ -96,8 +96,8 @@ bool JSSVGFEGaussianBlurElementPrototype::getOwnPropertySlot(ExecState* exec, co
const ClassInfo JSSVGFEGaussianBlurElement::s_info = { "SVGFEGaussianBlurElement", &JSSVGElement::s_info, &JSSVGFEGaussianBlurElementTable, 0 };
-JSSVGFEGaussianBlurElement::JSSVGFEGaussianBlurElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEGaussianBlurElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEGaussianBlurElement::JSSVGFEGaussianBlurElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEGaussianBlurElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -113,81 +113,91 @@ bool JSSVGFEGaussianBlurElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGFEGaussianBlurElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementStdDeviationX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->stdDeviationXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementStdDeviationY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->stdDeviationYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEGaussianBlurElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEGaussianBlurElement* castedThis = static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(static_cast<JSSVGFEGaussianBlurElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEGaussianBlurElement* imp = static_cast<SVGFEGaussianBlurElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEGaussianBlurElementPrototypeFunctionSetStdDeviation(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -214,7 +224,7 @@ JSValue JSC_HOST_CALL jsSVGFEGaussianBlurElementPrototypeFunctionGetPresentation
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h
index 2a5bcd3..dc02e5a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h
@@ -33,7 +33,7 @@ class SVGFEGaussianBlurElement;
class JSSVGFEGaussianBlurElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEGaussianBlurElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEGaussianBlurElement>);
+ JSSVGFEGaussianBlurElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEGaussianBlurElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp
index 08ea33e..9b26250 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGFEImageElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEImageElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEImageElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEImageElementTableValues, 0 };
#else
@@ -77,7 +77,7 @@ static const HashTableValue JSSVGFEImageElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEImageElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEImageElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEImageElementPrototypeTableValues, 0 };
#else
@@ -98,8 +98,8 @@ bool JSSVGFEImageElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEImageElement::s_info = { "SVGFEImageElement", &JSSVGElement::s_info, &JSSVGFEImageElementTable, 0 };
-JSSVGFEImageElement::JSSVGFEImageElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEImageElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEImageElement::JSSVGFEImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEImageElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -115,87 +115,98 @@ bool JSSVGFEImageElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEImageElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGFEImageElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGFEImageElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEImageElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEImageElement* castedThis = static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(static_cast<JSSVGFEImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEImageElement* imp = static_cast<SVGFEImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGFEImageElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -225,7 +236,7 @@ JSValue JSC_HOST_CALL jsSVGFEImageElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h
index e07fb7d..8b2d03e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h
@@ -33,7 +33,7 @@ class SVGFEImageElement;
class JSSVGFEImageElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEImageElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEImageElement>);
+ JSSVGFEImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEImageElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp
index 7262013..0d512aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp
@@ -55,7 +55,7 @@ static const HashTableValue JSSVGFEMergeElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEMergeElementTableValues, 0 };
#else
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGFEMergeElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEMergeElementPrototypeTableValues, 0 };
#else
@@ -91,8 +91,8 @@ bool JSSVGFEMergeElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGFEMergeElement::s_info = { "SVGFEMergeElement", &JSSVGElement::s_info, &JSSVGFEMergeElementTable, 0 };
-JSSVGFEMergeElement::JSSVGFEMergeElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEMergeElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEMergeElement::JSSVGFEMergeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -108,57 +108,64 @@ bool JSSVGFEMergeElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEMergeElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEMergeElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeElement* castedThis = static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(static_cast<JSSVGFEMergeElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEMergeElement* imp = static_cast<SVGFEMergeElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEMergeElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -171,7 +178,7 @@ JSValue JSC_HOST_CALL jsSVGFEMergeElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h
index 1d8265d..0d64712 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h
@@ -33,7 +33,7 @@ class SVGFEMergeElement;
class JSSVGFEMergeElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEMergeElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEMergeElement>);
+ JSSVGFEMergeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp
index 32fc5c7..3358b9d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGFEMergeNodeElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeNodeElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeNodeElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEMergeNodeElementTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGFEMergeNodeElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEMergeNodeElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEMergeNodeElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEMergeNodeElementPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGFEMergeNodeElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFEMergeNodeElement::s_info = { "SVGFEMergeNodeElement", &JSSVGElement::s_info, &JSSVGFEMergeNodeElementTable, 0 };
-JSSVGFEMergeNodeElement::JSSVGFEMergeNodeElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEMergeNodeElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEMergeNodeElement::JSSVGFEMergeNodeElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEMergeNodeElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -89,10 +89,11 @@ bool JSSVGFEMergeNodeElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGFEMergeNodeElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEMergeNodeElement* castedThis = static_cast<JSSVGFEMergeNodeElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEMergeNodeElement* imp = static_cast<SVGFEMergeNodeElement*>(static_cast<JSSVGFEMergeNodeElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEMergeNodeElement* imp = static_cast<SVGFEMergeNodeElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h
index d5d192e..da757a6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h
@@ -33,7 +33,7 @@ class SVGFEMergeNodeElement;
class JSSVGFEMergeNodeElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEMergeNodeElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEMergeNodeElement>);
+ JSSVGFEMergeNodeElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEMergeNodeElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp
index 3b36b96..dc30cf8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGFEOffsetElementTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEOffsetElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEOffsetElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFEOffsetElementTableValues, 0 };
#else
@@ -74,7 +74,7 @@ static const HashTableValue JSSVGFEOffsetElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEOffsetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEOffsetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEOffsetElementPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ bool JSSVGFEOffsetElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGFEOffsetElement::s_info = { "SVGFEOffsetElement", &JSSVGElement::s_info, &JSSVGFEOffsetElementTable, 0 };
-JSSVGFEOffsetElement::JSSVGFEOffsetElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEOffsetElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEOffsetElement::JSSVGFEOffsetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEOffsetElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -112,81 +112,91 @@ bool JSSVGFEOffsetElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGFEOffsetElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementDx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->dxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementDy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->dyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEOffsetElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEOffsetElement* castedThis = static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(static_cast<JSSVGFEOffsetElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFEOffsetElement* imp = static_cast<SVGFEOffsetElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFEOffsetElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -199,7 +209,7 @@ JSValue JSC_HOST_CALL jsSVGFEOffsetElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h
index 0af9898..7ee3daf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h
@@ -33,7 +33,7 @@ class SVGFEOffsetElement;
class JSSVGFEOffsetElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEOffsetElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEOffsetElement>);
+ JSSVGFEOffsetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEOffsetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp
index 5004762..724a55d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGFEPointLightElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEPointLightElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEPointLightElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGFEPointLightElementTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGFEPointLightElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFEPointLightElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFEPointLightElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFEPointLightElementPrototypeTableValues, 0 };
#else
@@ -74,8 +74,8 @@ JSObject* JSSVGFEPointLightElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGFEPointLightElement::s_info = { "SVGFEPointLightElement", &JSSVGElement::s_info, &JSSVGFEPointLightElementTable, 0 };
-JSSVGFEPointLightElement::JSSVGFEPointLightElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFEPointLightElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFEPointLightElement::JSSVGFEPointLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFEPointLightElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -91,26 +91,29 @@ bool JSSVGFEPointLightElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGFEPointLightElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEPointLightElement* castedThis = static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEPointLightElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEPointLightElement* castedThis = static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFEPointLightElementZ(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFEPointLightElement* castedThis = static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(static_cast<JSSVGFEPointLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFEPointLightElement* imp = static_cast<SVGFEPointLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->zAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h
index bd35675..cfbc255 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h
@@ -33,7 +33,7 @@ class SVGFEPointLightElement;
class JSSVGFEPointLightElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFEPointLightElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFEPointLightElement>);
+ JSSVGFEPointLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFEPointLightElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp
index 7521e62..a481c18 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGFESpecularLightingElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpecularLightingElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpecularLightingElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGFESpecularLightingElementTableValues, 0 };
#else
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGFESpecularLightingElementPrototypeTableValues[2
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpecularLightingElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpecularLightingElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFESpecularLightingElementPrototypeTableValues, 0 };
#else
@@ -96,8 +96,8 @@ bool JSSVGFESpecularLightingElementPrototype::getOwnPropertySlot(ExecState* exec
const ClassInfo JSSVGFESpecularLightingElement::s_info = { "SVGFESpecularLightingElement", &JSSVGElement::s_info, &JSSVGFESpecularLightingElementTable, 0 };
-JSSVGFESpecularLightingElement::JSSVGFESpecularLightingElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFESpecularLightingElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFESpecularLightingElement::JSSVGFESpecularLightingElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpecularLightingElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -113,89 +113,100 @@ bool JSSVGFESpecularLightingElement::getOwnPropertySlot(ExecState* exec, const I
JSValue jsSVGFESpecularLightingElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementSurfaceScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->surfaceScaleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementSpecularConstant(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->specularConstantAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementSpecularExponent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->specularExponentAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpecularLightingElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpecularLightingElement* castedThis = static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(static_cast<JSSVGFESpecularLightingElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFESpecularLightingElement* imp = static_cast<SVGFESpecularLightingElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFESpecularLightingElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -208,7 +219,7 @@ JSValue JSC_HOST_CALL jsSVGFESpecularLightingElementPrototypeFunctionGetPresenta
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h
index 8085629..41d7575 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h
@@ -33,7 +33,7 @@ class SVGFESpecularLightingElement;
class JSSVGFESpecularLightingElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFESpecularLightingElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFESpecularLightingElement>);
+ JSSVGFESpecularLightingElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpecularLightingElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp
index de15407..e6a70ea 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGFESpotLightElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpotLightElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpotLightElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFESpotLightElementTableValues, 0 };
#else
@@ -63,7 +63,7 @@ static const HashTableValue JSSVGFESpotLightElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFESpotLightElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFESpotLightElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFESpotLightElementPrototypeTableValues, 0 };
#else
@@ -79,8 +79,8 @@ JSObject* JSSVGFESpotLightElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFESpotLightElement::s_info = { "SVGFESpotLightElement", &JSSVGElement::s_info, &JSSVGFESpotLightElementTable, 0 };
-JSSVGFESpotLightElement::JSSVGFESpotLightElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFESpotLightElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFESpotLightElement::JSSVGFESpotLightElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFESpotLightElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -96,66 +96,74 @@ bool JSSVGFESpotLightElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGFESpotLightElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementZ(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->zAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementPointsAtX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pointsAtXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementPointsAtY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pointsAtYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementPointsAtZ(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pointsAtZAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementSpecularExponent(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->specularExponentAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFESpotLightElementLimitingConeAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFESpotLightElement* castedThis = static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(static_cast<JSSVGFESpotLightElement*>(asObject(slot.slotBase()))->impl());
+ SVGFESpotLightElement* imp = static_cast<SVGFESpotLightElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->limitingConeAngleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h
index 8a9d925..bb2dfa5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h
@@ -33,7 +33,7 @@ class SVGFESpotLightElement;
class JSSVGFESpotLightElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFESpotLightElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFESpotLightElement>);
+ JSSVGFESpotLightElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFESpotLightElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp
index 66b19e8..8d80422 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGFETileElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETileElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETileElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFETileElementTableValues, 0 };
#else
@@ -71,7 +71,7 @@ static const HashTableValue JSSVGFETileElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETileElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETileElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFETileElementPrototypeTableValues, 0 };
#else
@@ -92,8 +92,8 @@ bool JSSVGFETileElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGFETileElement::s_info = { "SVGFETileElement", &JSSVGElement::s_info, &JSSVGFETileElementTable, 0 };
-JSSVGFETileElement::JSSVGFETileElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFETileElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFETileElement::JSSVGFETileElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETileElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -109,65 +109,73 @@ bool JSSVGFETileElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGFETileElementIn1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->in1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETileElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETileElement* castedThis = static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETileElement* imp = static_cast<SVGFETileElement*>(static_cast<JSSVGFETileElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFETileElement* imp = static_cast<SVGFETileElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGFETileElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -180,7 +188,7 @@ JSValue JSC_HOST_CALL jsSVGFETileElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h
index b31e651..13d9cbb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h
@@ -33,7 +33,7 @@ class SVGFETileElement;
class JSSVGFETileElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFETileElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFETileElement>);
+ JSSVGFETileElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETileElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp
index 50369f1..ae917a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGFETurbulenceElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETurbulenceElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETurbulenceElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGFETurbulenceElementTableValues, 0 };
#else
@@ -85,19 +85,19 @@ static const HashTableValue JSSVGFETurbulenceElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETurbulenceElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETurbulenceElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGFETurbulenceElementConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGFETurbulenceElementConstructorTableValues, 0 };
#endif
-class JSSVGFETurbulenceElementConstructor : public DOMObject {
+class JSSVGFETurbulenceElementConstructor : public DOMConstructorObject {
public:
- JSSVGFETurbulenceElementConstructor(ExecState* exec)
- : DOMObject(JSSVGFETurbulenceElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGFETurbulenceElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGFETurbulenceElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGFETurbulenceElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGFETurbulenceElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -130,7 +130,7 @@ static const HashTableValue JSSVGFETurbulenceElementPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFETurbulenceElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFETurbulenceElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGFETurbulenceElementPrototypeTableValues, 0 };
#else
@@ -151,8 +151,8 @@ bool JSSVGFETurbulenceElementPrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSSVGFETurbulenceElement::s_info = { "SVGFETurbulenceElement", &JSSVGElement::s_info, &JSSVGFETurbulenceElementTable, 0 };
-JSSVGFETurbulenceElement::JSSVGFETurbulenceElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFETurbulenceElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFETurbulenceElement::JSSVGFETurbulenceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFETurbulenceElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -168,114 +168,128 @@ bool JSSVGFETurbulenceElement::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGFETurbulenceElementBaseFrequencyX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->baseFrequencyXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementBaseFrequencyY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->baseFrequencyYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementNumOctaves(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedInteger> obj = imp->numOctavesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementSeed(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->seedAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementStitchTiles(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->stitchTilesAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->typeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementResult(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->resultAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFETurbulenceElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFETurbulenceElement* castedThis = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFETurbulenceElement* imp = static_cast<SVGFETurbulenceElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGFETurbulenceElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGFETurbulenceElement* domObject = static_cast<JSSVGFETurbulenceElement*>(asObject(slot.slotBase()));
+ return JSSVGFETurbulenceElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGFETurbulenceElement::getConstructor(ExecState* exec)
+JSValue JSSVGFETurbulenceElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGFETurbulenceElementConstructor>(exec);
+ return getDOMConstructor<JSSVGFETurbulenceElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGFETurbulenceElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -288,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGFETurbulenceElementPrototypeFunctionGetPresentationAt
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h
index c973954..94c35c3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h
@@ -33,7 +33,7 @@ class SVGFETurbulenceElement;
class JSSVGFETurbulenceElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFETurbulenceElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFETurbulenceElement>);
+ JSSVGFETurbulenceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFETurbulenceElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp
index 9a63655..2bc864a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp
@@ -67,7 +67,7 @@ static const HashTableValue JSSVGFilterElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFilterElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFilterElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSSVGFilterElementTableValues, 0 };
#else
@@ -83,7 +83,7 @@ static const HashTableValue JSSVGFilterElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFilterElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFilterElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGFilterElementPrototypeTableValues, 0 };
#else
@@ -104,8 +104,8 @@ bool JSSVGFilterElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGFilterElement::s_info = { "SVGFilterElement", &JSSVGElement::s_info, &JSSVGFilterElementTable, 0 };
-JSSVGFilterElement::JSSVGFilterElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFilterElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFilterElement::JSSVGFilterElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFilterElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -121,111 +121,125 @@ bool JSSVGFilterElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGFilterElementFilterUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->filterUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementPrimitiveUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->primitiveUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementFilterResX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedInteger> obj = imp->filterResXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementFilterResY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedInteger> obj = imp->filterResYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGFilterElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGFilterElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGFilterElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGFilterElement* castedThis = static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGFilterElement* imp = static_cast<SVGFilterElement*>(static_cast<JSSVGFilterElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGFilterElement* imp = static_cast<SVGFilterElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGFilterElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -269,7 +283,7 @@ JSValue JSC_HOST_CALL jsSVGFilterElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h
index faa8d3c..d5b1a2d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h
@@ -33,7 +33,7 @@ class SVGFilterElement;
class JSSVGFilterElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFilterElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFilterElement>);
+ JSSVGFilterElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFilterElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp
index d66d6b6..372b8e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSSVGFontElement::s_info = { "SVGFontElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontElement::JSSVGFontElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontElement::JSSVGFontElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h
index 4e6dd3b..65f86e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h
@@ -33,7 +33,7 @@ class SVGFontElement;
class JSSVGFontElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontElement>);
+ JSSVGFontElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp
index 55633bb..2698127 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGFontFaceElement::s_info = { "SVGFontFaceElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceElement::JSSVGFontFaceElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceElement::JSSVGFontFaceElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h
index 2bae1cf..24829eb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceElement;
class JSSVGFontFaceElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceElement>);
+ JSSVGFontFaceElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp
index 50708c2..f4f772a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceFormatElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceFormatElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceFormatElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceFormatElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceFormatElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGFontFaceFormatElement::s_info = { "SVGFontFaceFormatElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceFormatElement::JSSVGFontFaceFormatElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceFormatElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceFormatElement::JSSVGFontFaceFormatElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceFormatElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h
index e7b9ad8..e345b40 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceFormatElement;
class JSSVGFontFaceFormatElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceFormatElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceFormatElement>);
+ JSSVGFontFaceFormatElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceFormatElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp
index 2f12035..38df90f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceNameElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceNameElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceNameElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceNameElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceNameElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGFontFaceNameElement::s_info = { "SVGFontFaceNameElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceNameElement::JSSVGFontFaceNameElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceNameElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceNameElement::JSSVGFontFaceNameElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceNameElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h
index a334f98..0aac6fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceNameElement;
class JSSVGFontFaceNameElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceNameElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceNameElement>);
+ JSSVGFontFaceNameElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceNameElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp
index 82c6137..349fcac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceSrcElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceSrcElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceSrcElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceSrcElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceSrcElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFontFaceSrcElement::s_info = { "SVGFontFaceSrcElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceSrcElement::JSSVGFontFaceSrcElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceSrcElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceSrcElement::JSSVGFontFaceSrcElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceSrcElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h
index d6852c5..6f2fec4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceSrcElement;
class JSSVGFontFaceSrcElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceSrcElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceSrcElement>);
+ JSSVGFontFaceSrcElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceSrcElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp
index 32208d8..78aadec 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGFontFaceUriElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGFontFaceUriElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGFontFaceUriElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGFontFaceUriElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGFontFaceUriElementPrototype::self(ExecState* exec, JSGlobalObject
const ClassInfo JSSVGFontFaceUriElement::s_info = { "SVGFontFaceUriElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGFontFaceUriElement::JSSVGFontFaceUriElement(PassRefPtr<Structure> structure, PassRefPtr<SVGFontFaceUriElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGFontFaceUriElement::JSSVGFontFaceUriElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGFontFaceUriElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h
index e9b9ec2..27b1d34 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h
@@ -33,7 +33,7 @@ class SVGFontFaceUriElement;
class JSSVGFontFaceUriElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGFontFaceUriElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGFontFaceUriElement>);
+ JSSVGFontFaceUriElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGFontFaceUriElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp
index 7bba5bb..50ad695 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGForeignObjectElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGForeignObjectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGForeignObjectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGForeignObjectElementTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSSVGForeignObjectElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGForeignObjectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGForeignObjectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGForeignObjectElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSSVGForeignObjectElementPrototype::getOwnPropertySlot(ExecState* exec, con
const ClassInfo JSSVGForeignObjectElement::s_info = { "SVGForeignObjectElement", &JSSVGElement::s_info, &JSSVGForeignObjectElementTable, 0 };
-JSSVGForeignObjectElement::JSSVGForeignObjectElement(PassRefPtr<Structure> structure, PassRefPtr<SVGForeignObjectElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGForeignObjectElement::JSSVGForeignObjectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGForeignObjectElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -131,114 +131,129 @@ bool JSSVGForeignObjectElement::getOwnPropertySlot(ExecState* exec, const Identi
JSValue jsSVGForeignObjectElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGForeignObjectElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGForeignObjectElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGForeignObjectElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGForeignObjectElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGForeignObjectElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGForeignObjectElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGForeignObjectElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGForeignObjectElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGForeignObjectElement* castedThis = static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(static_cast<JSSVGForeignObjectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGForeignObjectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -282,7 +297,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetPresentationA
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -295,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetBBox(ExecStat
SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -308,7 +323,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetCTM(ExecState
SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -321,7 +336,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetScreenCTM(Exe
SVGForeignObjectElement* imp = static_cast<SVGForeignObjectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -336,7 +351,7 @@ JSValue JSC_HOST_CALL jsSVGForeignObjectElementPrototypeFunctionGetTransformToEl
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h
index ad699b6..006f61e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h
@@ -33,7 +33,7 @@ class SVGForeignObjectElement;
class JSSVGForeignObjectElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGForeignObjectElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGForeignObjectElement>);
+ JSSVGForeignObjectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGForeignObjectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp
index 75a61b6..d9f0222 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGGElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGGElementTableValues, 0 };
#else
@@ -88,7 +88,7 @@ static const HashTableValue JSSVGGElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGGElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ bool JSSVGGElementPrototype::getOwnPropertySlot(ExecState* exec, const Identifie
const ClassInfo JSSVGGElement::s_info = { "SVGGElement", &JSSVGElement::s_info, &JSSVGGElementTable, 0 };
-JSSVGGElement::JSSVGGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGGElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGGElement::JSSVGGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -126,82 +126,93 @@ bool JSSVGGElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
JSValue jsSVGGElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGGElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGGElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGGElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGGElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGGElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGGElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGGElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGElement* castedThis = static_cast<JSSVGGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGElement* imp = static_cast<SVGGElement*>(static_cast<JSSVGGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGGElement* imp = static_cast<SVGGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGGElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -245,7 +256,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetPresentationAttribute(Exe
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetBBox(ExecState* exec, JSO
SVGGElement* imp = static_cast<SVGGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -271,7 +282,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetCTM(ExecState* exec, JSOb
SVGGElement* imp = static_cast<SVGGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -284,7 +295,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetScreenCTM(ExecState* exec
SVGGElement* imp = static_cast<SVGGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -299,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGGElementPrototypeFunctionGetTransformToElement(ExecSt
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h
index 62c9add..920096b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h
@@ -33,7 +33,7 @@ class SVGGElement;
class JSSVGGElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGGElement>);
+ JSSVGGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp
index 684831f..61ff924 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGGlyphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGlyphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGlyphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGGlyphElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGGlyphElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGGlyphElement::s_info = { "SVGGlyphElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGGlyphElement::JSSVGGlyphElement(PassRefPtr<Structure> structure, PassRefPtr<SVGGlyphElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGGlyphElement::JSSVGGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGlyphElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h
index 36105e1..e2fc429 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h
@@ -33,7 +33,7 @@ class SVGGlyphElement;
class JSSVGGlyphElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGGlyphElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGGlyphElement>);
+ JSSVGGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGlyphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp
index 1dc75b0..faea429 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGGradientElementTableValues[9] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGradientElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGradientElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGGradientElementTableValues, 0 };
#else
@@ -76,19 +76,19 @@ static const HashTableValue JSSVGGradientElementConstructorTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGradientElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGradientElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGGradientElementConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGGradientElementConstructorTableValues, 0 };
#endif
-class JSSVGGradientElementConstructor : public DOMObject {
+class JSSVGGradientElementConstructor : public DOMConstructorObject {
public:
- JSSVGGradientElementConstructor(ExecState* exec)
- : DOMObject(JSSVGGradientElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGGradientElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGGradientElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGGradientElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGGradientElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -119,7 +119,7 @@ static const HashTableValue JSSVGGradientElementPrototypeTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGGradientElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGGradientElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGGradientElementPrototypeTableValues, 0 };
#else
@@ -140,8 +140,8 @@ bool JSSVGGradientElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGGradientElement::s_info = { "SVGGradientElement", &JSSVGElement::s_info, &JSSVGGradientElementTable, 0 };
-JSSVGGradientElement::JSSVGGradientElement(PassRefPtr<Structure> structure, PassRefPtr<SVGGradientElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGGradientElement::JSSVGGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGGradientElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -157,66 +157,74 @@ bool JSSVGGradientElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGGradientElementGradientUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->gradientUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementGradientTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->gradientTransformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementSpreadMethod(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->spreadMethodAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGGradientElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGGradientElement* castedThis = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGGradientElement* imp = static_cast<SVGGradientElement*>(static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGGradientElement* imp = static_cast<SVGGradientElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGGradientElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGGradientElement* domObject = static_cast<JSSVGGradientElement*>(asObject(slot.slotBase()));
+ return JSSVGGradientElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGGradientElement::getConstructor(ExecState* exec)
+JSValue JSSVGGradientElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGGradientElementConstructor>(exec);
+ return getDOMConstructor<JSSVGGradientElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGGradientElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -229,7 +237,7 @@ JSValue JSC_HOST_CALL jsSVGGradientElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h
index 11646e7..6600e21 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h
@@ -33,7 +33,7 @@ class SVGGradientElement;
class JSSVGGradientElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGGradientElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGGradientElement>);
+ JSSVGGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGGradientElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp
index 87c1fe8..1d45ade 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGHKernElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGHKernElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGHKernElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGHKernElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGHKernElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGHKernElement::s_info = { "SVGHKernElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGHKernElement::JSSVGHKernElement(PassRefPtr<Structure> structure, PassRefPtr<SVGHKernElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGHKernElement::JSSVGHKernElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGHKernElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h
index 7718ecf..6639fe0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h
@@ -33,7 +33,7 @@ class SVGHKernElement;
class JSSVGHKernElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGHKernElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGHKernElement>);
+ JSSVGHKernElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGHKernElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp
index 4f6f84f..64efb43 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp
@@ -76,7 +76,7 @@ static const HashTableValue JSSVGImageElementTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGImageElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGImageElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGImageElementTableValues, 0 };
#else
@@ -96,7 +96,7 @@ static const HashTableValue JSSVGImageElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGImageElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGImageElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGImageElementPrototypeTableValues, 0 };
#else
@@ -117,8 +117,8 @@ bool JSSVGImageElementPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSSVGImageElement::s_info = { "SVGImageElement", &JSSVGElement::s_info, &JSSVGImageElementTable, 0 };
-JSSVGImageElement::JSSVGImageElement(PassRefPtr<Structure> structure, PassRefPtr<SVGImageElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGImageElement::JSSVGImageElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGImageElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -134,130 +134,147 @@ bool JSSVGImageElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGImageElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGImageElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGImageElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGImageElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGImageElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGImageElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGImageElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGImageElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGImageElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGImageElement* castedThis = static_cast<JSSVGImageElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGImageElement* imp = static_cast<SVGImageElement*>(static_cast<JSSVGImageElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGImageElement* imp = static_cast<SVGImageElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGImageElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -301,7 +318,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetPresentationAttribute
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -314,7 +331,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetBBox(ExecState* exec,
SVGImageElement* imp = static_cast<SVGImageElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -327,7 +344,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetCTM(ExecState* exec,
SVGImageElement* imp = static_cast<SVGImageElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -340,7 +357,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetScreenCTM(ExecState*
SVGImageElement* imp = static_cast<SVGImageElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -355,7 +372,7 @@ JSValue JSC_HOST_CALL jsSVGImageElementPrototypeFunctionGetTransformToElement(Ex
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h
index 17dbffb..ef21823 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h
@@ -33,7 +33,7 @@ class SVGImageElement;
class JSSVGImageElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGImageElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGImageElement>);
+ JSSVGImageElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGImageElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
index 7e86524..dd7522d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGLengthTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGLengthTableValues, 0 };
#else
@@ -74,19 +74,19 @@ static const HashTableValue JSSVGLengthConstructorTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSSVGLengthConstructorTableValues, 0 };
#else
{ 33, 31, JSSVGLengthConstructorTableValues, 0 };
#endif
-class JSSVGLengthConstructor : public DOMObject {
+class JSSVGLengthConstructor : public DOMConstructorObject {
public:
- JSSVGLengthConstructor(ExecState* exec)
- : DOMObject(JSSVGLengthConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGLengthConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGLengthConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGLengthPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGLengthPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -125,7 +125,7 @@ static const HashTableValue JSSVGLengthPrototypeTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 511, JSSVGLengthPrototypeTableValues, 0 };
#else
@@ -146,9 +146,8 @@ bool JSSVGLengthPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGLength::s_info = { "SVGLength", 0, &JSSVGLengthTable, 0 };
-JSSVGLength::JSSVGLength(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGLength::JSSVGLength(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -171,33 +170,38 @@ bool JSSVGLength::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsSVGLengthUnitType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLength imp(*static_cast<JSSVGLength*>(asObject(slot.slotBase()))->impl());
+ SVGLength imp(*castedThis->impl());
return jsNumber(exec, imp.unitType());
}
JSValue jsSVGLengthValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGLength*>(asObject(slot.slotBase()))->value(exec);
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
+ return castedThis->value(exec);
}
JSValue jsSVGLengthValueInSpecifiedUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLength imp(*static_cast<JSSVGLength*>(asObject(slot.slotBase()))->impl());
+ SVGLength imp(*castedThis->impl());
return jsNumber(exec, imp.valueInSpecifiedUnits());
}
JSValue jsSVGLengthValueAsString(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLength* castedThis = static_cast<JSSVGLength*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLength imp(*static_cast<JSSVGLength*>(asObject(slot.slotBase()))->impl());
+ SVGLength imp(*castedThis->impl());
return jsString(exec, imp.valueAsString());
}
JSValue jsSVGLengthConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGLength*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGLength::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
void JSSVGLength::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -225,9 +229,9 @@ void setJSSVGLengthValueAsString(ExecState* exec, JSObject* thisObject, JSValue
static_cast<JSSVGLength*>(thisObject)->impl()->commitChange(imp, static_cast<JSSVGLength*>(thisObject)->context());
}
-JSValue JSSVGLength::getConstructor(ExecState* exec)
+JSValue JSSVGLength::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGLengthConstructor>(exec);
+ return getDOMConstructor<JSSVGLengthConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGLengthPrototypeFunctionNewValueSpecifiedUnits(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -312,9 +316,9 @@ JSValue jsSVGLengthSVG_LENGTHTYPE_PC(ExecState* exec, const Identifier&, const P
return jsNumber(exec, static_cast<int>(10));
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<SVGLength>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<SVGLength>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGLength, JSSVGPODTypeWrapper<SVGLength> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGLength, JSSVGPODTypeWrapper<SVGLength> >(exec, globalObject, object, context);
}
SVGLength toSVGLength(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h
index 50ea7ce..1bf382a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLength.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGLength : public DOMObject {
- typedef DOMObject Base;
+class JSSVGLength : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGLength(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> >, SVGElement* context);
+ JSSVGLength(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<SVGLength> >, SVGElement* context);
virtual ~JSSVGLength();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,22 +49,20 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
// Custom attributes
JSC::JSValue value(JSC::ExecState*) const;
// Custom functions
JSC::JSValue convertToSpecifiedUnits(JSC::ExecState*, const JSC::ArgList&);
- JSSVGPODTypeWrapper<SVGLength>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<SVGLength> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<SVGLength> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<SVGLength>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<SVGLength>*, SVGElement* context);
SVGLength toSVGLength(JSC::JSValue);
class JSSVGLengthPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
index 9283d38..7157d65 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGLengthListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGLengthListTableValues, 0 };
#else
@@ -66,7 +66,7 @@ static const HashTableValue JSSVGLengthListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLengthListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLengthListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGLengthListPrototypeTableValues, 0 };
#else
@@ -87,9 +87,8 @@ bool JSSVGLengthListPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGLengthList::s_info = { "SVGLengthList", 0, &JSSVGLengthListTable, 0 };
-JSSVGLengthList::JSSVGLengthList(PassRefPtr<Structure> structure, PassRefPtr<SVGLengthList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGLengthList::JSSVGLengthList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLengthList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -111,8 +110,9 @@ bool JSSVGLengthList::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGLengthListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLengthList* castedThis = static_cast<JSSVGLengthList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLengthList* imp = static_cast<SVGLengthList*>(static_cast<JSSVGLengthList*>(asObject(slot.slotBase()))->impl());
+ SVGLengthList* imp = static_cast<SVGLengthList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -141,7 +141,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionInitialize(ExecState* exec
SVGLength item = toSVGLength(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -157,7 +157,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionGetItem(ExecState* exec, J
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -174,7 +174,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionInsertItemBefore(ExecState
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -191,7 +191,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionReplaceItem(ExecState* exe
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -207,7 +207,7 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionRemoveItem(ExecState* exec
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -223,14 +223,14 @@ JSValue JSC_HOST_CALL jsSVGLengthListPrototypeFunctionAppendItem(ExecState* exec
SVGLength item = toSVGLength(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGLengthList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGLengthList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGLengthList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGLengthList>(exec, globalObject, object, context);
}
SVGLengthList* toSVGLengthList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h
index 1345203..88500a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGLengthList;
-class JSSVGLengthList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGLengthList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGLengthList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGLengthList>, SVGElement* context);
+ JSSVGLengthList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLengthList>, SVGElement* context);
virtual ~JSSVGLengthList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,14 +49,12 @@ public:
}
SVGLengthList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGLengthList > m_impl;
+ RefPtr<SVGLengthList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGLengthList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGLengthList*, SVGElement* context);
SVGLengthList* toSVGLengthList(JSC::JSValue);
class JSSVGLengthListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp
index 62e72c5..26f31a9 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGLineElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLineElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLineElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGLineElementTableValues, 0 };
#else
@@ -93,7 +93,7 @@ static const HashTableValue JSSVGLineElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLineElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLineElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGLineElementPrototypeTableValues, 0 };
#else
@@ -114,8 +114,8 @@ bool JSSVGLineElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGLineElement::s_info = { "SVGLineElement", &JSSVGElement::s_info, &JSSVGLineElementTable, 0 };
-JSSVGLineElement::JSSVGLineElement(PassRefPtr<Structure> structure, PassRefPtr<SVGLineElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGLineElement::JSSVGLineElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLineElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -131,114 +131,129 @@ bool JSSVGLineElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGLineElementX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGLineElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGLineElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGLineElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGLineElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGLineElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGLineElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLineElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGLineElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLineElement* castedThis = static_cast<JSSVGLineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLineElement* imp = static_cast<SVGLineElement*>(static_cast<JSSVGLineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGLineElement* imp = static_cast<SVGLineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGLineElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -282,7 +297,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -295,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetBBox(ExecState* exec,
SVGLineElement* imp = static_cast<SVGLineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -308,7 +323,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGLineElement* imp = static_cast<SVGLineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -321,7 +336,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGLineElement* imp = static_cast<SVGLineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -336,7 +351,7 @@ JSValue JSC_HOST_CALL jsSVGLineElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h
index bcdee6f..d31e6dc 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h
@@ -33,7 +33,7 @@ class SVGLineElement;
class JSSVGLineElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGLineElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGLineElement>);
+ JSSVGLineElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLineElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp
index 4e0c48a..1e3ff9a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGLinearGradientElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLinearGradientElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLinearGradientElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGLinearGradientElementTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGLinearGradientElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGLinearGradientElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGLinearGradientElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGLinearGradientElementPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGLinearGradientElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGLinearGradientElement::s_info = { "SVGLinearGradientElement", &JSSVGGradientElement::s_info, &JSSVGLinearGradientElementTable, 0 };
-JSSVGLinearGradientElement::JSSVGLinearGradientElement(PassRefPtr<Structure> structure, PassRefPtr<SVGLinearGradientElement> impl)
- : JSSVGGradientElement(structure, impl)
+JSSVGLinearGradientElement::JSSVGLinearGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGLinearGradientElement> impl)
+ : JSSVGGradientElement(structure, globalObject, impl)
{
}
@@ -92,34 +92,38 @@ bool JSSVGLinearGradientElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGLinearGradientElementX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLinearGradientElementY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y1Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLinearGradientElementX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->x2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGLinearGradientElementY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGLinearGradientElement* castedThis = static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(static_cast<JSSVGLinearGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGLinearGradientElement* imp = static_cast<SVGLinearGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->y2Animated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h
index e05e515..737db34 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h
@@ -33,7 +33,7 @@ class SVGLinearGradientElement;
class JSSVGLinearGradientElement : public JSSVGGradientElement {
typedef JSSVGGradientElement Base;
public:
- JSSVGLinearGradientElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGLinearGradientElement>);
+ JSSVGLinearGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGLinearGradientElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp
index afaf538..d7a3b82 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp
@@ -71,7 +71,7 @@ static const HashTableValue JSSVGMarkerElementTableValues[16] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMarkerElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMarkerElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGMarkerElementTableValues, 0 };
#else
@@ -91,19 +91,19 @@ static const HashTableValue JSSVGMarkerElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMarkerElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMarkerElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGMarkerElementConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGMarkerElementConstructorTableValues, 0 };
#endif
-class JSSVGMarkerElementConstructor : public DOMObject {
+class JSSVGMarkerElementConstructor : public DOMConstructorObject {
public:
- JSSVGMarkerElementConstructor(ExecState* exec)
- : DOMObject(JSSVGMarkerElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGMarkerElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGMarkerElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGMarkerElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGMarkerElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -138,7 +138,7 @@ static const HashTableValue JSSVGMarkerElementPrototypeTableValues[10] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMarkerElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMarkerElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGMarkerElementPrototypeTableValues, 0 };
#else
@@ -159,8 +159,8 @@ bool JSSVGMarkerElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGMarkerElement::s_info = { "SVGMarkerElement", &JSSVGElement::s_info, &JSSVGMarkerElementTable, 0 };
-JSSVGMarkerElement::JSSVGMarkerElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMarkerElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMarkerElement::JSSVGMarkerElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMarkerElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -176,116 +176,131 @@ bool JSSVGMarkerElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGMarkerElementRefX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->refXAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementRefY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->refYAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementMarkerUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->markerUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementMarkerWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->markerWidthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementMarkerHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->markerHeightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementOrientType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->orientTypeAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementOrientAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedAngle> obj = imp->orientAngleAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGMarkerElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGMarkerElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGMarkerElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMarkerElement* castedThis = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->impl());
+ SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMarkerElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGMarkerElement* domObject = static_cast<JSSVGMarkerElement*>(asObject(slot.slotBase()));
+ return JSSVGMarkerElement::getConstructor(exec, domObject->globalObject());
}
void JSSVGMarkerElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -304,9 +319,9 @@ void setJSSVGMarkerElementXmlspace(ExecState* exec, JSObject* thisObject, JSValu
imp->setXmlspace(value.toString(exec));
}
-JSValue JSSVGMarkerElement::getConstructor(ExecState* exec)
+JSValue JSSVGMarkerElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGMarkerElementConstructor>(exec);
+ return getDOMConstructor<JSSVGMarkerElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGMarkerElementPrototypeFunctionSetOrientToAuto(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -344,7 +359,7 @@ JSValue JSC_HOST_CALL jsSVGMarkerElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h
index bf626c7..4aad9ee 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h
@@ -33,7 +33,7 @@ class SVGMarkerElement;
class JSSVGMarkerElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMarkerElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMarkerElement>);
+ JSSVGMarkerElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMarkerElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp
index d6e2a33..4919818 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGMaskElementTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMaskElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMaskElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGMaskElementTableValues, 0 };
#else
@@ -84,7 +84,7 @@ static const HashTableValue JSSVGMaskElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMaskElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMaskElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGMaskElementPrototypeTableValues, 0 };
#else
@@ -105,8 +105,8 @@ bool JSSVGMaskElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGMaskElement::s_info = { "SVGMaskElement", &JSSVGElement::s_info, &JSSVGMaskElementTable, 0 };
-JSSVGMaskElement::JSSVGMaskElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMaskElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMaskElement::JSSVGMaskElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMaskElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -122,108 +122,122 @@ bool JSSVGMaskElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGMaskElementMaskUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->maskUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementMaskContentUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->maskContentUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGMaskElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGMaskElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGMaskElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGMaskElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGMaskElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGMaskElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMaskElement* castedThis = static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGMaskElement* imp = static_cast<SVGMaskElement*>(static_cast<JSSVGMaskElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGMaskElement* imp = static_cast<SVGMaskElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGMaskElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -267,7 +281,7 @@ JSValue JSC_HOST_CALL jsSVGMaskElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h
index 51f35cc..f8f7abf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h
@@ -33,7 +33,7 @@ class SVGMaskElement;
class JSSVGMaskElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMaskElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMaskElement>);
+ JSSVGMaskElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMaskElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
index 761f128..d38cbec 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGMatrixTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMatrixTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMatrixTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGMatrixTableValues, 0 };
#else
@@ -73,7 +73,7 @@ static const HashTableValue JSSVGMatrixPrototypeTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMatrixPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMatrixPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGMatrixPrototypeTableValues, 0 };
#else
@@ -94,9 +94,8 @@ bool JSSVGMatrixPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGMatrix::s_info = { "SVGMatrix", 0, &JSSVGMatrixTable, 0 };
-JSSVGMatrix::JSSVGMatrix(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGMatrix::JSSVGMatrix(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -118,43 +117,49 @@ bool JSSVGMatrix::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsSVGMatrixA(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.a());
}
JSValue jsSVGMatrixB(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.b());
}
JSValue jsSVGMatrixC(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.c());
}
JSValue jsSVGMatrixD(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.d());
}
JSValue jsSVGMatrixE(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.e());
}
JSValue jsSVGMatrixF(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGMatrix* castedThis = static_cast<JSSVGMatrix*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- TransformationMatrix imp(*static_cast<JSSVGMatrix*>(asObject(slot.slotBase()))->impl());
+ TransformationMatrix imp(*castedThis->impl());
return jsNumber(exec, imp.f());
}
@@ -216,7 +221,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionMultiply(ExecState* exec, JSOb
TransformationMatrix secondMatrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.multiply(secondMatrix)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.multiply(secondMatrix)).get(), castedThisObj->context());
return result;
}
@@ -241,7 +246,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionTranslate(ExecState* exec, JSO
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.translate(x, y)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.translate(x, y)).get(), castedThisObj->context());
return result;
}
@@ -256,7 +261,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionScale(ExecState* exec, JSObjec
float scaleFactor = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scale(scaleFactor)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scale(scaleFactor)).get(), castedThisObj->context());
return result;
}
@@ -272,7 +277,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionScaleNonUniform(ExecState* exe
float scaleFactorY = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scaleNonUniform(scaleFactorX, scaleFactorY)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.scaleNonUniform(scaleFactorX, scaleFactorY)).get(), castedThisObj->context());
return result;
}
@@ -287,7 +292,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionRotate(ExecState* exec, JSObje
float angle = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotate(angle)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.rotate(angle)).get(), castedThisObj->context());
return result;
}
@@ -310,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionFlipX(ExecState* exec, JSObjec
TransformationMatrix imp(*wrapper);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipX()).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipX()).get(), castedThisObj->context());
return result;
}
@@ -324,7 +329,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionFlipY(ExecState* exec, JSObjec
TransformationMatrix imp(*wrapper);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipY()).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.flipY()).get(), castedThisObj->context());
return result;
}
@@ -339,7 +344,7 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionSkewX(ExecState* exec, JSObjec
float angle = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewX(angle)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewX(angle)).get(), castedThisObj->context());
return result;
}
@@ -354,13 +359,13 @@ JSValue JSC_HOST_CALL jsSVGMatrixPrototypeFunctionSkewY(ExecState* exec, JSObjec
float angle = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewY(angle)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp.skewY(angle)).get(), castedThisObj->context());
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<TransformationMatrix>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<TransformationMatrix>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGMatrix, JSSVGPODTypeWrapper<TransformationMatrix> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGMatrix, JSSVGPODTypeWrapper<TransformationMatrix> >(exec, globalObject, object, context);
}
TransformationMatrix toSVGMatrix(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h
index c1c9068..b4a07f7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGMatrix : public DOMObject {
- typedef DOMObject Base;
+class JSSVGMatrix : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGMatrix(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> >, SVGElement* context);
+ JSSVGMatrix(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<TransformationMatrix> >, SVGElement* context);
virtual ~JSSVGMatrix();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -52,15 +53,13 @@ public:
// Custom functions
JSC::JSValue inverse(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue rotateFromVector(JSC::ExecState*, const JSC::ArgList&);
- JSSVGPODTypeWrapper<TransformationMatrix>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<TransformationMatrix> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<TransformationMatrix> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<TransformationMatrix>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<TransformationMatrix>*, SVGElement* context);
TransformationMatrix toSVGMatrix(JSC::JSValue);
class JSSVGMatrixPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp
index a150bd3..ee3f978 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGMetadataElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMetadataElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMetadataElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGMetadataElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGMetadataElementPrototype::self(ExecState* exec, JSGlobalObject* g
const ClassInfo JSSVGMetadataElement::s_info = { "SVGMetadataElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGMetadataElement::JSSVGMetadataElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMetadataElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMetadataElement::JSSVGMetadataElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMetadataElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h
index 49eb352..f6d97ee 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h
@@ -33,7 +33,7 @@ class SVGMetadataElement;
class JSSVGMetadataElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMetadataElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMetadataElement>);
+ JSSVGMetadataElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMetadataElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp
index f5eaa01..279a7c7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGMissingGlyphElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGMissingGlyphElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGMissingGlyphElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGMissingGlyphElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGMissingGlyphElementPrototype::self(ExecState* exec, JSGlobalObjec
const ClassInfo JSSVGMissingGlyphElement::s_info = { "SVGMissingGlyphElement", &JSSVGElement::s_info, 0, 0 };
-JSSVGMissingGlyphElement::JSSVGMissingGlyphElement(PassRefPtr<Structure> structure, PassRefPtr<SVGMissingGlyphElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGMissingGlyphElement::JSSVGMissingGlyphElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGMissingGlyphElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h
index 76be663..035160a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h
@@ -33,7 +33,7 @@ class SVGMissingGlyphElement;
class JSSVGMissingGlyphElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGMissingGlyphElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGMissingGlyphElement>);
+ JSSVGMissingGlyphElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGMissingGlyphElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
index 9e3dede..3131b44 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGNumberTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGNumberTableValues, 0 };
#else
@@ -55,7 +55,7 @@ static const HashTableValue JSSVGNumberPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGNumberPrototypeTableValues, 0 };
#else
@@ -71,9 +71,8 @@ JSObject* JSSVGNumberPrototype::self(ExecState* exec, JSGlobalObject* globalObje
const ClassInfo JSSVGNumber::s_info = { "SVGNumber", 0, &JSSVGNumberTable, 0 };
-JSSVGNumber::JSSVGNumber(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<float> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGNumber::JSSVGNumber(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<float> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -95,8 +94,9 @@ bool JSSVGNumber::getOwnPropertySlot(ExecState* exec, const Identifier& property
JSValue jsSVGNumberValue(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGNumber* castedThis = static_cast<JSSVGNumber*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- float imp(*static_cast<JSSVGNumber*>(asObject(slot.slotBase()))->impl());
+ float imp(*castedThis->impl());
return jsNumber(exec, imp);
}
@@ -112,9 +112,9 @@ void setJSSVGNumberValue(ExecState* exec, JSObject* thisObject, JSValue value)
static_cast<JSSVGNumber*>(thisObject)->impl()->commitChange(imp, static_cast<JSSVGNumber*>(thisObject)->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<float>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<float>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGNumber, JSSVGPODTypeWrapper<float> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGNumber, JSSVGPODTypeWrapper<float> >(exec, globalObject, object, context);
}
float toSVGNumber(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h
index 08bfe82..de5e023 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
#include "SVGElement.h"
@@ -31,10 +32,10 @@
namespace WebCore {
-class JSSVGNumber : public DOMObject {
- typedef DOMObject Base;
+class JSSVGNumber : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGNumber(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<float> >, SVGElement* context);
+ JSSVGNumber(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<float> >, SVGElement* context);
virtual ~JSSVGNumber();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,15 +48,13 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- JSSVGPODTypeWrapper<float>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<float> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<float> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<float>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<float>*, SVGElement* context);
float toSVGNumber(JSC::JSValue);
class JSSVGNumberPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
index 28fd4bc..8a635dd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGNumberListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGNumberListTableValues, 0 };
#else
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGNumberListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGNumberListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGNumberListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGNumberListPrototypeTableValues, 0 };
#else
@@ -86,9 +86,8 @@ bool JSSVGNumberListPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGNumberList::s_info = { "SVGNumberList", 0, &JSSVGNumberListTable, 0 };
-JSSVGNumberList::JSSVGNumberList(PassRefPtr<Structure> structure, PassRefPtr<SVGNumberList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGNumberList::JSSVGNumberList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGNumberList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -110,8 +109,9 @@ bool JSSVGNumberList::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGNumberListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGNumberList* castedThis = static_cast<JSSVGNumberList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGNumberList* imp = static_cast<SVGNumberList*>(static_cast<JSSVGNumberList*>(asObject(slot.slotBase()))->impl());
+ SVGNumberList* imp = static_cast<SVGNumberList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -140,7 +140,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionInitialize(ExecState* exec
float item = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->initialize(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -156,7 +156,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionGetItem(ExecState* exec, J
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->getItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -173,7 +173,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionInsertItemBefore(ExecState
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->insertItemBefore(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -190,7 +190,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionReplaceItem(ExecState* exe
unsigned index = args.at(1).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->replaceItem(item, index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -206,7 +206,7 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionRemoveItem(ExecState* exec
unsigned index = args.at(0).toInt32(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->removeItem(index, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
@@ -222,14 +222,14 @@ JSValue JSC_HOST_CALL jsSVGNumberListPrototypeFunctionAppendItem(ExecState* exec
float item = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<float>::create(imp->appendItem(item, ec)).get(), castedThisObj->context());
setDOMException(exec, ec);
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGNumberList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGNumberList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGNumberList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGNumberList>(exec, globalObject, object, context);
}
SVGNumberList* toSVGNumberList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h
index 3eb5ece..9e7b0b5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGNumberList;
-class JSSVGNumberList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGNumberList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGNumberList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGNumberList>, SVGElement* context);
+ JSSVGNumberList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGNumberList>, SVGElement* context);
virtual ~JSSVGNumberList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,14 +49,12 @@ public:
}
SVGNumberList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGNumberList > m_impl;
+ RefPtr<SVGNumberList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGNumberList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGNumberList*, SVGElement* context);
SVGNumberList* toSVGNumberList(JSC::JSValue);
class JSSVGNumberListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp
index 8bfddc2..732860a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGPaintTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPaintTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPaintTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGPaintTableValues, 0 };
#else
@@ -71,19 +71,19 @@ static const HashTableValue JSSVGPaintConstructorTableValues[11] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPaintConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPaintConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSSVGPaintConstructorTableValues, 0 };
#else
{ 35, 31, JSSVGPaintConstructorTableValues, 0 };
#endif
-class JSSVGPaintConstructor : public DOMObject {
+class JSSVGPaintConstructor : public DOMConstructorObject {
public:
- JSSVGPaintConstructor(ExecState* exec)
- : DOMObject(JSSVGPaintConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGPaintConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGPaintConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGPaintPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGPaintPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -121,7 +121,7 @@ static const HashTableValue JSSVGPaintPrototypeTableValues[13] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPaintPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPaintPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 4095, JSSVGPaintPrototypeTableValues, 0 };
#else
@@ -142,8 +142,8 @@ bool JSSVGPaintPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGPaint::s_info = { "SVGPaint", &JSSVGColor::s_info, &JSSVGPaintTable, 0 };
-JSSVGPaint::JSSVGPaint(PassRefPtr<Structure> structure, PassRefPtr<SVGPaint> impl)
- : JSSVGColor(structure, impl)
+JSSVGPaint::JSSVGPaint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPaint> impl)
+ : JSSVGColor(structure, globalObject, impl)
{
}
@@ -159,25 +159,28 @@ bool JSSVGPaint::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGPaintPaintType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPaint* castedThis = static_cast<JSSVGPaint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPaint* imp = static_cast<SVGPaint*>(static_cast<JSSVGPaint*>(asObject(slot.slotBase()))->impl());
+ SVGPaint* imp = static_cast<SVGPaint*>(castedThis->impl());
return jsNumber(exec, imp->paintType());
}
JSValue jsSVGPaintUri(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPaint* castedThis = static_cast<JSSVGPaint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPaint* imp = static_cast<SVGPaint*>(static_cast<JSSVGPaint*>(asObject(slot.slotBase()))->impl());
+ SVGPaint* imp = static_cast<SVGPaint*>(castedThis->impl());
return jsString(exec, imp->uri());
}
JSValue jsSVGPaintConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGPaint*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGPaint* domObject = static_cast<JSSVGPaint*>(asObject(slot.slotBase()));
+ return JSSVGPaint::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGPaint::getConstructor(ExecState* exec)
+JSValue JSSVGPaint::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGPaintConstructor>(exec);
+ return getDOMConstructor<JSSVGPaintConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGPaintPrototypeFunctionSetUri(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h
index 495c5dd..a751b9d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h
@@ -33,7 +33,7 @@ class SVGPaint;
class JSSVGPaint : public JSSVGColor {
typedef JSSVGColor Base;
public:
- JSSVGPaint(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPaint>);
+ JSSVGPaint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPaint>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp
index 0855624..fd5c679 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp
@@ -107,7 +107,7 @@ static const HashTableValue JSSVGPathElementTableValues[17] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGPathElementTableValues, 0 };
#else
@@ -149,7 +149,7 @@ static const HashTableValue JSSVGPathElementPrototypeTableValues[29] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPathElementPrototypeTableValues, 0 };
#else
@@ -170,8 +170,8 @@ bool JSSVGPathElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGPathElement::s_info = { "SVGPathElement", &JSSVGElement::s_info, &JSSVGPathElementTable, 0 };
-JSSVGPathElement::JSSVGPathElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPathElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPathElement::JSSVGPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -187,118 +187,134 @@ bool JSSVGPathElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGPathElementPathLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->pathLengthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPathElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPathElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPathElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPathElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPathElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPathElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPathElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGPathElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGPathElementPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->pathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->pathSegList()), imp);
}
JSValue jsSVGPathElementNormalizedPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->normalizedPathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->normalizedPathSegList()), imp);
}
JSValue jsSVGPathElementAnimatedPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedPathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedPathSegList()), imp);
}
JSValue jsSVGPathElementAnimatedNormalizedPathSegList(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathElement* castedThis = static_cast<JSSVGPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathElement* imp = static_cast<SVGPathElement*>(static_cast<JSSVGPathElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedNormalizedPathSegList()), imp);
+ SVGPathElement* imp = static_cast<SVGPathElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedNormalizedPathSegList()), imp);
}
void JSSVGPathElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -341,7 +357,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetPointAtLength(ExecStat
float distance = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getPointAtLength(distance)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getPointAtLength(distance)).get(), imp);
return result;
}
@@ -368,7 +384,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegClosePath
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegClosePath()), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegClosePath()), imp);
return result;
}
@@ -383,7 +399,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegMovetoAbs
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegMovetoAbs(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegMovetoAbs(x, y)), imp);
return result;
}
@@ -398,7 +414,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegMovetoRel
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegMovetoRel(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegMovetoRel(x, y)), imp);
return result;
}
@@ -413,7 +429,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoAbs
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoAbs(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoAbs(x, y)), imp);
return result;
}
@@ -428,7 +444,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoRel
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoRel(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoRel(x, y)), imp);
return result;
}
@@ -447,7 +463,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(5).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicAbs(x, y, x1, y1, x2, y2)), imp);
return result;
}
@@ -466,7 +482,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(5).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicRel(x, y, x1, y1, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicRel(x, y, x1, y1, x2, y2)), imp);
return result;
}
@@ -483,7 +499,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y1 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticAbs(x, y, x1, y1)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticAbs(x, y, x1, y1)), imp);
return result;
}
@@ -500,7 +516,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y1 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticRel(x, y, x1, y1)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticRel(x, y, x1, y1)), imp);
return result;
}
@@ -520,7 +536,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegArcAbs(Ex
bool sweepFlag = args.at(6).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegArcAbs(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegArcAbs(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
return result;
}
@@ -540,7 +556,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegArcRel(Ex
bool sweepFlag = args.at(6).toBoolean(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegArcRel(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegArcRel(x, y, r1, r2, angle, largeArcFlag, sweepFlag)), imp);
return result;
}
@@ -554,7 +570,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoHor
float x = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoHorizontalAbs(x)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoHorizontalAbs(x)), imp);
return result;
}
@@ -568,7 +584,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoHor
float x = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoHorizontalRel(x)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoHorizontalRel(x)), imp);
return result;
}
@@ -582,7 +598,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoVer
float y = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoVerticalAbs(y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoVerticalAbs(y)), imp);
return result;
}
@@ -596,7 +612,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegLinetoVer
float y = args.at(0).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegLinetoVerticalRel(y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegLinetoVerticalRel(y)), imp);
return result;
}
@@ -613,7 +629,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothAbs(x, y, x2, y2)), imp);
return result;
}
@@ -630,7 +646,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoCu
float y2 = args.at(3).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothRel(x, y, x2, y2)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoCubicSmoothRel(x, y, x2, y2)), imp);
return result;
}
@@ -645,7 +661,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothAbs(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothAbs(x, y)), imp);
return result;
}
@@ -660,7 +676,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionCreateSVGPathSegCurvetoQu
float y = args.at(1).toFloat(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothRel(x, y)), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGPathSegCurvetoQuadraticSmoothRel(x, y)), imp);
return result;
}
@@ -688,7 +704,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -701,7 +717,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetBBox(ExecState* exec,
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -714,7 +730,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -727,7 +743,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGPathElement* imp = static_cast<SVGPathElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -742,7 +758,7 @@ JSValue JSC_HOST_CALL jsSVGPathElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h
index 62fa439..e96b612 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h
@@ -33,7 +33,7 @@ class SVGPathElement;
class JSSVGPathElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPathElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathElement>);
+ JSSVGPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
index 99c580b..04e3078 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGPathSegTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegTableValues, 0 };
#else
@@ -80,19 +80,19 @@ static const HashTableValue JSSVGPathSegConstructorTableValues[21] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPathSegConstructorTableValues, 0 };
#else
{ 70, 63, JSSVGPathSegConstructorTableValues, 0 };
#endif
-class JSSVGPathSegConstructor : public DOMObject {
+class JSSVGPathSegConstructor : public DOMConstructorObject {
public:
- JSSVGPathSegConstructor(ExecState* exec)
- : DOMObject(JSSVGPathSegConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGPathSegConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGPathSegConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGPathSegPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGPathSegPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -138,7 +138,7 @@ static const HashTableValue JSSVGPathSegPrototypeTableValues[21] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPathSegPrototypeTableValues, 0 };
#else
@@ -159,9 +159,8 @@ bool JSSVGPathSegPrototype::getOwnPropertySlot(ExecState* exec, const Identifier
const ClassInfo JSSVGPathSeg::s_info = { "SVGPathSeg", 0, &JSSVGPathSegTable, 0 };
-JSSVGPathSeg::JSSVGPathSeg(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSeg> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPathSeg::JSSVGPathSeg(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSeg> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -183,25 +182,28 @@ bool JSSVGPathSeg::getOwnPropertySlot(ExecState* exec, const Identifier& propert
JSValue jsSVGPathSegPathSegType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSeg* castedThis = static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSeg* imp = static_cast<SVGPathSeg*>(static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()))->impl());
+ SVGPathSeg* imp = static_cast<SVGPathSeg*>(castedThis->impl());
return jsNumber(exec, imp->pathSegType());
}
JSValue jsSVGPathSegPathSegTypeAsLetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSeg* castedThis = static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSeg* imp = static_cast<SVGPathSeg*>(static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()))->impl());
+ SVGPathSeg* imp = static_cast<SVGPathSeg*>(castedThis->impl());
return jsString(exec, imp->pathSegTypeAsLetter());
}
JSValue jsSVGPathSegConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGPathSeg*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGPathSeg::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGPathSeg::getConstructor(ExecState* exec)
+JSValue JSSVGPathSeg::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGPathSegConstructor>(exec);
+ return getDOMConstructor<JSSVGPathSegConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h
index 7ba6512..7fb1ab4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPathSeg;
-class JSSVGPathSeg : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPathSeg : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPathSeg(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSeg>, SVGElement* context);
+ JSSVGPathSeg(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSeg>, SVGElement* context);
virtual ~JSSVGPathSeg();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGPathSeg* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPathSeg > m_impl;
+ RefPtr<SVGPathSeg> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPathSeg*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPathSeg*, SVGElement* context);
SVGPathSeg* toSVGPathSeg(JSC::JSValue);
class JSSVGPathSegPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp
index f754bf0..1edda2e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGPathSegArcAbsTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGPathSegArcAbsTableValues, 0 };
#else
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGPathSegArcAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegArcAbsPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ JSObject* JSSVGPathSegArcAbsPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGPathSegArcAbs::s_info = { "SVGPathSegArcAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegArcAbsTable, 0 };
-JSSVGPathSegArcAbs::JSSVGPathSegArcAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegArcAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegArcAbs::JSSVGPathSegArcAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -95,50 +95,57 @@ bool JSSVGPathSegArcAbs::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGPathSegArcAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegArcAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegArcAbsR1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->r1());
}
JSValue jsSVGPathSegArcAbsR2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->r2());
}
JSValue jsSVGPathSegArcAbsAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsNumber(exec, imp->angle());
}
JSValue jsSVGPathSegArcAbsLargeArcFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsBoolean(imp->largeArcFlag());
}
JSValue jsSVGPathSegArcAbsSweepFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcAbs* castedThis = static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(static_cast<JSSVGPathSegArcAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcAbs* imp = static_cast<SVGPathSegArcAbs*>(castedThis->impl());
return jsBoolean(imp->sweepFlag());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h
index b051822..d91b14a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegArcAbs;
class JSSVGPathSegArcAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegArcAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegArcAbs>, SVGElement* context);
+ JSSVGPathSegArcAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp
index 70a23c5..0c5bc66 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGPathSegArcRelTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGPathSegArcRelTableValues, 0 };
#else
@@ -62,7 +62,7 @@ static const HashTableValue JSSVGPathSegArcRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegArcRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegArcRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegArcRelPrototypeTableValues, 0 };
#else
@@ -78,8 +78,8 @@ JSObject* JSSVGPathSegArcRelPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGPathSegArcRel::s_info = { "SVGPathSegArcRel", &JSSVGPathSeg::s_info, &JSSVGPathSegArcRelTable, 0 };
-JSSVGPathSegArcRel::JSSVGPathSegArcRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegArcRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegArcRel::JSSVGPathSegArcRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegArcRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -95,50 +95,57 @@ bool JSSVGPathSegArcRel::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGPathSegArcRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegArcRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegArcRelR1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->r1());
}
JSValue jsSVGPathSegArcRelR2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->r2());
}
JSValue jsSVGPathSegArcRelAngle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsNumber(exec, imp->angle());
}
JSValue jsSVGPathSegArcRelLargeArcFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsBoolean(imp->largeArcFlag());
}
JSValue jsSVGPathSegArcRelSweepFlag(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegArcRel* castedThis = static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(static_cast<JSSVGPathSegArcRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegArcRel* imp = static_cast<SVGPathSegArcRel*>(castedThis->impl());
return jsBoolean(imp->sweepFlag());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h
index 22028d2..4bb6d0a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h
@@ -33,7 +33,7 @@ class SVGPathSegArcRel;
class JSSVGPathSegArcRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegArcRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegArcRel>, SVGElement* context);
+ JSSVGPathSegArcRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegArcRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp
index 1270ef2..bb220e4 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGPathSegClosePathPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegClosePathPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegClosePathPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegClosePathPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGPathSegClosePathPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegClosePath::s_info = { "SVGPathSegClosePath", &JSSVGPathSeg::s_info, 0, 0 };
-JSSVGPathSegClosePath::JSSVGPathSegClosePath(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegClosePath> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegClosePath::JSSVGPathSegClosePath(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegClosePath> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h
index 749eab1..8a44528 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h
@@ -33,7 +33,7 @@ class SVGPathSegClosePath;
class JSSVGPathSegClosePath : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegClosePath(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegClosePath>, SVGElement* context);
+ JSSVGPathSegClosePath(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegClosePath>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp
index a33c4bc..012e821 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicAbsTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicAbsTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicAbsPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGPathSegCurvetoCubicAbsPrototype::self(ExecState* exec, JSGlobalOb
const ClassInfo JSSVGPathSegCurvetoCubicAbs::s_info = { "SVGPathSegCurvetoCubicAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicAbsTable, 0 };
-JSSVGPathSegCurvetoCubicAbs::JSSVGPathSegCurvetoCubicAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicAbs::JSSVGPathSegCurvetoCubicAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -94,43 +94,49 @@ bool JSSVGPathSegCurvetoCubicAbs::getOwnPropertySlot(ExecState* exec, const Iden
JSValue jsSVGPathSegCurvetoCubicAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicAbsX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoCubicAbsY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
JSValue jsSVGPathSegCurvetoCubicAbsX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicAbsY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(static_cast<JSSVGPathSegCurvetoCubicAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicAbs* imp = static_cast<SVGPathSegCurvetoCubicAbs*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h
index 7ffb1a0..e53a208 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicAbs;
class JSSVGPathSegCurvetoCubicAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp
index f6c6ad4..c2b5c9b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicRelTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicRelTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicRelPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGPathSegCurvetoCubicRelPrototype::self(ExecState* exec, JSGlobalOb
const ClassInfo JSSVGPathSegCurvetoCubicRel::s_info = { "SVGPathSegCurvetoCubicRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicRelTable, 0 };
-JSSVGPathSegCurvetoCubicRel::JSSVGPathSegCurvetoCubicRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicRel::JSSVGPathSegCurvetoCubicRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -94,43 +94,49 @@ bool JSSVGPathSegCurvetoCubicRel::getOwnPropertySlot(ExecState* exec, const Iden
JSValue jsSVGPathSegCurvetoCubicRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicRelX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoCubicRelY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
JSValue jsSVGPathSegCurvetoCubicRelX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicRelY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(static_cast<JSSVGPathSegCurvetoCubicRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicRel* imp = static_cast<SVGPathSegCurvetoCubicRel*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h
index 87d358d..0f79a95 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicRel;
class JSSVGPathSegCurvetoCubicRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicRel>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp
index 22f8de9..2ac3d0e 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothAbsTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicSmoothAbsTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTableValue
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicSmoothAbsPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoCubicSmoothAbsPrototype::self(ExecState* exec, JSGl
const ClassInfo JSSVGPathSegCurvetoCubicSmoothAbs::s_info = { "SVGPathSegCurvetoCubicSmoothAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicSmoothAbsTable, 0 };
-JSSVGPathSegCurvetoCubicSmoothAbs::JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicSmoothAbs::JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoCubicSmoothAbs::getOwnPropertySlot(ExecState* exec, cons
JSValue jsSVGPathSegCurvetoCubicSmoothAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicSmoothAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicSmoothAbsX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicSmoothAbsY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(static_cast<JSSVGPathSegCurvetoCubicSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothAbs* imp = static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h
index 9b4ce0f..b242e39 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicSmoothAbs;
class JSSVGPathSegCurvetoCubicSmoothAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicSmoothAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp
index 8608b28..ed122a3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothRelTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPathSegCurvetoCubicSmoothRelTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoCubicSmoothRelPrototypeTableValue
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoCubicSmoothRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoCubicSmoothRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoCubicSmoothRelPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoCubicSmoothRelPrototype::self(ExecState* exec, JSGl
const ClassInfo JSSVGPathSegCurvetoCubicSmoothRel::s_info = { "SVGPathSegCurvetoCubicSmoothRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoCubicSmoothRelTable, 0 };
-JSSVGPathSegCurvetoCubicSmoothRel::JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoCubicSmoothRel::JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoCubicSmoothRel::getOwnPropertySlot(ExecState* exec, cons
JSValue jsSVGPathSegCurvetoCubicSmoothRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoCubicSmoothRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoCubicSmoothRelX2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->x2());
}
JSValue jsSVGPathSegCurvetoCubicSmoothRelY2(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoCubicSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(static_cast<JSSVGPathSegCurvetoCubicSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoCubicSmoothRel* imp = static_cast<SVGPathSegCurvetoCubicSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->y2());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h
index c705365..557ae46 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoCubicSmoothRel;
class JSSVGPathSegCurvetoCubicSmoothRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel>, SVGElement* context);
+ JSSVGPathSegCurvetoCubicSmoothRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoCubicSmoothRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp
index 5897807..eb8515d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticAbsTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGPathSegCurvetoQuadraticAbsTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticAbsPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticAbsPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticAbsPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegCurvetoQuadraticAbs::s_info = { "SVGPathSegCurvetoQuadraticAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticAbsTable, 0 };
-JSSVGPathSegCurvetoQuadraticAbs::JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticAbs::JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoQuadraticAbs::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegCurvetoQuadraticAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoQuadraticAbsX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoQuadraticAbsY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticAbs* imp = static_cast<SVGPathSegCurvetoQuadraticAbs*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h
index 6feebd8..9112598 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticAbs;
class JSSVGPathSegCurvetoQuadraticAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp
index 19f9b60..c62f6ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticRelTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGPathSegCurvetoQuadraticRelTableValues, 0 };
#else
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticRelPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticRelPrototypeTableValues, 0 };
#else
@@ -75,8 +75,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticRelPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegCurvetoQuadraticRel::s_info = { "SVGPathSegCurvetoQuadraticRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticRelTable, 0 };
-JSSVGPathSegCurvetoQuadraticRel::JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticRel::JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -92,29 +92,33 @@ bool JSSVGPathSegCurvetoQuadraticRel::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegCurvetoQuadraticRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
JSValue jsSVGPathSegCurvetoQuadraticRelX1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->x1());
}
JSValue jsSVGPathSegCurvetoQuadraticRelY1(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(static_cast<JSSVGPathSegCurvetoQuadraticRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticRel* imp = static_cast<SVGPathSegCurvetoQuadraticRel*>(castedThis->impl());
return jsNumber(exec, imp->y1());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h
index 50c484b..cfbb1b3 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticRel;
class JSSVGPathSegCurvetoQuadraticRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticRel>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp
index 3fefc7e..ea5f5da 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothAbsTableValues[3]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegCurvetoQuadraticSmoothAbsTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTableV
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticSmoothAbsPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticSmoothAbsPrototype::self(ExecState* exec,
const ClassInfo JSSVGPathSegCurvetoQuadraticSmoothAbs::s_info = { "SVGPathSegCurvetoQuadraticSmoothAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticSmoothAbsTable, 0 };
-JSSVGPathSegCurvetoQuadraticSmoothAbs::JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticSmoothAbs::JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegCurvetoQuadraticSmoothAbs::getOwnPropertySlot(ExecState* exec,
JSValue jsSVGPathSegCurvetoQuadraticSmoothAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticSmoothAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothAbs* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothAbs* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h
index dee998c..48967a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticSmoothAbs;
class JSSVGPathSegCurvetoQuadraticSmoothAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticSmoothAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp
index e16e6b5..56a7163 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothRelTableValues[3]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegCurvetoQuadraticSmoothRelTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTableV
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegCurvetoQuadraticSmoothRelPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegCurvetoQuadraticSmoothRelPrototype::self(ExecState* exec,
const ClassInfo JSSVGPathSegCurvetoQuadraticSmoothRel::s_info = { "SVGPathSegCurvetoQuadraticSmoothRel", &JSSVGPathSeg::s_info, &JSSVGPathSegCurvetoQuadraticSmoothRelTable, 0 };
-JSSVGPathSegCurvetoQuadraticSmoothRel::JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegCurvetoQuadraticSmoothRel::JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegCurvetoQuadraticSmoothRel::getOwnPropertySlot(ExecState* exec,
JSValue jsSVGPathSegCurvetoQuadraticSmoothRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegCurvetoQuadraticSmoothRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegCurvetoQuadraticSmoothRel* castedThis = static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(static_cast<JSSVGPathSegCurvetoQuadraticSmoothRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegCurvetoQuadraticSmoothRel* imp = static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h
index 5854a94..8e78609 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h
@@ -33,7 +33,7 @@ class SVGPathSegCurvetoQuadraticSmoothRel;
class JSSVGPathSegCurvetoQuadraticSmoothRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel>, SVGElement* context);
+ JSSVGPathSegCurvetoQuadraticSmoothRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegCurvetoQuadraticSmoothRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp
index 8676d4b..cb3049b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegLinetoAbsTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegLinetoAbsTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegLinetoAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoAbsPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegLinetoAbsPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegLinetoAbs::s_info = { "SVGPathSegLinetoAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoAbsTable, 0 };
-JSSVGPathSegLinetoAbs::JSSVGPathSegLinetoAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoAbs::JSSVGPathSegLinetoAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegLinetoAbs::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegLinetoAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoAbs* castedThis = static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegLinetoAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoAbs* castedThis = static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(static_cast<JSSVGPathSegLinetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoAbs* imp = static_cast<SVGPathSegLinetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h
index f737c49..8e403de 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoAbs;
class JSSVGPathSegLinetoAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoAbs>, SVGElement* context);
+ JSSVGPathSegLinetoAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp
index 0289a9a..2a6a087 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalAbsTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalAbsTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalAbsPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalAbsPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoHorizontalAbsPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegLinetoHorizontalAbs::s_info = { "SVGPathSegLinetoHorizontalAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoHorizontalAbsTable, 0 };
-JSSVGPathSegLinetoHorizontalAbs::JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoHorizontalAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoHorizontalAbs::JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoHorizontalAbs::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegLinetoHorizontalAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoHorizontalAbs* castedThis = static_cast<JSSVGPathSegLinetoHorizontalAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoHorizontalAbs* imp = static_cast<SVGPathSegLinetoHorizontalAbs*>(static_cast<JSSVGPathSegLinetoHorizontalAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoHorizontalAbs* imp = static_cast<SVGPathSegLinetoHorizontalAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h
index fe2d270..237124a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoHorizontalAbs;
class JSSVGPathSegLinetoHorizontalAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoHorizontalAbs>, SVGElement* context);
+ JSSVGPathSegLinetoHorizontalAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp
index cd0755a..68c5b37 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalRelTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalRelTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoHorizontalRelPrototypeTableValues[
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoHorizontalRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoHorizontalRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoHorizontalRelPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoHorizontalRelPrototype::self(ExecState* exec, JSGlob
const ClassInfo JSSVGPathSegLinetoHorizontalRel::s_info = { "SVGPathSegLinetoHorizontalRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoHorizontalRelTable, 0 };
-JSSVGPathSegLinetoHorizontalRel::JSSVGPathSegLinetoHorizontalRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoHorizontalRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoHorizontalRel::JSSVGPathSegLinetoHorizontalRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoHorizontalRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoHorizontalRel::getOwnPropertySlot(ExecState* exec, const
JSValue jsSVGPathSegLinetoHorizontalRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoHorizontalRel* castedThis = static_cast<JSSVGPathSegLinetoHorizontalRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoHorizontalRel* imp = static_cast<SVGPathSegLinetoHorizontalRel*>(static_cast<JSSVGPathSegLinetoHorizontalRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoHorizontalRel* imp = static_cast<SVGPathSegLinetoHorizontalRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h
index b8edfb7..8c76dbf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoHorizontalRel;
class JSSVGPathSegLinetoHorizontalRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoHorizontalRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoHorizontalRel>, SVGElement* context);
+ JSSVGPathSegLinetoHorizontalRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoHorizontalRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp
index 250196a..d90984d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegLinetoRelTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegLinetoRelTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegLinetoRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoRelPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegLinetoRelPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegLinetoRel::s_info = { "SVGPathSegLinetoRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoRelTable, 0 };
-JSSVGPathSegLinetoRel::JSSVGPathSegLinetoRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoRel::JSSVGPathSegLinetoRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegLinetoRel::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegLinetoRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoRel* castedThis = static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegLinetoRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoRel* castedThis = static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(static_cast<JSSVGPathSegLinetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h
index 5123bf1..7d6e156 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoRel;
class JSSVGPathSegLinetoRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoRel>, SVGElement* context);
+ JSSVGPathSegLinetoRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp
index 82f7ff8..a51ca33 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalAbsTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalAbsTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalAbsPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalAbsPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoVerticalAbsPrototype::self(ExecState* exec, JSGlobal
const ClassInfo JSSVGPathSegLinetoVerticalAbs::s_info = { "SVGPathSegLinetoVerticalAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoVerticalAbsTable, 0 };
-JSSVGPathSegLinetoVerticalAbs::JSSVGPathSegLinetoVerticalAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoVerticalAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoVerticalAbs::JSSVGPathSegLinetoVerticalAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoVerticalAbs::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGPathSegLinetoVerticalAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoVerticalAbs* castedThis = static_cast<JSSVGPathSegLinetoVerticalAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoVerticalAbs* imp = static_cast<SVGPathSegLinetoVerticalAbs*>(static_cast<JSSVGPathSegLinetoVerticalAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoVerticalAbs* imp = static_cast<SVGPathSegLinetoVerticalAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h
index 184c021..8a2b51d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoVerticalAbs;
class JSSVGPathSegLinetoVerticalAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoVerticalAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoVerticalAbs>, SVGElement* context);
+ JSSVGPathSegLinetoVerticalAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp
index e07cdd2..03873cb 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalRelTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalRelTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGPathSegLinetoVerticalRelPrototypeTableValues[1]
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegLinetoVerticalRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegLinetoVerticalRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegLinetoVerticalRelPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGPathSegLinetoVerticalRelPrototype::self(ExecState* exec, JSGlobal
const ClassInfo JSSVGPathSegLinetoVerticalRel::s_info = { "SVGPathSegLinetoVerticalRel", &JSSVGPathSeg::s_info, &JSSVGPathSegLinetoVerticalRelTable, 0 };
-JSSVGPathSegLinetoVerticalRel::JSSVGPathSegLinetoVerticalRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegLinetoVerticalRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegLinetoVerticalRel::JSSVGPathSegLinetoVerticalRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegLinetoVerticalRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -89,8 +89,9 @@ bool JSSVGPathSegLinetoVerticalRel::getOwnPropertySlot(ExecState* exec, const Id
JSValue jsSVGPathSegLinetoVerticalRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegLinetoVerticalRel* castedThis = static_cast<JSSVGPathSegLinetoVerticalRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegLinetoVerticalRel* imp = static_cast<SVGPathSegLinetoVerticalRel*>(static_cast<JSSVGPathSegLinetoVerticalRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegLinetoVerticalRel* imp = static_cast<SVGPathSegLinetoVerticalRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h
index a0cade4..25f03a0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h
@@ -33,7 +33,7 @@ class SVGPathSegLinetoVerticalRel;
class JSSVGPathSegLinetoVerticalRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegLinetoVerticalRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegLinetoVerticalRel>, SVGElement* context);
+ JSSVGPathSegLinetoVerticalRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegLinetoVerticalRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
index 9a76052..fddc132 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGPathSegListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegListTableValues, 0 };
#else
@@ -65,7 +65,7 @@ static const HashTableValue JSSVGPathSegListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGPathSegListPrototypeTableValues, 0 };
#else
@@ -86,9 +86,8 @@ bool JSSVGPathSegListPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGPathSegList::s_info = { "SVGPathSegList", 0, &JSSVGPathSegListTable, 0 };
-JSSVGPathSegList::JSSVGPathSegList(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPathSegList::JSSVGPathSegList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -110,8 +109,9 @@ bool JSSVGPathSegList::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGPathSegListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegList* castedThis = static_cast<JSSVGPathSegList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegList* imp = static_cast<SVGPathSegList*>(static_cast<JSSVGPathSegList*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegList* imp = static_cast<SVGPathSegList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -178,9 +178,9 @@ JSValue JSC_HOST_CALL jsSVGPathSegListPrototypeFunctionAppendItem(ExecState* exe
return castedThisObj->appendItem(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGPathSegList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGPathSegList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPathSegList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPathSegList>(exec, globalObject, object, context);
}
SVGPathSegList* toSVGPathSegList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h
index 5815d2c..dfa9d56 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPathSegList;
-class JSSVGPathSegList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPathSegList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPathSegList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegList>, SVGElement* context);
+ JSSVGPathSegList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegList>, SVGElement* context);
virtual ~JSSVGPathSegList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -57,14 +58,12 @@ public:
JSC::JSValue removeItem(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue appendItem(JSC::ExecState*, const JSC::ArgList&);
SVGPathSegList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPathSegList > m_impl;
+ RefPtr<SVGPathSegList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPathSegList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPathSegList*, SVGElement* context);
SVGPathSegList* toSVGPathSegList(JSC::JSValue);
class JSSVGPathSegListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp
index 3f23fb6..836096b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegMovetoAbsTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoAbsTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoAbsTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegMovetoAbsTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegMovetoAbsPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoAbsPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoAbsPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegMovetoAbsPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegMovetoAbsPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegMovetoAbs::s_info = { "SVGPathSegMovetoAbs", &JSSVGPathSeg::s_info, &JSSVGPathSegMovetoAbsTable, 0 };
-JSSVGPathSegMovetoAbs::JSSVGPathSegMovetoAbs(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegMovetoAbs> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegMovetoAbs::JSSVGPathSegMovetoAbs(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoAbs> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegMovetoAbs::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegMovetoAbsX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoAbs* castedThis = static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegMovetoAbsY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoAbs* castedThis = static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(static_cast<JSSVGPathSegMovetoAbs*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoAbs* imp = static_cast<SVGPathSegMovetoAbs*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h
index 99e8582..d072b5d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h
@@ -33,7 +33,7 @@ class SVGPathSegMovetoAbs;
class JSSVGPathSegMovetoAbs : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegMovetoAbs(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegMovetoAbs>, SVGElement* context);
+ JSSVGPathSegMovetoAbs(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoAbs>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp
index 51a946d..ee180ac 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPathSegMovetoRelTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoRelTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoRelTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPathSegMovetoRelTableValues, 0 };
#else
@@ -57,7 +57,7 @@ static const HashTableValue JSSVGPathSegMovetoRelPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPathSegMovetoRelPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPathSegMovetoRelPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPathSegMovetoRelPrototypeTableValues, 0 };
#else
@@ -73,8 +73,8 @@ JSObject* JSSVGPathSegMovetoRelPrototype::self(ExecState* exec, JSGlobalObject*
const ClassInfo JSSVGPathSegMovetoRel::s_info = { "SVGPathSegMovetoRel", &JSSVGPathSeg::s_info, &JSSVGPathSegMovetoRelTable, 0 };
-JSSVGPathSegMovetoRel::JSSVGPathSegMovetoRel(PassRefPtr<Structure> structure, PassRefPtr<SVGPathSegMovetoRel> impl, SVGElement* context)
- : JSSVGPathSeg(structure, impl, context)
+JSSVGPathSegMovetoRel::JSSVGPathSegMovetoRel(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPathSegMovetoRel> impl, SVGElement* context)
+ : JSSVGPathSeg(structure, globalObject, impl, context)
{
}
@@ -90,15 +90,17 @@ bool JSSVGPathSegMovetoRel::getOwnPropertySlot(ExecState* exec, const Identifier
JSValue jsSVGPathSegMovetoRelX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoRel* castedThis = static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(castedThis->impl());
return jsNumber(exec, imp->x());
}
JSValue jsSVGPathSegMovetoRelY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPathSegMovetoRel* castedThis = static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(static_cast<JSSVGPathSegMovetoRel*>(asObject(slot.slotBase()))->impl());
+ SVGPathSegMovetoRel* imp = static_cast<SVGPathSegMovetoRel*>(castedThis->impl());
return jsNumber(exec, imp->y());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h
index 179ea1a..c82f216 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h
@@ -33,7 +33,7 @@ class SVGPathSegMovetoRel;
class JSSVGPathSegMovetoRel : public JSSVGPathSeg {
typedef JSSVGPathSeg Base;
public:
- JSSVGPathSegMovetoRel(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPathSegMovetoRel>, SVGElement* context);
+ JSSVGPathSegMovetoRel(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPathSegMovetoRel>, SVGElement* context);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp
index a01e6f2..90c5ce0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGPatternElementTableValues[19] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPatternElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPatternElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGPatternElementTableValues, 0 };
#else
@@ -91,7 +91,7 @@ static const HashTableValue JSSVGPatternElementPrototypeTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPatternElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPatternElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPatternElementPrototypeTableValues, 0 };
#else
@@ -112,8 +112,8 @@ bool JSSVGPatternElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGPatternElement::s_info = { "SVGPatternElement", &JSSVGElement::s_info, &JSSVGPatternElementTable, 0 };
-JSSVGPatternElement::JSSVGPatternElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPatternElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPatternElement::JSSVGPatternElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPatternElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -129,140 +129,158 @@ bool JSSVGPatternElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGPatternElementPatternUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->patternUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementPatternContentUnits(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->patternContentUnitsAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementPatternTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->patternTransformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPatternElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPatternElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPatternElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPatternElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPatternElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPatternElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPatternElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPatternElement* castedThis = static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPatternElement* imp = static_cast<SVGPatternElement*>(static_cast<JSSVGPatternElement*>(asObject(slot.slotBase()))->impl());
+ SVGPatternElement* imp = static_cast<SVGPatternElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGPatternElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -306,7 +324,7 @@ JSValue JSC_HOST_CALL jsSVGPatternElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h
index 7541db1..db19b4b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h
@@ -33,7 +33,7 @@ class SVGPatternElement;
class JSSVGPatternElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPatternElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPatternElement>);
+ JSSVGPatternElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPatternElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
index ea8bc94..8eff1ca 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGPointTableValues[3] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1, JSSVGPointTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGPointPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPointPrototypeTableValues, 0 };
#else
@@ -81,9 +81,8 @@ bool JSSVGPointPrototype::getOwnPropertySlot(ExecState* exec, const Identifier&
const ClassInfo JSSVGPoint::s_info = { "SVGPoint", 0, &JSSVGPointTable, 0 };
-JSSVGPoint::JSSVGPoint(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPoint::JSSVGPoint(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -105,15 +104,17 @@ bool JSSVGPoint::getOwnPropertySlot(ExecState* exec, const Identifier& propertyN
JSValue jsSVGPointX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPoint* castedThis = static_cast<JSSVGPoint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatPoint imp(*static_cast<JSSVGPoint*>(asObject(slot.slotBase()))->impl());
+ FloatPoint imp(*castedThis->impl());
return jsNumber(exec, imp.x());
}
JSValue jsSVGPointY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPoint* castedThis = static_cast<JSSVGPoint*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatPoint imp(*static_cast<JSSVGPoint*>(asObject(slot.slotBase()))->impl());
+ FloatPoint imp(*castedThis->impl());
return jsNumber(exec, imp.y());
}
@@ -147,14 +148,14 @@ JSValue JSC_HOST_CALL jsSVGPointPrototypeFunctionMatrixTransform(ExecState* exec
TransformationMatrix matrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp.matrixTransform(matrix)).get(), castedThisObj->context());
+ JSC::JSValue result = toJS(exec, deprecatedGlobalObjectForPrototype(exec), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp.matrixTransform(matrix)).get(), castedThisObj->context());
wrapper->commitChange(imp, castedThisObj->context());
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<FloatPoint>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<FloatPoint>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPoint, JSSVGPODTypeWrapper<FloatPoint> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPoint, JSSVGPODTypeWrapper<FloatPoint> >(exec, globalObject, object, context);
}
FloatPoint toSVGPoint(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h
index 95ee72d..3f1b35c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "FloatPoint.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGPoint : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPoint : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPoint(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> >, SVGElement* context);
+ JSSVGPoint(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatPoint> >, SVGElement* context);
virtual ~JSSVGPoint();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,15 +49,13 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- JSSVGPODTypeWrapper<FloatPoint>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<FloatPoint> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<FloatPoint> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<FloatPoint>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<FloatPoint>*, SVGElement* context);
FloatPoint toSVGPoint(JSC::JSValue);
class JSSVGPointPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
index 74c85a6..b01266d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp
@@ -43,7 +43,7 @@ static const HashTableValue JSSVGPointListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGPointListTableValues, 0 };
#else
@@ -64,7 +64,7 @@ static const HashTableValue JSSVGPointListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPointListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPointListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGPointListPrototypeTableValues, 0 };
#else
@@ -85,9 +85,8 @@ bool JSSVGPointListPrototype::getOwnPropertySlot(ExecState* exec, const Identifi
const ClassInfo JSSVGPointList::s_info = { "SVGPointList", 0, &JSSVGPointListTable, 0 };
-JSSVGPointList::JSSVGPointList(PassRefPtr<Structure> structure, PassRefPtr<SVGPointList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPointList::JSSVGPointList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPointList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -109,8 +108,9 @@ bool JSSVGPointList::getOwnPropertySlot(ExecState* exec, const Identifier& prope
JSValue jsSVGPointListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPointList* castedThis = static_cast<JSSVGPointList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPointList* imp = static_cast<SVGPointList*>(static_cast<JSSVGPointList*>(asObject(slot.slotBase()))->impl());
+ SVGPointList* imp = static_cast<SVGPointList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -177,9 +177,9 @@ JSValue JSC_HOST_CALL jsSVGPointListPrototypeFunctionAppendItem(ExecState* exec,
return castedThisObj->appendItem(exec, args);
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGPointList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGPointList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPointList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPointList>(exec, globalObject, object, context);
}
SVGPointList* toSVGPointList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h
index 29bd323..3e39aae 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPointList;
-class JSSVGPointList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPointList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPointList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPointList>, SVGElement* context);
+ JSSVGPointList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPointList>, SVGElement* context);
virtual ~JSSVGPointList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -57,14 +58,12 @@ public:
JSC::JSValue removeItem(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue appendItem(JSC::ExecState*, const JSC::ArgList&);
SVGPointList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPointList > m_impl;
+ RefPtr<SVGPointList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPointList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPointList*, SVGElement* context);
SVGPointList* toSVGPointList(JSC::JSValue);
class JSSVGPointListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp
index 33a19b4..8e517a1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSSVGPolygonElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolygonElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolygonElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPolygonElementTableValues, 0 };
#else
@@ -92,7 +92,7 @@ static const HashTableValue JSSVGPolygonElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolygonElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolygonElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPolygonElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ bool JSSVGPolygonElementPrototype::getOwnPropertySlot(ExecState* exec, const Ide
const ClassInfo JSSVGPolygonElement::s_info = { "SVGPolygonElement", &JSSVGElement::s_info, &JSSVGPolygonElementTable, 0 };
-JSSVGPolygonElement::JSSVGPolygonElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPolygonElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPolygonElement::JSSVGPolygonElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolygonElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -130,96 +130,109 @@ bool JSSVGPolygonElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGPolygonElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPolygonElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPolygonElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPolygonElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPolygonElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPolygonElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolygonElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolygonElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPolygonElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolygonElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGPolygonElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGPolygonElementPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->points()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->points()), imp);
}
JSValue jsSVGPolygonElementAnimatedPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolygonElement* castedThis = static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(static_cast<JSSVGPolygonElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedPoints()), imp);
+ SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedPoints()), imp);
}
void JSSVGPolygonElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -263,7 +276,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetPresentationAttribu
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetBBox(ExecState* exe
SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -289,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetCTM(ExecState* exec
SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -302,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetScreenCTM(ExecState
SVGPolygonElement* imp = static_cast<SVGPolygonElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGPolygonElementPrototypeFunctionGetTransformToElement(
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h
index b4c3131..f07549c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h
@@ -33,7 +33,7 @@ class SVGPolygonElement;
class JSSVGPolygonElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPolygonElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPolygonElement>);
+ JSSVGPolygonElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolygonElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp
index a04f5fa..6bd7b70 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp
@@ -72,7 +72,7 @@ static const HashTableValue JSSVGPolylineElementTableValues[14] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolylineElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolylineElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPolylineElementTableValues, 0 };
#else
@@ -92,7 +92,7 @@ static const HashTableValue JSSVGPolylineElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPolylineElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPolylineElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGPolylineElementPrototypeTableValues, 0 };
#else
@@ -113,8 +113,8 @@ bool JSSVGPolylineElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGPolylineElement::s_info = { "SVGPolylineElement", &JSSVGElement::s_info, &JSSVGPolylineElementTable, 0 };
-JSSVGPolylineElement::JSSVGPolylineElement(PassRefPtr<Structure> structure, PassRefPtr<SVGPolylineElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGPolylineElement::JSSVGPolylineElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPolylineElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -130,96 +130,109 @@ bool JSSVGPolylineElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGPolylineElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGPolylineElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGPolylineElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGPolylineElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGPolylineElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGPolylineElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolylineElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolylineElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGPolylineElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGPolylineElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGPolylineElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGPolylineElementPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->points()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->points()), imp);
}
JSValue jsSVGPolylineElementAnimatedPoints(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPolylineElement* castedThis = static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(static_cast<JSSVGPolylineElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->animatedPoints()), imp);
+ SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->animatedPoints()), imp);
}
void JSSVGPolylineElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -263,7 +276,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetPresentationAttrib
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -276,7 +289,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetBBox(ExecState* ex
SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -289,7 +302,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetCTM(ExecState* exe
SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -302,7 +315,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetScreenCTM(ExecStat
SVGPolylineElement* imp = static_cast<SVGPolylineElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -317,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGPolylineElementPrototypeFunctionGetTransformToElement
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h
index 6501a25..8260e0d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h
@@ -33,7 +33,7 @@ class SVGPolylineElement;
class JSSVGPolylineElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGPolylineElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPolylineElement>);
+ JSSVGPolylineElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPolylineElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
index b586e60..dd40aff 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGPreserveAspectRatioTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPreserveAspectRatioTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPreserveAspectRatioTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGPreserveAspectRatioTableValues, 0 };
#else
@@ -72,19 +72,19 @@ static const HashTableValue JSSVGPreserveAspectRatioConstructorTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPreserveAspectRatioConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPreserveAspectRatioConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPreserveAspectRatioConstructorTableValues, 0 };
#else
{ 35, 31, JSSVGPreserveAspectRatioConstructorTableValues, 0 };
#endif
-class JSSVGPreserveAspectRatioConstructor : public DOMObject {
+class JSSVGPreserveAspectRatioConstructor : public DOMConstructorObject {
public:
- JSSVGPreserveAspectRatioConstructor(ExecState* exec)
- : DOMObject(JSSVGPreserveAspectRatioConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGPreserveAspectRatioConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGPreserveAspectRatioConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGPreserveAspectRatioPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGPreserveAspectRatioPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -124,7 +124,7 @@ static const HashTableValue JSSVGPreserveAspectRatioPrototypeTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGPreserveAspectRatioPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGPreserveAspectRatioPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGPreserveAspectRatioPrototypeTableValues, 0 };
#else
@@ -145,9 +145,8 @@ bool JSSVGPreserveAspectRatioPrototype::getOwnPropertySlot(ExecState* exec, cons
const ClassInfo JSSVGPreserveAspectRatio::s_info = { "SVGPreserveAspectRatio", 0, &JSSVGPreserveAspectRatioTable, 0 };
-JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(PassRefPtr<Structure> structure, PassRefPtr<SVGPreserveAspectRatio> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGPreserveAspectRatio::JSSVGPreserveAspectRatio(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGPreserveAspectRatio> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -169,21 +168,24 @@ bool JSSVGPreserveAspectRatio::getOwnPropertySlot(ExecState* exec, const Identif
JSValue jsSVGPreserveAspectRatioAlign(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPreserveAspectRatio* castedThis = static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
+ SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(castedThis->impl());
return jsNumber(exec, imp->align());
}
JSValue jsSVGPreserveAspectRatioMeetOrSlice(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGPreserveAspectRatio* castedThis = static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()))->impl());
+ SVGPreserveAspectRatio* imp = static_cast<SVGPreserveAspectRatio*>(castedThis->impl());
return jsNumber(exec, imp->meetOrSlice());
}
JSValue jsSVGPreserveAspectRatioConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGPreserveAspectRatio*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGPreserveAspectRatio::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
void JSSVGPreserveAspectRatio::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -206,9 +208,9 @@ void setJSSVGPreserveAspectRatioMeetOrSlice(ExecState* exec, JSObject* thisObjec
static_cast<JSSVGPreserveAspectRatio*>(thisObject)->context()->svgAttributeChanged(static_cast<JSSVGPreserveAspectRatio*>(thisObject)->impl()->associatedAttributeName());
}
-JSValue JSSVGPreserveAspectRatio::getConstructor(ExecState* exec)
+JSValue JSSVGPreserveAspectRatio::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGPreserveAspectRatioConstructor>(exec);
+ return getDOMConstructor<JSSVGPreserveAspectRatioConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -283,9 +285,9 @@ JSValue jsSVGPreserveAspectRatioSVG_MEETORSLICE_SLICE(ExecState* exec, const Ide
return jsNumber(exec, static_cast<int>(2));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGPreserveAspectRatio* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGPreserveAspectRatio* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGPreserveAspectRatio>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGPreserveAspectRatio>(exec, globalObject, object, context);
}
SVGPreserveAspectRatio* toSVGPreserveAspectRatio(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h
index d8c7fc8..7835542 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGPreserveAspectRatio;
-class JSSVGPreserveAspectRatio : public DOMObject {
- typedef DOMObject Base;
+class JSSVGPreserveAspectRatio : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGPreserveAspectRatio(PassRefPtr<JSC::Structure>, PassRefPtr<SVGPreserveAspectRatio>, SVGElement* context);
+ JSSVGPreserveAspectRatio(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGPreserveAspectRatio>, SVGElement* context);
virtual ~JSSVGPreserveAspectRatio();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,16 +49,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGPreserveAspectRatio* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGPreserveAspectRatio > m_impl;
+ RefPtr<SVGPreserveAspectRatio> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGPreserveAspectRatio*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGPreserveAspectRatio*, SVGElement* context);
SVGPreserveAspectRatio* toSVGPreserveAspectRatio(JSC::JSValue);
class JSSVGPreserveAspectRatioPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp
index b888704..b6e6e63 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGRadialGradientElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRadialGradientElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRadialGradientElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 255, JSSVGRadialGradientElementTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGRadialGradientElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRadialGradientElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRadialGradientElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGRadialGradientElementPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSVGRadialGradientElementPrototype::self(ExecState* exec, JSGlobalObj
const ClassInfo JSSVGRadialGradientElement::s_info = { "SVGRadialGradientElement", &JSSVGGradientElement::s_info, &JSSVGRadialGradientElementTable, 0 };
-JSSVGRadialGradientElement::JSSVGRadialGradientElement(PassRefPtr<Structure> structure, PassRefPtr<SVGRadialGradientElement> impl)
- : JSSVGGradientElement(structure, impl)
+JSSVGRadialGradientElement::JSSVGRadialGradientElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRadialGradientElement> impl)
+ : JSSVGGradientElement(structure, globalObject, impl)
{
}
@@ -93,42 +93,47 @@ bool JSSVGRadialGradientElement::getOwnPropertySlot(ExecState* exec, const Ident
JSValue jsSVGRadialGradientElementCx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementCy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->cyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementR(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementFx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->fxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRadialGradientElementFy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRadialGradientElement* castedThis = static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(static_cast<JSSVGRadialGradientElement*>(asObject(slot.slotBase()))->impl());
+ SVGRadialGradientElement* imp = static_cast<SVGRadialGradientElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->fyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h
index a0e34a5..575f511 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h
@@ -33,7 +33,7 @@ class SVGRadialGradientElement;
class JSSVGRadialGradientElement : public JSSVGGradientElement {
typedef JSSVGGradientElement Base;
public:
- JSSVGRadialGradientElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGRadialGradientElement>);
+ JSSVGRadialGradientElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRadialGradientElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
index 8e857f2..6dc78d7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp
@@ -44,7 +44,7 @@ static const HashTableValue JSSVGRectTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGRectTableValues, 0 };
#else
@@ -58,7 +58,7 @@ static const HashTableValue JSSVGRectPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGRectPrototypeTableValues, 0 };
#else
@@ -74,9 +74,8 @@ JSObject* JSSVGRectPrototype::self(ExecState* exec, JSGlobalObject* globalObject
const ClassInfo JSSVGRect::s_info = { "SVGRect", 0, &JSSVGRectTable, 0 };
-JSSVGRect::JSSVGRect(PassRefPtr<Structure> structure, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> > impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGRect::JSSVGRect(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> > impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -99,29 +98,33 @@ bool JSSVGRect::getOwnPropertySlot(ExecState* exec, const Identifier& propertyNa
JSValue jsSVGRectX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.x());
}
JSValue jsSVGRectY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.y());
}
JSValue jsSVGRectWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.width());
}
JSValue jsSVGRectHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRect* castedThis = static_cast<JSSVGRect*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- FloatRect imp(*static_cast<JSSVGRect*>(asObject(slot.slotBase()))->impl());
+ FloatRect imp(*castedThis->impl());
return jsNumber(exec, imp.height());
}
@@ -158,9 +161,9 @@ void setJSSVGRectHeight(ExecState* exec, JSObject* thisObject, JSValue value)
static_cast<JSSVGRect*>(thisObject)->impl()->commitChange(imp, static_cast<JSSVGRect*>(thisObject)->context());
}
-JSC::JSValue toJS(JSC::ExecState* exec, JSSVGPODTypeWrapper<FloatRect>* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, JSSVGPODTypeWrapper<FloatRect>* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGRect, JSSVGPODTypeWrapper<FloatRect> >(exec, object, context);
+ return getDOMObjectWrapper<JSSVGRect, JSSVGPODTypeWrapper<FloatRect> >(exec, globalObject, object, context);
}
FloatRect toSVGRect(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h
index b699a03..4a077d6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRect.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "FloatRect.h"
#include "JSDOMBinding.h"
#include "JSSVGPODTypeWrapper.h"
@@ -32,10 +33,10 @@
namespace WebCore {
-class JSSVGRect : public DOMObject {
- typedef DOMObject Base;
+class JSSVGRect : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGRect(PassRefPtr<JSC::Structure>, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> >, SVGElement* context);
+ JSSVGRect(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<JSSVGPODTypeWrapper<FloatRect> >, SVGElement* context);
virtual ~JSSVGRect();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,15 +49,13 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- JSSVGPODTypeWrapper<FloatRect>* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
+ JSSVGPODTypeWrapper<FloatRect> * impl() const { return m_impl.get(); }
private:
- RefPtr<SVGElement> m_context;
RefPtr<JSSVGPODTypeWrapper<FloatRect> > m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, JSSVGPODTypeWrapper<FloatRect>*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, JSSVGPODTypeWrapper<FloatRect>*, SVGElement* context);
FloatRect toSVGRect(JSC::JSValue);
class JSSVGRectPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp
index 2f97100..9f1f76d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp
@@ -75,7 +75,7 @@ static const HashTableValue JSSVGRectElementTableValues[18] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 8191, JSSVGRectElementTableValues, 0 };
#else
@@ -95,7 +95,7 @@ static const HashTableValue JSSVGRectElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRectElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRectElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGRectElementPrototypeTableValues, 0 };
#else
@@ -116,8 +116,8 @@ bool JSSVGRectElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGRectElement::s_info = { "SVGRectElement", &JSSVGElement::s_info, &JSSVGRectElementTable, 0 };
-JSSVGRectElement::JSSVGRectElement(PassRefPtr<Structure> structure, PassRefPtr<SVGRectElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGRectElement::JSSVGRectElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRectElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -133,130 +133,147 @@ bool JSSVGRectElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGRectElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementRx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->rxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementRy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->ryAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGRectElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGRectElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGRectElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGRectElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGRectElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGRectElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGRectElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGRectElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGRectElement* castedThis = static_cast<JSSVGRectElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGRectElement* imp = static_cast<SVGRectElement*>(static_cast<JSSVGRectElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGRectElement* imp = static_cast<SVGRectElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGRectElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -300,7 +317,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -313,7 +330,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetBBox(ExecState* exec,
SVGRectElement* imp = static_cast<SVGRectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -326,7 +343,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGRectElement* imp = static_cast<SVGRectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -339,7 +356,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGRectElement* imp = static_cast<SVGRectElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -354,7 +371,7 @@ JSValue JSC_HOST_CALL jsSVGRectElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h
index 342b4be..d20104b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h
@@ -33,7 +33,7 @@ class SVGRectElement;
class JSSVGRectElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGRectElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGRectElement>);
+ JSSVGRectElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRectElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
index 97df330..9934b0b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp
@@ -41,7 +41,7 @@ static const HashTableValue JSSVGRenderingIntentTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRenderingIntentTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRenderingIntentTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGRenderingIntentTableValues, 0 };
#else
@@ -61,19 +61,19 @@ static const HashTableValue JSSVGRenderingIntentConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRenderingIntentConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRenderingIntentConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGRenderingIntentConstructorTableValues, 0 };
#else
{ 16, 15, JSSVGRenderingIntentConstructorTableValues, 0 };
#endif
-class JSSVGRenderingIntentConstructor : public DOMObject {
+class JSSVGRenderingIntentConstructor : public DOMConstructorObject {
public:
- JSSVGRenderingIntentConstructor(ExecState* exec)
- : DOMObject(JSSVGRenderingIntentConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGRenderingIntentConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGRenderingIntentConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGRenderingIntentPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGRenderingIntentPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -105,7 +105,7 @@ static const HashTableValue JSSVGRenderingIntentPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGRenderingIntentPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGRenderingIntentPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGRenderingIntentPrototypeTableValues, 0 };
#else
@@ -126,9 +126,8 @@ bool JSSVGRenderingIntentPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGRenderingIntent::s_info = { "SVGRenderingIntent", 0, &JSSVGRenderingIntentTable, 0 };
-JSSVGRenderingIntent::JSSVGRenderingIntent(PassRefPtr<Structure> structure, PassRefPtr<SVGRenderingIntent> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGRenderingIntent::JSSVGRenderingIntent(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGRenderingIntent> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -150,11 +149,12 @@ bool JSSVGRenderingIntent::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGRenderingIntentConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGRenderingIntent*>(asObject(slot.slotBase()))->getConstructor(exec);
+ UNUSED_PARAM(slot);
+ return JSSVGRenderingIntent::getConstructor(exec, deprecatedGlobalObjectForPrototype(exec));
}
-JSValue JSSVGRenderingIntent::getConstructor(ExecState* exec)
+JSValue JSSVGRenderingIntent::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGRenderingIntentConstructor>(exec);
+ return getDOMConstructor<JSSVGRenderingIntentConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
@@ -189,9 +189,9 @@ JSValue jsSVGRenderingIntentRENDERING_INTENT_ABSOLUTE_COLORIMETRIC(ExecState* ex
return jsNumber(exec, static_cast<int>(5));
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGRenderingIntent* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGRenderingIntent* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGRenderingIntent>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGRenderingIntent>(exec, globalObject, object, context);
}
SVGRenderingIntent* toSVGRenderingIntent(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h
index 22aff9c..8dad637 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGRenderingIntent;
-class JSSVGRenderingIntent : public DOMObject {
- typedef DOMObject Base;
+class JSSVGRenderingIntent : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGRenderingIntent(PassRefPtr<JSC::Structure>, PassRefPtr<SVGRenderingIntent>, SVGElement* context);
+ JSSVGRenderingIntent(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGRenderingIntent>, SVGElement* context);
virtual ~JSSVGRenderingIntent();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -47,16 +48,14 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
SVGRenderingIntent* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGRenderingIntent > m_impl;
+ RefPtr<SVGRenderingIntent> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGRenderingIntent*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGRenderingIntent*, SVGElement* context);
SVGRenderingIntent* toSVGRenderingIntent(JSC::JSValue);
class JSSVGRenderingIntentPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp
index 072c0cf..5fec42f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp
@@ -99,7 +99,7 @@ static const HashTableValue JSSVGSVGElementTableValues[28] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSVGElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSVGElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 1023, JSSVGSVGElementTableValues, 0 };
#else
@@ -144,7 +144,7 @@ static const HashTableValue JSSVGSVGElementPrototypeTableValues[32] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSVGElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSVGElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGSVGElementPrototypeTableValues, 0 };
#else
@@ -165,8 +165,8 @@ bool JSSVGSVGElementPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGSVGElement::s_info = { "SVGSVGElement", &JSSVGElement::s_info, &JSSVGSVGElementTable, 0 };
-JSSVGSVGElement::JSSVGSVGElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSVGElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGSVGElement::JSSVGSVGElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSVGElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -182,198 +182,225 @@ bool JSSVGSVGElement::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGSVGElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->widthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->heightAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementContentScriptType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->contentScriptType());
}
JSValue jsSVGSVGElementContentStyleType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->contentStyleType());
}
JSValue jsSVGSVGElementViewport(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->viewport()).get(), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->viewport()).get(), imp);
}
JSValue jsSVGSVGElementPixelUnitToMillimeterX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->pixelUnitToMillimeterX());
}
JSValue jsSVGSVGElementPixelUnitToMillimeterY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->pixelUnitToMillimeterY());
}
JSValue jsSVGSVGElementScreenPixelToMillimeterX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->screenPixelToMillimeterX());
}
JSValue jsSVGSVGElementScreenPixelToMillimeterY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->screenPixelToMillimeterY());
}
JSValue jsSVGSVGElementUseCurrentView(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsBoolean(imp->useCurrentView());
}
JSValue jsSVGSVGElementCurrentScale(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->currentScale());
}
JSValue jsSVGSVGElementCurrentTranslate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, JSSVGStaticPODTypeWrapperWithParent<FloatPoint, SVGSVGElement>::create(imp, &SVGSVGElement::currentTranslate, &SVGSVGElement::setCurrentTranslate).get(), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), JSSVGStaticPODTypeWrapperWithParent<FloatPoint, SVGSVGElement>::create(imp, &SVGSVGElement::currentTranslate, &SVGSVGElement::setCurrentTranslate).get(), imp);
}
JSValue jsSVGSVGElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGSVGElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGSVGElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGSVGElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGSVGElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGSVGElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGSVGElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGSVGElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue jsSVGSVGElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSVGElementZoomAndPan(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSVGElement* castedThis = static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSVGElement* imp = static_cast<SVGSVGElement*>(static_cast<JSSVGSVGElement*>(asObject(slot.slotBase()))->impl());
+ SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThis->impl());
return jsNumber(exec, imp->zoomAndPan());
}
@@ -551,7 +578,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetIntersectionList(ExecSt
SVGElement* referenceElement = toSVGElement(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getIntersectionList(rect, referenceElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getIntersectionList(rect, referenceElement)));
return result;
}
@@ -566,7 +593,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetEnclosureList(ExecState
SVGElement* referenceElement = toSVGElement(args.at(1));
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getEnclosureList(rect, referenceElement)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getEnclosureList(rect, referenceElement)));
return result;
}
@@ -621,7 +648,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGNumber(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<float>::create(imp->createSVGNumber()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<float>::create(imp->createSVGNumber()).get(), imp);
return result;
}
@@ -634,7 +661,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGLength(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->createSVGLength()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<SVGLength>::create(imp->createSVGLength()).get(), imp);
return result;
}
@@ -647,7 +674,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGAngle(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->createSVGAngle()), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createSVGAngle()), imp);
return result;
}
@@ -660,7 +687,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGPoint(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->createSVGPoint()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->createSVGPoint()).get(), imp);
return result;
}
@@ -673,7 +700,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGMatrix(ExecState*
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->createSVGMatrix()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->createSVGMatrix()).get(), imp);
return result;
}
@@ -686,7 +713,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGRect(ExecState* e
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->createSVGRect()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->createSVGRect()).get(), imp);
return result;
}
@@ -699,7 +726,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGTransform(ExecSta
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransform()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransform()).get(), imp);
return result;
}
@@ -713,7 +740,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionCreateSVGTransformFromMatr
TransformationMatrix matrix = toSVGMatrix(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransformFromMatrix(matrix)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<SVGTransform>::create(imp->createSVGTransformFromMatrix(matrix)).get(), imp);
return result;
}
@@ -741,7 +768,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetPresentationAttribute(E
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -754,7 +781,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetBBox(ExecState* exec, J
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -767,7 +794,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetCTM(ExecState* exec, JS
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -780,7 +807,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetScreenCTM(ExecState* ex
SVGSVGElement* imp = static_cast<SVGSVGElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -795,7 +822,7 @@ JSValue JSC_HOST_CALL jsSVGSVGElementPrototypeFunctionGetTransformToElement(Exec
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h
index 7701efe..2883b06 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h
@@ -33,7 +33,7 @@ class SVGSVGElement;
class JSSVGSVGElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGSVGElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSVGElement>);
+ JSSVGSVGElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSVGElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp
index da7b486..69a4169 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGScriptElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGScriptElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGScriptElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGScriptElementTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGScriptElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGScriptElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGScriptElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGScriptElementPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGScriptElementPrototype::self(ExecState* exec, JSGlobalObject* glo
const ClassInfo JSSVGScriptElement::s_info = { "SVGScriptElement", &JSSVGElement::s_info, &JSSVGScriptElementTable, 0 };
-JSSVGScriptElement::JSSVGScriptElement(PassRefPtr<Structure> structure, PassRefPtr<SVGScriptElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGScriptElement::JSSVGScriptElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGScriptElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -94,25 +94,28 @@ bool JSSVGScriptElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGScriptElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGScriptElement* castedThis = static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGScriptElement* imp = static_cast<SVGScriptElement*>(static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()))->impl());
+ SVGScriptElement* imp = static_cast<SVGScriptElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsSVGScriptElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGScriptElement* castedThis = static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGScriptElement* imp = static_cast<SVGScriptElement*>(static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()))->impl());
+ SVGScriptElement* imp = static_cast<SVGScriptElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGScriptElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGScriptElement* castedThis = static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGScriptElement* imp = static_cast<SVGScriptElement*>(static_cast<JSSVGScriptElement*>(asObject(slot.slotBase()))->impl());
+ SVGScriptElement* imp = static_cast<SVGScriptElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGScriptElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h
index 0d7eb3a..b0c5143 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h
@@ -33,7 +33,7 @@ class SVGScriptElement;
class JSSVGScriptElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGScriptElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGScriptElement>);
+ JSSVGScriptElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGScriptElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp
index e54b57f..4431685 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGSetElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSetElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSetElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGSetElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGSetElementPrototype::self(ExecState* exec, JSGlobalObject* global
const ClassInfo JSSVGSetElement::s_info = { "SVGSetElement", &JSSVGAnimationElement::s_info, 0, 0 };
-JSSVGSetElement::JSSVGSetElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSetElement> impl)
- : JSSVGAnimationElement(structure, impl)
+JSSVGSetElement::JSSVGSetElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSetElement> impl)
+ : JSSVGAnimationElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h
index 23e7382..2d70694 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h
@@ -33,7 +33,7 @@ class SVGSetElement;
class JSSVGSetElement : public JSSVGAnimationElement {
typedef JSSVGAnimationElement Base;
public:
- JSSVGSetElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSetElement>);
+ JSSVGSetElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSetElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp
index 8308fcb..ed15447 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp
@@ -51,7 +51,7 @@ static const HashTableValue JSSVGStopElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStopElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStopElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGStopElementTableValues, 0 };
#else
@@ -66,7 +66,7 @@ static const HashTableValue JSSVGStopElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStopElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStopElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGStopElementPrototypeTableValues, 0 };
#else
@@ -87,8 +87,8 @@ bool JSSVGStopElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGStopElement::s_info = { "SVGStopElement", &JSSVGElement::s_info, &JSSVGStopElementTable, 0 };
-JSSVGStopElement::JSSVGStopElement(PassRefPtr<Structure> structure, PassRefPtr<SVGStopElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGStopElement::JSSVGStopElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStopElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -104,25 +104,28 @@ bool JSSVGStopElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGStopElementOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStopElement* castedThis = static_cast<JSSVGStopElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStopElement* imp = static_cast<SVGStopElement*>(static_cast<JSSVGStopElement*>(asObject(slot.slotBase()))->impl());
+ SVGStopElement* imp = static_cast<SVGStopElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumber> obj = imp->offsetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGStopElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStopElement* castedThis = static_cast<JSSVGStopElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStopElement* imp = static_cast<SVGStopElement*>(static_cast<JSSVGStopElement*>(asObject(slot.slotBase()))->impl());
+ SVGStopElement* imp = static_cast<SVGStopElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGStopElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStopElement* castedThis = static_cast<JSSVGStopElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStopElement* imp = static_cast<SVGStopElement*>(static_cast<JSSVGStopElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGStopElement* imp = static_cast<SVGStopElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue JSC_HOST_CALL jsSVGStopElementPrototypeFunctionGetPresentationAttribute(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -135,7 +138,7 @@ JSValue JSC_HOST_CALL jsSVGStopElementPrototypeFunctionGetPresentationAttribute(
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h
index 56f181a..b2bd243 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h
@@ -33,7 +33,7 @@ class SVGStopElement;
class JSSVGStopElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGStopElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGStopElement>);
+ JSSVGStopElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStopElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
index ee9cf18..3ccbeaf 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp
@@ -45,7 +45,7 @@ static const HashTableValue JSSVGStringListTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStringListTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStringListTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGStringListTableValues, 0 };
#else
@@ -66,7 +66,7 @@ static const HashTableValue JSSVGStringListPrototypeTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStringListPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStringListPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 63, JSSVGStringListPrototypeTableValues, 0 };
#else
@@ -87,9 +87,8 @@ bool JSSVGStringListPrototype::getOwnPropertySlot(ExecState* exec, const Identif
const ClassInfo JSSVGStringList::s_info = { "SVGStringList", 0, &JSSVGStringListTable, 0 };
-JSSVGStringList::JSSVGStringList(PassRefPtr<Structure> structure, PassRefPtr<SVGStringList> impl, SVGElement* context)
- : DOMObject(structure)
- , m_context(context)
+JSSVGStringList::JSSVGStringList(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStringList> impl, SVGElement* context)
+ : DOMObjectWithSVGContext(structure, globalObject, context)
, m_impl(impl)
{
}
@@ -111,8 +110,9 @@ bool JSSVGStringList::getOwnPropertySlot(ExecState* exec, const Identifier& prop
JSValue jsSVGStringListNumberOfItems(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStringList* castedThis = static_cast<JSSVGStringList*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStringList* imp = static_cast<SVGStringList*>(static_cast<JSSVGStringList*>(asObject(slot.slotBase()))->impl());
+ SVGStringList* imp = static_cast<SVGStringList*>(castedThis->impl());
return jsNumber(exec, imp->numberOfItems());
}
@@ -228,9 +228,9 @@ JSValue JSC_HOST_CALL jsSVGStringListPrototypeFunctionAppendItem(ExecState* exec
return result;
}
-JSC::JSValue toJS(JSC::ExecState* exec, SVGStringList* object, SVGElement* context)
+JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, SVGStringList* object, SVGElement* context)
{
- return getDOMObjectWrapper<JSSVGStringList>(exec, object, context);
+ return getDOMObjectWrapper<JSSVGStringList>(exec, globalObject, object, context);
}
SVGStringList* toSVGStringList(JSC::JSValue value)
{
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h
index e7b631e..c880b8c 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h
@@ -23,6 +23,7 @@
#if ENABLE(SVG)
+#include "DOMObjectWithSVGContext.h"
#include "JSDOMBinding.h"
#include "SVGElement.h"
#include <runtime/JSGlobalObject.h>
@@ -32,10 +33,10 @@ namespace WebCore {
class SVGStringList;
-class JSSVGStringList : public DOMObject {
- typedef DOMObject Base;
+class JSSVGStringList : public DOMObjectWithSVGContext {
+ typedef DOMObjectWithSVGContext Base;
public:
- JSSVGStringList(PassRefPtr<JSC::Structure>, PassRefPtr<SVGStringList>, SVGElement* context);
+ JSSVGStringList(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStringList>, SVGElement* context);
virtual ~JSSVGStringList();
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
@@ -48,14 +49,12 @@ public:
}
SVGStringList* impl() const { return m_impl.get(); }
- SVGElement* context() const { return m_context.get(); }
private:
- RefPtr<SVGElement> m_context;
- RefPtr<SVGStringList > m_impl;
+ RefPtr<SVGStringList> m_impl;
};
-JSC::JSValue toJS(JSC::ExecState*, SVGStringList*, SVGElement* context);
+JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, SVGStringList*, SVGElement* context);
SVGStringList* toSVGStringList(JSC::JSValue);
class JSSVGStringListPrototype : public JSC::JSObject {
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp
index 6b9f6b7..2e0c093 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp
@@ -46,7 +46,7 @@ static const HashTableValue JSSVGStyleElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStyleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStyleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGStyleElementTableValues, 0 };
#else
@@ -60,7 +60,7 @@ static const HashTableValue JSSVGStyleElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGStyleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGStyleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGStyleElementPrototypeTableValues, 0 };
#else
@@ -76,8 +76,8 @@ JSObject* JSSVGStyleElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGStyleElement::s_info = { "SVGStyleElement", &JSSVGElement::s_info, &JSSVGStyleElementTable, 0 };
-JSSVGStyleElement::JSSVGStyleElement(PassRefPtr<Structure> structure, PassRefPtr<SVGStyleElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGStyleElement::JSSVGStyleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGStyleElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -93,29 +93,33 @@ bool JSSVGStyleElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGStyleElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGStyleElementType(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->type());
}
JSValue jsSVGStyleElementMedia(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->media());
}
JSValue jsSVGStyleElementTitle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGStyleElement* castedThis = static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGStyleElement* imp = static_cast<SVGStyleElement*>(static_cast<JSSVGStyleElement*>(asObject(slot.slotBase()))->impl());
+ SVGStyleElement* imp = static_cast<SVGStyleElement*>(castedThis->impl());
return jsString(exec, imp->title());
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h
index d318c52..adf3ee2 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h
@@ -33,7 +33,7 @@ class SVGStyleElement;
class JSSVGStyleElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGStyleElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGStyleElement>);
+ JSSVGStyleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGStyleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp
index 563c735..b8c180f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGSwitchElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSwitchElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSwitchElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGSwitchElementTableValues, 0 };
#else
@@ -88,7 +88,7 @@ static const HashTableValue JSSVGSwitchElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSwitchElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSwitchElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 2047, JSSVGSwitchElementPrototypeTableValues, 0 };
#else
@@ -109,8 +109,8 @@ bool JSSVGSwitchElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGSwitchElement::s_info = { "SVGSwitchElement", &JSSVGElement::s_info, &JSSVGSwitchElementTable, 0 };
-JSSVGSwitchElement::JSSVGSwitchElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSwitchElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGSwitchElement::JSSVGSwitchElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSwitchElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -126,82 +126,93 @@ bool JSSVGSwitchElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGSwitchElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGSwitchElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGSwitchElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGSwitchElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGSwitchElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGSwitchElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSwitchElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSwitchElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGSwitchElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSwitchElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGSwitchElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSwitchElement* castedThis = static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(static_cast<JSSVGSwitchElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
void JSSVGSwitchElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -245,7 +256,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
@@ -258,7 +269,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetBBox(ExecState* exec
SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -271,7 +282,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetCTM(ExecState* exec,
SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -284,7 +295,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetScreenCTM(ExecState*
SVGSwitchElement* imp = static_cast<SVGSwitchElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -299,7 +310,7 @@ JSValue JSC_HOST_CALL jsSVGSwitchElementPrototypeFunctionGetTransformToElement(E
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h
index 3ae9bd1..7273622 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h
@@ -33,7 +33,7 @@ class SVGSwitchElement;
class JSSVGSwitchElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGSwitchElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSwitchElement>);
+ JSSVGSwitchElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSwitchElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp
index 757bfd8f..c5d16b0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp
@@ -59,7 +59,7 @@ static const HashTableValue JSSVGSymbolElementTableValues[8] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSymbolElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSymbolElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGSymbolElementTableValues, 0 };
#else
@@ -74,7 +74,7 @@ static const HashTableValue JSSVGSymbolElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGSymbolElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGSymbolElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGSymbolElementPrototypeTableValues, 0 };
#else
@@ -95,8 +95,8 @@ bool JSSVGSymbolElementPrototype::getOwnPropertySlot(ExecState* exec, const Iden
const ClassInfo JSSVGSymbolElement::s_info = { "SVGSymbolElement", &JSSVGElement::s_info, &JSSVGSymbolElementTable, 0 };
-JSSVGSymbolElement::JSSVGSymbolElement(PassRefPtr<Structure> structure, PassRefPtr<SVGSymbolElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGSymbolElement::JSSVGSymbolElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGSymbolElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -112,55 +112,62 @@ bool JSSVGSymbolElement::getOwnPropertySlot(ExecState* exec, const Identifier& p
JSValue jsSVGSymbolElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGSymbolElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGSymbolElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSymbolElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSymbolElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGSymbolElementViewBox(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedRect> obj = imp->viewBoxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGSymbolElementPreserveAspectRatio(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGSymbolElement* castedThis = static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(static_cast<JSSVGSymbolElement*>(asObject(slot.slotBase()))->impl());
+ SVGSymbolElement* imp = static_cast<SVGSymbolElement*>(castedThis->impl());
RefPtr<SVGAnimatedPreserveAspectRatio> obj = imp->preserveAspectRatioAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
void JSSVGSymbolElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -190,7 +197,7 @@ JSValue JSC_HOST_CALL jsSVGSymbolElementPrototypeFunctionGetPresentationAttribut
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h
index c5e5f71..11aaced 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h
@@ -33,7 +33,7 @@ class SVGSymbolElement;
class JSSVGSymbolElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGSymbolElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGSymbolElement>);
+ JSSVGSymbolElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGSymbolElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp
index 7abab12..8577776 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp
@@ -42,7 +42,7 @@ static const HashTableValue JSSVGTRefElementTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTRefElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTRefElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTRefElementTableValues, 0 };
#else
@@ -56,7 +56,7 @@ static const HashTableValue JSSVGTRefElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTRefElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTRefElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTRefElementPrototypeTableValues, 0 };
#else
@@ -72,8 +72,8 @@ JSObject* JSSVGTRefElementPrototype::self(ExecState* exec, JSGlobalObject* globa
const ClassInfo JSSVGTRefElement::s_info = { "SVGTRefElement", &JSSVGTextPositioningElement::s_info, &JSSVGTRefElementTable, 0 };
-JSSVGTRefElement::JSSVGTRefElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTRefElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGTRefElement::JSSVGTRefElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTRefElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
@@ -89,10 +89,11 @@ bool JSSVGTRefElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGTRefElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTRefElement* castedThis = static_cast<JSSVGTRefElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTRefElement* imp = static_cast<SVGTRefElement*>(static_cast<JSSVGTRefElement*>(asObject(slot.slotBase()))->impl());
+ SVGTRefElement* imp = static_cast<SVGTRefElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h
index e70e821..eabb96d 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h
@@ -33,7 +33,7 @@ class SVGTRefElement;
class JSSVGTRefElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGTRefElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTRefElement>);
+ JSSVGTRefElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTRefElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp
index acfbd95..a0a593b 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp
@@ -40,7 +40,7 @@ static const HashTableValue JSSVGTSpanElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTSpanElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTSpanElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTSpanElementPrototypeTableValues, 0 };
#else
@@ -56,8 +56,8 @@ JSObject* JSSVGTSpanElementPrototype::self(ExecState* exec, JSGlobalObject* glob
const ClassInfo JSSVGTSpanElement::s_info = { "SVGTSpanElement", &JSSVGTextPositioningElement::s_info, 0, 0 };
-JSSVGTSpanElement::JSSVGTSpanElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTSpanElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGTSpanElement::JSSVGTSpanElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTSpanElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h
index a3e9b6a..d85c4f1 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h
@@ -33,7 +33,7 @@ class SVGTSpanElement;
class JSSVGTSpanElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGTSpanElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTSpanElement>);
+ JSSVGTSpanElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTSpanElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
static const JSC::ClassInfo s_info;
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp
index 16afd09..ff8c8aa 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp
@@ -70,7 +70,7 @@ static const HashTableValue JSSVGTextContentElementTableValues[12] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextContentElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextContentElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGTextContentElementTableValues, 0 };
#else
@@ -87,19 +87,19 @@ static const HashTableValue JSSVGTextContentElementConstructorTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextContentElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextContentElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGTextContentElementConstructorTableValues, 0 };
#else
{ 8, 7, JSSVGTextContentElementConstructorTableValues, 0 };
#endif
-class JSSVGTextContentElementConstructor : public DOMObject {
+class JSSVGTextContentElementConstructor : public DOMConstructorObject {
public:
- JSSVGTextContentElementConstructor(ExecState* exec)
- : DOMObject(JSSVGTextContentElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGTextContentElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGTextContentElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGTextContentElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGTextContentElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -139,7 +139,7 @@ static const HashTableValue JSSVGTextContentElementPrototypeTableValues[15] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextContentElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextContentElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 127, JSSVGTextContentElementPrototypeTableValues, 0 };
#else
@@ -160,8 +160,8 @@ bool JSSVGTextContentElementPrototype::getOwnPropertySlot(ExecState* exec, const
const ClassInfo JSSVGTextContentElement::s_info = { "SVGTextContentElement", &JSSVGElement::s_info, &JSSVGTextContentElementTable, 0 };
-JSSVGTextContentElement::JSSVGTextContentElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextContentElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGTextContentElement::JSSVGTextContentElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextContentElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -177,81 +177,92 @@ bool JSSVGTextContentElement::getOwnPropertySlot(ExecState* exec, const Identifi
JSValue jsSVGTextContentElementTextLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->textLengthAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementLengthAdjust(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->lengthAdjustAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementRequiredFeatures(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredFeatures()), imp);
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredFeatures()), imp);
}
JSValue jsSVGTextContentElementRequiredExtensions(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->requiredExtensions()), imp);
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->requiredExtensions()), imp);
}
JSValue jsSVGTextContentElementSystemLanguage(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->systemLanguage()), imp);
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->systemLanguage()), imp);
}
JSValue jsSVGTextContentElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGTextContentElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGTextContentElementExternalResourcesRequired(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedBoolean> obj = imp->externalResourcesRequiredAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextContentElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextContentElement* castedThis = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGTextContentElement* imp = static_cast<SVGTextContentElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
JSValue jsSVGTextContentElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGTextContentElement* domObject = static_cast<JSSVGTextContentElement*>(asObject(slot.slotBase()));
+ return JSSVGTextContentElement::getConstructor(exec, domObject->globalObject());
}
void JSSVGTextContentElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
{
@@ -270,9 +281,9 @@ void setJSSVGTextContentElementXmlspace(ExecState* exec, JSObject* thisObject, J
imp->setXmlspace(value.toString(exec));
}
-JSValue JSSVGTextContentElement::getConstructor(ExecState* exec)
+JSValue JSSVGTextContentElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGTextContentElementConstructor>(exec);
+ return getDOMConstructor<JSSVGTextContentElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetNumberOfChars(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -341,7 +352,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetStartPositionOf
}
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getStartPositionOfChar(offset, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getStartPositionOfChar(offset, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
@@ -361,7 +372,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetEndPositionOfCh
}
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getEndPositionOfChar(offset, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatPoint>::create(imp->getEndPositionOfChar(offset, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
@@ -381,7 +392,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetExtentOfChar(Ex
}
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getExtentOfChar(offset, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getExtentOfChar(offset, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
@@ -468,7 +479,7 @@ JSValue JSC_HOST_CALL jsSVGTextContentElementPrototypeFunctionGetPresentationAtt
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h
index 3fbc5fd..0c90d83 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h
@@ -33,7 +33,7 @@ class SVGTextContentElement;
class JSSVGTextContentElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGTextContentElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextContentElement>);
+ JSSVGTextContentElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextContentElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
@@ -45,7 +45,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp
index 9ebc992..4f1dda6 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp
@@ -49,7 +49,7 @@ static const HashTableValue JSSVGTextElementTableValues[4] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 7, JSSVGTextElementTableValues, 0 };
#else
@@ -67,7 +67,7 @@ static const HashTableValue JSSVGTextElementPrototypeTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 3, JSSVGTextElementPrototypeTableValues, 0 };
#else
@@ -88,8 +88,8 @@ bool JSSVGTextElementPrototype::getOwnPropertySlot(ExecState* exec, const Identi
const ClassInfo JSSVGTextElement::s_info = { "SVGTextElement", &JSSVGTextPositioningElement::s_info, &JSSVGTextElementTable, 0 };
-JSSVGTextElement::JSSVGTextElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextElement> impl)
- : JSSVGTextPositioningElement(structure, impl)
+JSSVGTextElement::JSSVGTextElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextElement> impl)
+ : JSSVGTextPositioningElement(structure, globalObject, impl)
{
}
@@ -105,24 +105,27 @@ bool JSSVGTextElement::getOwnPropertySlot(ExecState* exec, const Identifier& pro
JSValue jsSVGTextElementTransform(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextElement* castedThis = static_cast<JSSVGTextElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextElement* imp = static_cast<SVGTextElement*>(static_cast<JSSVGTextElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextElement* imp = static_cast<SVGTextElement*>(castedThis->impl());
RefPtr<SVGAnimatedTransformList> obj = imp->transformAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextElementNearestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextElement* castedThis = static_cast<JSSVGTextElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextElement* imp = static_cast<SVGTextElement*>(static_cast<JSSVGTextElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->nearestViewportElement()));
+ SVGTextElement* imp = static_cast<SVGTextElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->nearestViewportElement()));
}
JSValue jsSVGTextElementFarthestViewportElement(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextElement* castedThis = static_cast<JSSVGTextElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextElement* imp = static_cast<SVGTextElement*>(static_cast<JSSVGTextElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->farthestViewportElement()));
+ SVGTextElement* imp = static_cast<SVGTextElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->farthestViewportElement()));
}
JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetBBox(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
@@ -134,7 +137,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetBBox(ExecState* exec,
SVGTextElement* imp = static_cast<SVGTextElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<FloatRect>::create(imp->getBBox()).get(), imp);
return result;
}
@@ -147,7 +150,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetCTM(ExecState* exec, J
SVGTextElement* imp = static_cast<SVGTextElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getCTM()).get(), imp);
return result;
}
@@ -160,7 +163,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetScreenCTM(ExecState* e
SVGTextElement* imp = static_cast<SVGTextElement*>(castedThisObj->impl());
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getScreenCTM()).get(), imp);
return result;
}
@@ -175,7 +178,7 @@ JSValue JSC_HOST_CALL jsSVGTextElementPrototypeFunctionGetTransformToElement(Exe
SVGElement* element = toSVGElement(args.at(0));
- JSC::JSValue result = toJS(exec, JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), JSSVGStaticPODTypeWrapper<TransformationMatrix>::create(imp->getTransformToElement(element, ec)).get(), imp);
setDOMException(exec, ec);
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h
index 4aff180..357640a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h
@@ -33,7 +33,7 @@ class SVGTextElement;
class JSSVGTextElement : public JSSVGTextPositioningElement {
typedef JSSVGTextPositioningElement Base;
public:
- JSSVGTextElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextElement>);
+ JSSVGTextElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp
index ff320ca..ebc5ad8 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp
@@ -48,7 +48,7 @@ static const HashTableValue JSSVGTextPathElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPathElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPathElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGTextPathElementTableValues, 0 };
#else
@@ -68,19 +68,19 @@ static const HashTableValue JSSVGTextPathElementConstructorTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPathElementConstructorTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPathElementConstructorTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGTextPathElementConstructorTableValues, 0 };
#else
{ 18, 15, JSSVGTextPathElementConstructorTableValues, 0 };
#endif
-class JSSVGTextPathElementConstructor : public DOMObject {
+class JSSVGTextPathElementConstructor : public DOMConstructorObject {
public:
- JSSVGTextPathElementConstructor(ExecState* exec)
- : DOMObject(JSSVGTextPathElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
+ JSSVGTextPathElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
+ : DOMConstructorObject(JSSVGTextPathElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
{
- putDirect(exec->propertyNames().prototype, JSSVGTextPathElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
+ putDirect(exec->propertyNames().prototype, JSSVGTextPathElementPrototype::self(exec, globalObject), None);
}
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
virtual const ClassInfo* classInfo() const { return &s_info; }
@@ -112,7 +112,7 @@ static const HashTableValue JSSVGTextPathElementPrototypeTableValues[7] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPathElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPathElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 31, JSSVGTextPathElementPrototypeTableValues, 0 };
#else
@@ -133,8 +133,8 @@ bool JSSVGTextPathElementPrototype::getOwnPropertySlot(ExecState* exec, const Id
const ClassInfo JSSVGTextPathElement::s_info = { "SVGTextPathElement", &JSSVGTextContentElement::s_info, &JSSVGTextPathElementTable, 0 };
-JSSVGTextPathElement::JSSVGTextPathElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextPathElement> impl)
- : JSSVGTextContentElement(structure, impl)
+JSSVGTextPathElement::JSSVGTextPathElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPathElement> impl)
+ : JSSVGTextContentElement(structure, globalObject, impl)
{
}
@@ -150,43 +150,48 @@ bool JSSVGTextPathElement::getOwnPropertySlot(ExecState* exec, const Identifier&
JSValue jsSVGTextPathElementStartOffset(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedLength> obj = imp->startOffsetAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementMethod(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->methodAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementSpacing(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedEnumeration> obj = imp->spacingAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementHref(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPathElement* castedThis = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPathElement* imp = static_cast<SVGTextPathElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->hrefAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPathElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
- return static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()))->getConstructor(exec);
+ JSSVGTextPathElement* domObject = static_cast<JSSVGTextPathElement*>(asObject(slot.slotBase()));
+ return JSSVGTextPathElement::getConstructor(exec, domObject->globalObject());
}
-JSValue JSSVGTextPathElement::getConstructor(ExecState* exec)
+JSValue JSSVGTextPathElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
{
- return getDOMConstructor<JSSVGTextPathElementConstructor>(exec);
+ return getDOMConstructor<JSSVGTextPathElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
}
// Constant getters
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h
index 9301f9d..382f8f0 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h
@@ -33,7 +33,7 @@ class SVGTextPathElement;
class JSSVGTextPathElement : public JSSVGTextContentElement {
typedef JSSVGTextContentElement Base;
public:
- JSSVGTextPathElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextPathElement>);
+ JSSVGTextPathElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPathElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
@@ -44,7 +44,7 @@ public:
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
}
- static JSC::JSValue getConstructor(JSC::ExecState*);
+ static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
};
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp
index 373d0c3..88260e7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp
@@ -47,7 +47,7 @@ static const HashTableValue JSSVGTextPositioningElementTableValues[6] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPositioningElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPositioningElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGTextPositioningElementTableValues, 0 };
#else
@@ -61,7 +61,7 @@ static const HashTableValue JSSVGTextPositioningElementPrototypeTableValues[1] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTextPositioningElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTextPositioningElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTextPositioningElementPrototypeTableValues, 0 };
#else
@@ -77,8 +77,8 @@ JSObject* JSSVGTextPositioningElementPrototype::self(ExecState* exec, JSGlobalOb
const ClassInfo JSSVGTextPositioningElement::s_info = { "SVGTextPositioningElement", &JSSVGTextContentElement::s_info, &JSSVGTextPositioningElementTable, 0 };
-JSSVGTextPositioningElement::JSSVGTextPositioningElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTextPositioningElement> impl)
- : JSSVGTextContentElement(structure, impl)
+JSSVGTextPositioningElement::JSSVGTextPositioningElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTextPositioningElement> impl)
+ : JSSVGTextContentElement(structure, globalObject, impl)
{
}
@@ -94,42 +94,47 @@ bool JSSVGTextPositioningElement::getOwnPropertySlot(ExecState* exec, const Iden
JSValue jsSVGTextPositioningElementX(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->xAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementY(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->yAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementDx(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->dxAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementDy(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedLengthList> obj = imp->dyAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTextPositioningElementRotate(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTextPositioningElement* castedThis = static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(static_cast<JSSVGTextPositioningElement*>(asObject(slot.slotBase()))->impl());
+ SVGTextPositioningElement* imp = static_cast<SVGTextPositioningElement*>(castedThis->impl());
RefPtr<SVGAnimatedNumberList> obj = imp->rotateAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h
index 3f4864d..b34c095 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h
@@ -33,7 +33,7 @@ class SVGTextPositioningElement;
class JSSVGTextPositioningElement : public JSSVGTextContentElement {
typedef JSSVGTextContentElement Base;
public:
- JSSVGTextPositioningElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTextPositioningElement>);
+ JSSVGTextPositioningElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTextPositioningElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp
index 479cbcc..438ed3f 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp
@@ -53,7 +53,7 @@ static const HashTableValue JSSVGTitleElementTableValues[5] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTitleElementTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTitleElementTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 15, JSSVGTitleElementTableValues, 0 };
#else
@@ -68,7 +68,7 @@ static const HashTableValue JSSVGTitleElementPrototypeTableValues[2] =
{ 0, 0, 0, 0 }
};
-static const HashTable JSSVGTitleElementPrototypeTable =
+static JSC_CONST_HASHTABLE HashTable JSSVGTitleElementPrototypeTable =
#if ENABLE(PERFECT_HASH_SIZE)
{ 0, JSSVGTitleElementPrototypeTableValues, 0 };
#else
@@ -89,8 +89,8 @@ bool JSSVGTitleElementPrototype::getOwnPropertySlot(ExecState* exec, const Ident
const ClassInfo JSSVGTitleElement::s_info = { "SVGTitleElement", &JSSVGElement::s_info, &JSSVGTitleElementTable, 0 };
-JSSVGTitleElement::JSSVGTitleElement(PassRefPtr<Structure> structure, PassRefPtr<SVGTitleElement> impl)
- : JSSVGElement(structure, impl)
+JSSVGTitleElement::JSSVGTitleElement(PassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<SVGTitleElement> impl)
+ : JSSVGElement(structure, globalObject, impl)
{
}
@@ -106,31 +106,35 @@ bool JSSVGTitleElement::getOwnPropertySlot(ExecState* exec, const Identifier& pr
JSValue jsSVGTitleElementXmllang(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
return jsString(exec, imp->xmllang());
}
JSValue jsSVGTitleElementXmlspace(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
return jsString(exec, imp->xmlspace());
}
JSValue jsSVGTitleElementClassName(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
RefPtr<SVGAnimatedString> obj = imp->classNameAnimated();
- return toJS(exec, obj.get(), imp);
+ return toJS(exec, castedThis->globalObject(), obj.get(), imp);
}
JSValue jsSVGTitleElementStyle(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
+ JSSVGTitleElement* castedThis = static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()));
UNUSED_PARAM(exec);
- SVGTitleElement* imp = static_cast<SVGTitleElement*>(static_cast<JSSVGTitleElement*>(asObject(slot.slotBase()))->impl());
- return toJS(exec, WTF::getPtr(imp->style()));
+ SVGTitleElement* imp = static_cast<SVGTitleElement*>(castedThis->impl());
+ return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->style()));
}
void JSSVGTitleElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
@@ -160,7 +164,7 @@ JSValue JSC_HOST_CALL jsSVGTitleElementPrototypeFunctionGetPresentationAttribute
const UString& name = args.at(0).toString(exec);
- JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name)));
+ JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getPresentationAttribute(name)));
return result;
}
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h
index 31848a7..91a49fd 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h
@@ -33,7 +33,7 @@ class SVGTitleElement;
class JSSVGTitleElement : public JSSVGElement {
typedef JSSVGElement Base;
public:
- JSSVGTitleElement(PassRefPtr<JSC::Structure>, PassRefPtr<SVGTitleElement>);
+ JSSVGTitleElement(PassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<SVGTitleElement>);
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
virtual void put(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
index cb98e9f..d50dfc5 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp