2010-05-15 Leandro Pereira <leandro@profusion.mobi>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-15  Leandro Pereira  <leandro@profusion.mobi>
2
3         Reviewed by Adam Treat.
4
5         [EFL] Add build system for the EFL port.
6         http://webkit.org/b/37945
7
8         * CMakeLists.txt: Added.
9         * CMakeListsEfl.txt: Added.
10         * config.h: Add conditional to look for cmakeconfig.h.
11
12 2010-05-15  Adam Barth  <abarth@webkit.org>
13
14         Reviewed by Darin Adler.
15
16         Clipboard.setData doesn't need to be custom
17         https://bugs.webkit.org/show_bug.cgi?id=39133
18
19         The implementation of the custom binding for this function was a bit
20         different than its declaration in the IDL file.  I've updated the IDL
21         to match the implementation, but we probably should check whether our
22         behavior is correct with respect to the specification.
23
24         No tests because I've maintained our current behavior.
25
26         * bindings/js/JSClipboardCustom.cpp:
27         * bindings/v8/custom/V8ClipboardCustom.cpp:
28         * dom/Clipboard.idl:
29
30 2010-05-15  Yaar Schnitman  <yaar@chromium.org>
31
32         Reviewed by Adam Barth.
33
34         V8 overload support ported to JSC. Unforking of overloaded declarations in WebGL & Canvas will be done in subsequent patches.
35         https://bugs.webkit.org/show_bug.cgi?id=38920
36
37         Note that JSTestCallback.cpp/h include minor irrelevant changes too since somebody forgot to update them after changing the JS generator.
38
39         * bindings/scripts/CodeGenerator.pm:
40         * bindings/scripts/CodeGeneratorJS.pm:
41         * bindings/scripts/CodeGeneratorV8.pm:
42         * bindings/scripts/test/JS/JSTestCallback.cpp:
43         (WebCore::JSTestCallback::JSTestCallback):
44         (WebCore::JSTestCallback::~JSTestCallback):
45         * bindings/scripts/test/JS/JSTestCallback.h: 
46         * bindings/scripts/test/JS/JSTestObj.cpp:
47         (WebCore::):
48         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
49         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
50         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
51         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
52         (WebCore::testObjPrototypeFunctionOverloadedMethod):
53         * bindings/scripts/test/JS/JSTestObj.h:
54         * bindings/scripts/test/TestObj.idl:
55
56 2010-05-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
57
58         Reviewed by Xan Lopez.
59
60         https://bugs.webkit.org/show_bug.cgi?id=30500
61         [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail
62
63         The "announcement" is now made in the form of an object attribute
64         associated with the AtkObject.
65
66         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
67         (webkit_accessible_get_attributes):
68
69 2010-05-15  Adam Barth  <abarth@webkit.org>
70
71         Reviewed by Darin Adler.
72
73         Show a console message when X-Frame-Options blocks a load
74         https://bugs.webkit.org/show_bug.cgi?id=39087
75
76         The blank page confuses people when X-Frame-Options blocks a load.  The
77         console message should at least give them a hint as to what's going on.
78
79         * dom/Document.cpp:
80         (WebCore::Document::processHttpEquiv):
81
82 2010-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
83
84         Reviewed by Geoffrey Garen.
85
86         WebInspector: JSC Should provide heap size info for Timeline panel.
87         https://bugs.webkit.org/show_bug.cgi?id=38420
88
89         * GNUmakefile.am:
90         * WebCore.pro:
91         * WebCore.vcproj/WebCore.vcproj:
92         * WebCore.xcodeproj/project.pbxproj:
93         * bindings/js/ScriptGCEvent.cpp: Added.
94         (WebCore::ScriptGCEvent::getHeapSize):
95         * bindings/js/ScriptGCEvent.h:
96
97 2010-05-15  Dave Tapuska  <dtapuska@rim.com>
98
99         Reviewed by Darin Adler.
100
101         Fix alignment faults on ARMv5TE architectures.
102
103         In debug mode the RenderAreaDebugHeader was 12 bytes which
104         caused an alignment failure for RenderObjects because they
105         would start on a 4 byte boundary. Align the RenderArenaDebugHeader
106         using the ARENA_ALIGN macro.
107
108         In NDEBUG mode the RenderArena objects come from a pool which
109         has 4 byte alignment. Allow the alignment to be based on the
110         AllocAlignmentInteger. This define will be activated for ARMv5TE.
111
112         https://bugs.webkit.org/show_bug.cgi?id=19946
113
114 2010-05-14  Adam Barth  <abarth@webkit.org>
115
116         Reviewed by Darin Adler.
117
118         XMLHttpRequest.overrideMimeType doesn't need to be custom
119         https://bugs.webkit.org/show_bug.cgi?id=39127
120
121         I don't see any reason why this method should be custom.  No tests
122         because no behavior change.
123
124         * bindings/js/JSXMLHttpRequestCustom.cpp:
125         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
126         * xml/XMLHttpRequest.idl:
127
128 2010-05-14  Adele Peterson  <adele@apple.com>
129
130         Reviewed by Dave Hyatt.
131
132         Fix for https://bugs.webkit.org/show_bug.cgi?id=39095 
133         <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left
134
135         Test: editing/selection/applystyle-to-inline-inside-block.html
136
137         * dom/Position.cpp: (WebCore::Position::getInlineBoxAndOffset): Now that this function correctly goes in and out of editable areas by calling
138         downstreamIgnoringEditingBoundaries and upstreamIgnoringEditingBoundaries for blocks (added in r58665), we no longer need a special case to 
139         jump out to the parent when we hit an inline (which was added in r53085 when this issue was introduced).
140
141 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
142
143         Reviewed by Mark Rowe.
144
145         Hopefully a last fix for the build. Call -mkdir instead of mkdir, so we don't bail if the mkdir call fails. Additionally,
146         use the %Env% syntax instead of $(Env), which is what we need if we are referring to Windows environment variables instead
147         of nmake variables.
148         
149         * WebCore.vcproj/WebCore.make:
150
151 2010-05-14  Stephanie Lewis  <slewis@apple.com>
152
153         Rubber-stamped by Mark Rowe.
154
155         Update order files.
156
157         * WebCore.order:
158
159 2010-05-14  David Hyatt  <hyatt@apple.com>
160
161         Reviewed by Simon Fraser.
162
163         https://bugs.webkit.org/show_bug.cgi?id=39137
164
165         Make RenderLayers position properly inside multicolumn layout.
166         
167         (1) Create RenderLayers when column properties are specified.  This allows descendant layers to easily
168         know they are inside a multicolumn layout when positioning.
169         
170         (2) Patch updateLayerPosition to offset the layer into the first column that contains the layer.  Splitting
171         of a layer across columns still does not work, but the layer will now at least appear in the first column in
172         which it occurs.
173         
174         (3) Fix pagination bugs caused by the fact that visual overflow doesn't propagate up the line box tree when layers
175         are involved.  Make sure to use lineTop and lineBottom in this case (it's not perfect, but it gets most cases
176         working properly).  With this change elements like <video> will paginate properly and not get split across pages.
177
178         (4) Make column repainting and layer positioning work with RTL columns by fixing adjustForColumns to
179         account for RTL.
180         
181         (5) Fix RTL pagination by making sure the column pagination rects are the content width of the whole block and not just
182         the width of one column.
183
184         Added fast/multicol/layers-in-multicol.html
185
186         * rendering/RenderBlock.cpp:
187         (WebCore::RenderBlock::layoutColumns):
188         (WebCore::RenderBlock::adjustForColumns):
189         * rendering/RenderBox.h:
190         (WebCore::RenderBox::locationOffset):
191         * rendering/RenderBoxModelObject.h:
192         (WebCore::RenderBoxModelObject::requiresLayer):
193         * rendering/RenderLayer.cpp:
194         (WebCore::RenderLayer::updateLayerPosition):
195         (WebCore::RenderLayer::convertToLayerCoords):
196         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
197         * rendering/RenderLineBoxList.cpp:
198         (WebCore::RenderLineBoxList::paint):
199         * rendering/RenderView.cpp:
200         (WebCore::RenderView::RenderView):
201         * rendering/RenderView.h:
202         (WebCore::RenderView::requiresLayer):
203         * rendering/style/RenderStyle.h:
204         (WebCore::InheritedFlags::specifiesColumns):
205
206 2010-05-14  Leon Clarke  <leonclarke@google.com>
207
208         Reviewed by Steve Block.
209
210         Refactor signature of tokenizeRelAttribute and the variables it refers to so that new features don't keep changing the signature, and make m_disabledState into an enum.
211         https://bugs.webkit.org/show_bug.cgi?id=38900
212
213         No new tests. Refactoring only.
214
215         * html/HTMLLinkElement.cpp:
216         (WebCore::HTMLLinkElement::HTMLLinkElement):
217         (WebCore::HTMLLinkElement::setDisabledState):
218         (WebCore::HTMLLinkElement::parseMappedAttribute):
219         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
220         (WebCore::HTMLLinkElement::process):
221         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
222         * html/HTMLLinkElement.h:
223         (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
224         (WebCore::HTMLLinkElement::isAlternate):
225         (WebCore::HTMLLinkElement::isDisabled):
226         (WebCore::HTMLLinkElement::isEnabledViaScript):
227         (WebCore::HTMLLinkElement::isIcon):
228         (WebCore::HTMLLinkElement::):
229         * html/PreloadScanner.cpp:
230         (WebCore::PreloadScanner::processAttribute):
231
232 2010-05-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
233
234         Reviewed by Kenneth Rohde Christiansen.
235
236         [Qt] GraphicsLayer caches directly composited images
237         https://bugs.webkit.org/show_bug.cgi?id=38444
238
239         Directly-composited images and solid fills shouldn't be cached, as that cache
240         is never used (see GraphicsLayerQtImpl::paint). Cache is only relevant for HTML content,
241         but we were missing that test.
242         The fix makes sure we only cache HTML content.
243
244         No new tests: this is a minor optimization.
245
246         * platform/graphics/qt/GraphicsLayerQt.cpp:
247         (WebCore::GraphicsLayerQtImpl::flushChanges):
248
249 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
250
251         Reviewed by Mark Rowe.
252
253         Build fix. Had the environment variables wrong for source and destination of the copy operation
254         that was added.
255
256         * WebCore.vcproj/WebCore.make:
257
258 2010-05-14  Adam Barth  <abarth@webkit.org>
259
260         Reviewed by Eric Seidel.
261
262         Remove custom bindings for HTMLInputElement
263         https://bugs.webkit.org/show_bug.cgi?id=38344
264
265         Fix a bug in the TestObj.idl file and update expected results.  This
266         was originally part of a larger change reviewed by Eric, but I'm
267         landing it separately to help me understand the more interesting bits
268         of the patch clearly.
269
270         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
271         (webkit_dom_test_obj_get_attr_with_setter_exception):
272         (webkit_dom_test_obj_set_attr_with_setter_exception):
273         (webkit_dom_test_obj_set_attr_with_getter_exception):
274         (webkit_dom_test_obj_set_property):
275         (webkit_dom_test_obj_get_property):
276         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
277         * bindings/scripts/test/JS/JSTestObj.cpp:
278         (WebCore::jsTestObjAttrWithSetterException):
279         (WebCore::setJSTestObjAttrWithSetterException):
280         (WebCore::setJSTestObjAttrWithGetterException):
281         * bindings/scripts/test/ObjC/DOMTestObj.mm:
282         (-[DOMTestObj attrWithSetterException]):
283         (-[DOMTestObj setAttrWithSetterException:]):
284         (-[DOMTestObj setAttrWithGetterException:]):
285         * bindings/scripts/test/TestObj.idl:
286         * bindings/scripts/test/V8/V8TestObj.cpp:
287         (WebCore::TestObjInternal::attrWithSetterExceptionAttrGetter):
288         (WebCore::TestObjInternal::attrWithSetterExceptionAttrSetter):
289         (WebCore::TestObjInternal::attrWithGetterExceptionAttrSetter):
290
291 2010-05-14  Kenneth Russell  <kbr@google.com>
292
293         Reviewed by Darin Adler.
294
295         Rename WebGLArray types to TypedArray types
296         https://bugs.webkit.org/show_bug.cgi?id=39091
297
298         Extended functionality of do-webcore-rename script and used it to
299         rename the WebGLArray types to the TypedArray naming convention.
300         The only source files which were touched by hand, and which are
301         being manually reviewed, are:
302             WebCore/page/DOMWindow.idl
303             WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
304             WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
305             WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
306         These only needed to be touched to update the aliases between the
307         WebGLArray and TypedArray names introduced in bug 39036. (It was
308         not feasible to have do-webcore-rename handle this as it would
309         introduce circular renamings.) These aliases will be removed in
310         roughly a month once existing WebGL content has been updated.
311
312         No new tests; covered under existing WebGL tests. Updated
313         constructed-objects-prototypes and prototype-inheritance-2 tests.
314         Ran all layout tests in Safari and all WebGL tests in Chromium.
315
316         * DerivedSources.make:
317         * GNUmakefile.am:
318         * WebCore.gypi:
319         * WebCore.pri:
320         * WebCore.pro:
321         * WebCore.xcodeproj/project.pbxproj:
322         * bindings/js/JSArrayBufferConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.cpp.
323         (WebCore::):
324         (WebCore::JSArrayBufferConstructor::JSArrayBufferConstructor):
325         (WebCore::constructCanvasArrayBuffer):
326         (WebCore::JSArrayBufferConstructor::getConstructData):
327         * bindings/js/JSArrayBufferConstructor.h: Copied from WebCore/bindings/js/JSWebGLArrayBufferConstructor.h.
328         (WebCore::construct):
329         * bindings/js/JSArrayBufferViewCustom.cpp: Copied from WebCore/bindings/js/JSWebGLArrayCustom.cpp.
330         (WebCore::toJS):
331         (WebCore::JSArrayBufferView::slice):
332         * bindings/js/JSArrayBufferViewHelper.h: Copied from WebCore/bindings/js/JSWebGLArrayHelper.h.
333         * bindings/js/JSDOMWindowCustom.cpp:
334         (WebCore::JSDOMWindow::arrayBuffer):
335         (WebCore::JSDOMWindow::int8Array):
336         (WebCore::JSDOMWindow::uint8Array):
337         (WebCore::JSDOMWindow::int32Array):
338         (WebCore::JSDOMWindow::uint32Array):
339         (WebCore::JSDOMWindow::int16Array):
340         (WebCore::JSDOMWindow::uint16Array):
341         (WebCore::JSDOMWindow::floatArray):
342         (WebCore::JSDOMWindow::webGLArrayBuffer):
343         (WebCore::JSDOMWindow::webGLByteArray):
344         (WebCore::JSDOMWindow::webGLUnsignedByteArray):
345         (WebCore::JSDOMWindow::webGLIntArray):
346         (WebCore::JSDOMWindow::webGLUnsignedIntArray):
347         (WebCore::JSDOMWindow::webGLShortArray):
348         (WebCore::JSDOMWindow::webGLUnsignedShortArray):
349         (WebCore::JSDOMWindow::webGLFloatArray):
350         * bindings/js/JSFloatArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.cpp.
351         (WebCore::):
352         (WebCore::JSFloatArrayConstructor::JSFloatArrayConstructor):
353         (WebCore::constructCanvasFloatArray):
354         (WebCore::JSFloatArrayConstructor::getConstructData):
355         * bindings/js/JSFloatArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLFloatArrayConstructor.h.
356         * bindings/js/JSFloatArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLFloatArrayCustom.cpp.
357         (WebCore::JSFloatArray::indexSetter):
358         (WebCore::toJS):
359         (WebCore::JSFloatArray::set):
360         * bindings/js/JSInt16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.cpp.
361         (WebCore::):
362         (WebCore::JSInt16ArrayConstructor::JSInt16ArrayConstructor):
363         (WebCore::constructCanvasShortArray):
364         (WebCore::JSInt16ArrayConstructor::getConstructData):
365         * bindings/js/JSInt16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLShortArrayConstructor.h.
366         * bindings/js/JSInt16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLShortArrayCustom.cpp.
367         (WebCore::JSInt16Array::indexSetter):
368         (WebCore::toJS):
369         (WebCore::JSInt16Array::set):
370         * bindings/js/JSInt32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.cpp.
371         (WebCore::):
372         (WebCore::JSInt32ArrayConstructor::JSInt32ArrayConstructor):
373         (WebCore::constructCanvasIntArray):
374         (WebCore::JSInt32ArrayConstructor::getConstructData):
375         * bindings/js/JSInt32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLIntArrayConstructor.h.
376         * bindings/js/JSInt32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLIntArrayCustom.cpp.
377         (WebCore::JSInt32Array::indexSetter):
378         (WebCore::toJS):
379         (WebCore::JSInt32Array::set):
380         * bindings/js/JSInt8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.cpp.
381         (WebCore::):
382         (WebCore::JSInt8ArrayConstructor::JSInt8ArrayConstructor):
383         (WebCore::constructCanvasByteArray):
384         (WebCore::JSInt8ArrayConstructor::getConstructData):
385         * bindings/js/JSInt8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLByteArrayConstructor.h.
386         * bindings/js/JSInt8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLByteArrayCustom.cpp.
387         (WebCore::JSInt8Array::indexSetter):
388         (WebCore::toJS):
389         (WebCore::JSInt8Array::set):
390         * bindings/js/JSUint16ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp.
391         (WebCore::):
392         (WebCore::JSUint16ArrayConstructor::JSUint16ArrayConstructor):
393         (WebCore::constructCanvasUnsignedShortArray):
394         (WebCore::JSUint16ArrayConstructor::getConstructData):
395         * bindings/js/JSUint16ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayConstructor.h.
396         * bindings/js/JSUint16ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedShortArrayCustom.cpp.
397         (WebCore::JSUint16Array::indexSetter):
398         (WebCore::toJS):
399         (WebCore::JSUint16Array::set):
400         * bindings/js/JSUint32ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp.
401         (WebCore::):
402         (WebCore::JSUint32ArrayConstructor::JSUint32ArrayConstructor):
403         (WebCore::constructCanvasUnsignedIntArray):
404         (WebCore::JSUint32ArrayConstructor::getConstructData):
405         * bindings/js/JSUint32ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayConstructor.h.
406         * bindings/js/JSUint32ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedIntArrayCustom.cpp.
407         (WebCore::JSUint32Array::indexSetter):
408         (WebCore::toJS):
409         (WebCore::JSUint32Array::set):
410         * bindings/js/JSUint8ArrayConstructor.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp.
411         (WebCore::):
412         (WebCore::JSUint8ArrayConstructor::JSUint8ArrayConstructor):
413         (WebCore::constructCanvasUnsignedByteArray):
414         (WebCore::JSUint8ArrayConstructor::getConstructData):
415         * bindings/js/JSUint8ArrayConstructor.h: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayConstructor.h.
416         * bindings/js/JSUint8ArrayCustom.cpp: Copied from WebCore/bindings/js/JSWebGLUnsignedByteArrayCustom.cpp.
417         (WebCore::JSUint8Array::indexSetter):
418         (WebCore::toJS):
419         (WebCore::JSUint8Array::set):
420         * bindings/js/JSWebGLArrayBufferConstructor.cpp: Removed.
421         * bindings/js/JSWebGLArrayBufferConstructor.h: Removed.
422         * bindings/js/JSWebGLArrayCustom.cpp: Removed.
423         * bindings/js/JSWebGLArrayHelper.h: Removed.
424         * bindings/js/JSWebGLByteArrayConstructor.cpp: Removed.
425         * bindings/js/JSWebGLByteArrayConstructor.h: Removed.
426         * bindings/js/JSWebGLByteArrayCustom.cpp: Removed.
427         * bindings/js/JSWebGLFloatArrayConstructor.cpp: Removed.
428         * bindings/js/JSWebGLFloatArrayConstructor.h: Removed.
429         * bindings/js/JSWebGLFloatArrayCustom.cpp: Removed.
430         * bindings/js/JSWebGLIntArrayConstructor.cpp: Removed.
431         * bindings/js/JSWebGLIntArrayConstructor.h: Removed.
432         * bindings/js/JSWebGLIntArrayCustom.cpp: Removed.
433         * bindings/js/JSWebGLRenderingContextCustom.cpp:
434         (WebCore::JSWebGLRenderingContext::bufferData):
435         (WebCore::JSWebGLRenderingContext::bufferSubData):
436         (WebCore::JSWebGLRenderingContext::texImage2D):
437         (WebCore::JSWebGLRenderingContext::texSubImage2D):
438         (WebCore::dataFunctionf):
439         (WebCore::dataFunctioni):
440         (WebCore::dataFunctionMatrix):
441         * bindings/js/JSWebGLShortArrayConstructor.cpp: Removed.
442         * bindings/js/JSWebGLShortArrayConstructor.h: Removed.
443         * bindings/js/JSWebGLShortArrayCustom.cpp: Removed.
444         * bindings/js/JSWebGLUnsignedByteArrayConstructor.cpp: Removed.
445         * bindings/js/JSWebGLUnsignedByteArrayConstructor.h: Removed.
446         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp: Removed.
447         * bindings/js/JSWebGLUnsignedIntArrayConstructor.cpp: Removed.
448         * bindings/js/JSWebGLUnsignedIntArrayConstructor.h: Removed.
449         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp: Removed.
450         * bindings/js/JSWebGLUnsignedShortArrayConstructor.cpp: Removed.
451         * bindings/js/JSWebGLUnsignedShortArrayConstructor.h: Removed.
452         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp: Removed.
453         * bindings/v8/V8DOMWrapper.cpp:
454         * bindings/v8/custom/V8ArrayBufferCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayBufferCustom.cpp.
455         (WebCore::V8ArrayBuffer::constructorCallback):
456         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.cpp.
457         (WebCore::toV8):
458         (WebCore::V8ArrayBufferView::sliceCallback):
459         * bindings/v8/custom/V8ArrayBufferViewCustom.h: Copied from WebCore/bindings/v8/custom/V8WebGLArrayCustom.h.
460         (WebCore::constructWebGLArray):
461         * bindings/v8/custom/V8DOMWindowCustom.cpp:
462         (WebCore::V8DOMWindow::WebGLArrayBufferAccessorGetter):
463         (WebCore::V8DOMWindow::WebGLByteArrayAccessorGetter):
464         (WebCore::V8DOMWindow::WebGLUnsignedByteArrayAccessorGetter):
465         (WebCore::V8DOMWindow::WebGLShortArrayAccessorGetter):
466         (WebCore::V8DOMWindow::WebGLUnsignedShortArrayAccessorGetter):
467         (WebCore::V8DOMWindow::WebGLIntArrayAccessorGetter):
468         (WebCore::V8DOMWindow::WebGLUnsignedIntArrayAccessorGetter):
469         (WebCore::V8DOMWindow::WebGLFloatArrayAccessorGetter):
470         * bindings/v8/custom/V8FloatArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLFloatArrayCustom.cpp.
471         (WebCore::V8FloatArray::constructorCallback):
472         (WebCore::V8FloatArray::setCallback):
473         (WebCore::toV8):
474         * bindings/v8/custom/V8Int16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLShortArrayCustom.cpp.
475         (WebCore::V8Int16Array::constructorCallback):
476         (WebCore::V8Int16Array::setCallback):
477         (WebCore::toV8):
478         * bindings/v8/custom/V8Int32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLIntArrayCustom.cpp.
479         (WebCore::V8Int32Array::constructorCallback):
480         (WebCore::V8Int32Array::setCallback):
481         (WebCore::toV8):
482         * bindings/v8/custom/V8Int8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLByteArrayCustom.cpp.
483         (WebCore::V8Int8Array::constructorCallback):
484         (WebCore::V8Int8Array::setCallback):
485         (WebCore::toV8):
486         * bindings/v8/custom/V8Uint16ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp.
487         (WebCore::V8Uint16Array::constructorCallback):
488         (WebCore::V8Uint16Array::setCallback):
489         (WebCore::toV8):
490         * bindings/v8/custom/V8Uint32ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp.
491         (WebCore::V8Uint32Array::constructorCallback):
492         (WebCore::V8Uint32Array::setCallback):
493         (WebCore::toV8):
494         * bindings/v8/custom/V8Uint8ArrayCustom.cpp: Copied from WebCore/bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp.
495         (WebCore::V8Uint8Array::constructorCallback):
496         (WebCore::V8Uint8Array::setCallback):
497         (WebCore::toV8):
498         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp: Removed.
499         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Removed.
500         * bindings/v8/custom/V8WebGLArrayCustom.h: Removed.
501         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp: Removed.
502         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp: Removed.
503         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp: Removed.
504         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
505         (WebCore::vertexAttribAndUniformHelperf):
506         (WebCore::uniformHelperi):
507         (WebCore::uniformMatrixHelper):
508         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp: Removed.
509         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp: Removed.
510         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp: Removed.
511         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp: Removed.
512         * html/canvas/ArrayBuffer.cpp: Copied from WebCore/html/canvas/WebGLArrayBuffer.cpp.
513         (WebCore::ArrayBuffer::create):
514         (WebCore::ArrayBuffer::ArrayBuffer):
515         (WebCore::ArrayBuffer::data):
516         (WebCore::ArrayBuffer::byteLength):
517         (WebCore::ArrayBuffer::~ArrayBuffer):
518         (WebCore::ArrayBuffer::tryAllocate):
519         * html/canvas/ArrayBuffer.h: Copied from WebCore/html/canvas/WebGLArrayBuffer.h.
520         * html/canvas/ArrayBuffer.idl: Copied from WebCore/html/canvas/WebGLArrayBuffer.idl.
521         * html/canvas/ArrayBufferView.cpp: Copied from WebCore/html/canvas/WebGLArray.cpp.
522         (WebCore::ArrayBufferView::ArrayBufferView):
523         (WebCore::ArrayBufferView::~ArrayBufferView):
524         (WebCore::ArrayBufferView::setImpl):
525         (WebCore::ArrayBufferView::calculateOffsetAndLength):
526         * html/canvas/ArrayBufferView.h: Copied from WebCore/html/canvas/WebGLArray.h.
527         (WebCore::ArrayBufferView::buffer):
528         (WebCore::ArrayBufferView::verifySubRange):
529         (WebCore::ArrayBufferView::clampOffsetAndNumElements):
530         * html/canvas/ArrayBufferView.idl: Copied from WebCore/html/canvas/WebGLArray.idl.
531         * html/canvas/FloatArray.cpp: Copied from WebCore/html/canvas/WebGLFloatArray.cpp.
532         (WebCore::FloatArray::create):
533         (WebCore::FloatArray::FloatArray):
534         (WebCore::FloatArray::slice):
535         * html/canvas/FloatArray.h: Copied from WebCore/html/canvas/WebGLFloatArray.h.
536         (WebCore::FloatArray::set):
537         (WebCore::FloatArray::item):
538         * html/canvas/FloatArray.idl: Copied from WebCore/html/canvas/WebGLFloatArray.idl.
539         * html/canvas/Int16Array.cpp: Copied from WebCore/html/canvas/WebGLShortArray.cpp.
540         (WebCore::Int16Array::create):
541         (WebCore::Int16Array::Int16Array):
542         (WebCore::Int16Array::slice):
543         * html/canvas/Int16Array.h: Copied from WebCore/html/canvas/WebGLShortArray.h.
544         * html/canvas/Int16Array.idl: Copied from WebCore/html/canvas/WebGLShortArray.idl.
545         * html/canvas/Int32Array.cpp: Copied from WebCore/html/canvas/WebGLIntArray.cpp.
546         (WebCore::Int32Array::create):
547         (WebCore::Int32Array::Int32Array):
548         (WebCore::Int32Array::slice):
549         * html/canvas/Int32Array.h: Copied from WebCore/html/canvas/WebGLIntArray.h.
550         * html/canvas/Int32Array.idl: Copied from WebCore/html/canvas/WebGLIntArray.idl.
551         * html/canvas/Int8Array.cpp: Copied from WebCore/html/canvas/WebGLByteArray.cpp.
552         (WebCore::Int8Array::create):
553         (WebCore::Int8Array::Int8Array):
554         (WebCore::Int8Array::slice):
555         * html/canvas/Int8Array.h: Copied from WebCore/html/canvas/WebGLByteArray.h.
556         * html/canvas/Int8Array.idl: Copied from WebCore/html/canvas/WebGLByteArray.idl.
557         * html/canvas/IntegralTypedArrayBase.h: Copied from WebCore/html/canvas/WebGLIntegralTypedArrayBase.h.
558         (WebCore::IntegralTypedArrayBase::set):
559         (WebCore::IntegralTypedArrayBase::item):
560         (WebCore::IntegralTypedArrayBase::IntegralTypedArrayBase):
561         * html/canvas/TypedArrayBase.h: Copied from WebCore/html/canvas/WebGLTypedArrayBase.h.
562         (WebCore::TypedArrayBase::set):
563         (WebCore::TypedArrayBase::TypedArrayBase):
564         (WebCore::TypedArrayBase::create):
565         * html/canvas/Uint16Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.cpp.
566         (WebCore::Uint16Array::create):
567         (WebCore::Uint16Array::Uint16Array):
568         (WebCore::Uint16Array::slice):
569         * html/canvas/Uint16Array.h: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.h.
570         * html/canvas/Uint16Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedShortArray.idl.
571         * html/canvas/Uint32Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.cpp.
572         (WebCore::Uint32Array::create):
573         (WebCore::Uint32Array::Uint32Array):
574         (WebCore::Uint32Array::slice):
575         * html/canvas/Uint32Array.h: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.h.
576         * html/canvas/Uint32Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedIntArray.idl.
577         * html/canvas/Uint8Array.cpp: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.cpp.
578         (WebCore::Uint8Array::create):
579         (WebCore::Uint8Array::Uint8Array):
580         (WebCore::Uint8Array::slice):
581         * html/canvas/Uint8Array.h: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.h.
582         * html/canvas/Uint8Array.idl: Copied from WebCore/html/canvas/WebGLUnsignedByteArray.idl.
583         * html/canvas/WebGLArray.cpp: Removed.
584         * html/canvas/WebGLArray.h: Removed.
585         * html/canvas/WebGLArray.idl: Removed.
586         * html/canvas/WebGLArrayBuffer.cpp: Removed.
587         * html/canvas/WebGLArrayBuffer.h: Removed.
588         * html/canvas/WebGLArrayBuffer.idl: Removed.
589         * html/canvas/WebGLBuffer.cpp:
590         (WebCore::WebGLBuffer::associateBufferData):
591         (WebCore::WebGLBuffer::associateBufferSubData):
592         * html/canvas/WebGLBuffer.h:
593         (WebCore::WebGLBuffer::elementArrayBuffer):
594         * html/canvas/WebGLByteArray.cpp: Removed.
595         * html/canvas/WebGLByteArray.h: Removed.
596         * html/canvas/WebGLByteArray.idl: Removed.
597         * html/canvas/WebGLFloatArray.cpp: Removed.
598         * html/canvas/WebGLFloatArray.h: Removed.
599         * html/canvas/WebGLFloatArray.idl: Removed.
600         * html/canvas/WebGLGetInfo.cpp:
601         (WebCore::WebGLGetInfo::WebGLGetInfo):
602         (WebCore::WebGLGetInfo::getWebGLFloatArray):
603         (WebCore::WebGLGetInfo::getWebGLIntArray):
604         (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
605         * html/canvas/WebGLGetInfo.h:
606         * html/canvas/WebGLIntArray.cpp: Removed.
607         * html/canvas/WebGLIntArray.h: Removed.
608         * html/canvas/WebGLIntArray.idl: Removed.
609         * html/canvas/WebGLIntegralTypedArrayBase.h: Removed.
610         * html/canvas/WebGLRenderingContext.cpp:
611         (WebCore::WebGLRenderingContext::bufferData):
612         (WebCore::WebGLRenderingContext::bufferSubData):
613         (WebCore::WebGLRenderingContext::getUniform):
614         (WebCore::WebGLRenderingContext::getVertexAttrib):
615         (WebCore::WebGLRenderingContext::readPixels):
616         (WebCore::WebGLRenderingContext::texImage2D):
617         (WebCore::WebGLRenderingContext::texSubImage2D):
618         (WebCore::WebGLRenderingContext::uniform1fv):
619         (WebCore::WebGLRenderingContext::uniform1iv):
620         (WebCore::WebGLRenderingContext::uniform2fv):
621         (WebCore::WebGLRenderingContext::uniform2iv):
622         (WebCore::WebGLRenderingContext::uniform3fv):
623         (WebCore::WebGLRenderingContext::uniform3iv):
624         (WebCore::WebGLRenderingContext::uniform4fv):
625         (WebCore::WebGLRenderingContext::uniform4iv):
626         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
627         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
628         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
629         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
630         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
631         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
632         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
633         (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
634         (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
635         (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
636         * html/canvas/WebGLRenderingContext.h:
637         * html/canvas/WebGLRenderingContext.idl:
638         * html/canvas/WebGLShortArray.cpp: Removed.
639         * html/canvas/WebGLShortArray.h: Removed.
640         * html/canvas/WebGLShortArray.idl: Removed.
641         * html/canvas/WebGLTypedArrayBase.h: Removed.
642         * html/canvas/WebGLUnsignedByteArray.cpp: Removed.
643         * html/canvas/WebGLUnsignedByteArray.h: Removed.
644         * html/canvas/WebGLUnsignedByteArray.idl: Removed.
645         * html/canvas/WebGLUnsignedIntArray.cpp: Removed.
646         * html/canvas/WebGLUnsignedIntArray.h: Removed.
647         * html/canvas/WebGLUnsignedIntArray.idl: Removed.
648         * html/canvas/WebGLUnsignedShortArray.cpp: Removed.
649         * html/canvas/WebGLUnsignedShortArray.h: Removed.
650         * html/canvas/WebGLUnsignedShortArray.idl: Removed.
651         * page/DOMWindow.idl:
652         * platform/graphics/GraphicsContext3D.h:
653         * platform/graphics/mac/GraphicsContext3DMac.cpp:
654         (WebCore::GraphicsContext3D::bufferData):
655         (WebCore::GraphicsContext3D::bufferSubData):
656         * platform/graphics/qt/GraphicsContext3DQt.cpp:
657         (WebCore::GraphicsContext3D::bufferData):
658         (WebCore::GraphicsContext3D::bufferSubData):
659
660 2010-05-14  Steve Falkenburg  <sfalken@apple.com>
661
662         Reviewed by Sam Weinig.
663
664         <rdar://problem/7985864> Connection properties dictionary should use standard callbacks for keys, values
665         https://bugs.webkit.org/show_bug.cgi?id=39132
666
667         * platform/network/cf/ResourceHandleCFNet.cpp:
668         (WebCore::createConnectionProperties):
669
670 2010-05-14  Abhishek Arya  <inferno@chromium.org>
671
672         Reviewed by David Hyatt.
673
674         Move the m_width(Length) and m_columns(RenderTable::ColumnStruct)
675         vector out-of-bounds check out of the ASSERT into the main code.
676         https://bugs.webkit.org/show_bug.cgi?id=38261
677
678         Test: fast/table/fixed-table-layout-large-colspan-crash.html
679
680         * rendering/FixedTableLayout.cpp:
681         (WebCore::FixedTableLayout::calcWidthArray):
682
683 2010-05-14  Eric Seidel  <eric@webkit.org>
684
685         Unreviewed, rolling out r59489.
686         http://trac.webkit.org/changeset/59489
687         https://bugs.webkit.org/show_bug.cgi?id=37815
688
689         abarth broke the known universe and then some.
690
691         * Android.jscbindings.mk:
692         * GNUmakefile.am:
693         * WebCore.gypi:
694         * WebCore.pro:
695         * WebCore.vcproj/WebCore.vcproj:
696         * WebCore.xcodeproj/project.pbxproj:
697         * bindings/js/JSBindingsAllInOne.cpp:
698         * bindings/js/JSCallbackData.cpp:
699         (WebCore::JSCallbackData::invokeCallback):
700         * bindings/js/JSEventListener.cpp:
701         (WebCore::JSEventListener::handleEvent):
702         * bindings/js/JSInjectedScriptHostCustom.cpp:
703         (WebCore::InjectedScriptHost::createInjectedScript):
704         * bindings/js/ScheduledAction.cpp:
705         (WebCore::ScheduledAction::executeFunctionInContext):
706         (WebCore::ScheduledAction::execute):
707         * bindings/js/ScheduledAction.h:
708         * bindings/js/ScriptController.cpp:
709         (WebCore::ScriptController::evaluateInWorld):
710         * bindings/js/ScriptController.h:
711         * bindings/js/ScriptFunctionCall.cpp:
712         (WebCore::ScriptFunctionCall::call):
713         * bindings/objc/ObjCEventListener.mm:
714         (WebCore::ObjCEventListener::handleEvent):
715         * bindings/objc/WebScriptObject.mm:
716         (-[WebScriptObject callWebScriptMethod:withArguments:]):
717         (-[WebScriptObject evaluateWebScript:]):
718         * bindings/scripts/CodeGeneratorObjC.pm:
719         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
720         (-[DOMTestCallback callbackWithClass1Param:]):
721         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
722         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
723         (-[DOMTestCallback customCallback:class6Param:]):
724         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
725         * bindings/scripts/test/ObjC/DOMTestObj.mm:
726         (-[DOMTestObj readOnlyIntAttr]):
727         (-[DOMTestObj readOnlyStringAttr]):
728         (-[DOMTestObj readOnlyTestObjAttr]):
729         (-[DOMTestObj intAttr]):
730         (-[DOMTestObj setIntAttr:]):
731         (-[DOMTestObj longLongAttr]):
732         (-[DOMTestObj setLongLongAttr:]):
733         (-[DOMTestObj unsignedLongLongAttr]):
734         (-[DOMTestObj setUnsignedLongLongAttr:]):
735         (-[DOMTestObj stringAttr]):
736         (-[DOMTestObj setStringAttr:]):
737         (-[DOMTestObj testObjAttr]):
738         (-[DOMTestObj setTestObjAttr:]):
739         (-[DOMTestObj attrWithException]):
740         (-[DOMTestObj setAttrWithException:]):
741         (-[DOMTestObj attrWithSetterException]):
742         (-[DOMTestObj setAttrWithSetterException:]):
743         (-[DOMTestObj attrWithGetterException]):
744         (-[DOMTestObj setAttrWithGetterException:]):
745         (-[DOMTestObj customAttr]):
746         (-[DOMTestObj setCustomAttr:]):
747         (-[DOMTestObj scriptStringAttr]):
748         (-[DOMTestObj voidMethod]):
749         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
750         (-[DOMTestObj intMethod]):
751         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
752         (-[DOMTestObj objMethod]):
753         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
754         (-[DOMTestObj serializedValue:]):
755         (-[DOMTestObj methodWithException]):
756         (-[DOMTestObj customMethod]):
757         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
758         (-[DOMTestObj customArgsAndException:]):
759         (-[DOMTestObj addEventListener:listener:useCapture:]):
760         (-[DOMTestObj removeEventListener:listener:useCapture:]):
761         (-[DOMTestObj withDynamicFrame]):
762         (-[DOMTestObj withDynamicFrameAndArg:]):
763         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
764         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
765         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
766         (-[DOMTestObj withScriptStateVoid]):
767         (-[DOMTestObj withScriptStateObj]):
768         (-[DOMTestObj withScriptStateVoidException]):
769         (-[DOMTestObj withScriptStateObjException]):
770         (-[DOMTestObj methodWithOptionalArg:]):
771         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
772         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
773         * bindings/v8/ScriptController.cpp:
774         * bindings/v8/ScriptController.h:
775         * html/HTMLFrameElementBase.cpp:
776         (WebCore::HTMLFrameElementBase::isURLAllowed):
777
778 2010-05-14  Justin Schuh  <jschuh@chromium.org>
779
780         Reviewed by Adam Barth.
781
782         Moving frame.src checks out of the bindings
783         https://bugs.webkit.org/show_bug.cgi?id=37815
784
785         Moved JavaScript frame.src checks out of bindings and into
786         HTMLFrameElementBase. Added main thread state stack to JavaScriptCore
787         so ExecState is available inside core DOM. Updated affected bindings
788         (except for GObject, which will need to be updated to avoid origin
789         failures inside native code).
790
791         * Android.jscbindings.mk:
792         * GNUmakefile.am:
793         * WebCore.gypi:
794         * WebCore.pro:
795         * WebCore.vcproj/WebCore.vcproj:
796         * WebCore.xcodeproj/project.pbxproj:
797         * bindings/js/JSBindingsAllInOne.cpp:
798         * bindings/js/JSCallbackData.cpp:
799         (WebCore::JSCallbackData::invokeCallback):
800         * bindings/js/JSEventListener.cpp:
801         (WebCore::JSEventListener::handleEvent):
802         * bindings/js/JSInjectedScriptHostCustom.cpp:
803         (WebCore::InjectedScriptHost::createInjectedScript):
804         * bindings/js/ScheduledAction.cpp:
805         (WebCore::ScheduledAction::executeFunctionInContext):
806         (WebCore::ScheduledAction::execute):
807         * bindings/js/ScheduledAction.h:
808         * bindings/js/ScriptController.cpp:
809         (WebCore::ScriptController::evaluateInWorld):
810         (WebCore::ScriptController::canAccessFromCurrentOrigin):
811         * bindings/js/ScriptController.h:
812         * bindings/js/ScriptFunctionCall.cpp:
813         (WebCore::ScriptFunctionCall::call):
814         * bindings/objc/ObjCEventListener.mm:
815         (WebCore::ObjCEventListener::handleEvent):
816         * bindings/objc/WebScriptObject.mm:
817         (-[WebScriptObject callWebScriptMethod:withArguments:]):
818         (-[WebScriptObject evaluateWebScript:]):
819         * bindings/scripts/CodeGeneratorObjC.pm:
820         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
821         (-[DOMTestCallback callbackWithClass1Param:]):
822         (-[DOMTestCallback callbackWithClass2Param:strArg:]):
823         (-[DOMTestCallback callbackWithNonBoolReturnType:]):
824         (-[DOMTestCallback customCallback:class6Param:]):
825         * bindings/scripts/test/ObjC/DOMTestInterface.mm:
826         * bindings/scripts/test/ObjC/DOMTestObj.mm:
827         (-[DOMTestObj readOnlyIntAttr]):
828         (-[DOMTestObj readOnlyStringAttr]):
829         (-[DOMTestObj readOnlyTestObjAttr]):
830         (-[DOMTestObj intAttr]):
831         (-[DOMTestObj setIntAttr:]):
832         (-[DOMTestObj longLongAttr]):
833         (-[DOMTestObj setLongLongAttr:]):
834         (-[DOMTestObj unsignedLongLongAttr]):
835         (-[DOMTestObj setUnsignedLongLongAttr:]):
836         (-[DOMTestObj stringAttr]):
837         (-[DOMTestObj setStringAttr:]):
838         (-[DOMTestObj testObjAttr]):
839         (-[DOMTestObj setTestObjAttr:]):
840         (-[DOMTestObj attrWithException]):
841         (-[DOMTestObj setAttrWithException:]):
842         (-[DOMTestObj attrWithSetterException]):
843         (-[DOMTestObj setAttrWithSetterException:]):
844         (-[DOMTestObj attrWithGetterException]):
845         (-[DOMTestObj setAttrWithGetterException:]):
846         (-[DOMTestObj customAttr]):
847         (-[DOMTestObj setCustomAttr:]):
848         (-[DOMTestObj scriptStringAttr]):
849         (-[DOMTestObj voidMethod]):
850         (-[DOMTestObj voidMethodWithArgs:strArg:objArg:]):
851         (-[DOMTestObj intMethod]):
852         (-[DOMTestObj intMethodWithArgs:strArg:objArg:]):
853         (-[DOMTestObj objMethod]):
854         (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
855         (-[DOMTestObj serializedValue:]):
856         (-[DOMTestObj methodWithException]):
857         (-[DOMTestObj customMethod]):
858         (-[DOMTestObj customMethodWithArgs:strArg:objArg:]):
859         (-[DOMTestObj customArgsAndException:]):
860         (-[DOMTestObj addEventListener:listener:useCapture:]):
861         (-[DOMTestObj removeEventListener:listener:useCapture:]):
862         (-[DOMTestObj withDynamicFrame]):
863         (-[DOMTestObj withDynamicFrameAndArg:]):
864         (-[DOMTestObj withDynamicFrameAndOptionalArg:optionalArg:]):
865         (-[DOMTestObj withDynamicFrameAndUserGesture:]):
866         (-[DOMTestObj withDynamicFrameAndUserGestureASAD:optionalArg:]):
867         (-[DOMTestObj withScriptStateVoid]):
868         (-[DOMTestObj withScriptStateObj]):
869         (-[DOMTestObj withScriptStateVoidException]):
870         (-[DOMTestObj withScriptStateObjException]):
871         (-[DOMTestObj methodWithOptionalArg:]):
872         (-[DOMTestObj methodWithNonOptionalArgAndOptionalArg:opt:]):
873         (-[DOMTestObj methodWithNonOptionalArgAndTwoOptionalArgs:opt1:opt2:]):
874         * bindings/v8/ScriptController.cpp:
875         (WebCore::ScriptController::canAccessFromCurrentOrigin):
876         * bindings/v8/ScriptController.h:
877         * html/HTMLFrameElementBase.cpp:
878         (WebCore::HTMLFrameElementBase::isURLAllowed):
879
880 2010-05-14  Sergey Ulanov  <sergeyu@chromium.org>
881
882         Reviewed by Dmitry Titov and Brett Wilson.
883
884         Adding resized image caching for Skia.
885         https://bugs.webkit.org/show_bug.cgi?id=39085
886
887         Tests: HTML5 video on YouTube.
888
889         * platform/graphics/skia/ImageSkia.cpp:
890         (WebCore::Image::drawPattern): Use bitmap->resizedBitmap() to cache resized image when possible.
891
892 2010-05-14  Alexey Proskuryakov  <ap@apple.com>
893
894         Reviewed by Brady Eidson.
895
896         https://bugs.webkit.org/show_bug.cgi?id=39008
897         <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail
898
899         Test: fast/parser/tokenizer-close-during-document-write.html
900
901         * dom/Document.cpp: (WebCore::Document::write): Check that the tokenizer is still around
902         after calling write(). It can become null (as it happens in regression test), and I don't
903         see any guarantee that it would never be replaced with a different one (but I can't make a
904         test for that).
905
906 2010-05-14  Jian Li  <jianli@chromium.org>
907
908         Rubber-stamped by Dmitry Titov.
909
910         Fix the code indentation inside a namespace to be consistent with the
911         style guide.
912
913         * workers/GenericWorkerTask.h:
914
915 2010-05-14  Jian Li  <jianli@chromium.org>
916
917         Reviewed by Dmitry Titov.
918
919         Remove the ENABLE(WORKERS) guard from GenericWorkerTask.h and rename
920         all occurrences of GenericWorkerTask* to GenericTask* in this file.
921         https://bugs.webkit.org/show_bug.cgi?id=39129
922
923         I will have another patch to rename the file and move it to the right
924         place.
925
926         * workers/GenericWorkerTask.h:
927         (WebCore::):
928         (WebCore::GenericTask1::create):
929         (WebCore::GenericTask1::GenericTask1):
930         (WebCore::GenericTask2::create):
931         (WebCore::GenericTask2::GenericTask2):
932         (WebCore::GenericTask3::create):
933         (WebCore::GenericTask3::GenericTask3):
934         (WebCore::GenericTask4::create):
935         (WebCore::GenericTask4::GenericTask4):
936         (WebCore::GenericTask5::create):
937         (WebCore::GenericTask5::GenericTask5):
938         (WebCore::GenericTask6::create):
939         (WebCore::GenericTask6::GenericTask6):
940         (WebCore::GenericTask7::create):
941         (WebCore::GenericTask7::GenericTask7):
942         (WebCore::GenericTask8::create):
943         (WebCore::GenericTask8::GenericTask8):
944         (WebCore::createCallbackTask):
945
946 2010-05-14  Evan Martin  <evan@chromium.org>
947
948         Reviewed by David Levin.
949
950         [chromium] don't call fontconfig twice in complex text path
951         https://bugs.webkit.org/show_bug.cgi?id=38701
952
953         Previously getFontDataForCharacters would call fontconfig once to
954         resolve a font name, then pass that name to getCachedFontPlatformData
955         to load the font.  This would be two trips through fontconfig (including
956         IPCs).  With this change, we completely load the font in the first pass.
957
958         This patch is actually the same code as in r58341, which was reverted
959         because of a performance problem; a performance improvement has now
960         been committed, and with that change in place this change improves
961         the Chromium intl2 page cycler performance by another 5%.
962
963         See also https://bugs.webkit.org/show_bug.cgi?id=37904 .
964
965         Test: fast/text/international/bold-bengali.html
966         (Was checked in as part of the first attempt at this change, continues
967         to pass after this change.)
968
969         * platform/chromium/ChromiumBridge.h:
970         * platform/graphics/chromium/FontCacheLinux.cpp:
971         (WebCore::FontCache::getFontDataForCharacters):
972
973 2010-05-14  Young Han Lee  <joybro@company100.net>
974
975         Reviewed by Darin Adler.
976
977         Don't include RetainPtr.h unless PLATFORM(CF) is set.
978         The RetainPtr is only used for CF platform in this class. 
979         https://bugs.webkit.org/show_bug.cgi?id=39043
980
981         No new tests, there is no new functionality.
982
983         * platform/network/curl/ResourceHandleManager.cpp:
984
985 2010-05-14  Brian Weinstein  <bweinstein@apple.com>
986
987         Reviewed by Adam Roben.
988
989         Build fix, we need to copy over the files in $(WebKitOutputDir)/include/JavaScriptCore/private before
990         WebCore builds. This is because we are building a couple WTF files in WebCore and JavaScriptCore.
991
992         * WebCore.vcproj/WebCore.make: 
993
994 2010-05-14  Shinichiro Hamaji  <hamaji@chromium.org>
995
996         Unreviewed.  Attempt to fix chromium's memory bot error.
997
998         More :visited link optimizations to reduce memory usage
999         https://bugs.webkit.org/show_bug.cgi?id=39084
1000
1001         The original change (r59386) adds check for m_element in initElement.
1002         As don't initialize m_element in the constructor of CSSStyleSelector,
1003         valgrind complains.
1004
1005         * css/CSSStyleSelector.cpp:
1006         (WebCore::CSSStyleSelector::CSSStyleSelector):
1007
1008 2010-05-14  Andreas Kling  <andreas.kling@nokia.com>
1009
1010         Reviewed by Darin Adler.
1011
1012         CSSParser::parseColor() shouldn't alter 'color' unless passed a valid color string.
1013         https://bugs.webkit.org/show_bug.cgi?id=39031
1014
1015         * css/CSSParser.cpp:
1016         (WebCore::CSSParser::parseColor):
1017         * editing/ApplyStyleCommand.cpp:
1018         (WebCore::StyleChange::extractTextStyles): Don't depend on old behavior.
1019         * html/canvas/CanvasRenderingContext2D.cpp:
1020         (WebCore::CanvasRenderingContext2D::setShadow): Remove dead code.
1021
1022 2010-05-14  Jens Alfke  <snej@chromium.org>
1023
1024         Reviewed by John Sullivan.
1025
1026         Don't clear yellow autofill highlight from text fields until the user edits them.
1027         https://bugs.webkit.org/show_bug.cgi?id=39032
1028         No new tests (Couldn't find any autofill tests. The flag doesn't seem to be exposed to JS.)
1029
1030         * html/HTMLInputElement.cpp:
1031         (WebCore::HTMLInputElement::handleFocusEvent):  Don't clear the autofilled flag.
1032         (WebCore::HTMLInputElement::setValueFromRenderer):  Clear the autofilled flag.
1033
1034 2010-05-14  Zhenyao Mo  <zmo@google.com>
1035
1036         Reviewed by Dimitri Glazkov.
1037
1038         Must implement OpenGL ES 2.0 semantics for NPOT textures
1039         https://bugs.webkit.org/show_bug.cgi?id=33805
1040
1041         Test: fast/canvas/webgl/texture-npot.html
1042
1043         * html/canvas/WebGLRenderingContext.cpp:
1044         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Create black 1x1 textures.
1045         (WebCore::WebGLRenderingContext::bindTexture): Set texture dimensionality.
1046         (WebCore::WebGLRenderingContext::copyTexImage2D): Error check, set texture size.
1047         (WebCore::WebGLRenderingContext::drawArrays): Bind to black textures if needed.
1048         (WebCore::WebGLRenderingContext::drawElements): Bind to black textures if needed.
1049         (WebCore::WebGLRenderingContext::generateMipmap): Error check.
1050         (WebCore::WebGLRenderingContext::texImage2DBase): Error check, set texture size.
1051         (WebCore::WebGLRenderingContext::texParameterf): Set texture parameter.
1052         (WebCore::WebGLRenderingContext::texParameteri): Ditto.
1053         (WebCore::WebGLRenderingContext::handleNPOTTextures): Bind to black textures if needed before draw, and bind back to original textures after draw.
1054         * html/canvas/WebGLRenderingContext.h: Add black 1x1 textures.
1055         * html/canvas/WebGLTexture.cpp: Add support to track NPOT textures.
1056         (WebCore::WebGLTexture::createBlackTexture1x1): Create a black 1x1 texture.
1057         (WebCore::WebGLTexture::WebGLTexture): Initialize parameters and states.
1058         (WebCore::WebGLTexture::setDimensionality): Set dimensionality.
1059         (WebCore::WebGLTexture::setParameteri): Set parameter.
1060         (WebCore::WebGLTexture::setParameterf): Ditto.
1061         (WebCore::WebGLTexture::setSize): Set level 0 texture size.
1062         (WebCore::WebGLTexture::isNPOT): Whether the texture is NPOT.
1063         (WebCore::WebGLTexture::updateNPOTStates): Calculate NPOT and NeedToUseBlackTexture states.
1064         * html/canvas/WebGLTexture.h: Add support to track NPOT textures.
1065         (WebCore::WebGLTexture::isNPOT):
1066         (WebCore::WebGLTexture::needToUseBlackTexture):
1067
1068 2010-05-14  Andrey Kosyakov  <caseq@chromium.org>
1069
1070         Reviewed by Pavel Feldman.
1071
1072         Web Inspector: add help on keyboard shortcuts (take 2).
1073
1074         https://bugs.webkit.org/show_bug.cgi?id=38667
1075
1076         * English.lproj/localizedStrings.js:
1077         * WebCore.gypi:
1078         * WebCore.vcproj/WebCore.vcproj:
1079         * inspector/front-end/CallStackSidebarPane.js:
1080         (WebInspector.CallStackSidebarPane):
1081         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
1082         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1083         * inspector/front-end/ConsoleView.js:
1084         (WebInspector.ConsoleView):
1085         (WebInspector.ConsoleView.prototype._registerShortcuts):
1086         * inspector/front-end/ElementsPanel.js:
1087         (WebInspector.ElementsPanel):
1088         (WebInspector.ElementsPanel.prototype._registerShortcuts):
1089         * inspector/front-end/ElementsTreeOutline.js:
1090         (WebInspector.ElementsTreeOutline.prototype._keyDown):
1091         * inspector/front-end/HelpScreen.js: Added.
1092         * inspector/front-end/KeyboardShortcut.js:
1093         * inspector/front-end/ScriptsPanel.js:
1094         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
1095         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
1096         * inspector/front-end/ShortcutsHelp.js: Added.
1097         * inspector/front-end/SidebarPane.js:
1098         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
1099         * inspector/front-end/StylesSidebarPane.js:
1100         (WebInspector.StylesSidebarPane.prototype.removeSection):
1101         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
1102         * inspector/front-end/TextViewer.js:
1103         (WebInspector.TextViewer.prototype._handleKeyDown):
1104         * inspector/front-end/WebKit.qrc:
1105         * inspector/front-end/helpScreen.css: Added.
1106
1107 2010-05-14  Tony Gentilcore  <tonyg@chromium.org>
1108
1109         Reviewed by Darin Fisher.
1110
1111         [chromium] Update chromium port to send/receive cached metadata
1112         https://bugs.webkit.org/show_bug.cgi?id=38665
1113
1114         No new tests because no new functionality.
1115
1116         * platform/chromium/ChromiumBridge.h:
1117         * platform/network/chromium/ResourceResponse.h:
1118         (WebCore::ResourceResponse::ResourceResponse):
1119         (WebCore::ResourceResponse::responseTime):
1120         (WebCore::ResourceResponse::setResponseTime):
1121
1122 2010-05-14  Chris Evans  <cevans@chromium.org>
1123
1124         Reviewed by Adam Barth.
1125
1126         Chromium-specific fix to prevent zombie infobars.
1127
1128         https://bugs.webkit.org/show_bug.cgi?id=38948
1129
1130         * bindings/v8/ScriptController.cpp
1131         (WebCore::ScriptController::processingUserGesture):
1132           Require a more definite "no" signal.
1133         * loader/RedirectScheduler.cpp:
1134         (WebCore::ScheduledFormSubmission::fire):
1135           Use a very strong yes / no signal; no need for "possible" here.
1136         * dom/UserGestureIndicator.h:
1137         * dom/UserGestureIndicator.cpp:
1138           Adapt to tri-state: definitely yes; definitely no; not sure.
1139
1140 2010-05-14  Aaron Kennedy  <tffeeb@gmail.com>
1141
1142         Reviewed by Simon Hausmann.
1143
1144         [Qt] JavaScript unable to invoke methods declared in QML
1145         https://bugs.webkit.org/show_bug.cgi?id=38949
1146
1147         JavaScript code executed by webkit cannot call into QML declared
1148         methods, as it does not check for dynamic meta objects.
1149
1150         * bridge/qt/qt_instance.cpp:
1151         (JSC::Bindings::QtInstance::stringValue): Use QMetaObject::metacall.
1152         * bridge/qt/qt_runtime.cpp:
1153         (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
1154
1155 2010-05-14  Ben Murdoch  <benm@google.com>
1156
1157         Reviewed by Darin Fisher.
1158
1159         Touch events are disabled by default when using V8.
1160         https://bugs.webkit.org/show_bug.cgi?id=38990
1161
1162         Touch events are protected by a compile time guard, so it's safe to
1163         assume that the runtime flag  should be enabled by default when this
1164         guard is present.
1165
1166         No new tests, build fix for Android.
1167
1168         * bindings/generic/RuntimeEnabledFeatures.cpp: enable touch events by default.
1169
1170 2010-05-14  George Wright  <gwright@rim.com>
1171
1172         Reviewed by George Staikos.
1173
1174         https://bugs.webkit.org/show_bug.cgi?id=38909
1175
1176         Update JSDataGridColumnListCustom.cpp to call identifierToAtomicString()
1177         on the property name.
1178
1179         * bindings/js/JSDataGridColumnListCustom.cpp:
1180         (WebCore::JSDataGridColumnList::canGetItemsForName):
1181         (WebCore::JSDataGridColumnList::nameGetter):
1182
1183 2010-05-14  Andreas Kling  <andreas.kling@nokia.com>
1184
1185         Reviewed by Darin Adler.
1186
1187         Ignore invalid values for various CanvasRenderingContext2D properties
1188         (lineWidth, miterLimit, shadowOffsetX, shadowOffsetY and shadowBlur)
1189
1190         https://bugs.webkit.org/show_bug.cgi?id=38841
1191
1192         Test: fast/canvas/canvas-invalid-values.html
1193
1194         * html/canvas/CanvasRenderingContext2D.cpp:
1195         (WebCore::CanvasRenderingContext2D::setLineWidth):
1196         (WebCore::CanvasRenderingContext2D::setMiterLimit):
1197         (WebCore::CanvasRenderingContext2D::setShadowOffsetX):
1198         (WebCore::CanvasRenderingContext2D::setShadowOffsetY):
1199         (WebCore::CanvasRenderingContext2D::setShadowBlur):
1200
1201 2010-05-13  Timothy Hatcher  <timothy@apple.com>
1202
1203         Expose WebCore::reportException and WebCore::toJSDOMWindow symbols.
1204
1205         Reviewed by Sam Weinig.
1206
1207         * WebCore.base.exp: Expose reportException and toJSDOMWindow.
1208
1209 2010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
1210
1211         Reviewed by Timothy Hatcher.
1212
1213         Web Inspector: Clearing Breakpoints Too Often
1214         https://bugs.webkit.org/show_bug.cgi?id=39094
1215
1216         Minor resets should preserve both workers and breakpoints.
1217
1218         * inspector/front-end/ScriptsPanel.js:
1219         (WebInspector.ScriptsPanel.prototype.reset):
1220
1221 2010-05-13  Simon Fraser  <simon.fraser@apple.com>
1222
1223         Reviewed by Dan Bernstein.
1224
1225         iframes in compositing layers don't redraw correctly on scrolling
1226         https://bugs.webkit.org/show_bug.cgi?id=39096
1227         
1228         When an iframe ends up in a compositing layer (that is painting to its backing store), we need
1229         to turn off blitting on scrolling. RenderView::paintBoxDecorations() already has code to do this
1230         for transformed frames, so do the same thing when the frame is enclosed in a compositing layer.
1231
1232         Test: compositing/iframes/iframe-copy-on-scroll.html
1233
1234         * rendering/RenderView.cpp:
1235         (WebCore::RenderView::paintBoxDecorations):
1236
1237 2010-05-13  Simon Fraser  <simon.fraser@apple.com>
1238
1239         Reviewed by Dave Hyatt.
1240
1241         Fix scrolling in composited iframes
1242         https://bugs.webkit.org/show_bug.cgi?id=39088
1243         <rdar://problem/7980099>
1244         
1245         When propagating compositing out of iframes, we have to update the position of the iframe content
1246         layers on scrolling.
1247
1248         Test: compositing/iframes/scrolling-iframe.html
1249
1250         * page/FrameView.cpp:
1251         (WebCore::FrameView::scrollPositionChanged): Call updateContentLayerScrollPosition() when scrolling.
1252
1253         * rendering/RenderLayerBacking.cpp:
1254         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Renamed setRootPlatformLayerClippingBox() to updateContentLayerOffset().
1255
1256         * rendering/RenderLayerCompositor.h:
1257         * rendering/RenderLayerCompositor.cpp: Rename m_clippingLayer to m_clipLayer to go better with m_scrollLayer.
1258         (WebCore::RenderLayerCompositor::updateContentLayerOffset): Renamed from setRootPlatformLayerClippingBox().
1259             Set the size of the clipping layer from the FrameView now, so that scrollbars are not clipped out.
1260             Update the scroll layer position too.
1261         (WebCore::RenderLayerCompositor::updateContentLayerScrollPosition): Set the position of the scroll layer
1262             when the ScrollView is scrolled.
1263         (WebCore::RenderLayerCompositor::rootPlatformLayer): m_clippingLayer rename.
1264         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): m_clippingLayer rename. Also create m_scrollLayer at
1265             the same time as the clip layer, and clean it up as necessary.
1266         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): m_clippingLayer rename, and clean up the m_scrollLayer too.
1267         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): m_clippingLayer rename
1268
1269 2010-05-13  Sam Weinig  <sam@webkit.org>
1270
1271         Reviewed by Anders Carlsson.
1272
1273         Follow up to:
1274         Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
1275         Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
1276         Part of <rdar://problem/7921275>
1277
1278         Fix failing tests on Leopard.
1279
1280         Initialize m_hasCachedCSSText in CSSPrimitiveValue::init methods.
1281
1282         * css/CSSPrimitiveValue.cpp:
1283         (WebCore::CSSPrimitiveValue::init):
1284         (WebCore::CSSPrimitiveValue::cssText): Add extra assertion.
1285
1286 2010-05-13  Kent Tamura  <tkent@chromium.org>
1287
1288         Reviewed by Darin Adler.
1289
1290         Can't submit a form with <input type=checkbox required>
1291         https://bugs.webkit.org/show_bug.cgi?id=39065
1292
1293         Test: fast/forms/interactive-validation-required-checkbox.html
1294
1295         * html/HTMLInputElement.cpp:
1296         (WebCore::HTMLInputElement::setChecked):
1297           Update the validity cache when a checkbox state is changed.
1298
1299 2010-05-13  Kenneth Russell  <kbr@google.com>
1300
1301         Reviewed by Dimitri Glazkov.
1302
1303         Alias WebGLArray type names to TypedArray type names
1304         https://bugs.webkit.org/show_bug.cgi?id=39036
1305
1306         Exposed the existing WebGL<T>Array constructor functions on the
1307         DOMWindow under the naming convention in the TypedArray spec. The
1308         implementations will be renamed in a subsequent bug, and the
1309         aliases to the WebGL<T>Array type names eventually removed. Ran
1310         all layout tests (including WebGL) in Safari, and WebGL tests in
1311         Chromium.
1312
1313         Test: revised array-unit-tests.html to test both type names.
1314         Revised global prototype and constructor tests to ignore new types.
1315
1316         * bindings/generic/RuntimeEnabledFeatures.h:
1317         (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
1318         (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
1319         (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
1320         (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
1321         (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
1322         (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
1323         (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
1324         (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
1325         * bindings/js/JSDOMWindowCustom.cpp:
1326         (WebCore::JSDOMWindow::arrayBuffer):
1327         (WebCore::JSDOMWindow::int8Array):
1328         (WebCore::JSDOMWindow::uint8Array):
1329         (WebCore::JSDOMWindow::int32Array):
1330         (WebCore::JSDOMWindow::uint32Array):
1331         (WebCore::JSDOMWindow::int16Array):
1332         (WebCore::JSDOMWindow::uint16Array):
1333         (WebCore::JSDOMWindow::floatArray):
1334         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1335         (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
1336         (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
1337         (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
1338         (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
1339         (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
1340         (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
1341         (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
1342         (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
1343         * page/DOMWindow.idl:
1344
1345 2010-05-13  David Hyatt  <hyatt@apple.com>
1346
1347         Reviewed by Anders Carlsson.
1348
1349         https://bugs.webkit.org/show_bug.cgi?id=39084
1350
1351         Improve :visited style resolution to reduce its memory footprint and to make some speed adjustments and
1352         simplifications.
1353
1354         (1) Tie the caching of link state on CSSStyleSelector to the element.  Just clear out the element when
1355         style resolution finishes for the unvisited case to avoid caching across external calls.  The internal
1356         calls share the cache just fine by doing this.
1357
1358         (2) Delete the RenderStyle if the link is unvisited.  This shouldn't take long enough to make us vulnerable
1359         to timing attacks, and it makes sure the overall footprint stays the way it used to be for unvisited links.
1360
1361         (3) Limit the set of properties that can be applied to :visited links to only the colors it supports.  This
1362         stops images from being loadable from :visited rules.
1363
1364         * css/CSSStyleSelector.cpp:
1365         (WebCore::CSSStyleSelector::init):
1366         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkState):
1367         (WebCore::CSSStyleSelector::initElement):
1368         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1369         (WebCore::CSSStyleSelector::styleForElement):
1370         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1371         (WebCore::isValidVisitedLinkProperty):
1372         (WebCore::CSSStyleSelector::applyProperty):
1373         * css/CSSStyleSelector.h:
1374         * rendering/style/RenderStyle.cpp:
1375         (WebCore::colorIncludingFallback):
1376
1377 2010-05-13  Sam Weinig  <sam@webkit.org>
1378
1379         Reviewed by Darin Adler.
1380
1381         Fix for https://bugs.webkit.org/show_bug.cgi?id=38221
1382         Memory issues due to the changes in 36556 (increased CSSPrimitiveValue size).
1383         Part of <rdar://problem/7921275>
1384
1385         - Use an external cache to speedup cssText for CSSPrimitiveValue instead
1386           of an extra member variable.
1387
1388         * css/CSSPrimitiveValue.cpp:
1389         (WebCore::cssTextCache):
1390         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1391         (WebCore::CSSPrimitiveValue::cleanup):
1392         (WebCore::CSSPrimitiveValue::cssText):
1393         * css/CSSPrimitiveValue.h:
1394         (WebCore::CSSPrimitiveValue::):
1395         * css/CSSPrimitiveValueMappings.h:
1396         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1397
1398 2010-05-13  Enrica Casucci  <enrica@apple.com>
1399
1400         Reviewed by Dave Hyatt.
1401
1402         Adding block elements to a block and removing them changes the height of the element.
1403         https://bugs.webkit.org/show_bug.cgi?id=38874
1404
1405         The initial height of an empty editable block is different from the height of the same block after we add block elements
1406         and remove them.
1407         
1408         Test: editing/deleting/delete-block-contents-004.html
1409
1410         * rendering/RenderBlock.cpp:
1411         (WebCore::RenderBlock::layoutBlock): resetting m_childrenInline flag to true when layout a block with no children.
1412
1413 2010-05-13  Brady Eidson  <beidson@apple.com>
1414
1415         Reviewed by Darin Adler.
1416
1417         Repro crash at www.sears.com (infinite recursion in beforeunload handler)
1418         <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
1419
1420         Test: fast/loader/recursive-before-unload-crash.html
1421
1422         * loader/FrameLoader.cpp:
1423         (WebCore::FrameLoader::shouldClose): Copied from Frame, with the pageDismissal flag set.
1424         * loader/FrameLoader.h:
1425
1426         * page/Frame.cpp:
1427         (WebCore::Frame::shouldClose): Forward to the new FrameLoader::shouldClose().
1428         * page/Frame.h:
1429         (WebCore::Frame::existingDOMWindow):
1430
1431 2010-05-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1432
1433         Unreviewed, rolling out r59376.
1434         http://trac.webkit.org/changeset/59376
1435         https://bugs.webkit.org/show_bug.cgi?id=39080
1436
1437         Broke window prototype tests (Requested by jamesr on #webkit).
1438
1439         * bindings/generic/RuntimeEnabledFeatures.h:
1440         * bindings/js/JSDOMWindowCustom.cpp:
1441         (WebCore::JSDOMWindow::webGLFloatArray):
1442         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1443         * page/DOMWindow.idl:
1444
1445 2010-05-13  Pavel Feldman  <pfeldman@chromium.org>
1446
1447         Reviewed by Yury Semikhatsky.
1448
1449         Web Inspector: A disabled style property cannot be deleted.
1450
1451         https://bugs.webkit.org/show_bug.cgi?id=39057
1452
1453         * inspector/InspectorDOMAgent.cpp:
1454         (WebCore::InspectorDOMAgent::applyStyleText):
1455
1456 2010-05-12  Kenneth Russell  <kbr@google.com>
1457
1458         Reviewed by Dimitri Glazkov.
1459
1460         Alias WebGLArray type names to TypedArray type names
1461         https://bugs.webkit.org/show_bug.cgi?id=39036
1462
1463         Exposed the existing WebGL<T>Array constructor functions on the
1464         DOMWindow under the naming convention in the TypedArray spec. The
1465         implementations will be renamed in a subsequent bug, and the
1466         aliases to the WebGL<T>Array type names eventually removed. Ran
1467         all WebGL layout tests in Safari and Chromium.
1468
1469         Test: revised array-unit-tests.html to test both type names.
1470
1471         * bindings/generic/RuntimeEnabledFeatures.h:
1472         (WebCore::RuntimeEnabledFeatures::arrayBufferEnabled):
1473         (WebCore::RuntimeEnabledFeatures::int8ArrayEnabled):
1474         (WebCore::RuntimeEnabledFeatures::uint8ArrayEnabled):
1475         (WebCore::RuntimeEnabledFeatures::int16ArrayEnabled):
1476         (WebCore::RuntimeEnabledFeatures::uint16ArrayEnabled):
1477         (WebCore::RuntimeEnabledFeatures::int32ArrayEnabled):
1478         (WebCore::RuntimeEnabledFeatures::uint32ArrayEnabled):
1479         (WebCore::RuntimeEnabledFeatures::floatArrayEnabled):
1480         * bindings/js/JSDOMWindowCustom.cpp:
1481         (WebCore::JSDOMWindow::arrayBuffer):
1482         (WebCore::JSDOMWindow::int8Array):
1483         (WebCore::JSDOMWindow::uint8Array):
1484         (WebCore::JSDOMWindow::int32Array):
1485         (WebCore::JSDOMWindow::uint32Array):
1486         (WebCore::JSDOMWindow::int16Array):
1487         (WebCore::JSDOMWindow::uint16Array):
1488         (WebCore::JSDOMWindow::floatArray):
1489         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1490         (WebCore::V8DOMWindow::ArrayBufferAccessorGetter):
1491         (WebCore::V8DOMWindow::Int8ArrayAccessorGetter):
1492         (WebCore::V8DOMWindow::Uint8ArrayAccessorGetter):
1493         (WebCore::V8DOMWindow::Int16ArrayAccessorGetter):
1494         (WebCore::V8DOMWindow::Uint16ArrayAccessorGetter):
1495         (WebCore::V8DOMWindow::Int32ArrayAccessorGetter):
1496         (WebCore::V8DOMWindow::Uint32ArrayAccessorGetter):
1497         (WebCore::V8DOMWindow::FloatArrayAccessorGetter):
1498         * page/DOMWindow.idl:
1499
1500 2010-05-13  Brady Eidson  <beidson@apple.com>
1501
1502         Reviewed by John Sullivan.
1503
1504         Part of <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928
1505
1506         No new tests. (No change in behavior)
1507
1508         m_unloadEventBeingDispatched was already overloaded to include both unload and pagehide events.
1509         In general, these are "page dismissal" events, and might also include beforeunload, so let's rename
1510         the flag!
1511
1512         * loader/FrameLoader.cpp:
1513         (WebCore::FrameLoader::FrameLoader):
1514         (WebCore::FrameLoader::stopLoading):
1515         (WebCore::FrameLoader::loadURL):
1516         (WebCore::FrameLoader::loadWithDocumentLoader):
1517         (WebCore::FrameLoader::stopAllLoaders):
1518         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1519         (WebCore::FrameLoader::pageHidden):
1520         * loader/FrameLoader.h:
1521
1522 2010-05-13  Joseph Pecoraro  <joepeck@webkit.org>
1523
1524         Reviewed by Pavel Feldman.
1525
1526         Web Inspector: Event Markers should be hidden in Resource's "Size" Graph
1527         https://bugs.webkit.org/show_bug.cgi?id=39074
1528
1529         Added Show / Hide event dividers functionality to the timeline grid,
1530         and included delegation functions in AbstractTimelinePanel.
1531
1532         * inspector/front-end/AbstractTimelinePanel.js: delegate to the inner grid
1533         (WebInspector.AbstractTimelinePanel.prototype.hideEventDividers):
1534         (WebInspector.AbstractTimelinePanel.prototype.showEventDividers):
1535         * inspector/front-end/ResourcesPanel.js:
1536         (WebInspector.ResourcesPanel.prototype.populateSidebar): save a reference to the size graph item to know when its selected
1537         (WebInspector.ResourcesPanel.prototype._graphSelected): if the size graph is selected hide the dividers, otherwise show them
1538         * inspector/front-end/TimelineGrid.js:
1539         (WebInspector.TimelineGrid.prototype.hideEventDividers): set the container to display: none
1540         (WebInspector.TimelineGrid.prototype.showEventDividers): set the container to display: block
1541
1542 2010-05-13  Chang Shu  <chang.shu@nokia.com>
1543
1544         Reviewed by Kenneth Rohde Christiansen.
1545
1546         Based on the spec and Philip Taylor's test suite, strokeStyle and fillStyle attributes
1547         must initially have the string value #000000.
1548         The link to the spec:
1549         http://philip.html5.org/tests/canvas/suite/tests/spec.html#testrefs.2d.colours.default
1550
1551         https://bugs.webkit.org/show_bug.cgi?id=39068
1552
1553         The complete test suite is in the process of checking in.
1554         https://bugs.webkit.org/show_bug.cgi?id=20553
1555
1556         * html/canvas/CanvasRenderingContext2D.cpp:
1557         (WebCore::CanvasRenderingContext2D::State::State):
1558
1559 2010-05-13  Yury Semikhatsky  <yurys@chromium.org>
1560
1561         Unreviewed, rolling out r59360.
1562         http://trac.webkit.org/changeset/59360
1563         https://bugs.webkit.org/show_bug.cgi?id=38667
1564
1565         It broke Chromium Win build
1566
1567         * English.lproj/localizedStrings.js:
1568         * WebCore.gypi:
1569         * WebCore.vcproj/WebCore.vcproj:
1570         * inspector/front-end/CallStackSidebarPane.js:
1571         (WebInspector.CallStackSidebarPane):
1572         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
1573         * inspector/front-end/ConsoleView.js:
1574         (WebInspector.ConsoleView):
1575         * inspector/front-end/ElementsPanel.js:
1576         (WebInspector.ElementsPanel):
1577         * inspector/front-end/ElementsTreeOutline.js:
1578         (WebInspector.ElementsTreeOutline.prototype._keyDown):
1579         * inspector/front-end/HelpScreen.js: Removed.
1580         * inspector/front-end/KeyboardShortcut.js:
1581         (WebInspector.KeyboardShortcut._makeKeyFromCodeAndModifiers):
1582         * inspector/front-end/ScriptsPanel.js:
1583         (WebInspector.ScriptsPanel):
1584         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
1585         * inspector/front-end/ShortcutsHelp.js: Removed.
1586         * inspector/front-end/SidebarPane.js:
1587         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
1588         * inspector/front-end/StylesSidebarPane.js:
1589         (WebInspector.StylesSidebarPane.prototype.removeSection):
1590         * inspector/front-end/TextViewer.js:
1591         (WebInspector.TextViewer.prototype._handleKeyDown):
1592         * inspector/front-end/WebKit.qrc:
1593         * inspector/front-end/helpScreen.css: Removed.
1594         * inspector/front-end/inspector.html:
1595         * inspector/front-end/inspector.js:
1596         (WebInspector.loaded):
1597         (WebInspector.documentKeyDown):
1598         (WebInspector._searchKeyDown):
1599         (WebInspector.startEditing.keyDownEventListener):
1600         (WebInspector.startEditing):
1601         * inspector/front-end/utilities.js:
1602
1603 2010-05-13  Antti Koivisto  <koivisto@iki.fi>
1604
1605         Reviewed by Kenneth Rohde Christiansen.
1606
1607         https://bugs.webkit.org/show_bug.cgi?id=39063
1608         [Qt] Tiled backing store checker pattern does not paint correctly when scaling factor is not 1
1609
1610         Use the dirty rect that has been adjusted for scaling instead of the original one.
1611
1612         * platform/graphics/TiledBackingStore.cpp:
1613         (WebCore::TiledBackingStore::paint):
1614
1615 2010-05-13  Chang Shu  <chang.shu@nokia.com>
1616
1617         Reviewed by Kenneth Rohde Christiansen.
1618
1619         Based on Philip Taylor's test suite, resetting the canvas
1620         state resets the current path.
1621         https://bugs.webkit.org/show_bug.cgi?id=38934
1622
1623         The complete test suite is in the process of checking in.
1624         https://bugs.webkit.org/show_bug.cgi?id=20553
1625
1626         * html/canvas/CanvasRenderingContext2D.cpp:
1627         (WebCore::CanvasRenderingContext2D::reset):
1628
1629 2010-05-13  Andrey Kosyakov  <caseq@chromium.org>
1630
1631         Reviewed by Pavel Feldman.
1632
1633         Added help screen with keyboard shortcuts.
1634         https://bugs.webkit.org/show_bug.cgi?id=38667
1635
1636         * English.lproj/localizedStrings.js:
1637         * WebCore.gypi:
1638         * WebCore.vcproj/WebCore.vcproj:
1639         * inspector/front-end/CallStackSidebarPane.js:
1640         (WebInspector.CallStackSidebarPane):
1641         (WebInspector.CallStackSidebarPane.prototype._placardSelected):
1642         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1643         * inspector/front-end/ConsoleView.js:
1644         (WebInspector.ConsoleView):
1645         (WebInspector.ConsoleView.prototype._registerShortcuts):
1646         * inspector/front-end/ElementsPanel.js:
1647         (WebInspector.ElementsPanel):
1648         (WebInspector.ElementsPanel.prototype._registerShortcuts):
1649         * inspector/front-end/HelpScreen.js: Added.
1650         * inspector/front-end/KeyboardShortcut.js:
1651         (WebInspector.KeyboardShortcut.makeDescriptor):
1652         (WebInspector.KeyboardShortcut.shortcutToString):
1653         (WebInspector.KeyboardShortcut._modifiersToString):
1654         * inspector/front-end/ScriptsPanel.js:
1655         (WebInspector.ScriptsPanel):
1656         (WebInspector.ScriptsPanel.prototype.elementsToRestoreScrollPositionsFor):
1657         (WebInspector.ScriptsPanel.prototype._registerShortcuts):
1658         * inspector/front-end/ShortcutsHelp.js: Added.
1659         * inspector/front-end/StylesSidebarPane.js:
1660         (WebInspector.StylesSidebarPane.prototype.removeSection):
1661         (WebInspector.StylesSidebarPane.prototype.registerShortcuts):
1662         * inspector/front-end/WebKit.qrc:
1663         * inspector/front-end/helpScreen.css: Added.
1664
1665 2010-05-13  Yoshiki Hayashi  <yhayashi@google.com>
1666
1667         Reviewed by Darin Adler.
1668
1669         Fix a bug in handleRunInChild where only the first child run-in block
1670         is inserted because removeChildNode clears next sibling.
1671         https://bugs.webkit.org/show_bug.cgi?id=25047
1672
1673         Test: fast/css/run-in-children.html
1674
1675         * rendering/RenderBlock.cpp:
1676         (WebCore::RenderBlock::handleRunInChild):
1677
1678 2010-05-13  Alejandro G. Castro  <alex@igalia.com>
1679
1680         Reviewed by Xan Lopez.
1681
1682         In case there is no expose event we render the theme in a pixmap
1683         and copy it to the cairo context. This is slow but it is used just
1684         in case we are printing nowadays.
1685
1686         [GTK] Theme does not render when printing
1687         https://bugs.webkit.org/show_bug.cgi?id=38896
1688
1689         * platform/gtk/RenderThemeGtk.cpp:
1690         (WebCore::paintMozillaGtkWidget):
1691
1692 2010-05-12  Yuzo Fujishima  <yuzo@google.com>
1693
1694         Reviewed by Darin Adler.
1695
1696         Fix Bug 35014 - Modifying UA rules from page JS crashes
1697         Added a NULL check.
1698         https://bugs.webkit.org/show_bug.cgi?id=35014
1699
1700         Test: fast/css/modify-ua-rules-from-javascript.html
1701
1702         * css/CSSMutableStyleDeclaration.cpp:
1703         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
1704
1705 2010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
1706
1707         Reviewed by Adam Barth.
1708
1709         Add the parent class for Database and DatabaseSync.
1710         https://bugs.webkit.org/show_bug.cgi?id=39041
1711
1712         * GNUmakefile.am:
1713         * WebCore.gypi:
1714         * WebCore.pro:
1715         * WebCore.vcproj/WebCore.vcproj:
1716         * WebCore.xcodeproj/project.pbxproj:
1717         * storage/AbstractDatabase.cpp: Added.
1718         * storage/AbstractDatabase.h: Added.
1719
1720 2010-05-12  Noam Rosenthal  <noam.rosenthal@nokia.com>
1721
1722         Reviewed by Kenneth Rohde Christiansen.
1723
1724         [Qt] GraphicsLayer: depth-test causes flicker in certain situations
1725
1726         This patch removes the simplistic 2D depth test as it leads to flickering side effects.
1727         https://bugs.webkit.org/show_bug.cgi?id=38370
1728
1729         Tested by http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
1730
1731         * platform/graphics/qt/GraphicsLayerQt.cpp:
1732         (WebCore::GraphicsLayerQtImpl::updateTransform):
1733
1734 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
1735
1736         Reviewed by Mark Rowe.
1737
1738         Fix layer dump to avoid spurious platform differences
1739         https://bugs.webkit.org/show_bug.cgi?id=39045
1740         
1741         Only dump the children transform on layers that are not the root layer.
1742         The children transform on the root layer is used on Leopard to implement
1743         geometry flipping, so avoid this supurious difference in test output.
1744
1745         * platform/graphics/GraphicsLayer.cpp:
1746         (WebCore::GraphicsLayer::dumpProperties):
1747
1748 2010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1749
1750         Unreviewed, rolling out r59270.
1751         http://trac.webkit.org/changeset/59270
1752         https://bugs.webkit.org/show_bug.cgi?id=39044
1753
1754         Caused a crash on some pages - bug 39042 (Requested by smfr on
1755         #webkit).
1756
1757         * rendering/RenderBlock.cpp:
1758         (WebCore::RenderBlock::removeChild):
1759
1760 2010-05-12  Simon Fraser  <simon.fraser@apple.com>
1761
1762         Reviewed by David Hyatt.
1763
1764         Composited plug-ins can cause missed painting
1765         https://bugs.webkit.org/show_bug.cgi?id=39033
1766         <rdar://problem/7972478>
1767
1768         Fixed missed painting (and assertions in debug builds) related to compositing
1769         propagating out of iframes that contain plug-ins.
1770         
1771         When an iframe enters or leaves compositing mode, RenderLayerCompositor uses
1772         setNeedsStyleRecalc(SyntheticStyleChange) to trigger the parent document to re-evaluate
1773         whether the iframe itself should be composited. However, for iframes containing plug-ins,
1774         this can happen at inappropriate times. For example, when a browser tab is brought frontmost,
1775         plug-ins are instantiated for the first time (via -viewDidMoveToWindow), which triggers a 
1776         setNeedsStyleRecalc() on the object element. Soon after, the -viewWillDraw machinery
1777         does layout from the top down. During layout of the iframe, the iframe enters compositing mode,
1778         and does a setNeedsStyleRecalc() on the iframe element in its parent document. This leaves the
1779         FrameView as needsLayout(), so the FrameView::paintContents() asserts and bails.
1780         
1781         The fix is to avoid doing a setNeedsStyleRecalc() on the root while inside a recalcStyle on
1782         the iframe. We do this by switching the iframe into compositing mode eagerly as soon as we know
1783         the plug-in needs it.
1784         
1785         A secondary fix is to ensure that if a document has composited iframes, when that document becomes
1786         composited, we connect compositing layers between the iframes and the parent document.
1787
1788         Tests: compositing/iframes/connect-compositing-iframe-delayed.html
1789                compositing/iframes/iframe-src-change.html
1790
1791         * WebCore.base.exp: Export FrameView::enterCompositingMode()
1792
1793         * page/FrameView.h: New method, enterCompositingMode(), that we can call from WebKit plug-in code.
1794         * page/FrameView.cpp:
1795         (WebCore::FrameView::enterCompositingMode):
1796
1797         * rendering/RenderLayerCompositor.h:
1798         * rendering/RenderLayerCompositor.cpp:
1799         (WebCore::RenderLayerCompositor::enableCompositingMode): When we switch into compositing mode, we
1800             force a style recaclc on any iframes to get them into compositing layers, so they can hook up
1801             with their content layers if necessary.
1802         (WebCore::RenderLayerCompositor::didMoveOnscreen): Only call attachRootPlatformLayer() if we really need to.
1803         (WebCore::RenderLayerCompositor::willMoveOffscreen): Only call detachRootPlatformLayer() if we really need to.
1804         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Whitespace.
1805         (WebCore::RenderLayerCompositor::notifyIFramesOfCompositingChange): Fetch iframe elements, and send a 
1806             synthetic style recalc on them.
1807
1808 2010-05-12  Anders Carlsson  <andersca@apple.com>
1809
1810         Reviewed by Simon Fraser.
1811
1812         Shrink the size of FillLayer by moving a member variable.
1813         https://bugs.webkit.org/show_bug.cgi?id=39035
1814
1815         * rendering/style/FillLayer.cpp:
1816         (WebCore::FillLayer::FillLayer):
1817         * rendering/style/FillLayer.h:
1818
1819 2010-05-12  Sam Weinig  <sam@webkit.org>
1820
1821         Reviewed by Anders Carlsson.
1822
1823         A bunch of nice micro-optimizations for ~1% speedup on PLT.
1824         - Add fastGetAttribute. The same as getAttribute except can only be
1825           called when it is known not to be style attribute or one of the SVG
1826           animatable attributes.
1827         - Inline some functions from Font.
1828         - Return the same string from deprecatedParseURL if there is nothing
1829           to strip.
1830         - Use a member variable instead of a virtual function to determine 
1831           whether a ScheduledNavigation is a location change.
1832
1833         * WebCore.base.exp:
1834         * css/CSSHelper.cpp:
1835         (WebCore::deprecatedParseURL):
1836         * css/CSSStyleSelector.cpp:
1837         (WebCore::linkAttribute):
1838         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1839         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1840         * dom/Element.cpp:
1841         (WebCore::Element::getAttribute):
1842         * dom/Element.h:
1843         (WebCore::Element::fastHasAttribute):
1844         (WebCore::Element::fastGetAttribute):
1845         * html/HTMLFormControlElement.cpp:
1846         (WebCore::HTMLFormControlElement::formControlName):
1847         * html/HTMLInputElement.cpp:
1848         (WebCore::HTMLInputElement::value):
1849         * loader/RedirectScheduler.cpp:
1850         (WebCore::ScheduledNavigation::ScheduledNavigation):
1851         (WebCore::ScheduledNavigation::isLocationChange):
1852         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
1853         (WebCore::ScheduledRedirect::ScheduledRedirect):
1854         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
1855         (WebCore::ScheduledRefresh::ScheduledRefresh):
1856         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
1857         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
1858         (WebCore::RedirectScheduler::locationChangePending):
1859         * platform/graphics/Font.cpp:
1860         * platform/graphics/Font.h:
1861         (WebCore::Font::~Font):
1862         (WebCore::Font::primaryFont):
1863         (WebCore::Font::fontDataAt):
1864         (WebCore::Font::fontDataForCharacters):
1865         (WebCore::Font::isFixedPitch):
1866         (WebCore::Font::fontSelector):
1867         * platform/graphics/FontFallbackList.h:
1868         * rendering/RenderImage.cpp:
1869         (WebCore::RenderImage::imageMap):
1870
1871 2010-05-12  David Hyatt  <hyatt@apple.com>
1872
1873         Reviewed by Sam Weinig.
1874
1875         Make InlineBoxes use an IntRect for dimensions, and eliminate the dynamic computation of height() every time.
1876
1877         * WebCore.xcodeproj/project.pbxproj:
1878         * editing/visible_units.cpp:
1879         (WebCore::previousLinePosition):
1880         (WebCore::nextLinePosition):
1881         * rendering/EllipsisBox.cpp:
1882         (WebCore::EllipsisBox::paint):
1883         (WebCore::EllipsisBox::selectionRect):
1884         (WebCore::EllipsisBox::paintSelection):
1885         (WebCore::EllipsisBox::nodeAtPoint):
1886         * rendering/EllipsisBox.h:
1887         (WebCore::EllipsisBox::EllipsisBox):
1888         * rendering/InlineBox.cpp:
1889         (WebCore::InlineBox::adjustPosition):
1890         (WebCore::InlineBox::canAccommodateEllipsis):
1891         * rendering/InlineBox.h:
1892         (WebCore::InlineBox::InlineBox):
1893         (WebCore::InlineBox::isSVGRootInlineBox):
1894         (WebCore::InlineBox::x):
1895         (WebCore::InlineBox::y):
1896         (WebCore::InlineBox::width):
1897         (WebCore::InlineBox::height):
1898         (WebCore::InlineBox::bottom):
1899         (WebCore::InlineBox::right):
1900         (WebCore::InlineBox::setX):
1901         (WebCore::InlineBox::setY):
1902         (WebCore::InlineBox::setWidth):
1903         (WebCore::InlineBox::setHeight):
1904         (WebCore::InlineBox::location):
1905         (WebCore::InlineBox::size):
1906         (WebCore::InlineBox::setLocation):
1907         (WebCore::InlineBox::setSize):
1908         (WebCore::InlineBox::move):
1909         (WebCore::InlineBox::frameRect):
1910         (WebCore::InlineBox::setFrameRect):
1911         (WebCore::InlineBox::baselinePosition):
1912         (WebCore::InlineBox::lineHeight):
1913         * rendering/InlineFlowBox.cpp:
1914         (WebCore::InlineFlowBox::placeBoxesVertically):
1915         (WebCore::InlineFlowBox::computeVerticalOverflow):
1916         (WebCore::InlineFlowBox::nodeAtPoint):
1917         (WebCore::InlineFlowBox::paintBoxDecorations):
1918         (WebCore::InlineFlowBox::paintMask):
1919         (WebCore::InlineFlowBox::paintTextDecorations):
1920         * rendering/InlineFlowBox.h:
1921         (WebCore::InlineFlowBox::visibleOverflowRect):
1922         (WebCore::InlineFlowBox::topLayoutOverflow):
1923         (WebCore::InlineFlowBox::bottomLayoutOverflow):
1924         (WebCore::InlineFlowBox::leftLayoutOverflow):
1925         (WebCore::InlineFlowBox::rightLayoutOverflow):
1926         (WebCore::InlineFlowBox::layoutOverflowRect):
1927         (WebCore::InlineFlowBox::topVisualOverflow):
1928         (WebCore::InlineFlowBox::bottomVisualOverflow):
1929         (WebCore::InlineFlowBox::leftVisualOverflow):
1930         (WebCore::InlineFlowBox::rightVisualOverflow):
1931         (WebCore::InlineFlowBox::visualOverflowRect):
1932         (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
1933         (WebCore::InlineFlowBox::setVerticalOverflowPositions):
1934         * rendering/InlineTextBox.cpp:
1935         (WebCore::InlineTextBox::selectionRect):
1936         (WebCore::InlineTextBox::placeEllipsisBox):
1937         (WebCore::InlineTextBox::nodeAtPoint):
1938         (WebCore::InlineTextBox::paint):
1939         (WebCore::InlineTextBox::paintSelection):
1940         (WebCore::InlineTextBox::paintCompositionBackground):
1941         (WebCore::InlineTextBox::paintDecoration):
1942         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1943         (WebCore::InlineTextBox::paintTextMatchMarker):
1944         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1945         (WebCore::InlineTextBox::paintCompositionUnderline):
1946         (WebCore::InlineTextBox::offsetForPosition):
1947         (WebCore::InlineTextBox::positionForOffset):
1948         * rendering/InlineTextBox.h:
1949         (WebCore::InlineTextBox::setSpaceAdd):
1950         * rendering/RenderBlock.cpp:
1951         (WebCore::RenderBlock::positionForPointWithInlineChildren):
1952         * rendering/RenderBlockLineLayout.cpp:
1953         (WebCore::RenderBlock::computeVerticalPositionsForLine):
1954         (WebCore::RenderBlock::layoutInlineChildren):
1955         * rendering/RenderSVGInline.cpp:
1956         (WebCore::RenderSVGInline::createInlineFlowBox):
1957         * rendering/RenderSVGInlineText.cpp:
1958         (WebCore::RenderSVGInlineText::createTextBox):
1959         * rendering/RenderSVGText.cpp:
1960         (WebCore::RenderSVGText::createRootInlineBox):
1961         * rendering/RenderText.cpp:
1962         (WebCore::RenderText::positionForPoint):
1963         (WebCore::RenderText::firstRunX):
1964         (WebCore::RenderText::firstRunY):
1965         * rendering/RenderTreeAsText.cpp:
1966         (WebCore::writeTextRun):
1967         * rendering/RootInlineBox.cpp:
1968         (WebCore::RootInlineBox::placeEllipsis):
1969         (WebCore::RootInlineBox::addHighlightOverflow):
1970         (WebCore::RootInlineBox::closestLeafChildForXPos):
1971         * rendering/SVGInlineFlowBox.h:
1972         (WebCore::SVGInlineFlowBox::SVGInlineFlowBox):
1973         * rendering/SVGInlineTextBox.h:
1974         (WebCore::SVGInlineTextBox::selectionTop):
1975         (WebCore::SVGInlineTextBox::selectionHeight):
1976         * rendering/SVGRootInlineBox.h:
1977         (WebCore::SVGRootInlineBox::SVGRootInlineBox):
1978         (WebCore::SVGRootInlineBox::isSVGRootInlineBox):
1979         * rendering/TrailingFloatsRootInlineBox.h: Removed.
1980
1981 2010-05-12  Dumitru Daniliuc  <dumi@chromium.org>
1982
1983         Reviewed by Dimitri Glazkov.
1984
1985         Removing the unnecessary dirfd parameter.
1986         https://bugs.webkit.org/show_bug.cgi?id=38869
1987
1988         * platform/chromium/ChromiumBridge.h:
1989         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
1990
1991 2010-05-12  Enrica Casucci  <enrica@apple.com>
1992
1993         Reviewed by Dave Hyatt.
1994
1995         Adding block elements to a block and removing them changes the height of the element.
1996         https://bugs.webkit.org/show_bug.cgi?id=38874
1997
1998         The initial height of an empty editable block is different from the height of the same block after we add block elements
1999         and remove them.
2000         
2001         Test: editing/deleting/delete-block-contents-004.html
2002
2003         * rendering/RenderBlock.cpp:
2004         (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
2005         and never reset to true when all the block elements contained are removed.
2006
2007 2010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
2008
2009         Reviewed by Dimitri Glazkov.
2010
2011         Do not check if a database needs to be vacuumed after a read-only transaction.
2012         https://bugs.webkit.org/show_bug.cgi?id=38972
2013
2014         * storage/SQLTransaction.cpp:
2015         (WebCore::SQLTransaction::postflightAndCommit):
2016
2017 2010-05-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2018
2019         Reviewed by Kenneth Rohde Christiansen.
2020
2021         [Qt] Detect debug mode consistently
2022         https://bugs.webkit.org/show_bug.cgi?id=38863
2023
2024         No new tests as there is no new functionality.
2025
2026         * WebCore.pro:
2027
2028 2010-05-12  James Robinson  <jamesr@chromium.org>
2029
2030         Patch by Dan Bernstein.
2031
2032         Reviewed by David Hyatt.
2033
2034         Fix marking the layout root's parent as needing layout
2035         https://bugs.webkit.org/show_bug.cgi?id=37760
2036
2037         If an element gets marked as needing layout due to the recalcStyle()
2038         call in FrameView::layout(), the m_layoutSchedulingEnabled flag will
2039         be set to false.  It's possible at this point that a parent of the
2040         existing FrameView::m_layoutRoot will be marked as needing layout.
2041
2042         This patch updates FrameView::scheduleRelayoutOfSubtree to account
2043         for this case.
2044
2045         Manual test only due to subtle timing issues.
2046
2047         * manual-tests/layoutroot_detach.xml: Added.
2048         * page/FrameView.cpp:
2049         (WebCore::FrameView::scheduleRelayoutOfSubtree):
2050
2051 2010-05-12  Eric Seidel  <eric@webkit.org>
2052
2053         Unreviewed, rolling out r59245.
2054         http://trac.webkit.org/changeset/59245
2055         https://bugs.webkit.org/show_bug.cgi?id=38874
2056
2057         Broke at least one test on multiple platforms
2058
2059         * rendering/RenderBlock.cpp:
2060         (WebCore::RenderBlock::removeChild):
2061
2062 2010-05-12  Alexey Proskuryakov  <ap@apple.com>
2063
2064         Reviewed by Darin Adler.
2065
2066         https://bugs.webkit.org/show_bug.cgi?id=38752
2067         Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)
2068
2069         Test: fast/images/extra-image-in-image-document.html
2070
2071         * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement): Reset setAutoLoadImages
2072         after manually feeding an image - there may be more coming.
2073
2074 2010-05-12  yael aharon  <yael.aharon@nokia.com>
2075
2076         Reviewed by Dan Bernstein.
2077
2078         HTMLLabelElement::control() should return HTMLFormControlElement, not HTMLElement
2079         https://bugs.webkit.org/show_bug.cgi?id=38991
2080
2081         No new tests since no new functionality was introduced.
2082
2083         * html/HTMLLabelElement.cpp:
2084         (WebCore::HTMLLabelElement::control):
2085         * html/HTMLLabelElement.h:
2086
2087 2010-05-12  David Hyatt  <hyatt@apple.com>
2088
2089         Reviewed by Darin Adler.
2090
2091         https://bugs.webkit.org/show_bug.cgi?id=38891
2092
2093         First-letter had a number of bugs that were exposed by my attempt to optimize the setting of styles when updating first-letter.
2094         The code that drills down to find the first-letter child stopped if it hit an element that didn't need layout.  This means it could
2095         return random incorrect results (and cause the first-letter object to not be found).
2096
2097         In addition when the first-letter was floated/positioned, the text child was not correctly returned, but the container itself was
2098         returned instead.
2099
2100         Finally, the updating code was leaving the box that wrapped the first letter text with a stale style.  The old code happened to work because
2101         it made new styles for the text elements instead of using the enclosing box style.  The regression was caused by my change to make the
2102         text children simply share style with their parent (thus making the bug that the parent had the wrong style become more prominent).
2103
2104         No new tests, since there's a timing component to reproducing the issue.
2105
2106         * rendering/RenderBlock.cpp:
2107         (WebCore::RenderBlock::updateFirstLetter):
2108
2109 2010-05-12  Enrica Casucci  <enrica@apple.com>
2110
2111         Reviewed by Dave Hyatt.
2112
2113         Adding block elements to a block and removing them changes the height of the element.
2114         https://bugs.webkit.org/show_bug.cgi?id=38874
2115
2116         The initial height of an empty editable block is different from the height of the same block after we add block elements
2117         and remove them.
2118         
2119         Test: editing/deleting/delete-block-contents-004.html
2120
2121         * rendering/RenderBlock.cpp:
2122         (WebCore::RenderBlock::removeChild): m_childrenInline was set to true only when the Renderer is created
2123         and never reset to true when all the block elements contained are removed.
2124
2125 2010-05-12  Pavel Feldman  <pfeldman@chromium.org>
2126
2127         Reviewed by Timothy Hatcher.
2128
2129         Web Inspector: disabling style property on container breaks styles inspection for given node.
2130
2131         https://bugs.webkit.org/show_bug.cgi?id=39005
2132
2133         Tests: inspector/styles-disable-inherited.html
2134                inspector/styles-disable-then-enable.html
2135
2136         * inspector/front-end/StylesSidebarPane.js:
2137         (WebInspector.StylesSidebarPane.prototype._containsInherited):
2138         (WebInspector.StylesSidebarPane.prototype._arrayContainsInheritedProperty):
2139
2140 2010-05-12  Abhishek Arya  <inferno@chromium.org>
2141
2142         Reviewed by Darin Adler.
2143
2144         HTML Entity Escape the contents of a textarea node when accessed
2145         via the innerHTML and outerHTML node properties.
2146         https://bugs.webkit.org/show_bug.cgi?id=38922
2147
2148         Test: fast/innerHTML/innerHTML-special-elements.html
2149
2150         * editing/markup.cpp:
2151         (WebCore::appendStartMarkup):
2152
2153 2010-05-12  Beth Dakin  <bdakin@apple.com>
2154
2155         Reviewed by Darin Adler.
2156
2157         Fix for https://bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: 
2158         Crash clicking background NPR tab after few minutes of sitting idle
2159         -and corresponding-
2160         <rdar://problem/7941504>
2161
2162         Move m_mediaCanStartListeners HashSet to Document away from Page.
2163         * dom/Document.cpp:
2164         (WebCore::Document::Document):
2165         (WebCore::Document::addMediaCanStartListener):
2166         (WebCore::Document::removeMediaCanStartListener):
2167         (WebCore::Document::takeAnyMediaCanStartListener):
2168         * dom/Document.h:
2169         * page/Page.cpp:
2170         (WebCore::Page::takeAnyMediaCanStartListener):
2171         * page/Page.h:
2172         (WebCore::Page::canStartMedia):
2173
2174 2010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
2175
2176         Reviewed by Pavel Feldman.
2177
2178         WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
2179         https://bugs.webkit.org/show_bug.cgi?id=38925
2180
2181         * inspector/InspectorTimelineAgent.cpp:
2182         (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
2183         * inspector/InspectorTimelineAgent.h:
2184         (WebCore::):
2185         * inspector/TimelineRecordFactory.cpp:
2186         (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
2187         * inspector/TimelineRecordFactory.h:
2188         * inspector/front-end/TimelineAgent.js:
2189         * inspector/front-end/TimelinePanel.js:
2190         (WebInspector.TimelinePanel):
2191         (WebInspector.TimelinePanel.prototype.get _recordStyles):
2192         (WebInspector.TimelinePanel.prototype._findParentRecord):
2193         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
2194         (WebInspector.TimelinePanel.prototype._clearPanel):
2195         (WebInspector.TimelinePanel.FormattedRecord):
2196         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
2197         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
2198         * loader/loader.cpp:
2199         (WebCore::Loader::load):
2200
2201 2010-05-12  Kent Tamura  <tkent@chromium.org>
2202
2203         Reviewed by Darin Adler.
2204
2205         placeholder text should be stripped from line breaks
2206         https://bugs.webkit.org/show_bug.cgi?id=36291
2207
2208         According to http://dev.w3.org/html5/spec/forms.html#attr-input-placeholder ,
2209         we need to remove CR and LF from the placeholder attribute values.
2210         Introduce HTMLTextFormControlElement::strippedPlaceholder(), which
2211         returns stripped value, and replace getAttribute(placeholderAttr) with it.
2212
2213         Test: fast/forms/placeholder-stripped.html
2214
2215         * html/HTMLFormControlElement.cpp:
2216         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
2217         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
2218         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
2219           Use strippedPlaceholder().
2220         * html/HTMLFormControlElement.h:
2221         * platform/text/CharacterNames.h: Add carriageReturn.
2222         * rendering/RenderTextControlMultiLine.cpp:
2223         (WebCore::RenderTextControlMultiLine::updateFromElement):
2224           Use strippedPlaceholder().
2225         * rendering/RenderTextControlSingleLine.cpp:
2226         (WebCore::RenderTextControlSingleLine::updateFromElement):
2227           Use strippedPlaceholder().
2228
2229 2010-05-10  Rodrigo Belem  <rodrigo.belem@openbossa.org>
2230
2231         Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
2232
2233         [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
2234         https://bugs.webkit.org/show_bug.cgi?id=26224
2235
2236         This patch adds the ability, in the QtWebkit build system, to change
2237         the installation path.
2238
2239         * WebCore.pro:
2240
2241 2010-05-12  Jer Noble  <jer.noble@apple.com>
2242
2243         Reviewed by Darin Adler.
2244         
2245         Bug 38689: #34005 will break fullscreen video playback
2246         https://bugs.webkit.org/show_bug.cgi?id=38689
2247         
2248         The PlatformMedia struct now contains a type field indicating which type
2249         it contains.  The struct now contains a union of all possible return types,
2250         allowing the type of media returned by MediaPlayerPrivate instances to be
2251         determined at runtime.
2252
2253         * platform/graphics/MediaPlayer.h:
2254         (WebCore::PlatformMedia::):
2255         (WebCore::):
2256         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2257         (WebCore::MediaPlayerPrivate::platformMedia):
2258         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2259         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
2260         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2261         (WebCore::MediaPlayerPrivate::platformMedia):
2262
2263 2010-05-12  Young Han Lee  <joybro@company100.net>
2264
2265         Reviewed by Darin Adler.
2266
2267         Add missing ENABLE(SVG) guards.
2268         https://bugs.webkit.org/show_bug.cgi?id=38892
2269
2270         * rendering/RenderSVGResourceClipper.cpp:
2271         * rendering/RenderSVGResourceMarker.cpp:
2272         * rendering/RenderSVGResourceMasker.cpp:
2273
2274 2010-05-12  Pavel Feldman  <pfeldman@chromium.org>
2275
2276         Reviewed by Yury Semikhatsky.
2277
2278         Web Inspector: align sidebar checkboxes on windows.
2279
2280         https://bugs.webkit.org/show_bug.cgi?id=38986
2281
2282         * inspector/front-end/StylesSidebarPane.js:
2283         * inspector/front-end/inspector.css:
2284         (.sidebar-pane-subtitle):
2285         (body.platform-windows .sidebar-pane-subtitle):
2286
2287 2010-05-10  yael aharon  <yael.aharon@nokia.com>
2288
2289         Reviewed by Darin Adler.
2290
2291         Support control attribute of HTMLLabelElement
2292         https://bugs.webkit.org/show_bug.cgi?id=38688
2293
2294         Added support for the control attribute of HTMLLabelElement and changed the logic of determining
2295         which control is associated with the label to conform to HTML5 spec.
2296         Added a manual test for testing the logic of selecting the control to get focused, activated or hovered
2297         when the label gets focused, activated or is hovered.
2298
2299         Test: fast/dom/HTMLLabelElement/click-label.html
2300         Test: fast/dom/HTMLLabelElement/focus-label.html
2301         Test: fast/dom/HTMLLabelElement/label-control.html
2302
2303         * accessibility/AccessibilityRenderObject.cpp:
2304         (WebCore::labelForElement):
2305         (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
2306         * html/HTMLFormControlElement.cpp:
2307         (WebCore::HTMLFormControlElement::isLabelable):
2308         * html/HTMLFormControlElement.h:
2309         * html/HTMLLabelElement.cpp:
2310         (WebCore::nodeAsLabelableFormControl):
2311         (WebCore::HTMLLabelElement::control):
2312         (WebCore::HTMLLabelElement::setActive):
2313         (WebCore::HTMLLabelElement::setHovered):
2314         (WebCore::HTMLLabelElement::defaultEventHandler):
2315         (WebCore::HTMLLabelElement::focus):
2316         (WebCore::HTMLLabelElement::accessKeyAction):
2317         * html/HTMLLabelElement.h:
2318         * html/HTMLLabelElement.idl:
2319         * manual-tests/dom/form-control-for-label.html: Added.
2320
2321 2010-05-12  Steve Block  <steveblock@google.com>
2322
2323         Reviewed by David Levin.
2324
2325         Android's writeToFile() is buggy
2326         https://bugs.webkit.org/show_bug.cgi?id=38908
2327
2328         No new tests, build fix only.
2329
2330         * platform/android/FileSystemAndroid.cpp: Remove Android's version of writeToFile().
2331         * platform/posix/FileSystemPOSIX.cpp: Use POSIX version of writeToFile() on Android.
2332         (WebCore::writeToFile):
2333
2334 2010-05-10  Philippe Normand  <pnormand@igalia.com>
2335
2336         Reviewed by David Levin.
2337
2338         [GStreamer] incoherent #ifdef in GOwnPtrGStreamer.h
2339         https://bugs.webkit.org/show_bug.cgi?id=38839
2340
2341         Fixed #ifdef/curly braces coherence.
2342
2343         * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp:
2344         (WTF::GstElement):
2345
2346 2010-05-10  Philippe Normand  <pnormand@igalia.com>
2347
2348         Reviewed by Dirk Schulze.
2349
2350         [GStreamer] un-needed cairo.h include
2351         https://bugs.webkit.org/show_bug.cgi?id=38837
2352
2353         Cairo not used in the sink anymore. So it's not needed to include
2354         the header.
2355
2356         * platform/graphics/gstreamer/VideoSinkGStreamer.h:
2357
2358 2010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>
2359
2360         Reviewed by Nikolas Zimmermann.
2361
2362         Build fix for Windows and Chromium builds.
2363
2364         * WebCore.gypi:
2365         * WebCore.vcproj/WebCore.vcproj:
2366         * svg/graphics/filters/SVGFELighting.cpp:
2367         (WebCore::FELighting::LightingData::upLeftPixelValue):
2368         (WebCore::FELighting::LightingData::upPixelValue):
2369         (WebCore::FELighting::LightingData::upRightPixelValue):
2370         (WebCore::FELighting::LightingData::leftPixelValue):
2371         (WebCore::FELighting::LightingData::centerPixelValue):
2372         (WebCore::FELighting::LightingData::rightPixelValue):
2373         (WebCore::FELighting::LightingData::downLeftPixelValue):
2374         (WebCore::FELighting::LightingData::downPixelValue):
2375         (WebCore::FELighting::LightingData::downRightPixelValue):
2376         (WebCore::FELighting::setPixel):
2377
2378 2010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>
2379
2380         Reviewed by Nikolas Zimmermann.
2381
2382         Implementing SVG filters: feDiffuseLighting and feSpecularLighting
2383         https://bugs.webkit.org/show_bug.cgi?id=32197
2384         https://bugs.webkit.org/show_bug.cgi?id=32199
2385
2386         The patch implements the SVG filters feDiffuseLighting and
2387         feSpecularLighting including the impementation of their possible
2388         light sources according to the Scalable Vector Graphics (SVG)
2389         1.1 Specification. Only two features are missing: supporting images
2390         with height or width set to 1, and kernelUnitLength other than (1,1).
2391         Since the two lighting filters have a similar body, a common base
2392         class called FELighting is introduced, and contains the code for
2393         both filters. The implementation employs single precision floating
2394         point arithmetic (fixed precision integer arithmetic seemed too difficult).
2395
2396         Indentation is removed of the modified header files in svg/graphics/filters
2397
2398         * GNUmakefile.am:
2399         * WebCore.pro:
2400         * WebCore.xcodeproj/project.pbxproj:
2401         * platform/graphics/FloatPoint3D.cpp:
2402         * platform/graphics/FloatPoint3D.h:
2403         (WebCore::FloatPoint3D::FloatPoint3D): constructors changed to inline
2404         (WebCore::operator*): dot product
2405         * svg/SVGFESpotLightElement.cpp:
2406         (WebCore::SVGFESpotLightElement::lightSource):
2407         * svg/graphics/filters/SVGDistantLightSource.h:
2408         (WebCore::DistantLightSource::create):
2409         (WebCore::DistantLightSource::azimuth):
2410         (WebCore::DistantLightSource::elevation):
2411         (WebCore::DistantLightSource::DistantLightSource):
2412         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2413         (WebCore::FEDiffuseLighting::FEDiffuseLighting):
2414         (WebCore::FEDiffuseLighting::create):
2415         * svg/graphics/filters/SVGFEDiffuseLighting.h:
2416         * svg/graphics/filters/SVGFELighting.cpp: Added.
2417         (WebCore::FELighting::FELighting):
2418         (WebCore::FELighting::LightingData::upLeftPixelValue):
2419         (WebCore::FELighting::LightingData::upPixelValue):
2420         (WebCore::FELighting::LightingData::upRightPixelValue):
2421         (WebCore::FELighting::LightingData::leftPixelValue):
2422         (WebCore::FELighting::LightingData::centerPixelValue):
2423         (WebCore::FELighting::LightingData::rightPixelValue):
2424         (WebCore::FELighting::LightingData::downLeftPixelValue):
2425         (WebCore::FELighting::LightingData::downPixelValue):
2426         (WebCore::FELighting::LightingData::downRightPixelValue):
2427         (WebCore::FELighting::setPixel):
2428         (WebCore::FELighting::drawLighting):
2429         (WebCore::FELighting::apply):
2430         * svg/graphics/filters/SVGFELighting.h: Added.
2431         (WebCore::FELighting::uniteChildEffectSubregions):
2432         (WebCore::FELighting::):
2433         * svg/graphics/filters/SVGFESpecularLighting.cpp:
2434         (WebCore::FESpecularLighting::FESpecularLighting):
2435         (WebCore::FESpecularLighting::create):
2436         * svg/graphics/filters/SVGFESpecularLighting.h:
2437         * svg/graphics/filters/SVGLightSource.cpp:
2438         (WebCore::PointLightSource::initPaintingData):
2439         (WebCore::PointLightSource::updatePaintingData):
2440         (WebCore::SpotLightSource::initPaintingData):
2441         (WebCore::SpotLightSource::updatePaintingData):
2442         (WebCore::DistantLightSource::initPaintingData):
2443         (WebCore::DistantLightSource::updatePaintingData):
2444         * svg/graphics/filters/SVGLightSource.h:
2445         (WebCore::):
2446         (WebCore::LightSource::LightSource):
2447         (WebCore::LightSource::~LightSource):
2448         (WebCore::LightSource::type):
2449         * svg/graphics/filters/SVGPointLightSource.h:
2450         (WebCore::PointLightSource::create):
2451         (WebCore::PointLightSource::position):
2452         (WebCore::PointLightSource::PointLightSource):
2453         * svg/graphics/filters/SVGSpotLightSource.h:
2454         (WebCore::SpotLightSource::create):
2455         (WebCore::SpotLightSource::position):
2456         (WebCore::SpotLightSource::direction):
2457         (WebCore::SpotLightSource::specularExponent):
2458         (WebCore::SpotLightSource::limitingConeAngle):
2459         (WebCore::SpotLightSource::SpotLightSource):
2460
2461 2010-05-12  Xan Lopez  <xlopez@igalia.com>
2462
2463         Reviewed by Nikolas Zimmermann.
2464
2465         Add missing AM_V_GEN directives to generation rules so that they
2466         remain silent when requested.
2467
2468         * GNUmakefile.am:
2469
2470 2010-05-12  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
2471
2472         Reviewed by Jeremy Orlow.
2473
2474         [EFL] It does not make sense to use ScrollbarEfl::ScrollbarEfl, so
2475         use ScrollbarEfl (GCC 4.5 seems to be pickier about this). Revision 59030
2476         fixed cases for RenderThemeEfl, but missed this for ScrollbarEfl.
2477         http://webkit.org/b/38904
2478
2479         No new tests required.
2480
2481         * platform/efl/ScrollbarEfl.cpp:
2482         (scrollbarEflEdjeMessage):
2483
2484 2010-05-12  MORITA Hajime  <morrita@google.com>
2485
2486         Reviewed by Kent Tamura.
2487
2488         [Chromium] Support HTML5 <progress> element on Windows.
2489         https://bugs.webkit.org/show_bug.cgi?id=37308
2490
2491         Extended ChromiumBridge to handle progress bar painting,
2492         and added delegations to it.
2493         
2494         No new tests. Test cases should be shared with existing ones for
2495         progress element.  Expectaions will be added after PROGRESS_TAG is
2496         enabled on Chromium tree.
2497
2498         * platform/chromium/ChromiumBridge.h:
2499         * rendering/RenderProgress.cpp:
2500         (WebCore::RenderProgress::animationProgress):
2501         (WebCore::RenderProgress::isDeterminate):
2502         * rendering/RenderProgress.h:
2503         (WebCore::RenderProgress::position):
2504         * rendering/RenderThemeChromiumWin.cpp:
2505         (WebCore::RenderThemeChromiumWin::animationRepeatIntervalForProgressBar):
2506         (WebCore::RenderThemeChromiumWin::animationDurationForProgressBar):
2507         (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
2508         (WebCore::RenderThemeChromiumWin::paintProgressBar):
2509         * rendering/RenderThemeChromiumWin.h:
2510
2511 2010-05-12  Marcus Bulach  <bulach@chromium.org>
2512
2513         Reviewed by Steve Block.
2514
2515         Removes Geolocation::setPosition and uses positionChanged() to capture lastPosition().
2516         This brings CLIENT_BASED_GEOLOCATION more inline with the non-client based.
2517         https://bugs.webkit.org/show_bug.cgi?id=38195
2518
2519         * page/Geolocation.cpp:
2520         (WebCore::Geolocation::lastPosition):
2521         (WebCore::Geolocation::requestPermission):
2522         (WebCore::Geolocation::positionChangedInternal):
2523         (WebCore::Geolocation::positionChanged):
2524         (WebCore::Geolocation::geolocationServicePositionChanged):
2525         * page/Geolocation.h:
2526         * page/GeolocationController.cpp:
2527         (WebCore::GeolocationController::positionChanged):
2528         (WebCore::GeolocationController::lastPosition):
2529         * page/GeolocationController.h:
2530
2531 2010-05-12  Marcus Bulach  <bulach@chromium.org>
2532
2533         Reviewed by Steve Block.
2534
2535         Attaches the geolocation bridge later on startUpdating().
2536         This prevents a page requesting permission when it has just accessed navigator.geolocation (without calling navigator.geolocation.getCurrentPosition/watchPosition).
2537         Note: when Geolocation::haveSuitableCachedPosition(), WebGeolocationServiceBridgeImpl::startUpdating() is not called,
2538         so we attach the bridge if needed at requestGeolocationPermissionForFrame().
2539         https://bugs.webkit.org/show_bug.cgi?id=38323
2540         http://crbug.com/42789
2541
2542         * platform/chromium/GeolocationServiceChromium.h:
2543
2544 2010-05-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
2545
2546         Reviewed by Dirk Schulze.
2547
2548         Fix a bug in SVGPathSegList::getPathSegAtLength().
2549         This bug is just a misktake: almost all of the code is OK, but the
2550         parameter is not used at all, therefore, this function always returns
2551         "1".
2552         And make a modification to return the last path segment if the distance
2553         exceeds the actual path length.
2554         https://bugs.webkit.org/show_bug.cgi?id=37515
2555
2556         Test: svg/dom/svgpath-getPathSegAtLength.html
2557
2558         * svg/SVGPathSegList.cpp:
2559         (WebCore::SVGPathSegList::getPathSegAtLength):
2560
2561 2010-05-11  David Hyatt  <hyatt@apple.com>
2562
2563         Reviewed by Maciej Stachowiak.
2564
2565         https://bugs.webkit.org/show_bug.cgi?id=38976, fast/css/pseudo-cache-stale.html has incorrect results.
2566
2567         Make sure to trigger a relayout of any objects whose first-line styles change dynamically.
2568
2569         * dom/Element.cpp:
2570         (WebCore::Element::pseudoStyleCacheIsInvalid):
2571
2572 2010-05-11  Joseph Pecoraro  <joepeck@webkit.org>
2573
2574         Reviewed by Timothy Hatcher.
2575
2576         Web Inspector: Shorthand Properties Getting Deleted When Editing
2577         https://bugs.webkit.org/show_bug.cgi?id=38958
2578
2579         * inspector/front-end/DOMAgent.js:
2580         (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands): was getting regular values instead of shorthand values
2581
2582 2010-05-11  Tony Chang  <tony@chromium.org>
2583
2584         Reviewed by Darin Fisher.
2585
2586         [chromium] Remove subframe scrollbar routing (r58937)
2587         https://bugs.webkit.org/show_bug.cgi?id=38894
2588
2589         * page/chromium/EventHandlerChromium.cpp:
2590         (WebCore::EventHandler::passMousePressEventToSubframe):
2591
2592 2010-05-11  Simon Fraser  <simon.fraser@apple.com>
2593
2594         Reviewed by Maciej Stachowiak.
2595
2596         Body not redrawn, and filled with garbage on some composited pages
2597         https://bugs.webkit.org/show_bug.cgi?id=38951
2598         <rdar://problem/7891548>
2599         
2600         When the root layer becomes composited (for example, because a negative z-index
2601         descendant in its stacking context becomes composited), then it has to be made
2602         large enough to fill the viewport, because the page background draws into it.
2603
2604         Test: compositing/geometry/composited-html-size.html
2605
2606         * rendering/RenderLayerCompositor.cpp:
2607         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2608
2609 2010-05-11  Anders Carlsson  <andersca@apple.com>
2610
2611         Reviewed by Mark Rowe.
2612
2613         https://bugs.webkit.org/show_bug.cgi?id=38961
2614         Move some member variables around to reduce class sizes.
2615
2616         If a class inherits (directly or indirectly) from FastAllocBase, we don't want the first member variable
2617         of that class to also inherit (directly or indirectly) from FastAllocBase as this will add padding to the class
2618         and thus increasing its size.
2619
2620         * css/CSSParserValues.h:
2621         * css/CSSSelector.h:
2622         (WebCore::CSSSelector::CSSSelector):
2623         (WebCore::CSSSelector::RareData::RareData):
2624         * platform/graphics/FontCache.cpp:
2625         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2626
2627 2010-05-11  Dumitru Daniliuc  <dumi@chromium.org>
2628
2629         Reviewed by Adam Barth.
2630
2631         Adding a function needed by the V8 code generator to turn on/off
2632         the binding for WorkerContext::openDatabaseSync().
2633         https://bugs.webkit.org/show_bug.cgi?id=38960
2634
2635         * bindings/generic/RuntimeEnabledFeatures.cpp:
2636         (WebCore::RuntimeEnabledFeatures::openDatabaseSyncEnabled):
2637         * bindings/generic/RuntimeEnabledFeatures.h:
2638
2639 2010-05-11  MORITA Hajime  <morrita@google.com>
2640
2641         Reviewed by Dirk Schulze.
2642
2643         CSS SVG font doesn't recognize URL without element reference
2644         https://bugs.webkit.org/show_bug.cgi?id=37144
2645
2646         CachedFont::getSVGFontById() did assume that element reference (ID) is given.
2647         So fixed to handle an empty or missing element reference. In which case, 
2648         the first font element is returned if available.
2649         
2650         Test: svg/custom/svg-fonts-with-no-element-reference.html
2651
2652         * loader/CachedFont.cpp:
2653         (WebCore::CachedFont::getSVGFontById):
2654
2655 2010-05-11  Jer Noble  <jer.noble@apple.com>
2656
2657         No Review.
2658         
2659         Fix the Windows Debug Build: the correct VCProj variable to use when linking against
2660         JavaScriptCore is $(WebKitDLLConfigSuffix), not $(WebKitConfigSuffix), which expands
2661         to an empty string rather than "_debug".
2662         
2663         * WebCore.vcproj/QTMovieWin.vcproj:
2664
2665 2010-05-11  Jer Noble  <jer.noble@apple.com>
2666
2667         Darin Adler.
2668
2669         19 media tests are crashing on Windows Release
2670         https://bugs.webkit.org/show_bug.cgi?id=38950
2671         rdar://problem/7971658
2672
2673         Link against JavaScriptCore.lib instead of WTF.lib, so the free and malloc used by 
2674         QTMovieWin is always the free and malloc in JavaScriptCore.dll.
2675         
2676         * WebCore.vcproj/QTMovieWin.vcproj:
2677
2678 2010-05-11  Darin Adler  <darin@apple.com>
2679
2680         Reviewed by Beth Dakin.
2681
2682         Another refactoring patch in preparation for a fix to
2683         https://bugs.webkit.org/show_bug.cgi?id=38871
2684         REGRESSION: Crash clicking background NPR tab after few minutes of sitting idle
2685
2686         * dom/Document.cpp:
2687         (WebCore::Document::addMediaCanStartListener): Added.
2688         (WebCore::Document::removeMediaCanStartListener): Added.
2689
2690         * dom/Document.h: Added add/removeMediaCanStartListener.
2691
2692         * html/HTMLMediaElement.cpp:
2693         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call removeMediaCanStartListener
2694         on the document instead of the page.
2695         (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Call
2696         removeMediaCanStartListener on the current document.
2697         (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Call
2698         addMediaCanStartListener on the new document.
2699         (WebCore::HTMLMediaElement::loadInternal): Call addMediaCanStartListener
2700         on the document instead of the page.
2701
2702         * plugins/PluginView.cpp:
2703         (WebCore::PluginView::startOrAddToUnstartedList): Call addMediaCanStartListener
2704         on the document instead of the page.
2705         (WebCore::PluginView::~PluginView): Call removeMediaCanStartListener
2706         on the document instead of the page, and do it in line instead of calling
2707         a function.
2708
2709         * plugins/PluginView.h: Removed unused removeFromUnstartedListIfNecessary.
2710
2711 2010-05-11  Brian Weinstein  <bweinstein@apple.com>
2712
2713         Reviewed by Steve Falkenburg and Jon Honeycutt.
2714         Patch by Gavin Barraclough.
2715
2716         REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
2717         https://bugs.webkit.org/show_bug.cgi?id=38930
2718         <rdar://problem/7937188>
2719         
2720         Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
2721
2722         No new tests because no change in behavior.
2723
2724         * WebCore.vcproj/WebCore.vcproj:
2725
2726 2010-05-11  Beth Dakin  <bdakin@apple.com>
2727
2728         Reviewed by Darin Adler.
2729
2730         Small re-factoring patch in preparation for fixing https://
2731         bugs.webkit.org/show_bug.cgi?id=38871 REGRESSION: Crash clicking 
2732         background NPR tab after few minutes of sitting idle
2733
2734         * page/Page.cpp:
2735         (WebCore::Page::takeAnyMediaCanStartListener):
2736         (WebCore::Page::setCanStartMedia):
2737         * page/Page.h:
2738
2739 2010-05-11  Alexey Proskuryakov  <ap@apple.com>
2740
2741         Reviewed by Brady Eidson.
2742
2743         https://bugs.webkit.org/show_bug.cgi?id=37989
2744         Safari (still) doesn't always send basic credentials preemptively
2745
2746         Test: http/tests/xmlhttprequest/basic-auth-default.html
2747
2748         After fetching credentials from WebCore storage, put them back right away. This will add
2749         default credentials for the directory, since this may be the first time we learn about its
2750         associated protection space.
2751
2752         * platform/network/cf/ResourceHandleCFNet.cpp:
2753         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2754         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
2755         * platform/network/mac/ResourceHandleMac.mm:
2756         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2757         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]):
2758
2759 2010-05-11  Kevin Watters  <kevinwatters@gmail.com>
2760
2761         Reviewed by Kevin Ollivier.
2762
2763         [wx] Create an NSFont on Mac builds that do not have built-in methods to do so.
2764         https://bugs.webkit.org/show_bug.cgi?id=38931
2765
2766         * platform/graphics/wx/FontPlatformData.h:
2767         (WebCore::FontPlatformData::nsFont):
2768         * platform/graphics/wx/FontPlatformDataWxMac.mm:
2769         (DegToRad):
2770         (OSXCreateNSFont):
2771         (WebCore::FontPlatformData::cacheNSFont):
2772         * platform/graphics/wx/SimpleFontDataWx.cpp:
2773         (WebCore::SimpleFontData::platformWidthForGlyph):
2774
2775 2010-05-11  Avi Drissman  <avi@chromium.org>
2776
2777         Reviewed by Darin Fisher.
2778
2779         [Chromium] Pipe RTL info into WebPopupMenuInfo
2780         https://bugs.webkit.org/show_bug.cgi?id=38749
2781
2782         * platform/chromium/PopupMenuChromium.cpp:
2783         (WebCore::PopupContainer::menuStyle):
2784         * platform/chromium/PopupMenuChromium.h:
2785
2786 2010-05-11  Mark Rowe  <mrowe@apple.com>
2787
2788         Fix the world.
2789
2790         In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
2791         The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
2792         that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
2793         in sync with build-webkit.  This led to WebCore and WebKit having different views of Document's vtable
2794         and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
2795         function in WebCore being called.
2796
2797         We fix this by bringing the FeatureDefines.xcconfig files in to sync.  Based on the ChangeLog message and
2798         other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
2799         has been reverted.
2800
2801         * Configurations/FeatureDefines.xcconfig:
2802
2803 2010-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
2804
2805         Reviewed by Darin Adler.
2806
2807         REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
2808         https://bugs.webkit.org/show_bug.cgi?id=38913
2809
2810         * Widened the check for a successful submit button to include all HTMLFormControlElements.
2811         * Clarified implicit submission code by:
2812             - introducing HTMLFormControlElement::canTriggerImplicitSubmission flag,
2813             - getting rid of static casting and checking for tag names.
2814
2815         * html/HTMLFormControlElement.h:
2816         (WebCore::HTMLFormControlElement::canTriggerImplicitSubmission): Added.
2817         * html/HTMLFormElement.cpp:
2818         (WebCore::HTMLFormElement::submitImplicitly): Renamed parameters for clarity, refactored code
2819             to use canTriggerImplicitSubmission.
2820         * html/HTMLFormElement.h: Renamed parameter for clarity.
2821         * html/HTMLInputElement.cpp:
2822         (WebCore::HTMLInputElement::defaultEventHandler):  Used canTriggerImplicitSubmission()
2823             instead of isTextField() for clarity.
2824         * html/HTMLInputElement.h:
2825         (WebCore::HTMLInputElement::canTriggerImplicitSubmission): Added.
2826         * html/HTMLIsIndexElement.h:
2827         (WebCore::HTMLIsIndexElement::canTriggerImplicitSubmission): Added.
2828
2829 2010-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2830
2831         Unreviewed, rolling out r59171.
2832         http://trac.webkit.org/changeset/59171
2833         https://bugs.webkit.org/show_bug.cgi?id=38933
2834
2835         "Broke the world" (Requested by bweinstein on #webkit).
2836
2837         * WebCore.vcproj/WebCore.vcproj:
2838
2839 2010-05-11  Brian Weinstein  <bweinstein@apple.com>
2840
2841         Reviewed by Steve Falkenburg.
2842         Patch by Gavin Barraclough.
2843
2844         REGRESSION (r57900-57919): 3% PLT Regression from moving strings into WTF.
2845         https://bugs.webkit.org/show_bug.cgi?id=38930
2846         <rdar://problem/7937188>
2847         
2848         Add the WTF strings into the WebCore vcproj, from their copied location in $(WebKitOutputDir).
2849
2850         No new tests because no change in behavior.
2851
2852         * WebCore.vcproj/WebCore.vcproj:
2853
2854 2010-05-11  Jian Li  <jianli@chromium.org>
2855
2856         Unreviewed. Fix compiling erron on snow leopard.
2857
2858         * html/FileThreadTask.h:
2859         (WebCore::createFileThreadTask):
2860
2861 2010-05-11  Jian Li  <jianli@chromium.org>
2862
2863         Reviewed by Dmitry Titov.
2864
2865         Expose FileReader interface.
2866         https://bugs.webkit.org/show_bug.cgi?id=38609
2867
2868         Test: fast/files/file-reader.html
2869
2870         * Configurations/FeatureDefines.xcconfig:
2871         * DerivedSources.cpp:
2872         * DerivedSources.make:
2873         * GNUmakefile.am:
2874         * WebCore.gypi:
2875         * WebCore.pri:
2876         * WebCore.vcproj/WebCore.vcproj:
2877         * WebCore.xcodeproj/project.pbxproj:
2878         * bindings/js/JSEventTarget.cpp:
2879         (WebCore::toJS):
2880         * bindings/v8/V8DOMWrapper.cpp:
2881         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2882         * html/FileError.idl:
2883         * html/FileReader.idl: Added.
2884         * page/DOMWindow.idl:
2885
2886 2010-05-11  Xan Lopez  <xlopez@igalia.com>
2887
2888         Reviewed by Gustavo Noronha.
2889
2890         [gtk] critical warning in soup_message_set_first_party() when cancelling a navigation
2891         https://bugs.webkit.org/show_bug.cgi?id=38653
2892
2893         Check if willSendRequest cancelled the request before setting the
2894         first party for the cookies in the message, otherwise we'll get a
2895         critical warning.
2896
2897         * platform/network/soup/ResourceHandleSoup.cpp:
2898         (WebCore::restartedCallback):
2899
2900 2010-05-11  Jer Noble  <jer.noble@apple.com>
2901
2902         Reviewed by Adele Peterson.
2903
2904         REGRESSION (r59001): 11 media tests are failing on Windows (38847)
2905         rdar://problem/7962997
2906         https://bugs.webkit.org/show_bug.cgi?id=38847
2907         
2908         QTMovieWin was too much refactored; the cacheMovieScale() function should have
2909         been left in QTMovie (instead of being moved into QTMovieGWorld).  This fixes the
2910         video-size-intrinsic-scale test.
2911         
2912         QTMovieTask::updateTaskTimer() was ignoring the maxInterval parameter unless 
2913         QTGetTimeUntilNextTask() returned an error, which caused the next timer to be
2914         scheduled for extremely far in the future, breaking some of the layout tests.
2915         
2916         QTMovieTask::fireTaskClients() now makes a local copy of the task list before 
2917         calling clients, in case one of them removes themselves from the task list and
2918         invalidates our iterating pointer.
2919         
2920         * platform/graphics/win/QTMovie.cpp:
2921         (QTMoviePrivate::task):
2922         (QTMoviePrivate::createMovieController):
2923         (QTMoviePrivate::cacheMovieScale):
2924         * platform/graphics/win/QTMovieGWorld.cpp:
2925         (QTMovieGWorldPrivate::movieLoadStateChanged):
2926         * platform/graphics/win/QTMovieTask.cpp:
2927         (QTMovieTask::updateTaskTimer):
2928         (QTMovieTask::fireTaskClients):
2929
2930 2010-05-11  Patrick Gansterer  <paroga@paroga.com>
2931
2932         Reviewed by Adam Roben.
2933
2934         Port SharedBuffer to WinCE.
2935         https://bugs.webkit.org/show_bug.cgi?id=37222
2936
2937         Use only functions which are available on Win32 and WinCE.
2938
2939         * platform/win/SharedBufferWin.cpp:
2940         (WebCore::SharedBuffer::createWithContentsOfFile):
2941
2942 2010-05-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
2943
2944         Reviewed by Kenneth Rohde Christiansen.
2945
2946         [Qt] fast/text/find-hidden-text.html
2947         https://bugs.webkit.org/show_bug.cgi?id=32922
2948
2949         Use the real page step for populating the QStyleOption otherwhise
2950         the size can be negative, which can break the QStyle used.
2951
2952         * platform/qt/ScrollbarThemeQt.cpp:
2953         (WebCore::styleOptionSlider):
2954
2955 2010-05-11  Pavel Feldman  <pfeldman@chromium.org>
2956
2957         Reviewed by Yury Semikhatsky.
2958
2959         Web Inspector: make styles rendering more user-friendly.
2960
2961         https://bugs.webkit.org/show_bug.cgi?id=36747
2962
2963         * inspector/front-end/ElementsPanel.js:
2964         (WebInspector.ElementsPanel):
2965         * inspector/front-end/StylesSidebarPane.js:
2966         (WebInspector.StylesSidebarPane.prototype._update):
2967         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2968         (WebInspector.ComputedStyleSidebarPane):
2969         (WebInspector.StylePropertiesSection):
2970         (WebInspector.StylePropertiesSection.prototype.collapse):
2971         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
2972         * inspector/front-end/inspector.css:
2973         (#elements-content):
2974         (#elements-sidebar):
2975         (.styles-sidebar-separator):
2976         (.styles-section):
2977         (.styles-section .header):
2978         (.styles-section .header .title):
2979         (.styles-section .header .subtitle):
2980         (.styles-section .header .subtitle a):
2981         (.styles-section .properties):
2982         (.styles-section.no-affect .properties li):
2983         (.styles-section.no-affect .properties li.editing):
2984         (.styles-section.expanded .properties):
2985         (.styles-section .properties li):
2986         (.styles-section .properties li.parent):
2987         (.styles-section .properties ol):
2988         (.styles-section .properties ol.expanded):
2989         (.styles-section .properties li.parent::before):
2990         (.styles-section .properties li.parent.expanded::before):
2991         (.styles-section .properties li .info):
2992         (.styles-section:hover .properties .enabled-button):
2993         (.styles-section .properties li.disabled .enabled-button):
2994         (.styles-section .properties .enabled-button):
2995         (.styles-section .properties .overloaded, .styles-section .properties .disabled):
2996         (.styles-section.computed-style .properties .disabled):
2997         (.styles-section .properties .implicit, .styles-section .properties .inherited):
2998         (.styles-section .properties .inherited):
2999         (.styles-section.show-inherited .properties .inherited):
3000
3001 2010-05-11  Nikolas Zimmermann  <nzimmermann@rim.com>
3002
3003         Reviewed by Dirk Schulze.
3004
3005         Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
3006         https://bugs.webkit.org/show_bug.cgi?id=38799
3007
3008         Cleanup SVGRootInlineBox/SVGInlineTextBox. Move buildLayoutInformationForTextBox to SVGInlineTextBox.
3009         Move lots of helper methods into new SVGTextLayoutUtilities class. Adapted all callsites.
3010
3011         Fixed bug in kerning handling, hkern was applyable to vertical text as well. Covered by two new tests.
3012
3013         Tests: svg/text/text-hkern-on-vertical-text.svg
3014                svg/text/text-vkern-on-horizontal-text.svg
3015
3016         * Android.mk: Add SVGTextLayoutUtilities.cpp/h to build.
3017         * GNUmakefile.am: Ditto.
3018         * WebCore.gypi: Ditto.
3019         * WebCore.pro: Ditto.
3020         * WebCore.vcproj/WebCore.vcproj: Ditto.
3021         * WebCore.xcodeproj/project.pbxproj: Ditto.
3022         * rendering/SVGInlineTextBox.cpp:
3023         (WebCore::SVGInlineTextBox::calculateGlyphWidth): Use textRenderer()->characters() instead of textRenderer()->text()->characters() as shortcut.
3024         (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): Fix style issue, no else if after a return branch.
3025         (WebCore::SVGInlineTextBox::paintSelection): Use !color.alpha() instead of color.alpha() == 0.
3026         (WebCore::SVGInlineTextBox::buildLayoutInformation): Moved from SVGRootInlineBox::buildLayoutInformationForTextBox.
3027         * rendering/SVGInlineTextBox.h: Fix indention.
3028         (WebCore::SVGInlineTextBox::selectionTop): Inlined.
3029         (WebCore::SVGInlineTextBox::selectionHeight): Inlined.
3030         * rendering/SVGRenderTreeAsText.cpp: Include SVGTextLayoutUtilities.h
3031         * rendering/SVGRootInlineBox.cpp: Move almost all static text layout helper functions in SVGTextLayoutUtilities
3032         (WebCore::calculateTextLengthCorrectionForTextChunk): Fixed style issue in long if conditions spanning multiple lines.
3033         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): Use different topLeftPositionOfCharacterRange() taking start/end iterators.
3034         (WebCore::SVGRootInlineBox::buildLayoutInformation): Use the moved SVGInlineTextBox::buildLayoutInformation() method.
3035         (WebCore::SVGRootInlineBox::buildTextChunks): Fixed small style issue, remove unneeded parenthesis.
3036         (WebCore::SVGRootInlineBox::layoutTextChunks): Fix style issue in debugging code.
3037         * rendering/SVGRootInlineBox.h: Rename 'LastGlyphInfo' to 'SVGLastGlyphInfo' and move to SVGTextLayoutUtilities.
3038         (WebCore::SVGRootInlineBox::svgTextChunks): Inlined for speed.
3039         * rendering/SVGTextLayoutUtilities.cpp: Added.
3040         (WebCore::isVerticalWritingMode):
3041         (WebCore::dominantBaselineToShift):
3042         (WebCore::alignmentBaselineToShift):
3043         (WebCore::glyphOrientationToAngle):
3044         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
3045         (WebCore::applyGlyphAdvanceAndShiftRespectingOrientation):
3046         (WebCore::topLeftPositionOfCharacterRange):
3047         (WebCore::cummulatedWidthOfInlineBoxCharacterRange):
3048         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
3049         (WebCore::svgTextRunForInlineTextBox):
3050         (WebCore::calculateCSSKerning):
3051         (WebCore::applySVGKerning):
3052         * rendering/SVGTextLayoutUtilities.h: Added.
3053         (WebCore::):
3054         (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
3055         (WebCore::SVGLastGlyphInfo::SVGLastGlyphInfo):
3056
3057 2010-05-11  Zoltan Herczeg  <zherczeg@webkit.org>
3058
3059         Reviewed by Dirk Schulze.
3060
3061         RenderSVGImage::imageChanged should invalidate the SVG filter cache
3062         https://bugs.webkit.org/show_bug.cgi?id=38838
3063
3064         Test: svg/filters/filteredImage.svg
3065
3066         * rendering/RenderSVGImage.cpp:
3067         (WebCore::RenderSVGImage::imageChanged):
3068
3069 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3070
3071         Fix asserting GTK build.
3072
3073         r59137 changed the behavior of RenderObject::repaintUsingContainer(). I mistakenly
3074         thought that non-compositing builds would always pass a 0 repaintContainer, but
3075         actually the RenderView is passed in this case. So use this to repaint if 
3076         ACCELERATED_COMPOSITING is turned off.
3077
3078         * rendering/RenderObject.cpp:
3079         (WebCore::RenderObject::repaintUsingContainer):
3080
3081 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3082
3083         Fix warning on Windows about unreachable code.
3084
3085         * rendering/RenderLayerCompositor.cpp:
3086         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
3087
3088 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3089
3090         Reviewed by Anders Carlsson
3091
3092         Allow compositing layers to be connected across iframe boundaries on Mac
3093         https://bugs.webkit.org/show_bug.cgi?id=38856
3094         
3095         RenderObject::repaintUsingContainer() incorrectly did a view-based
3096         repaint if the repaint container was the RenderView. Instead, we need
3097         to check to see if the RenderView's layer is composited, and, if so,
3098         whether it's painting into the window or not. This can occur when iframes
3099         are composited.
3100
3101         The bug is timing-sensitive, involving compositing in iframes, and I was not able to
3102         concoct a good testcase.
3103
3104         * rendering/RenderObject.cpp:
3105         (WebCore::RenderObject::repaintUsingContainer):
3106
3107 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3108
3109         Reviewed by Anders Carlsson
3110
3111         Allow compositing layers to be connected across iframe boundaries on Mac
3112         https://bugs.webkit.org/show_bug.cgi?id=38856
3113
3114         Changes to allow compositing layers for iframes to switch between being hosted
3115         by the iframe's layer-backed NSView, and parented in the GraphicsLayer tree of the
3116         enclosing document.
3117
3118         Tests: compositing/iframes/connect-compositing-iframe.html
3119                compositing/iframes/connect-compositing-iframe2.html
3120                compositing/iframes/connect-compositing-iframe3.html
3121
3122         * page/FrameView.h:
3123         * page/FrameView.cpp:
3124         (WebCore::FrameView::hasCompositedContent): New convenience method.
3125         (WebCore::FrameView::setIsOverlapped): If we're composited, poke the owner document in case it
3126             wants to re-evaluate compositing decisions.
3127         (WebCore::FrameView::isOverlapped): Just expose the existing flag.
3128
3129         * rendering/RenderLayer.cpp:
3130         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
3131         (WebCore::RenderLayer::isSelfPaintingLayer):
3132
3133         * rendering/RenderLayerBacking.cpp:
3134         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): If this is an iframe, we need
3135             to ensure that the layers for the iframe content are hooked up.
3136         (WebCore::RenderLayerBacking::updateDrawsContent): When an iframe toggles between different
3137             attachments, the 'drawsContent' behavior of its root layer changes, so needs to be updated.
3138
3139         * rendering/RenderLayerCompositor.h:
3140         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer()
3141             instead of detachRootPlatformLayer() and manually zeroing out the OwnPtrs.
3142         (WebCore::RenderLayerCompositor::updateBacking): If a RenderIFrame changes compositing mode,
3143             we need to ensure that its content compositor attachment is updated.
3144         (WebCore::RenderLayerCompositor::repaintOnCompositingChange): The existing code had a bug
3145             that caused repaints for RenderViews (which have no parent) to bail. We only want to bail
3146             for non-RenderViews that are not attached.
3147         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Factored the iframe-connecting
3148             code into a new method, parentIFrameContentLayers().
3149         (WebCore::RenderLayerCompositor::parentIFrameContentLayers): New method to share the code that hooks
3150             up the iframe's compositing layers to the parent.
3151         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Add logic to propagate
3152             compositing out of iframes on Mac in two situations: 1) when the FrameView is overlapped, and 2)
3153             if the parent document is already composited.
3154         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Clean up the logic here to better deal
3155             with dynamic changes of the attachment type.
3156         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Clean up and null out the clipping layer here.
3157         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Call rootLayerAttachmentChanged().
3158         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Ditto. Also unparent the clipping and platform layers.
3159         (WebCore::RenderLayerCompositor::updateRootLayerAttachment): Call ensureRootPlatformLayer() to re-evaluate
3160             the layer attachment.
3161         (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged): We need to update the drawsContent() status
3162             of the RenderView's layer's backing, because it changes depending on the attachment.
3163
3164         * rendering/RenderWidget.cpp:
3165         (WebCore::RenderWidget::paint): Do overlap testing if the frameView can do fast repaints (as before),
3166             but also now when the frameView has composited content.
3167
3168 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3169
3170         Reviewed by Anders Carlsson
3171
3172         Allow compositing layers to be connected across iframe boundaries on Mac
3173         https://bugs.webkit.org/show_bug.cgi?id=38856
3174
3175         Rename the static shouldPropagateCompositingToIFrameParent() to shouldPropagateCompositingToEnclosingIFrame(),
3176         to pave the way for runtime switches in the propagation behavior. We have to make sure we call it on
3177         the correct RenderLayerCompositor (that belonging to the iframe's content document).
3178         
3179         * rendering/RenderLayerBacking.cpp:
3180         (WebCore::RenderLayerBacking::paintingGoesToWindow): Now that we know the root layer attachment, we
3181         can simplify this method.
3182
3183         * rendering/RenderLayerCompositor.h:
3184         * rendering/RenderLayerCompositor.cpp:
3185         (WebCore::RenderLayerCompositor::enableCompositingMode): No need for the setNeedsStyleRecalc()
3186         here, because the ensureRootPlatformLayer() or destroyRootPlatformLayer() will have already done it.
3187
3188         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Use the root layer attachment to determine
3189         whether to parent the iframe's layers.
3190         
3191         (WebCore::RenderLayerCompositor::didMoveOnscreen): Method name change.
3192         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame): Name change.
3193         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): We need to consult the iframe contents
3194         document's compositor to ask whether propagation is appropriate.
3195         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Name change.
3196
3197 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3198
3199         Reviewed by Anders Carlsson
3200
3201         Allow compositing layers to be connected across iframe boundaries on Mac
3202         https://bugs.webkit.org/show_bug.cgi?id=38856
3203         
3204         Use an enum for the type of root layer attachment on a RenderLayerCompositor, so we can
3205         determine if the attachment is via the ChromeClient, via an enclosing iframe, or unattached.
3206
3207         * rendering/RenderLayerCompositor.h: New RootLayerAttachment enum.
3208         (WebCore::RenderLayerCompositor::rootLayerAttachment): getter for the current attachment.
3209
3210         * rendering/RenderLayerCompositor.cpp:
3211         (WebCore::RenderLayerCompositor::RenderLayerCompositor): Init m_rootLayerAttachment.
3212         (WebCore::RenderLayerCompositor::~RenderLayerCompositor): Assert that is unattached.
3213         (WebCore::RenderLayerCompositor::updateCompositingLayers): Call destroyRootPlatformLayer instead of willMoveOffscreen,
3214         when there are no layers left. Also clear out the clipping layer.
3215         (WebCore::RenderLayerCompositor::didMoveOnscreen): Call attachRootPlatformLayer.
3216         (WebCore::RenderLayerCompositor::willMoveOffscreen): Call ensureRootPlatformLayer with the appropriate attachment.
3217         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Only create the m_rootPlatformLayer if we don't have one
3218            already, but be sure to always set the root layer geometry orientation. Also only create the
3219            m_clippingLayer if we need to.
3220         (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Call detachRootPlatformLayer().
3221         (WebCore::RenderLayerCompositor::attachRootPlatformLayer): Code moved from didMoveOnscreen, but switching on
3222             attachment.
3223         (WebCore::RenderLayerCompositor::detachRootPlatformLayer): Code moved from willMoveOffscreen, but switching on
3224             attachment.
3225
3226 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3227
3228         Reviewed by Anders Carlsson
3229
3230         Allow compositing layers to be connected across iframe boundaries on Mac
3231         https://bugs.webkit.org/show_bug.cgi?id=38856
3232
3233         Clean up the geometry logic when propagating compositing out of iframes.
3234
3235         * rendering/RenderLayerCompositor.cpp:
3236         (WebCore::RenderLayerCompositor::updateRootLayerPosition): Geometry on m_rootPlatformLayer no longer
3237         needs to be special when there's a clipping layer.
3238         
3239         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Don't set the clipping layer to have
3240         flipped geometry ever, and only set the root layer to have flipped geometry if it is not
3241         being hosted in an iframe. Also no need to set a custom anchor point on the clipping layer.
3242
3243 2010-05-10  Simon Fraser  <simon.fraser@apple.com>
3244
3245         Reviewed by Anders Carlsson
3246
3247         Allow compositing layers to be connected across iframe boundaries on Mac
3248         https://bugs.webkit.org/show_bug.cgi?id=38856
3249
3250         Clean up some methods related to composited iframes. No behavioral changes.
3251
3252         * rendering/RenderLayerBacking.h: Move innerRenderLayerCompositor() to be a static method:
3253             RenderLayerCompositor::iframeContentsCompositor().
3254         * rendering/RenderLayerBacking.cpp: Remove innerRenderLayerCompositor().
3255         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call iframeContentsCompositor().
3256         
3257         * rendering/RenderLayerCompositor.cpp:
3258         (WebCore::RenderLayerCompositor::enableCompositingMode): Call enclosingIFrameElement()
3259         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): iframeContentsCompositor() is now a static method in this class.
3260         Also check that the iframe contents are in compositing mode (slightly clearer than relying on rootPlatformLayer() returning
3261         null).
3262         (WebCore::RenderLayerCompositor::iframeContentsCompositor): Moved from RenderLayerBacking.
3263         (WebCore::RenderLayerCompositor::didMoveOnscreen): Use enclosingIFrameElement() method.
3264         (WebCore::RenderLayerCompositor::willMoveOffscreen): Ditto.
3265         (WebCore::RenderLayerCompositor::enclosingIFrameElement): New method.
3266         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Call enclosingIFrameElement().
3267         * rendering/RenderLayerCompositor.h: New method, iframeContentsCompositor().
3268
3269 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
3270
3271         Reviewed by Brady Eidson.
3272
3273         Cleaning up and fixing the existing JSC DB bindings.
3274         https://bugs.webkit.org/show_bug.cgi?id=34994
3275
3276         * bindings/js/JSDOMWindowCustom.cpp:
3277         (WebCore::JSDOMWindow::openDatabase):
3278         * bindings/js/JSDatabaseCustom.cpp:
3279         (WebCore::JSDatabase::changeVersion):
3280         (WebCore::createTransaction):
3281         (WebCore::JSDatabase::transaction):
3282         (WebCore::JSDatabase::readTransaction):
3283         * bindings/js/JSSQLTransactionCustom.cpp:
3284         (WebCore::JSSQLTransaction::executeSql):
3285
3286 2010-05-10  Fumitoshi Ukai  <ukai@chromium.org>
3287
3288         Reviewed by Alexey Proskuryakov.
3289
3290         WebSocket needs to suspend/resume as Active DOM object.
3291         https://bugs.webkit.org/show_bug.cgi?id=38171
3292
3293         Implement suspend()/resume() in WebSocket and WebSocketChannel.
3294         While WebSocketChannel is suspended, it only adds received data in m_buffer
3295         or record the handle was closed, and report no event to WebSocket.
3296         When resumed, it will process buffer or handle closing.
3297         Since suspend/resume would be called while processing JavaScript event handler (e.g. before/after alert()), WebSocketChannel method that would fire an event need to be reentrant.
3298         So, WebSocketChannel::processBuffer() call WebSocket to fire an event at most once and skips buffer before the calling,
3299         so that next call of processBuffer() would process the next frame.
3300
3301         * websockets/ThreadableWebSocketChannel.h:
3302         * websockets/ThreadableWebSocketChannelClientWrapper.h:
3303         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
3304           Mark channel is opened, and process pending events if not suspended.
3305         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
3306           Push message back in pending queue, and process pending events if not suspended.
3307         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
3308           Mark channel is closed, and process pending events if not suspended.
3309         (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
3310           Mark suspended.
3311         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
3312           Unmark suspended, and process pending events.
3313         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
3314         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
3315         * websockets/WebSocket.cpp:
3316         (WebCore::WebSocket::canSuspend):
3317         (WebCore::WebSocket::suspend):
3318         (WebCore::WebSocket::resume):
3319         (WebCore::WebSocket::didClose):
3320         * websockets/WebSocket.h:
3321         * websockets/WebSocketChannel.cpp:
3322         (WebCore::WebSocketChannel::WebSocketChannel):
3323         (WebCore::WebSocketChannel::connect):
3324         (WebCore::WebSocketChannel::send):
3325         (WebCore::WebSocketChannel::bufferedAmount):
3326         (WebCore::WebSocketChannel::close):
3327         (WebCore::WebSocketChannel::suspend):
3328         (WebCore::WebSocketChannel::resume):
3329          When resumed, it will process buffer and
3330          handle closing if handle was already closed while suspended.
3331         (WebCore::WebSocketChannel::didClose):
3332          If suspended, record unhandled bufferedAmount and set m_closed true, so that closing will be processed when resumed.
3333         (WebCore::WebSocketChannel::didReceiveData):
3334          Add received data in buffer and process buffer while it is not suspended.
3335         (WebCore::WebSocketChannel::processBuffer):
3336          Process handshake header or one frame message.
3337          Return true if there are more data to be processed.
3338          Return false otherwise (e.g. incomplete handshake header or incomplete frame).
3339         * websockets/WebSocketChannel.h:
3340         * websockets/WorkerThreadableWebSocketChannel.cpp:
3341         (WebCore::WorkerThreadableWebSocketChannel::suspend):
3342         (WebCore::WorkerThreadableWebSocketChannel::resume):
3343         (WebCore::WorkerThreadableWebSocketChannel::Peer::suspend):
3344         (WebCore::WorkerThreadableWebSocketChannel::Peer::resume):
3345         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend):
3346         (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
3347         (WebCore::WorkerThreadableWebSocketChannel::mainThreadResume):
3348         (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
3349         * websockets/WorkerThreadableWebSocketChannel.h:
3350
3351 2010-05-07  Dumitru Daniliuc  <dumi@chromium.org>
3352
3353         Reviewed by Brady Eidson.
3354
3355         Implement the JSC bindings for the sync DB API.
3356         https://bugs.webkit.org/show_bug.cgi?id=34994
3357
3358         * bindings/js/JSDatabaseSyncCustom.cpp:
3359         (WebCore::JSDatabaseSync::changeVersion):
3360         (WebCore::createTransaction):
3361         * bindings/js/JSSQLTransactionSyncCustom.cpp:
3362         (WebCore::JSSQLTransactionSync::executeSql):
3363
3364 2010-05-10  Dean Jackson  <dino@apple.com>
3365
3366         Reviewed by Simon Fraser.
3367
3368         https://bugs.webkit.org/show_bug.cgi?id=36566
3369         The animation-fill-mode property was missing from
3370         a few places where the animation shorthand is set up.
3371
3372         Test: animations/animation-shorthand-removed.html
3373
3374         * css/CSSMutableStyleDeclaration.cpp:
3375         (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Make sure
3376         animation-fill-mode is included in the animation shorthand
3377         * css/CSSPropertyLonghand.cpp:
3378         (WebCore::initShorthandMap):
3379
3380 2010-05-10  Sam Weinig  <sam@webkit.org>
3381
3382         Reviewed by Darin Adler.
3383
3384         Fix for https://bugs.webkit.org/show_bug.cgi?id=38583
3385         <rdar://problem/7948784> Crash in Element::normalizeAttributes.
3386
3387         Test: fast/dom/Element/normalize-crash.html
3388
3389         * dom/Element.cpp:
3390         (WebCore::Element::normalizeAttributes): Copy attributes to a vector
3391         before iterating.
3392         * dom/NamedAttrMap.cpp:
3393         (WebCore::NamedNodeMap::copyAttributesToVector): Added.
3394         * dom/NamedAttrMap.h:
3395
3396 2010-05-10  Jian Li  <jianli@chromium.org>
3397
3398         Reviewed by Adam Barth.
3399
3400         [V8] Fix V8 code generator script to generate the correct code for
3401         converting ScriptString.
3402         https://bugs.webkit.org/show_bug.cgi?id=38873
3403
3404         Updated the bindings test result. Note that the result is also updated
3405         to reflect other script generator changes not introduced by this patch.
3406
3407         * bindings/scripts/CodeGeneratorV8.pm:
3408         * bindings/scripts/test/JS/JSTestCallback.cpp:
3409         (WebCore::JSTestCallback::JSTestCallback):
3410         (WebCore::JSTestCallback::~JSTestCallback):
3411         * bindings/scripts/test/JS/JSTestCallback.h:
3412         * bindings/scripts/test/V8/V8TestObj.cpp:
3413         (WebCore::TestObjInternal::scriptStringAttrAttrGetter):
3414
3415 2010-05-10  Mark Rowe  <mrowe@apple.com>
3416
3417         Fix the 32-bit WebKit2 build.
3418
3419         * WebCore.base.exp:
3420
3421 2010-05-07  Jon Honeycutt  <jhoneycutt@apple.com>
3422
3423         Crash closing window containing Flash plug-in
3424         https://bugs.webkit.org/show_bug.cgi?id=38797
3425         <rdar://problem/7935266>
3426
3427         Reviewed by Eric Seidel.
3428
3429         Test: plugins/geturlnotify-during-document-teardown.html
3430
3431         * plugins/PluginView.cpp:
3432         (WebCore::PluginView::load):
3433         Null check the DocumentLoader; it's possible for this to be null while
3434         the Document is being torn down and before the plug-in is destroyed.
3435
3436 2010-05-10  Alexey Proskuryakov  <ap@apple.com>
3437
3438         Reviewed by Darin Adler.
3439
3440         Based on a patch by Eric Seidel.
3441
3442         https://bugs.webkit.org/show_bug.cgi?id=28697
3443         <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()
3444
3445         It's not OK to call ContainerNode::willRemoveChild() in a loop, because Range code assumes
3446         that it can adjust start and end position to any node except for the one being removed -
3447         so these notifications cannot be batched.
3448
3449         Test: fast/dom/Range/remove-all-children-crash.html
3450
3451         * dom/ContainerNode.cpp:
3452         (WebCore::willRemoveChild): Removed unused ExceptionCode.
3453         (WebCore::willRemoveChildren): New function, used in removeChildren() case.
3454         (WebCore::ContainerNode::removeChild): ExceptionCode return was always 0, don't bother with it.
3455         (WebCore::ContainerNode::removeChildren): Call willRemoveChildrenFromNode.
3456         (WebCore::dispatchChildRemovalEvents): Moved some logic out into willRemoveChildrenFromNode
3457         and willRemoveChild.
3458
3459         * dom/Document.cpp:
3460         (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
3461
3462         * dom/Document.h: 
3463         (WebCore::Document::nodeChildrenWillBeRemoved): New function, used in removeChildren() case.
3464
3465         * dom/Range.h:
3466         * dom/Range.cpp:
3467         (WebCore::boundaryNodeChildrenWillBeRemoved): New function, used in removeChildren() case.
3468         (WebCore::Range::nodeChildrenWillBeRemoved): Ditto.
3469
3470 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
3471
3472         Reviewed by Adam Barth.
3473
3474         Implement the V8 bindings for the sync DB API.
3475         https://bugs.webkit.org.show_bug.cgi?id=34994
3476
3477         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
3478         (WebCore::V8DatabaseSync::changeVersionCallback):
3479         (WebCore::createTransaction):
3480         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3481         (WebCore::V8SQLTransactionSync::executeSqlCallback):
3482         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3483         (WebCore::V8WorkerContextCustom::openDatabaseSyncCallback):
3484
3485 2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>
3486
3487         Reviewed by Adam Barth.
3488
3489         Clean up and fix the existing V8 DB bindings.
3490         https://bugs.webkit.org/show_bug.cgi?id=34994
3491
3492         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3493         (WebCore::V8DOMWindow::openDatabaseCallback):
3494         * bindings/v8/custom/V8DatabaseCustom.cpp:
3495         (WebCore::V8Database::changeVersionCallback):
3496         (WebCore::createTransaction):
3497         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3498         (WebCore::V8SQLTransaction::executeSqlCallback):
3499
3500 2010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
3501
3502         [wx] Build fix for wx 2.8 after complex text changes.
3503
3504         * platform/graphics/wx/FontPlatformDataWxMac.mm:
3505         (WebCore::FontPlatformData::nsFont):
3506         * platform/graphics/wx/SimpleFontDataWx.cpp:
3507         (WebCore::SimpleFontData::platformWidthForGlyph):
3508
3509 2010-05-10  John Gregg  <johnnyg@google.com>
3510
3511         [chromium] Try to fix the chromium build after r59085 by
3512         including MathExtras.h before using isnan().
3513         https://bugs.webkit.org/show_bug.cgi?id=38860
3514
3515         * html/canvas/WebGLIntegralTypedArrayBase.h:
3516
3517 2010-05-10  Kevin Ollivier  <kevino@theolliviers.com>
3518
3519         [wx] Build fix for wx trunk after complex text changes.
3520
3521         * platform/graphics/wx/FontPlatformDataWx.cpp:
3522         (WebCore::FontPlatformData::FontPlatformData):
3523
3524 2010-05-10  Tony Gentilcore  <tonyg@chromium.org>
3525
3526         Reviewed by Adam Barth.
3527
3528         Provide mechanism to cache metadata for a resource
3529         https://bugs.webkit.org/show_bug.cgi?id=37874
3530
3531         No new tests because no new functionality.
3532
3533         * WebCore.gypi:
3534         * loader/CachedMetadata.h: Added.
3535         (WebCore::CachedMetadata::create):
3536         (WebCore::CachedMetadata::deserialize):
3537         (WebC