Making sure that all in-progress transactions are rolled back on
[WebKit-https.git] / WebCore / ChangeLog
1 2010-02-01  Dumitru Daniliuc  <dumi@chromium.org>
2
3         Reviewed by Eric Seidel.
4
5         Making sure that all in-progress transactions are rolled back on
6         the database thread before they're destroyed. Otherwise,
7         SQLiteTransaction's destructor will try to do a rollback and that
8         would cause an assertion failure, if the object is not destroyed
9         on the DB thread.
10
11         https://bugs.webkit.org/show_bug.cgi?id=34152
12
13         * platform/sql/SQLiteTransaction.cpp:
14         (WebCore::SQLiteTransaction::stop):
15         * storage/SQLTransaction.cpp:
16         (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
17         * storage/SQLTransaction.h:
18         * storage/SQLTransactionCoordinator.cpp:
19         (WebCore::SQLTransactionCoordinator::shutdown):
20
21 2010-02-01  Sam Weinig  <sam@webkit.org>
22
23         Reviewed by Beth Dakin.
24
25         Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
26
27         * page/EventHandler.h:
28         * page/mac/EventHandlerMac.mm:
29         (WebCore::EventHandler::currentNSEvent):
30         (WebCore::EventHandler::currentKeyboardEvent):
31         (WebCore::EventHandler::mouseDown):
32         (WebCore::EventHandler::mouseDragged):
33         (WebCore::EventHandler::mouseUp):
34         (WebCore::EventHandler::mouseMoved):
35         (WebCore::EventHandler::keyEvent):
36         (WebCore::EventHandler::wheelEvent):
37         (WebCore::EventHandler::sendContextMenuEvent):
38         (WebCore::EventHandler::eventMayStartDrag):
39         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
40
41 2010-02-01  Nate Chapin  <japhet@chromium.org>
42
43         Unreviewed, Chromium build fix.
44
45         Failed to properly add new files for http://trac.webkit.org/changeset/54150.
46
47         * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
48         * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
49         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
50         * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
51         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
52         * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
53         * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
54         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
55         * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
56         * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
57         * bindings/v8/custom/V8ScreenCustom.cpp: Added.
58         * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
59         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
60
61 2010-01-27  Matt Perry  <mpcomplete@chromium.org>
62
63         Reviewed by Eric Seidel.
64
65         Add support for addUserScript to chromium port.
66
67         * bindings/v8/ScriptController.cpp:
68         (WebCore::ScriptController::evaluateInWorld):
69         * bindings/v8/ScriptController.h:
70
71 2010-02-01  Eric Carlson  <eric.carlson@apple.com>
72
73         Reviewed by Dan Bernstein.
74
75         https://bugs.webkit.org/show_bug.cgi?id=34448
76         <rdar://problem/7598130>
77
78         RenderVideo::intrinsicSizeChanged infinite recursion
79
80         * rendering/RenderImage.h:
81         (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
82             be called by RenderVideo.
83         * rendering/RenderVideo.cpp:
84         (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
85             RenderVideo::intrinsicSizeChanged.
86         (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of 
87             RenderImage::imageChanged.
88
89 2010-02-01  Nate Chapin  <japhet@chromium.org>
90
91         Reviewed by Dimitri Glazkov.
92
93         [V8] Generate toV8() converter for most WebCore->V8 conversions,
94         and defined custom converters in their respective V8<class>Custom.cpp.
95
96         Old converters in V8DOMWrapper will be deleted in a later patch.
97
98         https://bugs.webkit.org/show_bug.cgi?id=32563
99
100         * Android.v8bindings.mk:
101         * WebCore.gyp/WebCore.gyp:
102         * WebCore.gypi:
103         * bindings/scripts/CodeGeneratorV8.pm:
104         * bindings/v8/V8Collection.h:
105         * bindings/v8/V8DOMWrapper.cpp:
106         * bindings/v8/V8DOMWrapper.h:
107         * bindings/v8/V8Proxy.h:
108         * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
109         * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
110         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
111         * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
112         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
113         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
114         * bindings/v8/custom/V8ConsoleCustom.cpp:
115         * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
116         * bindings/v8/custom/V8DOMWindowCustom.cpp:
117         * bindings/v8/custom/V8DocumentCustom.cpp:
118         * bindings/v8/custom/V8ElementCustom.cpp:
119         * bindings/v8/custom/V8EventCustom.cpp:
120         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
121         * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
122         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
123         * bindings/v8/custom/V8HistoryCustom.cpp:
124         * bindings/v8/custom/V8LocationCustom.cpp:
125         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
126         * bindings/v8/custom/V8NavigatorCustom.cpp:
127         * bindings/v8/custom/V8NodeCustom.cpp:
128         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
129         * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
130         * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
131         * bindings/v8/custom/V8ScreenCustom.cpp: Added.
132         * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
133         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
134         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
135         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
136         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
137         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
138         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
139         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
140         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
141         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
142         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
143         * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings.
144
145 2010-02-01  Alexander Pavlov  <apavlov@chromium.org>
146
147         Reviewed by Pavel Feldman.
148
149         Web Inspector: lazy-load textual resources to avoid UI hangup
150         https://bugs.webkit.org/show_bug.cgi?id=34332
151
152         * inspector/front-end/ResourceView.js:
153         (WebInspector.ResourceView.prototype._innerSelectContentTab):
154         * inspector/front-end/SourceView.js:
155         (WebInspector.SourceView.prototype.show):
156         (WebInspector.SourceView.prototype.contentTabSelected):
157
158 2010-02-01  Brady Eidson  <beidson@apple.com>
159
160         Reviewed by Adele Peterson.
161
162         Crash in Safari opening new tabs to "same page"
163         <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
164
165         Test: fast/loader/crash-copying-backforwardlist.html
166
167         * loader/FrameLoader.cpp:
168         (WebCore::FrameLoader::loadItem): Null check currentItem().
169
170         * page/Page.cpp:
171         (WebCore::Page::goToItem): Ditto.
172
173 2010-02-01  Kevin Watters  <kevinwatters@gmail.com>
174
175         Reviewed by Kevin Ollivier.
176
177         [wx] Remove unused file that doesn't seem to belong to the port.
178         
179         https://bugs.webkit.org/show_bug.cgi?id=34445
180
181         * platform/wx/KeyEventWin.cpp: Removed.
182
183 2010-02-01  Eric Carlson  <eric.carlson@apple.com>
184
185         Reviewed by Adele Peterson.
186
187         Fullscreen API should be on HTMLVideoElement
188         https://bugs.webkit.org/show_bug.cgi?id=34438
189         
190         Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
191
192         * html/HTMLMediaElement.cpp:
193         * html/HTMLMediaElement.h:
194         * html/HTMLMediaElement.idl:
195         * html/HTMLVideoElement.cpp:
196         (WebCore::HTMLVideoElement::paint): Removed outdated FIXME.
197         (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto.
198         (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement.
199         (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
200         (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto.
201         (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
202         * html/HTMLVideoElement.h:
203         * html/HTMLVideoElement.idl:
204
205 2010-02-01  Pavel Feldman  <pfeldman@chromium.org>
206
207         Reviewed by Timothy Hatcher.
208
209         Web Inspector: Syntax highlighting in source view of
210         Resources pane stops half-way.
211
212         There were two problems here: (1) styles for html highlighter were not
213         added into the css file (they used to be injected manually in the
214         SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's.
215         Otherwise unbalanced quotes in the text nodes were matching too match
216         into the string tokens.
217
218         https://bugs.webkit.org/show_bug.cgi?id=34359
219
220         * inspector/front-end/NativeTextViewer.js:
221         (WebInspector.NativeTextViewer.prototype._createLineDivs):
222         (WebInspector.NativeTextViewer.prototype._lineHeight):
223         (WebInspector.NativeTextViewer.prototype.initFontMetrics):
224         * inspector/front-end/SourceFrame.js:
225         (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
226         * inspector/front-end/SourceHTMLTokenizer.js:
227         (WebInspector.SourceHTMLTokenizer):
228         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
229         * inspector/front-end/SourceHTMLTokenizer.re2js:
230         * inspector/front-end/TextEditor.js:
231         (WebInspector.TextEditor.prototype.initFontMetrics):
232         (WebInspector.TextEditor.prototype._registerShortcuts):
233         * inspector/front-end/inspectorSyntaxHighlight.css:
234
235 2010-02-01  Ben Murdoch  <benm@google.com>
236
237         Reviewed by Darin Adler.
238
239         ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
240         https://bugs.webkit.org/show_bug.cgi?id=34335
241
242         * bindings/js/ScriptCallStack.cpp:
243         (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still availble so pass it to the ScriptCallFrame being constructed.
244
245 2010-02-01  Dirk Schulze  <krit@webkit.org>
246
247         Reviewed by Simon Fraser.
248
249         Add back an AffineTransform class for use by SVG
250         https://bugs.webkit.org/show_bug.cgi?id=33750
251
252         These are the first steps on reimplementing AffineTransform. Unlike
253         the old affine code, this one is platform independent like TransformationMatrix.
254         AffineTransform has the benefit, that it stores just 6 doubles instead of
255         16 in TransformationMatrix. The calculations of transformations are not that
256         complex and can improve the memory usage and speed of SVG.
257         AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
258         least for the moment).
259         HTML Canvas is the first that makes use of the new AffineTransform. Next patches
260         will introduce the affine code to SVG.
261
262         No new tests. The new AffineTransformation code is tested by fast/canvas.
263
264         * Android.mk:
265         * GNUmakefile.am:
266         * WebCore.gypi:
267         * WebCore.pro:
268         * WebCore.vcproj/WebCore.vcproj:
269         * WebCore.xcodeproj/project.pbxproj:
270         * html/canvas/CanvasRenderingContext2D.cpp:
271         (WebCore::CanvasRenderingContext2D::scale):
272         (WebCore::CanvasRenderingContext2D::rotate):
273         (WebCore::CanvasRenderingContext2D::translate):
274         (WebCore::CanvasRenderingContext2D::transform):
275         (WebCore::CanvasRenderingContext2D::setTransform):
276         (WebCore::CanvasRenderingContext2D::isPointInPath):
277         (WebCore::CanvasRenderingContext2D::willDraw):
278         * html/canvas/CanvasRenderingContext2D.h:
279         * platform/graphics/GraphicsContext.h:
280         * platform/graphics/Path.h:
281         * platform/graphics/cairo/GraphicsContextCairo.cpp:
282         (WebCore::GraphicsContext::getAffineCTM):
283         (WebCore::GraphicsContext::concatCTM):
284         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
285         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
286         * platform/graphics/cairo/PathCairo.cpp:
287         (WebCore::Path::transform):
288         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
289         (WebCore::AffineTransform::operator cairo_matrix_t):
290         * platform/graphics/cg/GraphicsContextCG.cpp:
291         (WebCore::GraphicsContext::concatCTM):
292         (WebCore::GraphicsContext::getAffineCTM):
293         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
294         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
295         * platform/graphics/cg/PathCG.cpp:
296         (WebCore::Path::transform):
297         * platform/graphics/cg/TransformationMatrixCG.cpp:
298         (WebCore::AffineTransform::operator CGAffineTransform):
299         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
300         (WebCore::GraphicsContext::getAffineCTM):
301         (WebCore::GraphicsContext::concatCTM):
302         * platform/graphics/haiku/PathHaiku.cpp:
303         (WebCore::Path::transform):
304         * platform/graphics/qt/GraphicsContextQt.cpp:
305         (WebCore::GraphicsContext::getAffineCTM):
306         (WebCore::GraphicsContext::concatCTM):
307         * platform/graphics/qt/PathQt.cpp:
308         (WebCore::Path::transform):
309         * platform/graphics/qt/TransformationMatrixQt.cpp:
310         (WebCore::AffineTransform::operator QTransform):
311         * platform/graphics/skia/GraphicsContextSkia.cpp:
312         (WebCore::GraphicsContext::concatCTM):
313         (WebCore::GraphicsContext::getAffineCTM):
314         * platform/graphics/skia/PathSkia.cpp:
315         (WebCore::Path::transform):
316         * platform/graphics/skia/TransformationMatrixSkia.cpp:
317         (WebCore::AffineTransform::operator SkMatrix):
318         * platform/graphics/transforms/AffineTransform.cpp: Added.
319         (WebCore::affineTransformDecompose):
320         (WebCore::affineTransformCompose):
321         (WebCore::AffineTransform::AffineTransform):
322         (WebCore::AffineTransform::reset):
323         (WebCore::AffineTransform::setMatrix):
324         (WebCore::AffineTransform::isIdentity):
325         (WebCore::AffineTransform::det):
326         (WebCore::AffineTransform::isInvertible):
327         (WebCore::AffineTransform::inverse):
328         (WebCore::AffineTransform::multiply):
329         (WebCore::AffineTransform::multLeft):
330         (WebCore::AffineTransform::rotate):
331         (WebCore::AffineTransform::scale):
332         (WebCore::AffineTransform::translate):
333         (WebCore::AffineTransform::scaleNonUniform):
334         (WebCore::AffineTransform::rotateFromVector):
335         (WebCore::AffineTransform::flipX):
336         (WebCore::AffineTransform::flipY):
337         (WebCore::AffineTransform::shear):
338         (WebCore::AffineTransform::skew):
339         (WebCore::AffineTransform::skewX):
340         (WebCore::AffineTransform::skewY):
341         (WebCore::makeMapBetweenRects):
342         (WebCore::AffineTransform::map):
343         (WebCore::AffineTransform::mapPoint):
344         (WebCore::AffineTransform::mapRect):
345         (WebCore::AffineTransform::blend):
346         (WebCore::AffineTransform::toTransformationMatrix):
347         * platform/graphics/transforms/AffineTransform.h: Added.
348         (WebCore::AffineTransform::a):
349         (WebCore::AffineTransform::setA):
350         (WebCore::AffineTransform::b):
351         (WebCore::AffineTransform::setB):
352         (WebCore::AffineTransform::c):
353         (WebCore::AffineTransform::setC):
354         (WebCore::AffineTransform::d):
355         (WebCore::AffineTransform::setD):
356         (WebCore::AffineTransform::e):
357         (WebCore::AffineTransform::setE):
358         (WebCore::AffineTransform::f):
359         (WebCore::AffineTransform::setF):
360         (WebCore::AffineTransform::operator== ):
361         (WebCore::AffineTransform::operator!=):
362         (WebCore::AffineTransform::operator*=):
363         (WebCore::AffineTransform::operator*):
364         (WebCore::AffineTransform::setMatrix):
365         * platform/graphics/win/GraphicsContextWin.cpp:
366         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
367         * platform/graphics/wince/GraphicsContextWince.cpp:
368         (WebCore::GraphicsContext::concatCTM):
369         (WebCore::GraphicsContext::getAffineCTM):
370         * platform/graphics/wx/GraphicsContextWx.cpp:
371         (WebCore::GraphicsContext::getAffineCTM):
372         (WebCore::GraphicsContext::concatCTM):
373         * platform/graphics/wx/PathWx.cpp:
374         (WebCore::Path::transform):
375         * platform/graphics/wx/TransformationMatrixWx.cpp:
376         (WebCore::AffineTransform::operator wxGraphicsMatrix):
377
378 2010-01-29  Philippe Normand  <pnormand@igalia.com>
379
380         Reviewed by Eric Carlson.
381
382         [GTK] set playbin mute property depending on volume value
383         https://bugs.webkit.org/show_bug.cgi?id=31586
384
385         New API in MediaPlayer for mute control. 3 new methods are
386         introduced:
387
388         - bool supportsMuting() const;
389         - bool muted() const;
390         - void setMuted(bool);
391
392         Platform MediaPlayer implementations can support it easily if the
393         underlying sound daemon/API supports muting (eg. not only setting
394         volume to 0) like PulseAudio for instance on Linux. At the moment
395         the only player supporting this new API is the
396         MediaPlayerPrivateGStreamer.
397
398         * html/HTMLMediaElement.cpp:
399         (WebCore::HTMLMediaElement::setMuted):
400         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
401         (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
402         * html/HTMLMediaElement.h:
403         * platform/graphics/MediaPlayer.cpp:
404         (WebCore::NullMediaPlayerPrivate::supportsMuting):
405         (WebCore::NullMediaPlayerPrivate::setMuted):
406         (WebCore::MediaPlayer::MediaPlayer):
407         (WebCore::MediaPlayer::muted):
408         (WebCore::MediaPlayer::supportsMuting):
409         (WebCore::MediaPlayer::setMuted):
410         (WebCore::MediaPlayer::volumeChanged):
411         (WebCore::MediaPlayer::muteChanged):
412         * platform/graphics/MediaPlayer.h:
413         (WebCore::MediaPlayerClient::mediaPlayerMuteChanged):
414         * platform/graphics/MediaPlayerPrivate.h:
415         (WebCore::MediaPlayerPrivateInterface::supportsMuting):
416         (WebCore::MediaPlayerPrivateInterface::setMuted):
417         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
418         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
419         (WebCore::notifyVolumeIdleCallback):
420         (WebCore::mediaPlayerPrivateMuteChangedCallback):
421         (WebCore::notifyMuteIdleCallback):
422         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
423         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
424         (WebCore::MediaPlayerPrivate::volumeChangedCallback):
425         (WebCore::MediaPlayerPrivate::volumeChanged):
426         (WebCore::MediaPlayerPrivate::supportsMuting):
427         (WebCore::MediaPlayerPrivate::setMuted):
428         (WebCore::MediaPlayerPrivate::muteChangedCallback):
429         (WebCore::MediaPlayerPrivate::muteChanged):
430         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
431         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
432
433 2010-02-01  Henry Haverinen  <henry.haverinen@nokia.com>
434
435         Reviewed by Simon Hausmann.
436
437         [Qt] Build without SSL support is broken
438
439         Added missing #ifdefs for OpenSSL support and one null-pointer
440         check for the socket.
441
442         https://bugs.webkit.org/show_bug.cgi?id=34416
443
444         * platform/network/qt/SocketStreamHandlePrivate.h:
445         * platform/network/qt/SocketStreamHandleQt.cpp:
446         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
447         (WebCore::SocketStreamHandlePrivate::send):
448
449 2010-02-01  Pavel Feldman  <pfeldman@chromium.org>
450
451         Reviewed by Timothy Hatcher.
452
453         Web Inspector: Fix rest of the NativeTextViewer (line numbers,
454         conditional breakpoints, selection).
455
456         * inspector/front-end/NativeTextViewer.js:
457         (WebInspector.NativeTextViewer):
458         (WebInspector.NativeTextViewer.prototype._updatePreferredSize):
459         (WebInspector.NativeTextViewer.prototype._registerMouseListeners):
460         (WebInspector.NativeTextViewer.prototype._mouseDown):
461         (WebInspector.NativeTextViewer.prototype._contextMenu):
462         (WebInspector.NativeTextViewer.prototype._lineForMouseEvent):
463         (WebInspector.NativeTextViewer.prototype._lineHeight):
464         * inspector/front-end/TextEditor.js:
465         (WebInspector.TextEditor):
466         (WebInspector.TextEditor.prototype._registerMouseListeners):
467         (WebInspector.TextEditor.prototype._offsetToLine):
468         (WebInspector.TextEditor.prototype._lineHeight):
469         (WebInspector.TextEditor.prototype.reveal):
470         (WebInspector.TextEditor.prototype._paint):
471         (WebInspector.TextEditor.prototype._updateDivDecorations):
472         (WebInspector.TextEditor.prototype._paintSelection):
473
474 2010-02-01  Steve Block  <steveblock@google.com>
475
476         Reviewed by Ariya Hidayat.
477
478         Adds implementation of JavaString for V8.
479         https://bugs.webkit.org/show_bug.cgi?id=33953
480
481         No new tests, build fix only.
482
483         * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8
484         * bridge/jni/v8: Added.
485         * bridge/jni/v8/JavaStringV8.h: Added.
486         (JSC::Bindings::JavaStringImpl::init):
487         (JSC::Bindings::JavaStringImpl::UTF8String):
488         (JSC::Bindings::JavaStringImpl::uchars):
489         (JSC::Bindings::JavaStringImpl::length):
490
491 2010-02-01  Alex Milowski  <alex@milowski.com>
492
493         Reviewed by Darin Adler.
494
495         Added compile time debug support for mathml layout (block boundary & baseline)
496
497         * mathml/RenderMathMLBlock.cpp:
498         (WebCore::RenderMathMLBlock::stretchToHeight):
499         (WebCore::RenderMathMLBlock::paint):
500         * mathml/RenderMathMLBlock.h:
501
502 2010-02-01  Philippe Normand  <pnormand@igalia.com>
503
504         Rubber stamped by Xan Lopez.
505
506         Fixed compilation warning about unsigned vs signed comparison.
507
508         * plugins/gtk/PluginViewGtk.cpp:
509         (WebCore::PluginView::paint):
510
511 2010-01-31  Kent Tamura  <tkent@chromium.org>
512
513         Unreviewed. Revert r54112 and r54124 because of Windows build error.
514
515         * Android.mk:
516         * GNUmakefile.am:
517         * WebCore.gypi:
518         * WebCore.pro:
519         * WebCore.vcproj/WebCore.vcproj:
520         * WebCore.xcodeproj/project.pbxproj:
521         * html/canvas/CanvasRenderingContext2D.cpp:
522         (WebCore::CanvasRenderingContext2D::scale):
523         (WebCore::CanvasRenderingContext2D::rotate):
524         (WebCore::CanvasRenderingContext2D::translate):
525         (WebCore::CanvasRenderingContext2D::transform):
526         (WebCore::CanvasRenderingContext2D::setTransform):
527         (WebCore::CanvasRenderingContext2D::isPointInPath):
528         (WebCore::CanvasRenderingContext2D::willDraw):
529         * html/canvas/CanvasRenderingContext2D.h:
530         * platform/graphics/GraphicsContext.h:
531         * platform/graphics/Path.h:
532         * platform/graphics/cairo/GraphicsContextCairo.cpp:
533         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
534         * platform/graphics/cairo/PathCairo.cpp:
535         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
536         * platform/graphics/cg/GraphicsContextCG.cpp:
537         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
538         * platform/graphics/cg/PathCG.cpp:
539         * platform/graphics/cg/TransformationMatrixCG.cpp:
540         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
541         * platform/graphics/haiku/PathHaiku.cpp:
542         * platform/graphics/qt/GraphicsContextQt.cpp:
543         * platform/graphics/qt/PathQt.cpp:
544         * platform/graphics/qt/TransformationMatrixQt.cpp:
545         * platform/graphics/skia/GraphicsContextSkia.cpp:
546         * platform/graphics/skia/PathSkia.cpp:
547         * platform/graphics/skia/TransformationMatrixSkia.cpp:
548         * platform/graphics/transforms/AffineTransform.cpp: Removed.
549         * platform/graphics/transforms/AffineTransform.h: Removed.
550         * platform/graphics/wince/GraphicsContextWince.cpp:
551         * platform/graphics/wx/GraphicsContextWx.cpp:
552         * platform/graphics/wx/PathWx.cpp:
553         * platform/graphics/wx/TransformationMatrixWx.cpp:
554         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
555
556 2010-01-31  Kwang Yul Seo  <skyul@company100.net>
557
558         Reviewed by Darin Adler.
559
560         Limit the scope of packing alignment to avoid MSVC C4103 warning.
561         https://bugs.webkit.org/show_bug.cgi?id=34390
562
563         Use pack(push, 16) and pack(pop) to limit the scope of packing
564         alignment change.
565
566         * bindings/js/JSSVGPODTypeWrapper.h:
567
568 2010-01-31  Kent Tamura  <tkent@chromium.org>
569
570         Reviewed by Darin Adler.
571
572         Fix valueAsNumber calculation for type=month.
573         https://bugs.webkit.org/show_bug.cgi?id=34304
574
575         valueAsNumber calculation for type=month which was checked in as
576         r53893 was the number of milliseconds since UNIX epoch, and it was
577         wrong. The correct way is the number months since UNIX epoch.
578
579         * html/DateComponents.cpp:
580         (WebCore::DateComponents::setMonthsSinceEpoch):
581         (WebCore::DateComponents::monthsSinceEpoch):
582         * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch().
583         * html/HTMLInputElement.cpp:
584         (WebCore::HTMLInputElement::parseToDouble):
585           Switch to monthsSinceEpoch() for type=MONTH.
586         (WebCore::HTMLInputElement::valueAsDate):
587           Add code with millisecondsSinceEpoch() for MONTH because
588           parseToDouble() changed its behavior.
589         (WebCore::HTMLInputElement::setValueAsNumber):
590           Use setMonthsSinceEpoch() for MONTH.
591
592 2010-01-31  Dan Bernstein  <mitz@apple.com>
593
594         Reviewed by Timothy Hatcher.
595
596         Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
597         https://bugs.webkit.org/show_bug.cgi?id=34398
598
599         * inspector/front-end/inspector.css: Specify line-height: normal for
600         ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
601
602 2010-01-28  Ojan Vafai  <ojan@chromium.org>
603
604         Reviewed by Darin Adler.
605
606         Implement CSSOM Range.getClientRects for collapsed selections
607         https://bugs.webkit.org/show_bug.cgi?id=34239
608
609         When getting the quads for a range on a text node, allow returning
610         zero width quads. This leaves the case of collapsed selections inside
611         elements still not fixed, but no worse.
612
613         * rendering/InlineTextBox.cpp:
614         (WebCore::InlineTextBox::selectionRect):
615         * rendering/RenderText.cpp:
616         (WebCore::RenderText::absoluteQuadsForRange):
617
618 2010-01-31  Oliver Hunt  <oliver@apple.com>
619
620         Reviewed by Simon Fraser.
621
622         Animated scaling of background-image is too slow
623         https://bugs.webkit.org/show_bug.cgi?id=33808
624
625         Implement a version of the RenderImage animated scaling optimisation
626         for background images. Due to the possibility of arbitrary transforms
627         being applied to containing elements we explicitly check the current
628         CTM of the context for scaling or rotation.
629
630         * platform/graphics/GraphicsContext.cpp:
631         (WebCore::GraphicsContext::drawTiledImage):
632         * platform/graphics/GraphicsContext.h:
633         * platform/graphics/transforms/TransformationMatrix.h:
634         (WebCore::TransformationMatrix::isIdentityOrTranslation):
635         * rendering/RenderBoxModelObject.cpp:
636         (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
637         (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
638         (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
639         (WebCore::RenderBoxModelScaleData::size):
640         (WebCore::RenderBoxModelScaleData::setSize):
641         (WebCore::RenderBoxModelScaleData::lastPaintTime):
642         (WebCore::RenderBoxModelScaleData::setLastPaintTime):
643         (WebCore::RenderBoxModelScaleData::useLowQualityScale):
644         (WebCore::RenderBoxModelScaleData::transform):
645         (WebCore::RenderBoxModelScaleData::setTransform):
646         (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
647         (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
648         (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
649         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
650         (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
651         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
652         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
653         * rendering/RenderBoxModelObject.h:
654
655 2010-01-31  Dirk Schulze  <krit@webkit.org>
656
657         Reviewed by Simon Fraser.
658
659         Add back an AffineTransform class for use by SVG
660         https://bugs.webkit.org/show_bug.cgi?id=33750
661
662         These are the first steps on reimplementing AffineTransform. Unlike
663         the old affine code, this one is platform independent like TransformationMatrix.
664         AffineTransform has the benefit, that it stores just 6 doubles instead of
665         16 in TransformationMatrix. The calculations of transformations are not that
666         complex and can improve the memory usage and speed of SVG.
667         AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
668         least for the moment).
669         HTML Canvas is the first that makes use of the new AffineTransform. Next patches
670         will introduce the affine code to SVG.
671
672         No new tests. The new AffineTransformation code is tested by fast/canvas.
673
674         * Android.mk:
675         * GNUmakefile.am:
676         * WebCore.gypi:
677         * WebCore.pro:
678         * WebCore.vcproj/WebCore.vcproj:
679         * WebCore.xcodeproj/project.pbxproj:
680         * html/canvas/CanvasRenderingContext2D.cpp:
681         (WebCore::CanvasRenderingContext2D::scale):
682         (WebCore::CanvasRenderingContext2D::rotate):
683         (WebCore::CanvasRenderingContext2D::translate):
684         (WebCore::CanvasRenderingContext2D::transform):
685         (WebCore::CanvasRenderingContext2D::setTransform):
686         (WebCore::CanvasRenderingContext2D::isPointInPath):
687         (WebCore::CanvasRenderingContext2D::willDraw):
688         * html/canvas/CanvasRenderingContext2D.h:
689         * platform/graphics/GraphicsContext.h:
690         * platform/graphics/Path.h:
691         * platform/graphics/cairo/GraphicsContextCairo.cpp:
692         (WebCore::GraphicsContext::getAffineCTM):
693         (WebCore::GraphicsContext::concatCTM):
694         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
695         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
696         * platform/graphics/cairo/PathCairo.cpp:
697         (WebCore::Path::transform):
698         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
699         (WebCore::AffineTransform::operator cairo_matrix_t):
700         * platform/graphics/cg/GraphicsContextCG.cpp:
701         (WebCore::GraphicsContext::concatCTM):
702         (WebCore::GraphicsContext::getAffineCTM):
703         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
704         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
705         * platform/graphics/cg/PathCG.cpp:
706         (WebCore::Path::transform):
707         * platform/graphics/cg/TransformationMatrixCG.cpp:
708         (WebCore::AffineTransform::operator CGAffineTransform):
709         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
710         (WebCore::GraphicsContext::getAffineCTM):
711         (WebCore::GraphicsContext::concatCTM):
712         * platform/graphics/haiku/PathHaiku.cpp:
713         (WebCore::Path::transform):
714         * platform/graphics/qt/GraphicsContextQt.cpp:
715         (WebCore::GraphicsContext::getAffineCTM):
716         (WebCore::GraphicsContext::concatCTM):
717         * platform/graphics/qt/PathQt.cpp:
718         (WebCore::Path::transform):
719         * platform/graphics/qt/TransformationMatrixQt.cpp:
720         (WebCore::AffineTransform::operator QTransform):
721         * platform/graphics/skia/GraphicsContextSkia.cpp:
722         (WebCore::GraphicsContext::getAffineCTM):
723         * platform/graphics/skia/PathSkia.cpp:
724         (WebCore::Path::transform):
725         * platform/graphics/skia/TransformationMatrixSkia.cpp:
726         (WebCore::AffineTransform::operator SkMatrix):
727         * platform/graphics/transforms/AffineTransform.cpp: Added.
728         (WebCore::affineTransformDecompose):
729         (WebCore::affineTransformCompose):
730         (WebCore::AffineTransform::AffineTransform):
731         (WebCore::AffineTransform::reset):
732         (WebCore::AffineTransform::setMatrix):
733         (WebCore::AffineTransform::isIdentity):
734         (WebCore::AffineTransform::det):
735         (WebCore::AffineTransform::isInvertible):
736         (WebCore::AffineTransform::inverse):
737         (WebCore::AffineTransform::multiply):
738         (WebCore::AffineTransform::multLeft):
739         (WebCore::AffineTransform::rotate):
740         (WebCore::AffineTransform::scale):
741         (WebCore::AffineTransform::translate):
742         (WebCore::AffineTransform::scaleNonUniform):
743         (WebCore::AffineTransform::rotateFromVector):
744         (WebCore::AffineTransform::flipX):
745         (WebCore::AffineTransform::flipY):
746         (WebCore::AffineTransform::shear):
747         (WebCore::AffineTransform::skew):
748         (WebCore::AffineTransform::skewX):
749         (WebCore::AffineTransform::skewY):
750         (WebCore::makeMapBetweenRects):
751         (WebCore::AffineTransform::map):
752         (WebCore::AffineTransform::mapPoint):
753         (WebCore::AffineTransform::mapRect):
754         (WebCore::AffineTransform::blend):
755         * platform/graphics/transforms/AffineTransform.h: Added.
756         (WebCore::AffineTransform::a):
757         (WebCore::AffineTransform::setA):
758         (WebCore::AffineTransform::b):
759         (WebCore::AffineTransform::setB):
760         (WebCore::AffineTransform::c):
761         (WebCore::AffineTransform::setC):
762         (WebCore::AffineTransform::d):
763         (WebCore::AffineTransform::setD):
764         (WebCore::AffineTransform::e):
765         (WebCore::AffineTransform::setE):
766         (WebCore::AffineTransform::f):
767         (WebCore::AffineTransform::setF):
768         (WebCore::AffineTransform::operator== ):
769         (WebCore::AffineTransform::operator!=):
770         (WebCore::AffineTransform::operator*=):
771         (WebCore::AffineTransform::operator*):
772         (WebCore::AffineTransform::setMatrix):
773         * platform/graphics/wince/GraphicsContextWince.cpp:
774         (WebCore::GraphicsContext::concatCTM):
775         (WebCore::GraphicsContext::getAffineCTM):
776         * platform/graphics/wx/GraphicsContextWx.cpp:
777         (WebCore::GraphicsContext::getAffineCTM):
778         (WebCore::GraphicsContext::concatCTM):
779         * platform/graphics/wx/PathWx.cpp:
780         (WebCore::Path::transform):
781         * platform/graphics/wx/TransformationMatrixWx.cpp:
782         (WebCore::AffineTransform::operator wxGraphicsMatrix):
783
784 2010-01-31  Pavel Feldman  <pfeldman@chromium.org>
785
786         Reviewed by Timothy Hatcher.
787
788         Web Inspector: [REGRESSION] Breakpoint source line is not displayed
789         in the breakpoint manager.
790
791         * inspector/front-end/SourceFrame.js:
792         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
793
794 2010-01-31  Pavel Feldman  <pfeldman@chromium.org>
795
796         Reviewed by Timothy Hatcher.
797
798         Web Inspector: Introduce NativeTextViewer.
799
800         This change handles rendering highlighted text, using browser's
801         selection/drag/drop/click logic. Breakpoint decorations and
802         program counter is working.
803
804         Todo: line numbers are painted 'under' the text when scrolling
805         horizontally, search is not yet implemented.
806
807         https://bugs.webkit.org/show_bug.cgi?id=34391
808
809         * WebCore.gypi:
810         * WebCore.vcproj/WebCore.vcproj:
811         * inspector/front-end/DivBasedTextViewer.js: Added.
812         (WebInspector.DivBasedTextViewer):
813         (WebInspector.DivBasedTextViewer.prototype._textChanged):
814         (WebInspector.DivBasedTextViewer.prototype._createLineDivs):
815         (WebInspector.DivBasedTextViewer.prototype._updatePreferredSize):
816         (WebInspector.DivBasedTextViewer.prototype._scroll):
817         (WebInspector.DivBasedTextViewer.prototype._registerMouseListeners):
818         (WebInspector.DivBasedTextViewer.prototype._registerKeyboardListeners):
819         (WebInspector.DivBasedTextViewer.prototype._registerClipboardListeners):
820         (WebInspector.DivBasedTextViewer.prototype._paintSelection):
821         (WebInspector.DivBasedTextViewer.prototype._positionDivDecoration):
822         (WebInspector.DivBasedTextViewer.prototype._mouseDown):
823         (WebInspector.DivBasedTextViewer.prototype._contextMenu):
824         (WebInspector.DivBasedTextViewer.prototype._caretForMouseEvent):
825         (WebInspector.DivBasedTextViewer.prototype._paintLine):
826         (WebInspector.DivBasedTextViewer.prototype._createSpan):
827         * inspector/front-end/Settings.js:
828         * inspector/front-end/SourceFrame.js:
829         (WebInspector.SourceFrame.prototype.clearMessages):
830         (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
831         (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
832         (WebInspector.SourceFrame.prototype._addMessageToSource):
833         (WebInspector.SourceFrame.prototype.resize):
834         * inspector/front-end/TextEditor.js:
835         (WebInspector.TextEditor):
836         (WebInspector.TextEditor.prototype.setDivDecoration):
837         (WebInspector.TextEditor.prototype._registerMouseListeners):
838         (WebInspector.TextEditor.prototype._registerKeyboardListeners):
839         (WebInspector.TextEditor.prototype._registerClipboardListeners):
840         (WebInspector.TextEditor.prototype.reveal):
841         (WebInspector.TextEditor.prototype._textChanged):
842         (WebInspector.TextEditor.prototype.revalidateDecorationsAndPaint):
843         (WebInspector.TextEditor.prototype._updatePreferredSize):
844         (WebInspector.TextEditor.prototype.resize):
845         (WebInspector.TextEditor.prototype._paintLinesContinuation):
846         (WebInspector.TextEditor.prototype._paintLine):
847         (WebInspector.TextEditor.prototype._contextMenu):
848         (WebInspector.TextEditor.prototype._caretForMouseEvent):
849         (WebInspector.TextEditor.prototype._changeFont):
850         * inspector/front-end/TextEditorHighlighter.js:
851         (WebInspector.TextEditorHighlighter.prototype._lex):
852         * inspector/front-end/WebKit.qrc:
853         * inspector/front-end/inspector.html:
854         * inspector/front-end/textEditor.css:
855
856 2010-01-31  Benjamin Poulain  <benjamin.poulain@nokia.com>
857
858         Reviewed by Eric Seidel.
859
860         [Qt] Enable FAST_MOBILE_SCROLLING on Qt embedded platforms
861         https://bugs.webkit.org/show_bug.cgi?id=34168
862
863         Enable FAST_MOBILE_SCROLLING for Qt on Maemo 5, Linux embedded
864         and Symbian
865
866         * WebCore.pro:
867
868 2010-01-31  Yury Semikhatsky  <yurys@chromium.org>
869
870         Reviewed by Pavel Feldman.
871
872         Make ScriptState destructor protected since all non-empty
873         ScriptStates are managed by GC. Remove obsolete constructor.
874
875         https://bugs.webkit.org/show_bug.cgi?id=34266
876
877         * bindings/v8/ScriptState.cpp:
878         * bindings/v8/ScriptState.h:
879
880 2010-01-30  Simon Fraser  <simon.fraser@apple.com>
881
882         Reviewed by Dan Bernstein.
883
884         Use CGGradient on Leopard and later, since it's faster than CGShading
885         https://bugs.webkit.org/show_bug.cgi?id=34384
886
887         Use CGGradient on Leopard and later, rather than CGShading, for
888         performance.
889
890         * platform/graphics/Gradient.h:
891         * platform/graphics/Gradient.cpp:
892         (WebCore::Gradient::sortStopsIfNecessary): Utility method to sort stops.
893         Did not call this from getColor() to avoid overhead of a function call.
894
895         * platform/graphics/cg/GradientCG.cpp:
896         (WebCore::Gradient::platformDestroy): Use CGGradientRelease() post-Tiger.
897         (WebCore::Gradient::platformGradient): Create and return a CGGradientRef post-Tiger.
898         (WebCore::Gradient::fill): Call new paint() method.
899         (WebCore::Gradient::paint): New convenence method that avoids testing
900         isRadial() in a bunch of other places.
901
902         * platform/graphics/cg/GraphicsContextCG.cpp:
903         (WebCore::GraphicsContext::fillPath): Call the gradient's paint() method.
904         (WebCore::GraphicsContext::strokePath): Ditto
905         (WebCore::GraphicsContext::fillRect): Ditto
906         (WebCore::GraphicsContext::strokeRect): Ditto
907
908 2010-01-30  Simon Fraser  <simon.fraser@apple.com>
909
910         Reviewed by Adele Peterson.
911
912         Do color animations on premultiplied colors
913         https://bugs.webkit.org/show_bug.cgi?id=34383
914         
915         Convert colors to premultiplied alpha before interpolating them,
916         then convert the result back to non-premultiplied. This gives better
917         results when animating from transparent colors.
918
919         Test: transitions/color-transition-premultiplied.html
920
921         * page/animation/AnimationBase.cpp:
922         (WebCore::blendFunc):
923
924 2010-01-30  Gustavo Noronha Silva  <gns@gnome.org>
925
926         Build fixes needed for make distcheck.
927
928         * GNUmakefile.am:
929
930 2010-01-29  Mark Rowe  <mrowe@apple.com>
931
932         Stop copying an IDL file in to the framework wrapper.
933
934         * WebCore.xcodeproj/project.pbxproj:
935
936 2010-01-29  Mark Rowe  <mrowe@apple.com>
937
938         Sort Xcode projects.
939
940         * WebCore.xcodeproj/project.pbxproj:
941
942 == Rolled over to ChangeLog-2010-01-29 ==