WebCore: dataTransfer.types() should not return Files if file list is empty in the...
[WebKit-https.git] / WebCore / ChangeLog
1 2009-09-08  Jian Li  <jianli@chromium.org>
2
3         Reviewed by David Levin.
4
5         dataTransfer.types() should not return Files if file list is empty in the clipboard.
6         https://bugs.webkit.org/show_bug.cgi?id=28891
7
8         We change the behavior to handle the empty file list in order to match the spec.
9
10         Tested by clipboard-file-access.html.
11
12         * platform/mac/ClipboardMac.mm:
13         (WebCore::addHTMLClipboardTypesForCocoaType):
14         (WebCore::ClipboardMac::types):
15
16 2009-09-08  Steve VanDeBogart  <vandebo@chromium.org>
17
18         Reviewed by Eric Seidel.
19
20         Handle middle click in Chromium like QT
21         https://bugs.webkit.org/show_bug.cgi?id=28696
22
23         Tested by middle-click-onpaste.html.
24
25         * platform/Pasteboard.h:
26         * platform/chromium/ChromiumBridge.h:
27         * platform/chromium/ClipboardChromium.cpp:
28         (WebCore::ClipboardChromium::getData):
29         * platform/chromium/PasteboardChromium.cpp:
30         (WebCore::Pasteboard::Pasteboard):
31         (WebCore::Pasteboard::isSelectionMode):
32         (WebCore::Pasteboard::setSelectionMode):
33         (WebCore::Pasteboard::canSmartReplace):
34         (WebCore::Pasteboard::plainText):
35         (WebCore::Pasteboard::documentFragment):
36         * platform/chromium/PasteboardPrivate.h:
37         (WebCore::PasteboardPrivate::):
38
39 2009-09-08  Kelly Norton  <knorton@google.com>
40
41         Reviewed by Eric Seidel.
42
43         WebInspector: Adds a timeline agent to InspectorController that collects
44         high-level timing data about event dispatch, layout, painting and HTML
45         parsing and makes it available to Inspector.
46         https://bugs.webkit.org/show_bug.cgi?id=25503
47
48         * WebCore.gypi:
49         * WebCore.xcodeproj/project.pbxproj:
50         * dom/Document.cpp:
51         (WebCore::Document::recalcStyle):
52         * dom/Document.h:
53         (WebCore::Document::inspectorTimelineAgent):
54         * dom/Node.cpp:
55         (WebCore::Node::dispatchGenericEvent):
56         * html/HTMLTokenizer.cpp:
57         (WebCore::HTMLTokenizer::write):
58         * inspector/DOMDispatchTimelineItem.cpp: Added.
59         (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
60         (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
61         * inspector/DOMDispatchTimelineItem.h: Added.
62         (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
63         * inspector/InspectorBackend.cpp:
64         (WebCore::InspectorBackend::enableTimeline):
65         (WebCore::InspectorBackend::disableTimeline):
66         (WebCore::InspectorBackend::timelineEnabled):
67         * inspector/InspectorBackend.h:
68         * inspector/InspectorBackend.idl:
69         * inspector/InspectorController.cpp:
70         (WebCore::InspectorController::setFrontendProxyObject):
71         (WebCore::InspectorController::close):
72         (WebCore::InspectorController::resetScriptObjects):
73         (WebCore::InspectorController::enableTimeline):
74         (WebCore::InspectorController::disableTimeline):
75         (WebCore::InspectorController::timelineEnabled):
76         * inspector/InspectorController.h:
77         (WebCore::InspectorController::timelineAgent):
78         * inspector/InspectorFrontend.cpp:
79         (WebCore::InspectorFrontend::timelineWasEnabled):
80         (WebCore::InspectorFrontend::timelineWasDisabled):
81         (WebCore::InspectorFrontend::addItemToTimeline):
82         * inspector/InspectorFrontend.h:
83         * inspector/InspectorTimelineAgent.cpp: Added.
84         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
85         (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
86         (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
87         (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
88         (WebCore::InspectorTimelineAgent::willLayout):
89         (WebCore::InspectorTimelineAgent::didLayout):
90         (WebCore::InspectorTimelineAgent::willRecalculateStyle):
91         (WebCore::InspectorTimelineAgent::didRecalculateStyle):
92         (WebCore::InspectorTimelineAgent::willPaint):
93         (WebCore::InspectorTimelineAgent::didPaint):
94         (WebCore::InspectorTimelineAgent::willWriteHTML):
95         (WebCore::InspectorTimelineAgent::didWriteHTML):
96         (WebCore::InspectorTimelineAgent::reset):
97         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
98         (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
99         (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
100         * inspector/InspectorTimelineAgent.h: Added.
101         * inspector/TimelineItem.cpp: Added.
102         (WebCore::TimelineItem::TimelineItem):
103         (WebCore::TimelineItem::addToTimeline):
104         (WebCore::TimelineItem::convertToScriptObject):
105         (WebCore::TimelineItem::convertChildrenToScriptArray):
106         (WebCore::TimelineItem::addChildItem):
107         * inspector/TimelineItem.h: Added.
108         (WebCore::):
109         (WebCore::TimelineItem::~TimelineItem):
110         (WebCore::TimelineItem::previous):
111         (WebCore::TimelineItem::releasePrevious):
112         (WebCore::TimelineItem::setEndTime):
113         (WebCore::TimelineItem::type):
114         * inspector/front-end/TimelineAgent.js: Added.
115         (WebInspector.TimelineAgent):
116         (WebInspector.addItemToTimeline):
117         (WebInspector.timelineWasEnabled):
118         (WebInspector.timelineWasDisabled):
119         * inspector/front-end/inspector.html:
120         * page/FrameView.cpp:
121         (WebCore::FrameView::layout):
122         (WebCore::FrameView::paintContents):
123         * page/FrameView.h:
124         (WebCore::FrameView::inspectorTimelineAgent):
125         * page/Page.cpp:
126         (WebCore::Page::inspectorTimelineAgent):
127         * page/Page.h:
128
129 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
130
131         Reviewed by Simon Hausmann.
132
133         [Qt] Fix unused variable warnings
134         https://bugs.webkit.org/show_bug.cgi?id=29018
135
136         No functional change, no tests.
137
138         * history/qt/HistoryItemQt.cpp:
139         (WebCore::HistoryItem::restoreState):
140         * platform/graphics/qt/ImageBufferQt.cpp:
141         (WebCore::putImageData):
142         * platform/qt/RenderThemeQt.cpp:
143         (WebCore::RenderThemeQt::paintMenuList):
144
145 2009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
146
147         Reviewed by Ariya Hidayat.
148
149         [Qt] Use the declaration order in initializer lists
150         https://bugs.webkit.org/show_bug.cgi?id=29017
151
152         No functional change, no new tests.
153
154         * platform/graphics/qt/FontCacheQt.cpp:
155         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
156         * platform/network/qt/QNetworkReplyHandler.cpp:
157         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
158
159 2009-09-08  Kent Tamura  <tkent@chromium.org>
160
161         Reviewed by Eric Seidel.
162
163         Implement ValidityState::typeMismatch() for <input type=number>.
164         https://bugs.webkit.org/show_bug.cgi?id=28934
165
166         Test: fast/forms/ValidityState-typeMismatch-number.html
167
168         * html/HTMLInputElement.cpp:
169         (WebCore::HTMLInputElement::formStringToDouble):
170         * html/HTMLInputElement.h:
171         * html/ValidityState.cpp:
172         (WebCore::ValidityState::typeMismatch):
173         * html/ValidityState.h:
174
175 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
176
177         Reviewed by Gustavo Noronha.
178
179         [Gtk] Another attempt of a buildfix.
180
181         * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
182
183 2009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
184
185         Reviewed by Simon Hausmann.
186
187         [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
188         https://bugs.webkit.org/show_bug.cgi?id=28865
189
190         Save the QCursor as a property in WidgetQt::setCursor
191         and actually change the cursor in QWebView::event() by making use
192         of the QEvent::DynamicPropertyChange event type.
193         When unsetCursor() is called on the QWidget we can fallback to
194         the cursor set by WebCore.
195
196         Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
197                  Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
198
199         * platform/qt/WidgetQt.cpp:
200         (WebCore::Widget::setCursor):
201
202 2009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
203
204         Reviewed by Gustavo Noronha.
205
206         [Gtk] Buildfix for build error introduced in r48150.
207
208         * GNUmakefile.am: Modified. Added missing IDL files.
209
210 2009-09-08  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
211
212         Reviewed by Tor Arne Vestbø.
213
214         [Qt] Buildfix. Build error caused by r48150.
215
216         * WebCore.pro: missing IDL files added
217
218 2009-09-07  Chris Marrin  <cmarrin@apple.com>
219
220         Reviewed by Oliver Hunt.
221
222         Update Canvas 3D implementation to match spec
223         https://bugs.webkit.org/show_bug.cgi?id=29010
224
225         This adds several new CanvasXXXArray classes each of which has a custom constructor
226         and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
227         to match the new and changed API.
228
229         * DerivedSources.make:
230         * WebCore.xcodeproj/project.pbxproj:
231         * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
232         * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
233         * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
234         * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
235         * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
236         * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
237         * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
238         * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
239         * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
240         * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
241         * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
242         * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
243         * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
244         (WebCore::JSCanvasRenderingContext3D::bufferData):
245         (WebCore::JSCanvasRenderingContext3D::bufferSubData):
246         (WebCore::JSCanvasRenderingContext3D::texImage2D):
247         (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
248         * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
249         * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
250         * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
251         * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
252         * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
253         * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
254         * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
255         * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
256         * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
257         * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
258         * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
259         * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
260         * bindings/js/JSDOMWindowCustom.cpp:
261         (WebCore::JSDOMWindow::canvasArrayBuffer):
262         (WebCore::JSDOMWindow::canvasByteArray):
263         (WebCore::JSDOMWindow::canvasUnsignedByteArray):
264         (WebCore::JSDOMWindow::canvasIntArray):
265         (WebCore::JSDOMWindow::canvasUnsignedIntArray):
266         (WebCore::JSDOMWindow::canvasShortArray):
267         (WebCore::JSDOMWindow::canvasUnsignedShortArray):
268         (WebCore::JSDOMWindow::canvasFloatArray):
269         * html/HTMLCanvasElement.cpp:
270         (WebCore::HTMLCanvasElement::getContext):
271         (WebCore::HTMLCanvasElement::paint):
272         * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
273         * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
274         * html/canvas/CanvasArray.idl: Added.
275         * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
276         * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
277         * html/canvas/CanvasArrayBuffer.idl: Added.
278         * html/canvas/CanvasByteArray.cpp:
279         * html/canvas/CanvasByteArray.h:
280         * html/canvas/CanvasByteArray.idl:
281         * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
282         * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
283         * html/canvas/CanvasFloatArray.idl: Added.
284         * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
285         * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
286         * html/canvas/CanvasIntArray.idl: Added.
287         * html/canvas/CanvasRenderingContext3D.cpp:
288         (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
289         (WebCore::CanvasRenderingContext3D::markContextChanged):
290         (WebCore::CanvasRenderingContext3D::beginPaint):
291         (WebCore::CanvasRenderingContext3D::endPaint):
292         (WebCore::CanvasRenderingContext3D::reshape):
293         (WebCore::CanvasRenderingContext3D::sizeInBytes):
294         (WebCore::CanvasRenderingContext3D::bindTexture):
295         (WebCore::CanvasRenderingContext3D::bufferData):
296         (WebCore::CanvasRenderingContext3D::bufferSubData):
297         (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
298         (WebCore::CanvasRenderingContext3D::clear):
299         (WebCore::CanvasRenderingContext3D::createBuffer):
300         (WebCore::CanvasRenderingContext3D::createFramebuffer):
301         (WebCore::CanvasRenderingContext3D::createTexture):
302         (WebCore::CanvasRenderingContext3D::createProgram):
303         (WebCore::CanvasRenderingContext3D::createRenderbuffer):
304         (WebCore::CanvasRenderingContext3D::createShader):
305         (WebCore::CanvasRenderingContext3D::deleteBuffer):
306         (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
307         (WebCore::CanvasRenderingContext3D::deleteProgram):
308         (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
309         (WebCore::CanvasRenderingContext3D::deleteShader):
310         (WebCore::CanvasRenderingContext3D::deleteTexture):
311         (WebCore::CanvasRenderingContext3D::drawArrays):
312         (WebCore::CanvasRenderingContext3D::drawElements):
313         (WebCore::CanvasRenderingContext3D::getBoolean):
314         (WebCore::CanvasRenderingContext3D::getBooleanv):
315         (WebCore::CanvasRenderingContext3D::getBufferParameteri):
316         (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
317         (WebCore::CanvasRenderingContext3D::getFloat):
318         (WebCore::CanvasRenderingContext3D::getFloatv):
319         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
320         (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
321         (WebCore::CanvasRenderingContext3D::getInteger):
322         (WebCore::CanvasRenderingContext3D::getIntegerv):
323         (WebCore::CanvasRenderingContext3D::getProgrami):
324         (WebCore::CanvasRenderingContext3D::getProgramiv):
325         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
326         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
327         (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
328         (WebCore::CanvasRenderingContext3D::getShaderi):
329         (WebCore::CanvasRenderingContext3D::getShaderiv):
330         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
331         (WebCore::CanvasRenderingContext3D::getShaderSource):
332         (WebCore::CanvasRenderingContext3D::getTexParameterf):
333         (WebCore::CanvasRenderingContext3D::getTexParameterfv):
334         (WebCore::CanvasRenderingContext3D::getTexParameteri):
335         (WebCore::CanvasRenderingContext3D::getTexParameteriv):
336         (WebCore::CanvasRenderingContext3D::getUniformf):
337         (WebCore::CanvasRenderingContext3D::getUniformfv):
338         (WebCore::CanvasRenderingContext3D::getUniformi):
339         (WebCore::CanvasRenderingContext3D::getUniformiv):
340         (WebCore::CanvasRenderingContext3D::getUniformLocation):
341         (WebCore::CanvasRenderingContext3D::getVertexAttribf):
342         (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
343         (WebCore::CanvasRenderingContext3D::getVertexAttribi):
344         (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
345         (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
346         (WebCore::CanvasRenderingContext3D::texImage2D):
347         (WebCore::CanvasRenderingContext3D::texParameterf):
348         (WebCore::CanvasRenderingContext3D::texParameteri):
349         (WebCore::CanvasRenderingContext3D::texSubImage2D):
350         (WebCore::CanvasRenderingContext3D::uniform1f):
351         (WebCore::CanvasRenderingContext3D::uniform1fv):
352         (WebCore::CanvasRenderingContext3D::uniform1i):
353         (WebCore::CanvasRenderingContext3D::uniform1iv):
354         (WebCore::CanvasRenderingContext3D::uniform2f):
355         (WebCore::CanvasRenderingContext3D::uniform2fv):
356         (WebCore::CanvasRenderingContext3D::uniform2i):
357         (WebCore::CanvasRenderingContext3D::uniform2iv):
358         (WebCore::CanvasRenderingContext3D::uniform3f):
359         (WebCore::CanvasRenderingContext3D::uniform3fv):
360         (WebCore::CanvasRenderingContext3D::uniform3i):
361         (WebCore::CanvasRenderingContext3D::uniform3iv):
362         (WebCore::CanvasRenderingContext3D::uniform4f):
363         (WebCore::CanvasRenderingContext3D::uniform4fv):
364         (WebCore::CanvasRenderingContext3D::uniform4i):
365         (WebCore::CanvasRenderingContext3D::uniform4iv):
366         (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
367         (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
368         (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
369         (WebCore::CanvasRenderingContext3D::useProgram):
370         (WebCore::CanvasRenderingContext3D::validateProgram):
371         (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
372         (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
373         (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
374         (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
375         (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
376         (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
377         (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
378         (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
379         (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
380         (WebCore::CanvasRenderingContext3D::viewport):
381         * html/canvas/CanvasRenderingContext3D.h:
382         * html/canvas/CanvasRenderingContext3D.idl:
383         * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
384         * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
385         * html/canvas/CanvasShortArray.idl: Added.
386         * html/canvas/CanvasTexture.cpp:
387         (WebCore::CanvasTexture::CanvasTexture):
388         * html/canvas/CanvasTexture.h:
389         (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
390         (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
391         * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
392         * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
393          * html/canvas/CanvasUnsignedByteArray.idl: Added.
394         * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
395         * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
396         * html/canvas/CanvasUnsignedIntArray.idl: Added.
397         * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
398         * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
399         * html/canvas/CanvasUnsignedShortArray.idl: Added.
400         * page/DOMWindow.idl:
401         * platform/graphics/GraphicsContext3D.h:
402         * platform/graphics/mac/GraphicsContext3DMac.cpp:
403         (WebCore::GraphicsContext3D::beginPaint):
404         (WebCore::GraphicsContext3D::endPaint):
405         (WebCore::GraphicsContext3D::bindTexture):
406         (WebCore::GraphicsContext3D::bufferData):
407         (WebCore::GraphicsContext3D::bufferSubData):
408         (WebCore::GraphicsContext3D::checkFramebufferStatus):
409         (WebCore::GraphicsContext3D::drawArrays):
410         (WebCore::GraphicsContext3D::drawElements):
411         (WebCore::GraphicsContext3D::texParameterf):
412         (WebCore::GraphicsContext3D::texParameteri):
413         (WebCore::GraphicsContext3D::uniform1f):
414         (WebCore::GraphicsContext3D::uniform1fv):
415         (WebCore::GraphicsContext3D::uniform2f):
416         (WebCore::GraphicsContext3D::uniform2fv):
417         (WebCore::GraphicsContext3D::uniform3f):
418         (WebCore::GraphicsContext3D::uniform3fv):
419         (WebCore::GraphicsContext3D::uniform4f):
420         (WebCore::GraphicsContext3D::uniform4fv):
421         (WebCore::GraphicsContext3D::uniform1i):
422         (WebCore::GraphicsContext3D::uniform1iv):
423         (WebCore::GraphicsContext3D::uniform2i):
424         (WebCore::GraphicsContext3D::uniform2iv):
425         (WebCore::GraphicsContext3D::uniform3i):
426         (WebCore::GraphicsContext3D::uniform3iv):
427         (WebCore::GraphicsContext3D::uniform4i):
428         (WebCore::GraphicsContext3D::uniform4iv):
429         (WebCore::GraphicsContext3D::uniformMatrix2fv):
430         (WebCore::GraphicsContext3D::uniformMatrix3fv):
431         (WebCore::GraphicsContext3D::uniformMatrix4fv):
432         (WebCore::GraphicsContext3D::vertexAttrib1f):
433         (WebCore::GraphicsContext3D::vertexAttrib1fv):
434         (WebCore::GraphicsContext3D::vertexAttrib2f):
435         (WebCore::GraphicsContext3D::vertexAttrib2fv):
436         (WebCore::GraphicsContext3D::vertexAttrib3f):
437         (WebCore::GraphicsContext3D::vertexAttrib3fv):
438         (WebCore::GraphicsContext3D::vertexAttrib4f):
439         (WebCore::GraphicsContext3D::vertexAttrib4fv):
440         (WebCore::GraphicsContext3D::vertexAttribPointer):
441         (WebCore::GraphicsContext3D::getBoolean):
442         (WebCore::GraphicsContext3D::getBooleanv):
443         (WebCore::GraphicsContext3D::getFloat):
444         (WebCore::GraphicsContext3D::getFloatv):
445         (WebCore::GraphicsContext3D::getInteger):
446         (WebCore::GraphicsContext3D::getIntegerv):
447         (WebCore::GraphicsContext3D::getBufferParameteri):
448         (WebCore::GraphicsContext3D::getBufferParameteriv):
449         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
450         (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
451         (WebCore::GraphicsContext3D::getProgrami):
452         (WebCore::GraphicsContext3D::getProgramiv):
453         (WebCore::GraphicsContext3D::getRenderbufferParameteri):
454         (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
455         (WebCore::GraphicsContext3D::getShaderi):
456         (WebCore::GraphicsContext3D::getShaderiv):
457         (WebCore::GraphicsContext3D::getTexParameterf):
458         (WebCore::GraphicsContext3D::getTexParameterfv):
459         (WebCore::GraphicsContext3D::getTexParameteri):
460         (WebCore::GraphicsContext3D::getTexParameteriv):
461         (WebCore::GraphicsContext3D::getUniformf):
462         (WebCore::GraphicsContext3D::getUniformfv):
463         (WebCore::GraphicsContext3D::getUniformi):
464         (WebCore::GraphicsContext3D::getUniformiv):
465         (WebCore::GraphicsContext3D::getVertexAttribf):
466         (WebCore::GraphicsContext3D::getVertexAttribfv):
467         (WebCore::GraphicsContext3D::getVertexAttribi):
468         (WebCore::GraphicsContext3D::getVertexAttribiv):
469         (WebCore::GraphicsContext3D::getVertexAttribOffset):
470         (WebCore::GraphicsContext3D::texImage2D):
471         (WebCore::GraphicsContext3D::texSubImage2D):
472         (WebCore::GraphicsContext3D::sizeInBytes):
473
474 2009-09-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
475
476         Reviewed by Timothy Hatcher.
477
478         Make m_windowVisible more consistent with the actual visibility of the inspector.
479
480         * inspector/InspectorController.cpp:
481         (WebCore::InspectorController::setWindowVisible):
482
483 2009-09-07  Adam Barth  <abarth@webkit.org>
484
485         Unreviewed speculative build fix for Snow Leopard.
486
487         * platform/GeolocationService.cpp:
488         (WebCore::createGeolocationServiceNull):
489
490 2009-09-07  Steve Block  <steveblock@google.com>
491
492         Reviewed by Adam Barth.
493
494         Adds a mock Geolocation service. This will be used to provide predictable behavior of the
495         Geolocation API for use in LayoutTests. Later changes will integrate the the mock
496         Geolocation service with DumpRenderTree.
497         https://bugs.webkit.org/show_bug.cgi?id=28264
498
499         The mock Geolocation service returns a fixed position or error. This position or error can be
500         set through static methods on the GeolocationService class. The position or error is shared
501         between all instances of the mock Geolocation service.
502
503         Implementation details.
504         The GeolocationService object maintains a pointer to a factory function which it uses to create
505         Geolocation service instances. Each platform implementing Geolocation sets this pointer
506         to the factory function for their platform's implementation. When the mock Geolocation service
507         is activated, the factory function pointer is reset to the factory function for the mock service.
508
509         Test: fast/dom/Geolocation/error.html
510
511         * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
512         * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
513         * WebCore.gypi: Modified. Added GeolocationServiceMock files.
514         * WebCore.pro: Modified. Added GeolocationServiceMock files.
515         * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
516         * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
517         * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
518         * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
519         * page/ChromeClient.h: Modified. Fixed comment.
520         * page/Geolocation.cpp: Modified.
521         (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
522         * platform/GeolocationService.cpp: Modified.
523         (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
524         (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
525         (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
526         * platform/GeolocationService.h: Modified.
527         * platform/mock: Added.
528         * platform/mock/GeolocationServiceMock.cpp: Added.
529         (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
530         (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
531         (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
532         (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
533         (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
534         (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
535         (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
536         (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
537         (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
538         (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
539         (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
540         (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
541         * platform/mock/GeolocationServiceMock.h: Added.
542         (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
543         (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
544         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
545         (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
546         * platform/gtk/GeolocationServiceGtk.h: Modified.
547         * platform/mac/GeolocationServiceMac.h: Modified.
548         * platform/mac/GeolocationServiceMac.mm: Modified.
549         (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
550
551 2009-09-07  Adam Barth  <abarth@webkit.org>
552
553         Reviewed by Dimitri Glazkov.
554
555         https://bugs.webkit.org/show_bug.cgi?id=28985
556
557         We need to be slightly more careful about how we pick up a script
558         execution context.  In particular, we were getting the wrong document
559         for frames that had been navigated somewhere else.
560
561         In the long term, we should think about a better algorithm for
562         computing the script context.
563
564         Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
565
566         * bindings/v8/V8Proxy.cpp:
567         (WebCore::V8Proxy::retrieveFrame):
568
569 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
570
571         wx build fix for 2.8 compilation.
572
573         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
574         (wxRenderer_DrawScrollbar):
575
576 2009-09-07  Drew Wilson  <atwilson@google.com>
577
578         Unreviewed build fix.
579
580         Reverting r48121 to fix Windows build errors.
581
582         * DerivedSources.cpp:
583         * GNUmakefile.am:
584         * WebCore.xcodeproj/project.pbxproj:
585         * bindings/js/JSDOMWindowCustom.cpp:
586         * bindings/js/JSEventTarget.cpp:
587         (WebCore::toJS):
588         (WebCore::toEventTarget):
589         * dom/EventTarget.cpp:
590         * dom/EventTarget.h:
591         * page/DOMWindow.idl:
592         * websockets/WebSocket.cpp:
593         (WebCore::WebSocket::connect):
594         (WebCore::WebSocket::send):
595         (WebCore::WebSocket::close):
596         (WebCore::WebSocket::bufferedAmount):
597         (WebCore::WebSocket::addEventListener):
598         (WebCore::WebSocket::removeEventListener):
599         (WebCore::WebSocket::dispatchEvent):
600         (WebCore::WebSocket::didConnect):
601         (WebCore::WebSocket::didReceiveMessage):
602         (WebCore::WebSocket::didClose):
603         (WebCore::WebSocket::dispatchOpenEvent):
604         (WebCore::WebSocket::dispatchMessageEvent):
605         (WebCore::WebSocket::dispatchCloseEvent):
606         * websockets/WebSocket.h:
607         (WebCore::WebSocket::create):
608         (WebCore::WebSocket::):
609         (WebCore::WebSocket::setOnopen):
610         (WebCore::WebSocket::onopen):
611         (WebCore::WebSocket::setOnmessage):
612         (WebCore::WebSocket::onmessage):
613         (WebCore::WebSocket::setOnclose):
614         (WebCore::WebSocket::onclose):
615         (WebCore::WebSocket::toWebSocket):
616         (WebCore::WebSocket::refEventTarget):
617         (WebCore::WebSocket::derefEventTarget):
618         * websockets/WebSocketChannel.cpp: Removed.
619         * websockets/WebSocketChannel.h: Removed.
620         * websockets/WebSocketChannelClient.h: Removed.
621         * websockets/WebSocketHandshake.cpp: Removed.
622         * websockets/WebSocketHandshake.h: Removed.
623
624 2009-09-07  Drew Wilson  <atwilson@google.com>
625
626         Unreviewed speculative build fix.
627
628         Reverted previous build fix as it didn't fix the problem.
629
630         * bindings/js/JSEventTarget.cpp:
631         (WebCore::toEventTarget):
632
633 2009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
634
635         Unreviewed, build fix.
636
637         [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
638
639         * WebCore.pro:
640
641 2009-09-07  Drew Wilson  <atwilson@google.com>
642
643         Unreviewed build fix.
644
645         Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
646
647         * bindings/js/JSEventTarget.cpp:
648         (WebCore::toEventTarget):
649
650 2009-09-07  Drew Wilson  <atwilson@google.com>
651
652         Reviewed by David Levin.
653
654         Enable SHARED_WORKERS by default.
655         https://bugs.webkit.org/show_bug.cgi?id=28959
656
657         Tests (enabled in a separate patch):
658                fast/workers/shared-worker-constructor.html
659                fast/workers/shared-worker-context-gc.html
660                fast/workers/shared-worker-event-listener.html
661                fast/workers/shared-worker-exception.html
662                fast/workers/shared-worker-frame-lifecycle.html
663                fast/workers/shared-worker-gc.html
664                fast/workers/shared-worker-lifecycle.html
665                fast/workers/shared-worker-load-error.html
666                fast/workers/shared-worker-location.html
667                fast/workers/shared-worker-navigator.html
668                fast/workers/shared-worker-replace-global-constructor.html
669                fast/workers/shared-worker-replace-self.html
670                fast/workers/shared-worker-shared.html
671                fast/workers/shared-worker-simple.html
672                http/tests/workers/shared-worker-importScripts.html
673                http/tests/workers/shared-worker-redirect.html
674                http/tests/xmlhttprequest/workers/shared-worker-close.html
675                http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
676                http/tests/xmlhttprequest/workers/shared-worker-methods.html
677                http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
678
679         * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
680         * Configurations/FeatureDefines.xcconfig:
681         * WebCore.pro:
682         * WebCore.vcproj/WebCoreCommon.vsprops:
683         * WebCore.vcproj/build-generated-files.sh:
684         * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
685         * workers/DefaultSharedWorkerRepository.cpp:
686         (WebCore::SharedWorkerScriptLoader::load):
687         Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
688         * workers/SharedWorkerContext.cpp:
689         (WebCore::SharedWorkerContext::dispatchConnect):
690         Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
691
692 2009-09-07  Xan Lopez  <xlopez@igalia.com>
693
694         Unreviewed build fix.
695
696         Add new file to sources list.
697
698         * GNUmakefile.am:
699
700 2009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
701
702         wx build fixes for wx SVN trunk. 
703
704         * config.h:
705         * platform/wx/RenderThemeWx.cpp:
706         (WebCore::RenderThemeWx::paintButton):
707         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
708         (WebCore::drawTextWithSpacing):
709         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
710         (wxRenderer_DrawScrollbar):
711
712 2009-09-07  Chris Hills <chaz@chaz6.com>
713
714         Reviewed by Tor Arne Vestbø.
715
716         [Qt] Use direct includes for Phonon, not the pretty ones
717
718         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
719
720 2009-09-07  Fumitoshi Ukai  <ukai@chromium.org>
721
722         Reviewed by Alexey Proskuryakov.
723
724         WebSocket API implementation.
725         https://bugs.webkit.org/show_bug.cgi?id=28038
726         
727         Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
728         Other build systems will be updated once the code is functional.
729         Tests will be landed once the code is completed and functional.
730
731         * DerivedSources.cpp:
732         * GNUmakefile.am:
733         * WebCore.xcodeproj/project.pbxproj:
734         * bindings/js/JSDOMWindowCustom.cpp:
735         (WebCore::JSDOMWindow::webSocket):
736         * bindings/js/JSEventTarget.cpp:
737         (WebCore::toJS):
738         (WebCore::toEventTarget):
739         * dom/EventTarget.cpp:
740         (WebCore::EventTarget::toWebSocket):
741         * dom/EventTarget.h:
742         * page/DOMWindow.idl:
743         * websockets/WebSocket.cpp:
744         (WebCore::ProcessWebSocketEventTask::create):
745         (WebCore::ProcessWebSocketEventTask::performTask):
746         (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
747         (WebCore::isValidProtocolString):
748         (WebCore::WebSocket::connect):
749         (WebCore::WebSocket::send):
750         (WebCore::WebSocket::close):
751         (WebCore::WebSocket::bufferedAmount):
752         (WebCore::WebSocket::addEventListener):
753         (WebCore::WebSocket::removeEventListener):
754         (WebCore::WebSocket::dispatchEvent):
755         (WebCore::WebSocket::didConnect):
756         (WebCore::WebSocket::didReceiveMessage):
757         (WebCore::WebSocket::didClose):
758         (WebCore::WebSocket::dispatchOpenEvent):
759         (WebCore::WebSocket::dispatchMessageEvent):
760         (WebCore::WebSocket::dispatchCloseEvent):
761         * websockets/WebSocket.h:
762         (WebCore::WebSocket::create):
763         (WebCore::WebSocket::):
764         (WebCore::WebSocket::setOnopen):
765         (WebCore::WebSocket::onopen):
766         (WebCore::WebSocket::setOnmessage):
767         (WebCore::WebSocket::onmessage):
768         (WebCore::WebSocket::setOnclose):
769         (WebCore::WebSocket::onclose):
770         (WebCore::WebSocket::toWebSocket):
771         (WebCore::WebSocket::eventListeners):
772         (WebCore::WebSocket::refEventTarget):
773         (WebCore::WebSocket::derefEventTarget):
774         * websockets/WebSocketChannel.cpp: Added.
775         * websockets/WebSocketChannel.h: Added.
776         * websockets/WebSocketChannelClient.h: Added.
777         * websockets/WebSocketHandshake.cpp: Added.
778         * websockets/WebSocketHandshake.h: Added.
779
780 2009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
781
782         Reviewed by Xan Lopez.
783
784         https://bugs.webkit.org/show_bug.cgi?id=26854
785         [GTK] Needs API to allow more control over outgoing requests
786
787         Add infrastructure required to provide the new
788         WebKitNetworkResponse object in our API.
789
790         * GNUmakefile.am: Add new files to the build.
791         * platform/network/soup/ResourceRequestSoup.cpp:
792         (WebCore::ResourceRequest::updateFromSoupMessage):
793         * platform/network/soup/ResourceResponse.h:
794         * platform/network/soup/ResourceResponseSoup.cpp: Added.
795         (WebCore::ResourceResponse::toSoupMessage):
796
797 2009-09-07  Mads Ager  <ager@chromium.org>
798
799         Reviewed by Adam Barth.
800
801         [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
802         https://bugs.webkit.org/show_bug.cgi?id=29009
803
804         Be consistent in document and frame null checks.
805
806         * bindings/v8/custom/V8DOMWindowCustom.cpp:
807         (WebCore::V8Custom::WindowSetTimeoutImpl):
808         (WebCore::ACCESSOR_GETTER):
809         (WebCore::ACCESSOR_SETTER):
810         (WebCore::CALLBACK_FUNC_DECL):
811         (WebCore::NAMED_PROPERTY_GETTER):
812         (WebCore::V8Custom::ClearTimeoutImpl):
813
814 2009-09-07  Xan Lopez  <xlopez@igalia.com>
815
816         Reviewed by Gustavo Noronha.
817
818         [Soup] Limit the number of connections
819         https://bugs.webkit.org/show_bug.cgi?id=18431
820
821         Increase the maximum number of per host and total connections to
822         similar values than those used by the other modern browsers. Seems
823         to significantly improve page loading time in many cases.
824
825         * platform/network/soup/ResourceHandleSoup.cpp:
826         (WebCore::ensureSessionIsInitialized):
827
828 2009-09-07  Michael Nordman  <michaeln@google.com>
829
830         Reviewed by Darin Fisher.
831
832         Various minor chromium appcache modifications.
833         https://bugs.webkit.org/show_bug.cgi?id=28960
834
835         No new tests.
836
837         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
838           Fix a null pointer exception.
839         (WebCore::ACCESSOR_GETTER):
840         * platform/network/chromium/ResourceRequest.h:
841           Switch from appCache 'context' to 'host' terminology.
842           Note: leaving the old deprecated accessors in place until the matching
843           change in chrome is landed to use the new accessors.
844         (WebCore::ResourceRequest::ResourceRequest):
845         (WebCore::ResourceRequest::appCacheHostID):
846         (WebCore::ResourceRequest::setAppCacheHostID):
847         (WebCore::ResourceRequest::appCacheContextID):
848         (WebCore::ResourceRequest::setAppCacheContextID):
849         * platform/network/chromium/ResourceResponse.h:
850           Add an appCacheManifestURL getter/setter.
851           Drop the 'get' prefix from the appCacheID getter.
852           Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
853           change in chrome is landed to use the new accessor.
854         (WebCore::ResourceResponse::appCacheID):
855         (WebCore::ResourceResponse::appCacheManifestURL):
856         (WebCore::ResourceResponse::setAppCacheManifestURL):
857         (WebCore::ResourceResponse::getAppCacheID):
858
859 2009-09-07  Michael Nordman  <michaeln@google.com>
860
861         Reviewed by Alexey Proskuryakov.
862
863         https://bugs.webkit.org/show_bug.cgi?id=28359
864         Cleanup: Undo some accidental changes around DOMApplicationCache.
865         - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
866         - Return a non-null object for window.applicationCache when the feature is disabled.
867         - Simplify the swapCache method.
868
869         Test: http/tests/appcache/disabled.html
870
871         * loader/appcache/DOMApplicationCache.cpp:
872         (WebCore::DOMApplicationCache::DOMApplicationCache):
873         (WebCore::DOMApplicationCache::swapCache):
874         (WebCore::DOMApplicationCache::scriptExecutionContext):
875         * loader/appcache/DOMApplicationCache.h:
876         * page/DOMWindow.cpp:
877         (WebCore::DOMWindow::applicationCache):
878
879 2009-09-06  Yael Aharon  <yael.aharon@nokia.com>
880
881         Reviewed by Darin Adler.
882
883         hostname and host are mixed up when manipulating anchor elements.
884         https://bugs.webkit.org/show_bug.cgi?id=28954
885
886         handle the case of port 0.
887
888         * html/HTMLAnchorElement.cpp:
889         (WebCore::HTMLAnchorElement::host):
890
891 2009-09-06  Erik Arvidsson  <arv@chromium.org>
892
893         Reviewed by Eric Seidel.
894
895         Make hidden elements not focusable.
896
897         Clean up supportsFocus and isFocusable.
898         supportsFocus now strictly means that the node can be focused by default.
899         This is true for links, form controls and content editable elements for example.
900         isFocusable means that the user can actually focus it.
901         All (2) calls to supportsFocus have been updated to take this into account.
902         
903         Make a elements without href work correctly as well.
904
905         https://bugs.webkit.org/show_bug.cgi?id=27099
906
907         Tests: fast/events/click-focus-anchor.html
908                fast/events/tab-focus-anchor.html
909                fast/events/tab-focus-hidden.html
910
911         * dom/Element.cpp:
912         (WebCore::Element::focus):
913         * dom/Node.cpp:
914         (WebCore::Node::supportsFocus):
915         (WebCore::Node::isFocusable):
916         * dom/Node.h:
917         * html/HTMLAnchorElement.cpp:
918         (WebCore::HTMLAnchorElement::supportsFocus):
919         (WebCore::HTMLAnchorElement::isMouseFocusable):
920         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
921         * html/HTMLAnchorElement.h:
922         * html/HTMLAreaElement.cpp:
923         (WebCore::HTMLAreaElement::supportsFocus):
924         * html/HTMLAreaElement.h:
925         * html/HTMLElement.cpp:
926         (WebCore::HTMLElement::supportsFocus):
927         * html/HTMLElement.h:
928         * html/HTMLFieldSetElement.cpp:
929         (WebCore::HTMLFieldSetElement::supportsFocus):
930         * html/HTMLFieldSetElement.h:
931         * html/HTMLFormControlElement.cpp:
932         (WebCore::HTMLFormControlElement::supportsFocus):
933         (WebCore::HTMLFormControlElement::isFocusable):
934         * html/HTMLFrameElementBase.cpp:
935         (WebCore::HTMLFrameElementBase::supportsFocus):
936         * html/HTMLFrameElementBase.h:
937         * html/HTMLLegendElement.cpp:
938         (WebCore::HTMLLegendElement::supportsFocus):
939         * html/HTMLLegendElement.h:
940         * html/HTMLOptGroupElement.cpp:
941         (WebCore::HTMLOptGroupElement::supportsFocus):
942         (WebCore::HTMLOptGroupElement::isFocusable):
943         * html/HTMLOptGroupElement.h:
944         * html/HTMLOptionElement.cpp:
945         (WebCore::HTMLOptionElement::supportsFocus):
946         (WebCore::HTMLOptionElement::isFocusable):
947         * html/HTMLOptionElement.h:
948         * page/EventHandler.cpp:
949         (WebCore::EventHandler::dispatchMouseEvent):
950         * page/FocusController.cpp:
951         (WebCore::FocusController::advanceFocus):
952         * svg/SVGAElement.cpp:
953         (WebCore::SVGAElement::supportsFocus):
954         (WebCore::SVGAElement::isFocusable):
955         * wml/WMLAElement.cpp:
956         (WebCore::WMLAElement::supportsFocus):
957         * wml/WMLAElement.h:
958         * wml/WMLFormControlElement.cpp:
959         (WebCore::WMLFormControlElement::supportsFocus):
960         (WebCore::WMLFormControlElement::isFocusable):
961         * wml/WMLFormControlElement.h:
962
963 2009-09-06  Joel Stanley  <joel@jms.id.au>
964
965         Reviewed by Dimitri Glazkov.
966
967         Expose functions to set the caret blink interval for Linux Chromium.
968         Default value is set to that of RenderTheme::caretBlankInterval().
969         Uses caretBlinkIntervalInternal to avoid overriding
970         RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
971         of blinking caret required for layout tests.
972         https://bugs.webkit.org/show_bug.cgi?id=28931
973
974         * rendering/RenderThemeChromiumLinux.cpp:
975         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
976         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
977         (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
978         * rendering/RenderThemeChromiumLinux.h:
979
980 2009-09-06  Ada Chan  <adachan@apple.com>
981
982         Remove an extra </File> in WebCore.vcproj.
983
984         * WebCore.vcproj/WebCore.vcproj:
985
986 2009-09-06  Timothy Hatcher  <timothy@apple.com>
987
988         Adds a persistent setting for color format in the Web Inspector.
989
990         https://bugs.webkit.org/show_bug.cgi?id=28889
991
992         Reviewed by Dan Bernstein.
993
994         * English.lproj/localizedStrings.js: New strings.
995         * inspector/front-end/Color.js: Minor style fixes.
996         (WebInspector.Color.prototype.toString): Added. Replaces the individual
997         "toFoo" functions. Takes a optional arguments for the color format to return.
998         * inspector/front-end/Images/paneSettingsButtons.png: Added.
999         * inspector/front-end/StylesSidebarPane.js:
1000         (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
1001         the new color format.
1002         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
1003         Use the new toString function on Color.
1004         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
1005         to format colors by default. Add a tooltip for the color swatch.
1006         * inspector/front-end/inspector.css: New styles for the settings menu.
1007         * inspector/front-end/inspector.js:
1008         (WebInspector.loaded): Initilize the colorFormat preference.
1009
1010 2009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1011
1012         Reviewed by Eric Seidel.
1013
1014         [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
1015         https://bugs.webkit.org/show_bug.cgi?id=28993
1016
1017         * platform/network/qt/DnsPrefetchHelper.cpp:
1018         * platform/network/qt/DnsPrefetchHelper.h:
1019
1020 2009-09-06  Cameron McCormack  <cam@mcc.id.au>
1021
1022         Reviewed by Eric Seidel.
1023
1024         Drop <definition-src> support
1025         https://bugs.webkit.org/show_bug.cgi?id=28991
1026
1027         http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
1028
1029         * DerivedSources.cpp: Remove references to definition-src.
1030         * DerivedSources.make: Ditto.
1031         * GNUmakefile.am: Ditto.
1032         * WebCore.gypi: Ditto.
1033         * WebCore.pro: Ditto.
1034         * WebCore.vcproj/WebCore.vcproj: Ditto.
1035         * WebCore.xcodeproj/project.pbxproj: Ditto.
1036         * bindings/objc/DOM.mm:
1037         (WebCore::createElementClassMap): Ditto.
1038         * bindings/objc/DOMSVG.h: Ditto.
1039         * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
1040         * bindings/v8/V8DOMWrapper.cpp: Ditto.
1041         * bindings/v8/V8Index.cpp: Ditto.
1042         * bindings/v8/V8Index.h: Ditto.
1043         * svg/SVGAllInOne.cpp: Ditto.
1044         * svg/SVGDefinitionSrcElement.cpp: Removed.
1045         * svg/SVGDefinitionSrcElement.h: Removed.
1046         * svg/SVGDefinitionSrcElement.idl: Removed.
1047         * svg/SVGFontFaceElement.cpp:
1048         (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
1049         definition-src child.
1050         * svg/svgtags.in: Remove definition-src.
1051
1052 2009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>
1053
1054         Unreviewed, build fix.
1055
1056         [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
1057         logic of retrieving default caret blink interval was incorrect (non-existent)
1058         and caused layout test flakiness.
1059
1060         * rendering/RenderThemeChromiumLinux.cpp:
1061         * rendering/RenderThemeChromiumLinux.h:
1062
1063 2009-09-05  Jian Li  <jianli@chromium.org>
1064
1065         Reviewed by NOBODY (Chromium reliability build break).
1066
1067         Back up partial change in r48072 in order to fix chromium reliability build break.
1068
1069         * bindings/v8/V8AbstractEventListener.cpp:
1070         (WebCore::V8AbstractEventListener::invokeEventHandler):
1071
1072 2009-09-05  Nicolas Weber  <thakis@chromium.org>
1073
1074         Reviewed by Darin Fisher.
1075
1076         https://bugs.webkit.org/show_bug.cgi?id=28975
1077         Fix file upload on chrome/mac. Images that have "Hide Extension" set,
1078         such as screenshots by default, can now be uploaded to sites such as
1079         imgur.com.
1080
1081         * platform/FileSystem.h:
1082         Add pathGetDisplayFileName().
1083         * platform/chromium/FileChooserChromium.cpp:
1084         (WebCore::FileChooser::basenameForWidth):
1085         Call pathGetDisplayFileName() instead of pathGetFileName().
1086         * platform/chromium/FileSystemChromiumLinux.cpp:
1087         (WebCore::pathGetDisplayFileName):
1088         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
1089         * platform/chromium/FileSystemChromiumMac.mm:
1090         (WebCore::pathGetFileName):
1091         Now returns a real filename instead of a presentational one, which
1092         fixes the problem addressed by this change.
1093         (WebCore::pathGetDisplayFileName):
1094         New function that returns a presentational filename; does what
1095         pathGetDisplayFileName() did prior to this patch.
1096         * platform/chromium/FileSystemChromiumWin.cpp:
1097         (WebCore::pathGetDisplayFileName):
1098         Implement pathGetDisplayFileName() by delegating to pathGetFileName().
1099
1100 2009-09-05  Joel Stanley  <joel@jms.id.au>
1101
1102         Reviewed by David Levin.
1103
1104         Expose functions to set the caret blink interval for Linux Chromium.
1105         https://bugs.webkit.org/show_bug.cgi?id=28931
1106
1107         * rendering/RenderThemeChromiumLinux.cpp:
1108         (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
1109         (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
1110         * rendering/RenderThemeChromiumLinux.h:
1111
1112 2009-09-04  Dmitry Titov  <dimich@chromium.org>
1113
1114         Reviewed by David Levin.
1115
1116         Prevent UI freeze in case when too many timers are in the timer queue.
1117         https://bugs.webkit.org/show_bug.cgi?id=23865
1118
1119         The fix measures the elapsed time while executing timers. If we have too many
1120         timers and it takes significant time to fire, quit the loop and reschedule.
1121         This lets the run loop process user input (close the window for example).
1122
1123         * platform/ThreadTimers.h:
1124         * platform/ThreadTimers.cpp:
1125         (WebCore::ThreadTimers::sharedTimerFiredInternal):
1126         (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
1127         Removed functions and members used before to grab a list of all expired timers.
1128         Now we fetch one by one, measuring time and quitting the loop if it takes too long.
1129         * platform/Timer.cpp:
1130         (WebCore::TimerBase::isActive):
1131         (WebCore::TimerBase::setNextFireTime):
1132         Since timers are now fired one by one, there is no need to keep track of updated timers.
1133         * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
1134         creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
1135         so the browser un-freezes. This is instead of a regular layout test because we don't have a way
1136         to inject an input events via regular run loop in DRT - instead they are directly dispatched by
1137         eventSender, which does not reproduce the UI freeze that happens with real input.
1138
1139 2009-09-04  Anders Carlsson  <andersca@apple.com>
1140
1141         Reviewed by Adele Peterson.
1142
1143         <rdar://problem/7201063>
1144         
1145         Detach any custom scrollbars before detaching the document.
1146         
1147         * page/Frame.cpp:
1148         (WebCore::Frame::setView):
1149
1150 2009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1151
1152                 Unreviewed, build fix.
1153
1154                 Remove remaining references to UserStyleSheetLoader after r48075.
1155
1156                 * WebCore.gypi:
1157                 * WebCore.xcodeproj/project.pbxproj:
1158                 * page/qt/FrameQt.cpp:
1159                 * page/wince/FrameWince.cpp:
1160
1161 2009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
1162
1163                 Reviewed by David Levin.
1164
1165                 https://bugs.webkit.org/show_bug.cgi?id=28988
1166                 Minor fix: "novalidate" attribute renamed in "noValidate", according to
1167                 HTML5 specs:
1168                 http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
1169
1170                 * html/HTMLFormElement.cpp:
1171                 (WebCore::HTMLFormElement::noValidate):
1172                 (WebCore::HTMLFormElement::setNoValidate):
1173                 * html/HTMLFormElement.h:
1174                 * html/HTMLFormElement.idl:
1175
1176 2009-09-04  Dmitry Titov  <dimich@chromium.org>
1177
1178         Reviewed by David Levin.
1179
1180         Remove unused line of code from WorkerContext
1181         https://bugs.webkit.org/show_bug.cgi?id=28990
1182
1183         * workers/WorkerContext.cpp:
1184         (WebCore::WorkerContext::importScripts):
1185
1186 2009-09-04  Darin Adler  <darin@apple.com>
1187
1188         Reviewed by Oliver Hunt.
1189
1190         Fix assertion seen when running buildbot.
1191
1192         * bindings/js/JSDOMBinding.h:
1193         (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
1194         the HasDefaultMark bit since this has a custom mark function.
1195
1196 2009-09-04  Dave Hyatt  <hyatt@apple.com>
1197
1198         Reviewed by Adam Roben.
1199
1200         https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
1201         Make sure the other code path (now used by everybody) can handle data URLs.
1202
1203         As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
1204         hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
1205         that anybody is relying on this support.
1206         
1207         Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
1208         code.
1209
1210         * WebCore.pro:
1211         * WebCore.xcodeproj/project.pbxproj:
1212         * dom/Document.cpp:
1213         (WebCore::Document::userStyleSheet):
1214         * dom/Document.h:
1215         * loader/FrameLoader.cpp:
1216         (WebCore::FrameLoader::begin):
1217         * loader/UserStyleSheetLoader.cpp: Removed.
1218         * loader/UserStyleSheetLoader.h: Removed.
1219         * page/Frame.cpp:
1220         (WebCore::Frame::reapplyStyles):
1221         * page/Frame.h:
1222         * page/Page.cpp:
1223         (WebCore::Page::userStyleSheetLocationChanged):
1224         (WebCore::Page::userStyleSheet):
1225         * page/mac/FrameMac.mm:
1226         * page/qt/FrameQt.cpp:
1227
1228 2009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
1229
1230         Reviewed by Timothy Hatcher.
1231
1232         Add "sampling profiler" preference, simplify data display when it's set.
1233
1234         https://bugs.webkit.org/show_bug.cgi?id=28969
1235
1236         * inspector/front-end/ProfileDataGridTree.js:
1237         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
1238         (WebInspector.ProfileDataGridNode.prototype.get data):
1239         * inspector/front-end/ProfileView.js:
1240         (WebInspector.ProfileView):
1241         * inspector/front-end/inspector.js:
1242
1243 2009-09-04  Jian Li  <jianli@chromium.org>
1244
1245         Reviewed by Adam Barth.
1246
1247         [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
1248         https://bugs.webkit.org/show_bug.cgi?id=28980
1249
1250         Tested by worker-close.html.
1251
1252         * bindings/v8/ScriptFunctionCall.cpp:
1253         * bindings/v8/V8AbstractEventListener.cpp:
1254         (WebCore::V8AbstractEventListener::invokeEventHandler):
1255         * bindings/v8/V8Utilities.cpp:
1256         (WebCore::getScriptExecutionContext):
1257         (WebCore::reportException):
1258         * bindings/v8/V8Utilities.h:
1259         (WebCore::getScriptExecutionContext):
1260         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1261         (WebCore::CALLBACK_FUNC_DECL):
1262         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
1263         (WebCore::CALLBACK_FUNC_DECL):
1264         * bindings/v8/custom/V8WorkerCustom.cpp:
1265         (WebCore::CALLBACK_FUNC_DECL):
1266         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1267         (WebCore::CALLBACK_FUNC_DECL):
1268         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1269         (WebCore::CALLBACK_FUNC_DECL):
1270
1271 2009-09-04  Dave Hyatt  <hyatt@apple.com>
1272
1273         Reviewed by Anders Carlsson.
1274
1275         Remove unused m_sheet variable and setCSSStyleSheet methods.
1276
1277         * dom/Document.cpp:
1278         * dom/Document.h:
1279
1280 2009-09-04  Anders Carlsson  <andersca@apple.com>
1281
1282         Reviewed by David Hyatt and Adele Peterson.
1283
1284         (Based on a patch from Adele).
1285         
1286         Fix <rdar://problem/7185875>.
1287         
1288         * page/Frame.cpp:
1289         (WebCore::Frame::setView):
1290         Detach any custom scroll bars from the old view.
1291         
1292         * page/FrameView.cpp:
1293         (WebCore::FrameView::detachCustomScrollbars):
1294         Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
1295         not a RenderPart object.
1296
1297         * rendering/RenderObject.cpp:
1298         (WebCore::RenderObject::destroy):
1299         ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
1300
1301 2009-09-04  Dave Hyatt  <hyatt@apple.com>
1302
1303         Reviewed by Adam Roben.
1304
1305         Make m_userStyleSheetLoader in Frame an OwnPtr.
1306
1307         * page/Frame.cpp:
1308         (WebCore::Frame::Frame):
1309         (WebCore::Frame::~Frame):
1310         * page/Frame.h:
1311         * page/mac/FrameMac.mm:
1312         (WebCore::Frame::setUserStyleSheetLocation):
1313         (WebCore::Frame::setUserStyleSheet):
1314
1315 2009-09-04  Timothy Hatcher  <timothy@apple.com>
1316
1317         Show color swatches in the Web Inspector before the color text so clicking them will not
1318         shift the swatch. Also makes multiple swatches in the single property toggle the color format.
1319
1320         https://bugs.webkit.org/show_bug.cgi?id=28978
1321
1322         Reviewed by Darin Adler.
1323
1324         * inspector/front-end/StylesSidebarPane.js:
1325         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
1326         the processing we do on the property value. This eliminated the old nickname code, since the new
1327         WebInspector.Color class handles this. We could also simplify the color regex since more
1328         is handled by the Color class. Also no longer uses innerHTML for the linkify code.
1329         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
1330         process a value given a regex and processor functions. 
1331         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
1332         URL with "url()" syntax surrounding it.
1333         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
1334         there was an exception just return a text node.
1335         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
1336         Moved from later in the file.
1337         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
1338         * inspector/front-end/inspector.css:
1339
1340 2009-09-04  Mark Mentovai  <mark@chromium.org>
1341
1342         Reviewed by Dave Hyatt.
1343
1344         https://bugs.webkit.org/show_bug.cgi?id=28614
1345
1346         Account for scrollbar state changes that occur during layout.
1347
1348         * platform/ScrollView.cpp:
1349         (WebCore::ScrollView::updateScrollbars):
1350
1351         Perform a layout prior to checking whether the scrollbar modes are
1352         off, on, or automatic.  The modes may change during layout.
1353
1354         * WebCore.base.exp:
1355         * WebCore.order:
1356         * page/Frame.cpp:
1357         (WebCore::Frame::createView):
1358         * page/FrameView.cpp:
1359         (WebCore::FrameView::FrameView):
1360         (WebCore::FrameView::resetScrollbars):
1361         (WebCore::FrameView::layout):
1362         * page/FrameView.h:
1363         * platform/ScrollView.h:
1364
1365         Eliminate duplicated (and incorrect) scrollbar mode tracking between
1366         FrameView and ScrollView.
1367
1368 2009-09-04  Yael Aharon  <yael.aharon@nokia.com>
1369
1370         Reviewed by Darin Adler.
1371
1372         hostname and host are mixed up when manipulating anchor elements.
1373         https://bugs.webkit.org/show_bug.cgi?id=28954
1374
1375         Swapped the implementation of host and hostname, and made sure not to return
1376         the port number if it is default for the given protocol. 
1377         FireFox also avoids returning the protocol number if it is default.
1378
1379         Test: fast/dom/Element/hostname-host.html
1380
1381         * html/HTMLAnchorElement.cpp:
1382         (WebCore::HTMLAnchorElement::host):
1383         (WebCore::HTMLAnchorElement::hostname):
1384         * page/SecurityOrigin.cpp:
1385         (WebCore::SecurityOrigin::isDefaultPortForProtocol):
1386         * page/SecurityOrigin.h:
1387
1388 2009-09-04  Anders Carlsson  <andersca@apple.com>
1389
1390         Reviewed by Darin Adler and Steve Falkenburg.
1391
1392         Fix <rdar://problem/7192902>.
1393
1394         Add the necessary plumbing for having QTMovieWin use WebCore timers.
1395         
1396         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1397         (WebCore::TaskTimer::initialize):
1398         Create the timer and call QTMovieWin::setTaskTimerFuncs.
1399         
1400         (WebCore::TaskTimer::setTaskTimerDelay):
1401         Start the timer.
1402         
1403         (WebCore::TaskTimer::stopTaskTimer):
1404         Stop the timer.
1405         
1406         (WebCore::TaskTimer::fired):
1407         Call QTMovieWin::taskTimerFired().
1408         
1409         (WebCore::MediaPlayerPrivate::load):
1410         Initialize the Task timer.
1411         
1412         * platform/graphics/win/QTMovieWin.cpp:
1413         (updateTaskTimer):
1414         Call the global stopTaskTimer function and setTaskTimerDelay.
1415         
1416         (QTMovieWin::taskTimerFired):
1417         Make this a member function.
1418         
1419         (QTMovieWin::setTaskTimerFuncs):
1420         Set the global function pointers.
1421         
1422         (QTMovieWin::initializeQuickTime):
1423         (DllMain):
1424         No need to use the QT shared timer.
1425         * platform/graphics/win/QTMovieWin.h:
1426
1427 2009-09-04  Tony Chang  <tony@chromium.org>
1428
1429         Reviewed by David Levin.
1430
1431         Fix Chromium Win compile.  Missing return statement in
1432         WebCore::RenderThemeChromiumSkia::paintSliderThumb.
1433         https://bugs.webkit.org/show_bug.cgi?id=28974
1434
1435         No new tests, build fix.
1436
1437         * rendering/RenderThemeChromiumSkia.cpp:
1438         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
1439
1440 2009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
1441
1442         Unreviewed, build fix.
1443
1444         [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
1445         the build.
1446         https://bugs.webkit.org/show_bug.cgi?id=28696
1447
1448 2009-09-04  Anders Carlsson  <andersca@apple.com>
1449
1450         Fix vcproj file.
1451
1452         * WebCore.vcproj/WebCore.vcproj:
1453
1454 2009-09-03  Dave Hyatt  <hyatt@apple.com>
1455
1456         Reviewed by Adam Roben.
1457
1458         https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
1459         
1460         This patch adds new API for adding and removing user scripts from page groups.  User scripts
1461         are bundled together in isolated worlds (you can have multiple scripts together in the same
1462         world).
1463
1464         Added userscripts/ directory for holding new tests (along with a simple test of script injection).
1465
1466         * WebCore.base.exp:
1467         * WebCore.vcproj/WebCore.vcproj:
1468         * WebCore.xcodeproj/project.pbxproj:
1469         * bindings/js/ScriptController.cpp:
1470         (WebCore::ScriptController::evaluateInIsolatedWorld):
1471         * bindings/js/ScriptController.h:
1472         * bindings/v8/ScriptController.cpp:
1473         (WebCore::ScriptController::evaluateInIsolatedWorld):
1474         * bindings/v8/ScriptController.h:
1475         * loader/FrameLoader.cpp:
1476         (WebCore::FrameLoader::finishedParsing):
1477         (WebCore::FrameLoader::dispatchDocumentElementAvailable):
1478         * page/Frame.cpp:
1479         (WebCore::Frame::injectUserScripts):
1480         (WebCore::Frame::injectUserScriptsForWorld):
1481         * page/Frame.h:
1482         * page/PageGroup.cpp:
1483         (WebCore::PageGroup::~PageGroup):
1484         (WebCore::PageGroup::addUserScript):
1485         (WebCore::PageGroup::removeUserContentForWorld):
1486         (WebCore::PageGroup::removeAllUserContent):
1487         * page/PageGroup.h:
1488         (WebCore::PageGroup::userScripts):
1489         * page/UserScript.h: Added.
1490         (WebCore::UserScript::UserScript):
1491         (WebCore::UserScript::source):
1492         (WebCore::UserScript::url):
1493         (WebCore::UserScript::patterns):
1494         (WebCore::UserScript::worldID):
1495         (WebCore::UserScript::injectionTime):
1496         * page/UserScriptTypes.h: Added.
1497         (WebCore::):
1498
1499 2009-09-04  Alexey Proskuryakov  <ap@apple.com>
1500
1501         Reviewed by Eric Seidel.
1502
1503         https://bugs.webkit.org/show_bug.cgi?id=26402
1504         Crashes when using a detached DocumentType node
1505
1506         Test: fast/dom/DOMImplementation/detached-doctype.html
1507
1508         DocumentType nodes are the only one that can have null document(), and they can never have
1509         children, so they are a degenerate case for NodeLists.
1510
1511         * dom/Node.cpp:
1512         (WebCore::Node::childNodes): Don't try register node list with document if there's no
1513         document. Since there are no changes possible for a DocumentType's node list, this is not
1514         necessary.
1515         (WebCore::Node::registerDynamicNodeList): Ditto.
1516         (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
1517         was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
1518         de-registration code path that I saw taken was via Node destructor, and that already has
1519         a null check for document).
1520
1521         * bindings/js/JSNodeCustom.cpp:
1522         (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
1523         if there is no window).
1524         (WebCore::JSNode::removeEventListener): Ditto.
1525
1526 2009-09-04  Xan Lopez  <xlopez@igalia.com>
1527
1528         Reviewed by Gustavo Noronha.
1529
1530         [GTK] loadFinished never emitted
1531         https://bugs.webkit.org/show_bug.cgi?id=28935
1532
1533         Do not report errors right away from
1534         ResourceHandle::start. Instead return true and schedule an error
1535         to be reported in the handle later. Otherwise WebCore gets
1536         confused and thinks the resource never finished loading, making it
1537         not emit the finished status.
1538
1539         * platform/network/soup/ResourceHandleSoup.cpp:
1540         (WebCore::startHttp):
1541         (WebCore::):
1542
1543 2009-09-04  Ben Murdoch  <benm@google.com>
1544
1545         Reviewed by Eric Seidel.
1546
1547         [V8] DOM Storage bindings: Event Handler should create StorageEvents
1548         https://bugs.webkit.org/show_bug.cgi?id=28942
1549         
1550         Tests:
1551         Causes the following tests that were failing with V8 to pass:
1552         * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
1553         * storage/domstorage/localstorage/complex-keys.html
1554         * storage/domstorage/localstorage/onstorage-attribute-markup.html
1555         * storage/domstorage/localstorage/simple-events.html
1556         * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
1557         * storage/domstorage/localstorage/index-get-and-set.html
1558         * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
1559         * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
1560         * storage/domstorage/sessionstorage/simple-events.html
1561         * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
1562         * storage/domstorage/sessionstorage/index-get-and-set.html
1563
1564         Code changes:
1565         * bindings/v8/V8DOMWrapper.cpp:
1566         (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
1567         * bindings/v8/custom/V8StorageCustom.cpp:
1568         (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
1569
1570 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
1571
1572         Reviewed by Timothy Hatcher.
1573
1574         https://bugs.webkit.org/show_bug.cgi?id=28911
1575
1576         * WebCore.gypi:
1577         * WebCore.vcproj/WebCore.vcproj:
1578         * inspector/InspectorBackend.cpp:
1579         (WebCore::InspectorBackend::dispatchOnInjectedScript):
1580         * inspector/InspectorBackend.h:
1581         * inspector/InspectorBackend.idl:
1582         * inspector/front-end/ConsoleView.js:
1583         (WebInspector.ConsoleView.prototype.doEvalInWindow):
1584         (WebInspector.ConsoleView.prototype._formatarray):
1585         (WebInspector.ConsoleView.prototype._formatnode):
1586         * inspector/front-end/DOMAgent.js:
1587         * inspector/front-end/ElementsPanel.js:
1588         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1589         (WebInspector.ElementsPanel.prototype.searchCanceled):
1590         (WebInspector.ElementsPanel.prototype.performSearch):
1591         * inspector/front-end/InjectedScript.js:
1592         (InjectedScript.dispatch):
1593         * inspector/front-end/InjectedScriptAccess.js: Added.
1594         (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
1595         (InjectedScriptAccess._installHandler):
1596         * inspector/front-end/MetricsSidebarPane.js:
1597         (WebInspector.MetricsSidebarPane.prototype.update):
1598         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1599         * inspector/front-end/ObjectPropertiesSection.js:
1600         (WebInspector.ObjectPropertiesSection.prototype.update):
1601         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
1602         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1603         * inspector/front-end/PropertiesSidebarPane.js:
1604         (WebInspector.PropertiesSidebarPane.prototype.update):
1605         * inspector/front-end/ResourcesPanel.js:
1606         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
1607         * inspector/front-end/ScriptsPanel.js:
1608         (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
1609         * inspector/front-end/StylesSidebarPane.js:
1610         (WebInspector.StylesSidebarPane.prototype.update):
1611         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
1612         (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
1613         (WebInspector.StylePropertyTreeElement.prototype):
1614         * inspector/front-end/inspector.html:
1615
1616 2009-09-04  Tony Chang  <tony@chromium.org>
1617
1618         Reviewed by Eric Seidel.
1619
1620         Implement <input type="range"> for Chromium Linux by painting
1621         the slider and the thumb using skia.
1622         https://bugs.webkit.org/show_bug.cgi?id=28928
1623
1624         Covered by existing tests (we're currently hitting an assert for them).
1625
1626         * rendering/RenderThemeChromiumLinux.cpp:
1627         (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
1628         * rendering/RenderThemeChromiumLinux.h:
1629         * rendering/RenderThemeChromiumSkia.cpp:
1630         (WebCore::drawVertLine):
1631         (WebCore::drawHorizLine):
1632         (WebCore::drawBox):
1633         (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
1634         (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
1635         * rendering/RenderThemeChromiumSkia.h:
1636
1637 2009-09-04  Kent Tamura  <tkent@chromium.org>
1638
1639         Reviewed by Eric Seidel.
1640
1641         - Implement <input type=color> as a text field.
1642         - ValidityState::typeMismatch supports for type=color.
1643         https://bugs.webkit.org/show_bug.cgi?id=28966
1644
1645         Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
1646                fast/forms/ValidityState-typeMismatch-color.html
1647
1648         * html/HTMLInputElement.cpp:
1649         (WebCore::HTMLInputElement::valueMissing):
1650         (WebCore::HTMLInputElement::patternMismatch):
1651         (WebCore::HTMLInputElement::setInputType):
1652         (WebCore::HTMLInputElement::formControlType):
1653         (WebCore::HTMLInputElement::saveFormControlState):
1654         (WebCore::HTMLInputElement::restoreFormControlState):
1655         (WebCore::HTMLInputElement::accessKeyAction):
1656         (WebCore::HTMLInputElement::rendererIsNeeded):
1657         (WebCore::HTMLInputElement::createRenderer):
1658         (WebCore::HTMLInputElement::appendFormData):
1659         (WebCore::HTMLInputElement::valueWithDefault):
1660         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
1661         (WebCore::HTMLInputElement::defaultEventHandler):
1662         (WebCore::HTMLInputElement::isRequiredFormControl):
1663         (WebCore::HTMLInputElement::dataList):
1664         * html/HTMLInputElement.h:
1665         (WebCore::HTMLInputElement::):
1666         (WebCore::HTMLInputElement::isTextField):
1667         * html/ValidityState.cpp:
1668         (WebCore::ValidityState::typeMismatch):
1669         (WebCore::ValidityState::isValidColorString):
1670         * html/ValidityState.h:
1671
1672 2009-09-04  Mads Ager  <ager@chromium.org>
1673
1674         Reviewed by David Levin.
1675
1676         [V8] Crash when updating document cache
1677         https://bugs.webkit.org/show_bug.cgi?id=28965
1678
1679         Initialization of a V8 JavaScript context can fail.  When that
1680         happens, do not attempt to update the document wrapper cache.
1681
1682         This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
1683
1684         * bindings/v8/V8Proxy.cpp:
1685         (WebCore::V8Proxy::updateDocument):
1686
1687 2009-09-04  Yaar Schnitman  <yaar@chromium.org>
1688
1689         Reviewed by Eric Seidel.
1690
1691         Two bugs:
1692
1693         https://bugs.webkit.org/show_bug.cgi?id=25489
1694         CSS property background-position is now serialized in shorthand string as
1695         background-position-x background-position-y, as the specification requires
1696         (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
1697         
1698
1699         https://bugs.webkit.org/show_bug.cgi?id=26541
1700         CSS background-color is now be serialized before other background properties, 
1701         as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
1702
1703         An existing layout test that accepted wrong order and skipped position test 
1704         had to be modified.
1705
1706         * css/CSSMutableStyleDeclaration.cpp:
1707         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1708
1709 2009-09-03  Kent Tamura  <tkent@chromium.org>
1710
1711         Reviewed by David Levin.
1712
1713         Add support for HTMLTextAreaElement.textLength
1714         https://bugs.webkit.org/show_bug.cgi?id=28929
1715
1716         Test: fast/forms/textarea-textlength.html
1717
1718         * html/HTMLTextAreaElement.h:
1719         (WebCore::HTMLTextAreaElement::textLength):
1720         * html/HTMLTextAreaElement.idl:
1721
1722 2009-09-03  Alexey Proskuryakov  <ap@apple.com>
1723
1724         Reviewed by Darin Adler.
1725
1726         <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
1727         REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
1728
1729         Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
1730
1731         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
1732         cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
1733         DocumentType node in two documents.
1734
1735 2009-09-03  Brady Eidson  <beidson@apple.com>
1736
1737         Reviewed by Sam Weinig.
1738
1739         Page Cache should support pages with Frames.
1740         https://bugs.webkit.org/show_bug.cgi?id=13631
1741
1742         Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
1743                fast/loader/frames-with-unload-handlers-in-page-cache.html
1744
1745         * loader/FrameLoader.cpp:
1746         (WebCore::FrameLoader::canCachePageContainingThisFrame):
1747         (WebCore::FrameLoader::logCanCacheFrameDecision):
1748
1749 2009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
1750
1751         Reviewed by Eric Seidel.
1752
1753         Handle middle click in Chromium like QT
1754         https://bugs.webkit.org/show_bug.cgi?id=28696
1755
1756         Tested by middle-click-onpaste.html.
1757
1758         * platform/Pasteboard.h:
1759         * platform/chromium/ChromiumBridge.h:
1760         * platform/chromium/ClipboardChromium.cpp:
1761         (WebCore::ClipboardChromium::getData):
1762         * platform/chromium/PasteboardChromium.cpp:
1763         (WebCore::Pasteboard::Pasteboard):
1764         (WebCore::Pasteboard::isSelectionMode):
1765         (WebCore::Pasteboard::setSelectionMode):
1766         (WebCore::Pasteboard::canSmartReplace):
1767         (WebCore::Pasteboard::plainText):
1768         (WebCore::Pasteboard::documentFragment):
1769         * platform/chromium/PasteboardPrivate.h:
1770         (WebCore::PasteboardPrivate::):
1771
1772 2009-09-03  Brady Eidson  <beidson@apple.com>
1773
1774         Reviewed by Sam Weinig.
1775
1776         More partial work towards "Page Cache should support pages with Frames"
1777         https://bugs.webkit.org/show_bug.cgi?id=13631
1778
1779         Fix a bug where subframes weren't asked if they were cacheable.
1780
1781         No new tests, especially since page caching for frames isn't turned on yet.
1782         A layout test will come in my next patch, which enables frames in the page cache.
1783
1784         * loader/FrameLoader.cpp:
1785         (WebCore::FrameLoader::canCachePageContainingThisFrame):
1786
1787 2009-09-03  Adam Barth  <abarth@webkit.org>
1788
1789         Reviewed by eric@webkit.org.
1790
1791         https://bugs.webkit.org/show_bug.cgi?id=24696
1792
1793         Added mixed content methods to FrameLoaderClient.
1794
1795         * loader/EmptyClients.h:
1796         (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
1797         (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
1798         * loader/FrameLoaderClient.h:
1799
1800 2009-09-03  Kevin Watters  <kevinwatters@gmail.com>
1801
1802         Reviewed by Kevin Ollivier.
1803
1804         [wx] Frames support
1805         https://bugs.webkit.org/show_bug.cgi?id=19041
1806
1807         * page/wx/EventHandlerWx.cpp:
1808         (WebCore::EventHandler::passMousePressEventToSubframe):
1809         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1810         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
1811         (WebCore::EventHandler::passWheelEventToWidget):
1812         (WebCore::EventHandler::tabsToAllControls):
1813         (WebCore::EventHandler::passSubframeEventToSubframe):
1814         (WebCore::EventHandler::passMouseDownEventToWidget):
1815         * platform/wx/RenderThemeWx.cpp:
1816         (WebCore::nativeWindowForRenderObject):
1817         (WebCore::RenderThemeWx::paintButton):
1818         (WebCore::RenderThemeWx::paintTextField):
1819         (WebCore::RenderThemeWx::paintMenuList):
1820         (WebCore::RenderThemeWx::paintMenuListButton):
1821         * platform/wx/ScrollbarThemeWx.cpp: Added.
1822         (WebCore::ScrollbarTheme::nativeTheme):
1823         (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
1824         (WebCore::ScrollbarThemeWx::scrollbarThickness):
1825         (WebCore::ScrollbarThemeWx::hasThumb):
1826         (WebCore::ScrollbarThemeWx::buttonSize):
1827         (WebCore::ScrollbarThemeWx::backButtonRect):
1828         (WebCore::ScrollbarThemeWx::forwardButtonRect):
1829         (WebCore::ScrollbarThemeWx::trackRect):
1830         (WebCore::ScrollbarThemeWx::paintScrollCorner):
1831         (WebCore::ScrollbarThemeWx::paint):
1832         * platform/wx/ScrollbarThemeWx.h: Added.
1833         (WebCore::ScrollbarThemeWx::hasButtons):
1834         * platform/wx/TemporaryLinkStubs.cpp:
1835         * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
1836         (wxStyleForPart):
1837         (GetButtonWidget):
1838         (wxGetGdkWindowForDC):
1839         (wxRenderer_DrawScrollbar):
1840         * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
1841         (wxScrollbarPartToHIPressedState):
1842         (wxRenderer_DrawScrollbar):
1843         * platform/wx/wxcode/scrollbar_render.h: Added.
1844         (calcThumbStartAndLength):
1845         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
1846         (WebCore::drawTextWithSpacing):
1847         * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
1848         (GraphicsHDC::GraphicsHDC):
1849         (GraphicsHDC::~GraphicsHDC):
1850         (GraphicsHDC::operator HDC):
1851         (getTSStateForPart):
1852         (wxRenderer_DrawScrollbar):
1853         * webcore-wx.bkl:
1854
1855 2009-09-03  Yael Aharon  <yael.aharon@nokia.com>
1856
1857         Reviewed by Simon Hausmann.
1858
1859         [Qt] Page content is not displayed in case of HTTP status error
1860         https://bugs.webkit.org/show_bug.cgi?id=28949
1861
1862         If the server sent content, show it to the user instead of an error,
1863         even if the HTTP status code is not success.
1864
1865         * platform/network/qt/QNetworkReplyHandler.cpp:
1866         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
1867         (WebCore::QNetworkReplyHandler::finish):
1868         (WebCore::QNetworkReplyHandler::forwardData):
1869         (WebCore::QNetworkReplyHandler::resetState):
1870         * platform/network/qt/QNetworkReplyHandler.h:
1871
1872 2009-09-03  Drew Wilson  <atwilson@google.com>
1873
1874         Reviewed by Dimitri Glazkov.
1875
1876         Need to update v8 bindings to support passing multiple ports to postMessage()
1877         https://bugs.webkit.org/show_bug.cgi?id=28839
1878
1879         Added support for passing MessagePortArray to v8 bindings.
1880
1881         New tests that now pass with V8:
1882                fast/events/message-port-multi.html
1883                fast/workers/worker-context-multi-port.html
1884                fast/workers/worker-multi-port.html
1885
1886         * WebCore.gypi:
1887         Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
1888         * bindings/v8/custom/V8CustomBinding.h:
1889         Added custom postMessage() handlers for various classes.
1890         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1891         (WebCore::DOMWindowPostMessage):
1892         Added custom handler that supports MessagePortArray.
1893         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1894         (WebCore::DedicatedWorkerContextPostMessage):
1895         Added custom handler that supports MessagePortArray.
1896         * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
1897         (WebCore::MessageEventPorts):
1898         Added getter for ports attribute.
1899         (WebCore::MessageEventInitMessageEvent):
1900         Added custom handler that supports MessagePortArray.
1901         * bindings/v8/custom/V8MessagePortCustom.cpp:
1902         (WebCore::MessagePortPostMessage):
1903         Added custom handler that supports MessagePortArray.
1904         (WebCore::getMessagePortArray):
1905         Added helper function that supports converting from a sequence-like object to a MessagePortArray.
1906         * bindings/v8/custom/V8MessagePortCustom.h: Added.
1907         Added declaration for getMessagePortArray().
1908         * bindings/v8/custom/V8WorkerCustom.cpp:
1909         (WebCore::WorkerPostMessage):
1910         Added custom handler that supports MessagePortArray.
1911
1912 2009-09-03  Drew Wilson  <atwilson@google.com>
1913
1914         Reviewed by Sam Weinig.
1915
1916         Need to update JS bindings and IDL files to support multiple message ports in postMessage()
1917         https://bugs.webkit.org/show_bug.cgi?id=28460
1918
1919         Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
1920
1921         Tests: fast/events/message-port-multi.html
1922                fast/workers/worker-context-multi-port.html
1923                fast/workers/worker-multi-port.html
1924
1925         * GNUmakefile.am:
1926         * WebCore.gypi:
1927         * WebCore.pro:
1928         * WebCore.vcproj/WebCore.vcproj:
1929         * WebCore.xcodeproj/project.pbxproj:
1930         * WebCoreSources.bkl:
1931         Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
1932         * bindings/js/JSDOMBinding.cpp:
1933         (WebCore::toJSSequence):
1934         Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
1935         * bindings/js/JSDOMBinding.h:
1936         * bindings/js/JSDOMWindowCustom.cpp:
1937         (WebCore::JSDOMWindow::postMessage):
1938         Added custom handler for postMessage() that handles being passed MessagePortArrays.
1939         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
1940         (WebCore::JSDedicatedWorkerContext::postMessage):
1941         Added custom handler for postMessage() that handles being passed MessagePortArrays.
1942         * bindings/js/JSMessageEventCustom.cpp: Added.
1943         (WebCore::JSMessageEvent::ports):
1944         Added custom ports() getter that converts from MessagePortArray to JSArray.
1945         (WebCore::JSMessageEvent::initMessageEvent):
1946         Added support for passing a MessagePortArray.
1947         * bindings/js/JSMessagePortCustom.cpp:
1948         (WebCore::JSMessagePort::postMessage):
1949         Added custom handler for postMessage() that handles being passed MessagePortArray.
1950         (WebCore::fillMessagePortArray):
1951         New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
1952         * bindings/js/JSMessagePortCustom.h: Added.
1953         * bindings/js/JSWorkerCustom.cpp:
1954         (WebCore::JSWorker::postMessage):
1955         Added custom handler for postMessage() that handles being passed MessagePortArray.
1956         * dom/MessageEvent.cpp:
1957         * dom/MessageEvent.h:
1958         (WebCore::MessageEvent::ports):
1959         Changed ports() to return a MessagePortArray* since this value can be null.
1960         * dom/MessageEvent.idl:
1961         Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
1962         * dom/MessagePort.cpp:
1963         * dom/MessagePort.h:
1964         * dom/MessagePort.idl:
1965         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1966         * page/DOMWindow.h:
1967         * page/DOMWindow.idl:
1968         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1969         * workers/DedicatedWorkerContext.cpp:
1970         * workers/DedicatedWorkerContext.h:
1971         * workers/DedicatedWorkerContext.idl:
1972         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1973         * workers/Worker.cpp:
1974         * workers/Worker.h:
1975         * workers/Worker.idl:
1976         Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
1977
1978 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
1979
1980         Reviewed by Timothy Hatcher.
1981
1982         WebInspector: Do not query non-function call frames for function name.
1983
1984         https://bugs.webkit.org/show_bug.cgi?id=28799
1985
1986         * inspector/front-end/InjectedScript.js:
1987         (InjectedScript.CallFrameProxy):
1988         (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
1989
1990 2009-09-03  Pavel Feldman  <pfeldman@chromium.org>
1991
1992         Reviewed by Timothy Hatcher.
1993
1994         Crash after typing "clear" and pressing return in inspector console.
1995
1996         https://bugs.webkit.org/show_bug.cgi?id=28684
1997
1998         * inspector/front-end/InjectedScript.js:
1999         (InjectedScript._clearConsoleMessages):
2000         (InjectedScript._inspectObject):
2001         (InjectedScript._ensureCommandLineAPIInstalled):
2002
2003 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
2004
2005         Reviewed by Adam Barth.
2006
2007         [V8] Squeezed out some performance from string conversion.
2008         https://bugs.webkit.org/show_bug.cgi?id=28945
2009
2010         * bindings/v8/V8Binding.cpp:
2011         (WebCore::WebCoreStringResource::WebCoreStringResource):
2012         (WebCore::WebCoreStringResource::~WebCoreStringResource):
2013         (WebCore::WebCoreStringResource::data):
2014         (WebCore::WebCoreStringResource::length):
2015         (WebCore::WebCoreStringResource::atomicString):
2016         (WebCore::WebCoreStringResource::string):
2017         Avoid calling virtual length method. Be more explicit with
2018         external memory computation. Avoid function calls in data and
2019         length.
2020         (WebCore::):
2021         (WebCore::v8StringToWebCoreString):
2022         (WebCore::v8StringToAtomicWebCoreString):
2023         (WebCore::v8NonStringValueToWebCoreString):
2024         (WebCore::v8NonStringValueToAtomicWebCoreString):
2025         Avoid extra calls of WebCoreStringResource::toString. When
2026         AtomicString is computed pass it immediately when constructing
2027         WebCoreStringResource. Use inline buffer for small strings.
2028         * bindings/v8/V8Binding.h:
2029         (WebCore::v8ValueToWebCoreString):
2030         (WebCore::v8ValueToAtomicWebCoreString):
2031         (WebCore::toString):
2032         Inline dispatch of string vs. non-string values.
2033
2034 2009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
2035
2036         Reviewed by Adam Barth.
2037
2038         [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
2039         up V8Proxy lookup.
2040         https://bugs.webkit.org/show_bug.cgi?id=28946
2041
2042         * bindings/v8/V8IsolatedWorld.cpp:
2043         (WebCore::V8IsolatedWorld::getEnteredImpl):
2044         * bindings/v8/V8IsolatedWorld.h:
2045         (WebCore::V8IsolatedWorld::getEntered):
2046
2047 2009-09-03  Kent Tamura  <tkent@chromium.org>
2048
2049         Reviewed by Eric Seidel.
2050
2051         Fix a regression bug that maxLength doesn't work for IME input.
2052         https://bugs.webkit.org/show_bug.cgi?id=25253
2053
2054         Tests: fast/forms/input-maxlength-ime-completed.html
2055                fast/forms/input-maxlength-ime-preedit.html
2056
2057         * dom/InputElement.cpp:
2058         (WebCore::InputElement::handleBeforeTextInsertedEvent):
2059         * dom/InputElement.h:
2060         * html/HTMLInputElement.cpp:
2061         (WebCore::HTMLInputElement::defaultEventHandler):
2062         * wml/WMLInputElement.cpp:
2063         (WebCore::WMLInputElement::defaultEventHandler):
2064
2065 2009-09-03  Cameron McCormack  <cam@mcc.id.au>
2066
2067         Reviewed by Eric Seidel.
2068
2069         Make SVGStyleElement title/media/type setters do something
2070         https://bugs.webkit.org/show_bug.cgi?id=28828
2071
2072         Test: svg/dom/style-reflect.html
2073
2074         * svg/SVGStyleElement.cpp:
2075         (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
2076         (WebCore::SVGStyleElement::setType): Ditto.
2077         (WebCore::SVGStyleElement::setMedia): Ditto.
2078         (WebCore::SVGStyleElement::setTitle): Ditto.
2079
2080 2009-09-03  Ben Murdoch  <benm@google.com>
2081
2082         https://bugs.webkit.org/show_bug.cgi?id=28872
2083         
2084         Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
2085
2086         Test: storage/statement-error-callback.html
2087
2088         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2089         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
2090
2091 2009-09-03  Maxime Simon  <simon.maxime@gmail.com>
2092
2093         Reviewed by Eric Seidel.
2094
2095         [Haiku] Adding three font-specific files to WebCore:
2096         FontCustomPlatformData.cpp, FontCustomPlatformData.h,
2097         and FontPlatformData.h
2098         https://bugs.webkit.org/show_bug.cgi?id=28131
2099
2100         * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
2101         (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
2102         (WebCore::FontCustomPlatformData::fontPlatformData):
2103         (WebCore::createFontCustomPlatformData):
2104         * platform/graphics/haiku/FontCustomPlatformData.h: Added.
2105         (WebCore::FontCustomPlatformData::FontCustomPlatformData):
2106         * platform/graphics/haiku/FontPlatformData.h: Added.
2107         (WebCore::FontPlatformData::FontPlatformData):
2108         (WebCore::FontPlatformData::font):
2109         (WebCore::FontPlatformData::size):
2110         (WebCore::FontPlatformData::bold):
2111         (WebCore::FontPlatformData::oblique):
2112         (WebCore::FontPlatformData::hashTableDeletedFontValue):
2113
2114 2009-09-02  Brady Eidson  <beidson@apple.com>
2115
2116         Reviewed by Darin Adler.
2117
2118         More partial work towards "Page Cache should support pages with Frames"
2119         https://bugs.webkit.org/show_bug.cgi?id=13631
2120
2121         No new tests. (No change in behavior, current tests pass).
2122
2123         * loader/DocumentLoader.cpp:
2124         (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
2125
2126         * loader/FrameLoader.cpp:
2127         (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
2128           only unload, or unload and pagehide.
2129         (WebCore::FrameLoader::closeURL):
2130         (WebCore::FrameLoader::scheduleRedirection):
2131         (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
2132         (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
2133           where a page is added to the PageCache.
2134         * loader/FrameLoader.h:
2135
2136         * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
2137
2138 2009-09-02  Brady Eidson  <beidson@apple.com>
2139
2140         Reviewed by Darin Adler.
2141
2142         More partial work towards "Page Cache should support pages with Frames"
2143         https://bugs.webkit.org/show_bug.cgi?id=13631
2144
2145         - More CachedFrame destruction work.
2146         - Including related Frame and FrameLoader changes and cleanup.
2147
2148         No new tests. (No change in behavior, current tests pass).
2149
2150         * history/CachedFrame.cpp:
2151         (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
2152         (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
2153         (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
2154           the PageCache, do lightweight cleanup to:
2155           A - Prevent referring to a stale Page object.
2156           B - Prevent World Leaks of WebKit objects.
2157
2158         * loader/FrameLoader.cpp:
2159         (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
2160           in the PageCache. ASSERT that fact.
2161         (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
2162           explains it is not effective, and it'd be better to see the crash locally instead of downstream.
2163         (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
2164           referencing it.
2165         (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
2166         (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
2167         * loader/FrameLoader.h:
2168
2169         * page/Frame.cpp:
2170         (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
2171         (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
2172         * page/Frame.h:
2173
2174 2009-09-02  Jungshik Shin  <jshin@chromium.org>
2175
2176         Reviewed by Dimitri Glazkov
2177
2178         [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
2179         in Chromium. This is to fix a new file added in r28742 since the
2180         last patch for this issue.
2181
2182         https://bugs.webkit.org/show_bug.cgi?id=28410
2183
2184         No change in the test result.
2185
2186         * platform/graphics/chromium/FontLinux.cpp:
2187         (WebCore::TextRunWalker::getNormalizedTextRun):
2188
2189 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
2190
2191         Unreviewed, build fix.
2192
2193         [Chromium] Correct a typo to fix bustage, caused by r47991.
2194         https://bugs.webkit.org/show_bug.cgi?id=27933
2195
2196         * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
2197
2198 2009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
2199
2200         Unreviewed, build fix.
2201
2202         [Chromium] Add a missing include to fix bustage, caused by r47991.
2203         https://bugs.webkit.org/show_bug.cgi?id=27933
2204
2205         * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
2206
2207 2009-09-02  Jian Li  <jianli@chromium.org>
2208
2209         Reviewed by Dimitri Glazkov.
2210
2211         [Chromium] Implement file support for DragData.
2212         https://bugs.webkit.org/show_bug.cgi?id=28896
2213
2214         * platform/chromium/DragDataChromium.cpp:
2215         (WebCore::DragData::containsURL):
2216         (WebCore::DragData::asURL):
2217         (WebCore::DragData::containsCompatibleContent):
2218
2219 2009-09-02  Kevin Watters  <kevinwatters@gmail.com>
2220
2221         Reviewed by Kevin Ollivier.
2222
2223         Protect libcurl shared data with Mutex objects via curl_set_share_opt.
2224         https://bugs.webkit.org/show_bug.cgi?id=28920
2225
2226         * platform/network/curl/ResourceHandleManager.cpp:
2227         (WebCore::sharedResourceMutex):
2228         (WebCore::curl_lock_callback):
2229         (WebCore::curl_unlock_callback):
2230         (WebCore::ResourceHandleManager::ResourceHandleManager):
2231
2232 2009-09-02  Evan Stade  <estade@chromium.org>
2233
2234         Reviewed by Eric Seidel.
2235
2236         Expose functions to change the focus ring color for Linux Chromium
2237
2238         https://bugs.webkit.org/show_bug.cgi?id=28887
2239
2240         * rendering/RenderThemeChromiumLinux.cpp:
2241         (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
2242         (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
2243         (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
2244         * rendering/RenderThemeChromiumLinux.h:
2245
2246 2009-09-02  Dirk Schulze  <krit@webkit.org>
2247
2248         Reviewed by Eric Seidel.
2249
2250         SVG Filter premultiplied color support for getImageDate/putImageData
2251         [https://bugs.webkit.org/show_bug.cgi?id=27933]
2252
2253         Patch to get premultiplied color support for Skia on getImageDate/putImageData.
2254
2255         * platform/graphics/skia/ImageBufferSkia.cpp:
2256         (WebCore::getImageData):
2257         (WebCore::putImageData):
2258
2259 2009-09-02  Brady Eidson  <beidson@apple.com>
2260
2261         Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
2262
2263         * history/CachedFrame.cpp:
2264         (WebCore::CachedFrameBase::restore):
2265         (WebCore::CachedFrame::open):
2266         * history/CachedFrame.h:
2267         * history/CachedPage.cpp:
2268         (WebCore::CachedPage::restore):
2269
2270 2009-09-02  Brady Eidson  <beidson@apple.com>
2271
2272         Reviewed by Darin Adler.
2273
2274         In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
2275         Removing them is a little trouble, but worth it going forward.
2276         The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
2277         was suggested by Darin Adler.
2278
2279         No new tests. (No change in behavior)
2280
2281         Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
2282         * history/CachedFrame.cpp:
2283         (WebCore::CachedFrameBase::CachedFrameBase):
2284         (WebCore::CachedFrameBase::~CachedFrameBase):
2285         (WebCore::CachedFrameBase::restore):
2286         (WebCore::CachedFrame::CachedFrame):
2287         (WebCore::CachedFrame::openInFrameLoader):
2288         * history/CachedFrame.h:
2289         (WebCore::CachedFrameBase::document):
2290         (WebCore::CachedFrameBase::view):
2291         (WebCore::CachedFrameBase::domWindow):
2292         (WebCore::CachedFrame::create):
2293         (WebCore::CachedFrame::documentLoader):
2294         (WebCore::CachedFrame::mousePressNode):
2295
2296         Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
2297         thing capable of interacting with FrameLoader::open(CachedFrameBase):
2298         * history/CachedPage.cpp:
2299         (WebCore::CachedPage::restore):
2300         * history/CachedPage.h:
2301         (WebCore::CachedPage::documentLoader):
2302
2303         Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
2304         * loader/FrameLoader.cpp:
2305         (WebCore::FrameLoader::open):
2306         * loader/FrameLoader.h:
2307
2308 2009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
2309
2310         Reviewed by Eric Seidel.
2311
2312         Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
2313         https://bugs.webkit.org/show_bug.cgi?id=24866
2314
2315         This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
2316         (a list to break out of is inside another list item).
2317
2318         When the empty list item appears at the end of another list item, WebKit breaks out of
2319         the outer list item, and adds new item below the outer list item.
2320         Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
2321
2322         Test: editing/execCommand/break-out-of-empty-list-item.html
2323
2324         * editing/CompositeEditCommand.cpp:
2325         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2326
2327 2009-09-02  Brady Eidson  <beidson@apple.com>
2328
2329         Reviewed by Sam Weinig.
2330
2331         More partial work towards "Page Cache should support pages with Frames"
2332         https://bugs.webkit.org/show_bug.cgi?id=13631
2333
2334         This patch is primarily about the "CachedFrame tree" and making slightly different decisions
2335         based on whether a CachedFrame is the main frame or a subframe.
2336
2337         - Store whether a CachedFrame represents the main frame or a subframe.
2338         - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
2339           are reused and need to start new page loads with an empty frame tree.
2340         - Reattach the frame tree to the main frame when restoring it.
2341         - open() the cached subframes in their respective loaders when restoring.
2342         - Properly clear() and destroy() cached subframes.
2343         - When committing to a new page load, and after caching the previous page, only clear the
2344           FrameView for the main frame.
2345
2346         Note that all of above will eventually be necessary as I continue to land this work in pieces,
2347         but doesn't actually change any behavior right now because we still refuse to even *try* to
2348         cache pages with frames.
2349
2350         No new tests. No change in behavior, and current tests continue to pass.
2351
2352         * history/CachedFrame.cpp:
2353         (WebCore::CachedFrame::CachedFrame):
2354         (WebCore::CachedFrame::restore):
2355         (WebCore::CachedFrame::clear):
2356         (WebCore::CachedFrame::destroy):
2357         * history/CachedFrame.h:
2358         (WebCore::CachedFrame::isMainFrame):
2359
2360         * loader/FrameLoader.cpp:
2361         (WebCore::FrameLoader::clear):
2362         (WebCore::FrameLoader::open):
2363         * loader/FrameLoader.h:
2364
2365 2009-09-02  Brady Eidson  <beidson@apple.com>
2366
2367         No review, build fix.
2368
2369         http://trac.webkit.org/changeset/47976 broke the build.  
2370         Let's try compiling before we land things, shall we?
2371
2372         * platform/graphics/SimpleFontData.cpp:
2373         (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
2374
2375 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
2376
2377         waf build fixes for Windows/MSVC.
2378
2379         * wscript:
2380
2381 2009-09-02  Ben Murdoch  <benm@google.com>
2382
2383         Unreviewed build fix for Chromium.
2384
2385         Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
2386
2387         * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
2388
2389 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
2390
2391         waf build fix, don't define symbols we now grab from other sources.
2392
2393         * platform/wx/TemporaryLinkStubs.cpp:
2394
2395 2009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
2396
2397         Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
2398
2399         * plugins/PluginView.cpp:
2400         (WebCore::PluginView::stop):
2401         * plugins/PluginViewNone.cpp:
2402         (WebCore::PluginView::platformDestroy):
2403
2404 2009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
2405
2406         Reviewed by Eric Seidel.
2407
2408         Fix the build failure of WebKit for Linux/Qt when WML is enabled
2409
2410         No test cases needed since this just fixes the build problem.
2411
2412         * wml/WMLElement.cpp:
2413         (WebCore::WMLElement::create):
2414         * wml/WMLTableElement.cpp:
2415         (WebCore::WMLTableElement::joinSuperflousColumns):
2416         (WebCore::WMLTableElement::padWithEmptyColumns):
2417
2418 2009-09-02 Yong Li <yong.li@torchmobile.com>
2419
2420         Reviewed by Adam Barth.
2421
2422         WINCE PORT: use shared buffer for custom font data
2423         https://bugs.webkit.org/show_bug.cgi?id=27734
2424
2425         Refactored by Joe Mason <joe.mason@torchmobile.com>
2426
2427         * loader/CachedFont.cpp:
2428         add WINCE to platforms using cached custom data
2429         * platform/graphics/opentype/OpenTypeUtilities.cpp:
2430         (WebCore::renameFont): implement for WinCE
2431         * platform/graphics/opentype/OpenTypeUtilities.h:
2432         build fixes
2433         * platform/graphics/wince/FontCustomPlatformData.cpp:
2434         (WebCore::setCustomFontCache): add accessor
2435         (WebCore::createFontCustomPlatformData): change param to SharedBuffer
2436         * platform/graphics/wince/FontCustomPlatformData.h:
2437         update function signatures 
2438  
2439 2009-09-02 Yong Li <yong.li@torchmobile.com>
2440
2441         Reviewed by Adam Barth.
2442
2443         WINCE PORT: font-related build fixes and minor bugfixes
2444         https://bugs.webkit.org/show_bug.cgi?id=27734
2445
2446         * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
2447         * platform/graphics/GlyphPageTreeNode.cpp:
2448         (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
2449         * platform/graphics/SimpleFontData.cpp:
2450         (WebCore::SimpleFontData::SimpleFontData): initialize member vars
2451         * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
2452
2453 2009-09-02  Jeremy Orlow  <jorlow@chromium.org>
2454
2455         Reviewed by Adam Barth.
2456
2457         Another pass at releasing the storage mutex.
2458         https://bugs.webkit.org/show_bug.cgi?id=28904
2459
2460         Another pass at releasing the storage mutex (when applicable) when we finish
2461         executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
2462         describes the required behavior.
2463
2464         As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
2465         the problem correctly.  First of all, I missed that events and timeouts go
2466         through a different call path.  Second of all, I didn't consider recursion
2467         correctly.  Third of all, my check to see if LocalStorage is alive actually
2468         instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
2469         it.  So I'm reverting that change completely and doing it more cleanly.
2470         Unfortunately, the solution isn't as portable (and thus I've left out the JSC
2471         implementation for now).
2472
2473         NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
2474         by Mads Ager and Mike Belshe and they seemed to think adding the checks were
2475         fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
2476         scenareos where you can have nested callbacks probably should have always been
2477         protected by a recursion guard.
2478
2479         Unfortunately, this can't be tested without a hook added to the layout test
2480         controllers since the lock is (by design) not supposed to be observable by
2481         JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
2482
2483         * bindings/js/ScriptController.cpp:
2484         (WebCore::ScriptController::evaluate): revert
2485         * bindings/v8/ScriptController.cpp:
2486         (WebCore::ScriptController::evaluate): revert
2487         * bindings/v8/V8Proxy.cpp:
2488         (WebCore::V8Proxy::runScript):
2489             Add releaseStorageMutex call.  A small amount of clean up.
2490         (WebCore::V8Proxy::callFunction):
2491             Add releaseStorageMutex call.  A small amount of clean up.
2492         (WebCore::V8Proxy::releaseStorageMutex):
2493             Check to see if localStorage has been instantiated.  If so, tell it to
2494             unlock all storage areas.
2495         * bindings/v8/V8Proxy.h:
2496         * page/PageGroup.h:
2497         (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
2498
2499 2009-09-02  Yong Li  <yong.li@torchmobile.com>
2500
2501         Reviewed by Adam Barth.
2502
2503         WINCE PORT: Implement ImageBuffer for WINCE
2504         Implement Image interface with a light class BufferedImage
2505         for rendering ImageBuffer
2506         https://bugs.webkit.org/show_bug.cgi?id=28167
2507
2508         * platform/graphics/wince/ImageBufferData.h: Added.
2509         * platform/graphics/wince/ImageBufferWince.cpp: Added.
2510
2511 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2512
2513         Reviewed by Eric Seidel.
2514
2515         Join the various PluginView destructors into one shared implementation
2516
2517         https://bugs.webkit.org/show_bug.cgi?id=27706
2518
2519         The Qt port used to delete the platform plugin widget as the last step.
2520         Now this is done before cleaning up the script objects and unloading the
2521         plugin package, similar to how the Win port does it.
2522
2523         * plugins/PluginView.cpp:
2524         * plugins/PluginViewNone.cpp:
2525         * plugins/gtk/PluginViewGtk.cpp:
2526         * plugins/mac/PluginViewMac.cpp:
2527         * plugins/qt/PluginViewQt.cpp:
2528         * plugins/win/PluginViewWin.cpp:
2529
2530 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2531
2532         Reviewed by Eric Seidel.
2533
2534         Share PluginView::init() between ports
2535
2536         https://bugs.webkit.org/show_bug.cgi?id=27706
2537
2538         The port-spesific bits are moved to platformStart(), which now returns
2539         a bool based on the success of the platformStart.
2540
2541         m_hasPendingGeometryChange is now initialized in the initializer list
2542         instead of in PluginViewQt's init()
2543
2544         PluginViewMac (currently used only by the Qt port) used to manually call
2545         stop() in the case where an unsupported drawing or event model was detected.
2546         This was wrong, as the m_status and m_isStarted fields should be used to
2547         guard against doing operations on a plugin in this intermediate state.
2548
2549         * plugins/PluginView.cpp:
2550         * plugins/PluginView.h:
2551         * plugins/PluginViewNone.cpp:
2552         * plugins/gtk/PluginViewGtk.cpp:
2553         * plugins/mac/PluginViewMac.cpp:
2554         * plugins/qt/PluginViewQt.cpp:
2555         * plugins/win/PluginViewWin.cpp:
2556
2557 2009-09-02  Ben Murdoch  <benm@google.com>
2558
2559         https://bugs.webkit.org/show_bug.cgi?id=28737
2560         
2561         Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
2562
2563         * bindings/js/JSSQLTransactionCustom.cpp:
2564         (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
2565         * bindings/v8/V8Binding.cpp:
2566         (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
2567         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2568         (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
2569
2570 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
2571
2572         Reviewed by Timothy Hatcher.
2573
2574         WebInspector: Migrate Databases tab to InjectedScript /
2575         serialized interaction.
2576
2577         https://bugs.webkit.org/show_bug.cgi?id=28873
2578
2579         * inspector/InspectorDOMAgent.cpp:
2580         (WebCore::InspectorDOMAgent::handleEvent):
2581         * inspector/front-end/Database.js:
2582         (WebInspector.Database.prototype.isDB):
2583         (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
2584         (WebInspector.Database.prototype.runWithTableNames):
2585         (WebInspector.Database.prototype.executeSql):
2586         (WebInspector.Database.prototype.executeSql.errorCallback):
2587         (WebInspector.Database.prototype.executeSql.queryTransaction):
2588         * inspector/front-end/DatabaseQueryView.js:
2589         (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
2590         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2591         * inspector/front-end/DatabaseTableView.js:
2592         (WebInspector.DatabaseTableView):
2593         * inspector/front-end/StoragePanel.js:
2594         (WebInspector.StoragePanel.prototype.selectDatabase):
2595         (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
2596         (WebInspector.StoragePanel.prototype.updateDatabaseTables):
2597         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
2598         (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
2599
2600 2009-09-02  Pavel Feldman  <pfeldman@chromium.org>
2601
2602         Not reviewed (trivial followup fix). 
2603         
2604         Web Inspector: Trivial follow up fix to r47944.
2605
2606         https://bugs.webkit.org/show_bug.cgi?id=28800
2607
2608         * inspector/InspectorBackend.cpp:
2609         (WebCore::InspectorBackend::nodeForId):
2610
2611 2009-09-01  Brian Weinstein  <bweinstein@apple.com>
2612
2613         Reviewed by John Sullivan.
2614
2615         Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
2616
2617         * accessibility/AccessibilityRenderObject.cpp:
2618         (WebCore::AccessibilityRenderObject::isReadOnly):
2619
2620 2009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2621
2622         Reviewed by Timothy Hatcher.
2623
2624         https://bugs.webkit.org/show_bug.cgi?id=28047
2625         add utility method to enable logging messages for inspector development
2626
2627         manual test case added (see below)
2628
2629         * inspector/front-end/ConsoleView.js:
2630         (WebInspector.ConsoleMessage.prototype.toMessageElement):
2631         (WebInspector.ConsoleMessage.prototype.toString):
2632         * inspector/front-end/inspector.css:
2633         * inspector/front-end/inspector.js:
2634         (WebInspector.log):
2635         * manual-tests/inspector/webinspector-log.html: Added.
2636         * page/Console.cpp:
2637         (WebCore::printMessageSourceAndLevelPrefix):
2638         * page/Console.h:
2639         (WebCore::):
2640
2641 2009-09-01  Alexey Proskuryakov  <ap@apple.com>
2642
2643         Reviewed by Darin Adler.
2644
2645         https://bugs.webkit.org/show_bug.cgi?id=21990
2646         When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
2647         is mistreated as Shift_JIS
2648
2649         <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
2650
2651         WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
2652         This didn't really match any browser, and did cause problems on some sites.
2653
2654         Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
2655         cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
2656         especially in comments. Also, some valid EUC-JP sequences are not known to it.
2657
2658         Some pages that are fixed by this change:
2659
2660         <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
2661         page has incorrect encoding in title, so no browser displays it 100% fine. We now match
2662         Firefox and IE.
2663
2664         <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
2665         in Safari. There is a stray byte in comments that was makes charset detector think it can't
2666         be EUC-JP.
2667
2668         <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
2669         Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
2670         fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
2671         Shift_JIS in normal HTML view though).
2672
2673         Test: fast/encoding/japanese-encoding-mix.html
2674
2675         * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
2676         detection if there is no solid charset information yet.
2677
2678 2009-09-01  Jian Li  <jianli@chromium.org>
2679
2680         Reviewed by Dimitri Glazkov.
2681
2682         [V8] FileList cannot be accessed via index in Chromium.
2683         https://bugs.webkit.org/show_bug.cgi?id=28883
2684
2685         Tested by clipboard-file-access.html.
2686
2687         * WebCore.gypi:
2688         * bindings/v8/V8DOMWrapper.cpp:
2689         (WebCore::V8DOMWrapper::getTemplate):
2690         * bindings/v8/custom/V8CustomBinding.h:
2691         * bindings/v8/custom/V8FileListCustom.cpp: Added.
2692
2693 2009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
2694
2695         Remove the workaround added in r47316.
2696
2697         Reviewed by Sam Weinig.
2698
2699         * accessibility/AXObjectCache.cpp:
2700         (WebCore::AXObjectCache::AXObjectCache):
2701
2702         * accessibility/AXObjectCache.h:
2703         Remove the Document argument to the AXObjectCache constructor and the
2704         m_document member variable, and replace the no-parameter
2705         handleFocusedUIElementChanged() with the two-parameter GTK function.
2706         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2707
2708         * accessibility/chromium/AXObjectCacheChromium.cpp:
2709         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2710
2711         * accessibility/gtk/AXObjectCacheAtk.cpp:
2712         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2713
2714         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2715         (fallbackObject):
2716         Don't pass a null Document when constructing the AXObjectCache.
2717
2718         * accessibility/mac/AXObjectCacheMac.mm:
2719         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2720
2721         * accessibility/win/AXObjectCacheWin.cpp:
2722         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2723         Get the document from the RenderObject; m_document was removed.
2724
2725         * dom/Document.cpp:
2726         (WebCore::Document::axObjectCache):
2727         Don't pass the Document when constructing the AXObjectCache.
2728         (WebCore::Document::setFocusedNode):
2729         Pass the old and new focused RenderObjects when calling
2730         handleFocusedUIElementChanged().
2731
2732 2009-09-01  Yury Semikhatsky  <yurys@chromium.org>
2733
2734         Reviewed by Timothy Hatcher.
2735
2736         Check that InspectorDOMAgent and InspectorFrontend are not null
2737         before accessing them in InspectorBackend. They may be null if
2738         InspectorController is closed before an asynchronous operation is
2739         started.
2740
2741         https://bugs.webkit.org/show_bug.cgi?id=28800
2742
2743         * inspector/InspectorBackend.cpp:
2744         (WebCore::InspectorBackend::getCookies):
2745         (WebCore::InspectorBackend::getChildNodes):
2746         (WebCore::InspectorBackend::setAttribute):
2747         (WebCore::InspectorBackend::removeAttribute):
2748         (WebCore::InspectorBackend::setTextNodeValue):
2749         (WebCore::InspectorBackend::highlight):
2750         (WebCore::InspectorBackend::nodeForId):
2751         (WebCore::InspectorBackend::pushNodePathToFrontend):
2752         (WebCore::InspectorBackend::addNodesToSearchResult):
2753         (WebCore::InspectorBackend::selectDatabase):
2754         (WebCore::InspectorBackend::selectDOMStorage):
2755         (WebCore::InspectorBackend::inspectorDOMAgent):
2756         (WebCore::InspectorBackend::inspectorFrontend):
2757         * inspector/InspectorBackend.h:
2758
2759 2009-09-01  Brady Eidson  <beidson@apple.com>
2760
2761         Reviewed by Sam Weinig.
2762
2763         Page Cache should support pages with frames
2764         https://bugs.webkit.org/show_bug.cgi?id=13631
2765
2766         Things learned in the full task that this patch addresses:
2767         - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
2768           needed to be managed separately.
2769         - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
2770           FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
2771           will be guided by the CachedFrames themselves.
2772
2773         No new tests. (No change in behavior, current layout tests pass)
2774         
2775         * history/CachedFrame.cpp:
2776         (WebCore::CachedFrame::CachedFrame):
2777         (WebCore::CachedFrame::~CachedFrame):
2778         (WebCore::CachedFrame::clear): Only clear pointers out.
2779         (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
2780           occur simply by navigating back to a page with a CachedFrame.
2781         * history/CachedFrame.h:
2782
2783         * history/CachedPage.cpp:
2784         (WebCore::CachedPage::~CachedPage):
2785         (WebCore::CachedPage::restore): Call clear() after restoring.
2786         (WebCore::CachedPage::clear):
2787         (WebCore::CachedPage::destroy):
2788         * history/CachedPage.h:
2789
2790         * history/PageCache.cpp:
2791         (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
2792           instead of clearing them.
2793
2794         * loader/FrameLoader.cpp:
2795         (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
2796         (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
2797         * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
2798           Even though CachedFrame::restore() isn't used for now, it will be soon.
2799
2800 2009-09-01  Andrei Popescu  <andreip@google.com>
2801
2802         Reviewed by David Levin.
2803
2804         Add a "lowMemoryNotification" method to the V8 ScriptController class.
2805         This is needed in order to allow the host application (Android Web browser in this case)
2806         to call the v8::V8::LowMemoryNotification() method added to V8 in
2807         http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
2808         
2809         https://bugs.webkit.org/show_bug.cgi?id=28776
2810
2811
2812         * bindings/v8/ScriptController.cpp:
2813         (WebCore::ScriptController::lowMemoryNotification):
2814         * bindings/v8/ScriptController.h:
2815
2816 2009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
2817
2818         Reviewed by Adam Barth.
2819
2820         V8 Bindings for WebSocket API.
2821         https://bugs.webkit.org/show_bug.cgi?id=28844
2822
2823         * bindings/v8/DOMObjectsInclude.h:
2824         * bindings/v8/DerivedSourcesAllInOne.cpp:
2825         * bindings/v8/V8DOMWrapper.cpp:
2826         (WebCore::V8DOMWrapper::getTemplate):
2827         (WebCore::V8DOMWrapper::convertToV8Object):
2828         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2829         * bindings/v8/V8DOMWrapper.h:
2830         * bindings/v8/V8Index.cpp:
2831         * bindings/v8/V8Index.h:
2832         * bindings/v8/WorkerContextExecutionProxy.cpp:
2833         * bindings/v8/custom/V8CustomBinding.h:
2834         * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
2835
2836 2009-09-01  Peter Kasting  <pkasting@google.com>
2837
2838         Unreviewed (build fix).
2839
2840         Missed a "." -> "->" conversion.
2841
2842         * platform/graphics/qt/ImageDecoderQt.cpp:
2843         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2844
2845 2009-09-01  Peter Kasting  <pkasting@google.com>
2846
2847         Unreviewed (build fix).
2848
2849         Try to fix Qt build, take 2.  The Qt code had what looks like a
2850         broken virtual function override.
2851
2852         * platform/graphics/qt/ImageDecoderQt.cpp:
2853         (WebCore::ImageDecoderQt::ReadContext::ReadContext):
2854         (WebCore::ImageDecoderQt::setData):
2855         * platform/graphics/qt/ImageDecoderQt.h:
2856
2857 2009-09-01  Adam Barth  <abarth@webkit.org>
2858
2859         Reviewed by Sam Weinig.
2860
2861         Uninitialized variable in XSSAuditor
2862         https://bugs.webkit.org/show_bug.cgi?id=28874
2863
2864         One ought to initialize variables before use even when it doesn't
2865         matter.  No behavior change.
2866
2867         * page/XSSAuditor.h:
2868         (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
2869
2870 2009-09-01  Peter Kasting  <pkasting@google.com>
2871
2872         Unreviewed (build fix).
2873
2874         Try to fix Qt build.
2875
2876         * platform/graphics/ImageSource.cpp:
2877
2878 2009-08-28  Peter Kasting  <pkasting@google.com>
2879
2880         Reviewed by Eric Seidel.
2881
2882         https://bugs.webkit.org/show_bug.cgi?id=27965
2883         Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
2884
2885         * WebCore.pro:
2886         * platform/graphics/ImageSource.cpp:
2887         (WebCore::ImageSource::frameHasAlphaAtIndex):
2888         * platform/graphics/qt/ImageSourceQt.cpp:
2889         (WebCore::ImageSource::createFrameAtIndex):
2890         (WebCore::ImageSource::frameHasAlphaAtIndex):
2891         (WebCore::ImageSource::frameIsCompleteAtIndex):
2892
2893 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
2894
2895         Reviewed by Timothy Hatcher.
2896
2897         WebInspector: Make InjectedScript self-contained (move necessary
2898         methods from utilities.js into InjectedScript).
2899
2900         https://bugs.webkit.org/show_bug.cgi?id=28871
2901
2902         * inspector/front-end/ElementsPanel.js:
2903         (WebInspector.ElementsPanel.prototype.generateStylesheet):
2904         * inspector/front-end/InjectedScript.js:
2905         (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
2906         (InjectedScript._ensureCommandLineAPIInstalled):
2907         (InjectedScript.pushNodeToFrontend):
2908         (InjectedScript.createProxyObject):
2909         (Object.type):
2910         (Object.hasProperties):
2911         (Object.className):
2912         (String.prototype.escapeCharacters):
2913         * inspector/front-end/utilities.js:
2914
2915 2009-09-01  Pavel Feldman  <pfeldman@chromium.org>
2916
2917         Reviewed by Timothy Hatcher.
2918
2919         WebInspector: console log message repeat count double.
2920
2921         https://bugs.webkit.org/show_bug.cgi?id=28856
2922
2923         * inspector/front-end/InjectedScript.js:
2924         (InjectedScript._evaluateOn):
2925
2926 2009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
2927
2928         Reviewed by Mark Rowe.
2929
2930         [Gtk] Fix DATALIST build
2931         https://bugs.webkit.org/show_bug.cgi?id=28826
2932
2933         Add ENABLE_DATALIST to FEATURE_DEFINES.
2934
2935         * GNUmakefile.am:
2936
2937 2009-09-01  Cameron McCormack  <cam@mcc.id.au>
2938
2939         Reviewed by Eric Seidel.
2940
2941         SVGSVGElement suspend methods argument/return types incorrect
2942         https://bugs.webkit.org/show_bug.cgi?id=28860
2943
2944         Also fix the style of the argument names.
2945
2946         * svg/SVGSVGElement.cpp:
2947         (WebCore::SVGSVGElement::suspendRedraw):
2948         (WebCore::SVGSVGElement::unsuspendRedraw):
2949         * svg/SVGSVGElement.h:
2950
2951 2009-09-01  Roland Steiner  <rolandsteiner@google.com>
2952
2953         Reviewed by Eric Seidel.
2954
2955         Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
2956         (https://bugs.webkit.org/show_bug.cgi?id=28808)
2957
2958         The bug fix adds an explicit check for the validity of the path when it is 
2959         transformed into local coordinates. 
2960         This was the most suitable place I could find that didn't cause an inordinate 
2961         amount of refactoring. Also, it seems pertinent and may also catch other cases 
2962         that are not limited to clipping paths.
2963
2964         TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
2965
2966         * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
2967         (WebCore::):
2968         * platform/graphics/skia/PlatformContextSkia.cpp:
2969         (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
2970
2971 2009-09-01  Yusuke Sato  <yusukes@chromium.org>
2972
2973         Reviewed by Eric Seidel.
2974
2975         [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
2976         https://bugs.webkit.org/show_bug.cgi?id=28742 
2977
2978         Normalize (NFC) a TextRun when the run contains combining diacritical marks
2979         so that Skia can pick a correct glyph without relying on GSUB table in a font.
2980         This change is for Chromium Linux.
2981
2982         * platform/graphics/chromium/FontLinux.cpp:
2983         (WebCore::TextRunWalker::getTextRun): Added.
2984         (WebCore::TextRunWalker::getNormalizedTextRun): Added.
2985
2986         This function is called when the run contains U+0300..U+036F and converts characters in
2987         the run to the combined form (NFC) using ICU.
2988
2989 2009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
2990
2991         Reviewed by Dimitri Glazkov.
2992
2993         [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
2994         V8Proxy::createWrapperFromCache.
2995         https://bugs.webkit.org/show_bug.cgi?id=28848
2996
2997         * bindings/v8/V8DOMWrapper.cpp:
2998         (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
2999         function for document wrapping.
3000         (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
3001         wrapping a new node.
3002         * bindings/v8/V8DOMWrapper.h:
3003         (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
3004         path from V8DOMWrapper.cpp.
3005         * bindings/v8/V8Proxy.cpp:
3006         (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
3007         * bindings/v8/V8Proxy.h:
3008         (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
3009         from V8Proxy.cpp.
3010
3011 2009-09-01  Eric Seidel  <eric@webkit.org>
3012
3013         No review, windows build fix only.  Clearly I should have read the patch closer. :(
3014
3015         Allow excluding certain plugins from loading
3016         https://bugs.webkit.org/show_bug.cgi?id=28677
3017
3018         * plugins/PluginDatabase.cpp:
3019         (WebCore::PluginDatabase::refresh):
3020
3021 2009-09-01  Alexander Pavlov  <apavlov@chromium.org>
3022
3023         Reviewed by Timothy Hatcher.
3024
3025         Implement conditional breakpoints in the Web Inspector backend
3026         and add frontend JavaScript stubs.
3027         https://bugs.webkit.org/show_bug.cgi?id=28846
3028
3029         * inspector/InspectorBackend.cpp:
3030         (WebCore::InspectorBackend::profiles):
3031         (WebCore::InspectorBackend::addBreakpoint):
3032         (WebCore::InspectorBackend::updateBreakpoint):
3033         * inspector/InspectorBackend.h:
3034         * inspector/InspectorBackend.idl:
3035         * inspector/JavaScriptDebugServer.cpp:
3036         (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
3037         (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
3038         (WebCore::JavaScriptDebugServer::addBreakpoint):
3039         (WebCore::JavaScriptDebugServer::breakpointInfo):
3040         (WebCore::JavaScriptDebugServer::updateBreakpoint):
3041         (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
3042         (WebCore::JavaScriptDebugServer::removeBreakpoint):
3043         (WebCore::JavaScriptDebugServer::hasBreakpoint):
3044         (WebCore::JavaScriptDebugServer::clearBreakpoints):
3045         * inspector/JavaScriptDebugServer.h:
3046         (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
3047         * inspector/front-end/Breakpoint.js:
3048         (WebInspector.Breakpoint):
3049         (WebInspector.Breakpoint.prototype.get id):
3050         (WebInspector.Breakpoint.prototype.get condition):
3051         (WebInspector.Breakpoint.prototype.set condition):
3052         * inspector/front-end/BreakpointsSidebarPane.js:
3053         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
3054         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
3055         * inspector/front-end/ScriptsPanel.js:
3056         (WebInspector.ScriptsPanel.prototype.addScript):
3057
3058 2009-09-01  Marius Renn  <damarvy@gmail.com>
3059
3060         Reviewed by Eric Seidel.
3061
3062         Added delegate to PluginDatabase to disable loading certain plugins.
3063         This is useful when you want to load from the standard plugin
3064         directory, but want to exclude certain plugins. Plugins may be
3065         excluded early on by name, so that no plugin code is executed (which
3066         may have caused a crash).
3067
3068         * plugins/PluginDatabase.cpp:
3069         (WebCore::PluginDatabase::PluginDatabase):
3070         (WebCore::PluginDatabase::refresh):
3071         * plugins/PluginDatabase.h:
3072         (WebCore::PluginDatabase::setClient):
3073         * plugins/PluginDatabaseClient.h: Added.
3074         (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
3075
3076 2009-08-31  Brady Eidson  <beidson@apple.com>
3077
3078         Rubberstamped by Sam Weinig
3079
3080         * WebCore.base.exp: Removed an unneeded symbol export.
3081
3082 2009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3083
3084         Reviewed by Alexey Proskuryakov.
3085
3086         https://bugs.webkit.org/show_bug.cgi?id=28466
3087         When downloading a file, two GET requests are sent to the HTTP server
3088
3089         Can't think of a way to test this.
3090
3091         * loader/ResourceLoader.cpp:
3092         (WebCore::ResourceLoader::releaseResources): only nullify the
3093         handle's client when it is the ResourceLoader, to support the case
3094         in which a download API uses a different client
3095
3096 2009-08-31  Brian Weinstein  <bweinstein@apple.com>
3097
3098         Reviewed by Darin Adler.
3099
3100         Text Fields and Text Areas are reported as read-only by inspect32.exe.
3101         https://bugs.webkit.org/show_bug.cgi?id=28854
3102
3103         Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
3104         and texts areas are read-only.
3105
3106         * accessibility/AccessibilityRenderObject.cpp:
3107         (WebCore::AccessibilityRenderObject::isReadOnly):
3108         (WebCore::AccessibilityRenderObject::canSetValueAttribute):
3109
3110 2009-08-31  Drew Wilson  <atwilson@google.com>
3111
3112         Reviewed by Alexey Proskuryakov.
3113
3114         fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
3115         https://bugs.webkit.org/show_bug.cgi?id=28795
3116
3117         Changed WorkerContext::close() to no longer stop the worker thread.
3118         It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
3119
3120         * workers/AbstractWorker.cpp:
3121         Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
3122         * workers/DefaultSharedWorkerRepository.cpp:
3123         (WebCore::SharedWorkerProxy::workerContextClosed):
3124         Now shuts down the worker thread when notified that the context is closed.
3125         (WebCore::SharedWorkerProxy::close):
3126         Now handles being invoked when the context is already in the process of shutting down.
3127         * workers/WorkerContext.cpp:
3128         (WebCore::WorkerContext::close):
3129         No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
3130         * workers/WorkerContext.h:
3131         (WebCore::WorkerContext::isClosing):
3132         isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
3133         * workers/WorkerMessagingProxy.cpp:
3134         (WebCore::WorkerExceptionTask::performTask):
3135         Error events should still be delivered even if the worker thread is closing.
3136         Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
3137         (WebCore::WorkerTerminateTask::create):
3138         New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
3139         (WebCore::WorkerTerminateTask::WorkerTerminateTask):
3140         (WebCore::WorkerTerminateTask::performTask):
3141         (WebCore::WorkerMessagingProxy::workerContextClosed):
3142         Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
3143         * workers/WorkerMessagingProxy.h:
3144         WorkerMessagingProxy now overrides workerContextClosed().
3145         * workers/WorkerRunLoop.cpp:
3146         (WebCore::WorkerRunLoop::runInMode):
3147         Now drops tasks on the floor if the WorkerContext is closing.
3148
3149 2009-08-31  Ojan Vafai  <ojan@chromium.org>
3150
3151         Not reviewed (build fix)
3152
3153         Build fix for Chromium to match r49707.
3154
3155         * bindings/v8/ScriptCallFrame.cpp:
3156         (WebCore::ScriptCallFrame::ScriptCallFrame):
3157         * bindings/v8/ScriptSourceCode.h:
3158         (WebCore::ScriptSourceCode::ScriptSourceCode):
3159         * platform/KURLGoogle.cpp:
3160         (WebCore::KURL::KURL):
3161         (WebCore::blankURL):
3162
3163 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
3164
3165         Reviewed by Darin Adler.
3166
3167         https://bugs.webkit.org/show_bug.cgi?id=28858
3168         Element.baseURI parses xml:base attribute incorrectly
3169
3170         Test: fast/dom/base-attribute-parsing.xhtml
3171
3172         * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
3173         release mode).
3174
3175 2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
3176
3177         Reverting http://trac.webkit.org/changeset/47904, because it caused
3178         layout test failure.
3179
3180         Test: fast/dom/Window/new-window-opener.html
3181
3182 2009-08-31  Alexey Proskuryakov  <ap@webkit.org>
3183
3184         Reviewed by Darin Adler.
3185
3186         https://bugs.webkit.org/show_bug.cgi?id=28852
3187         Rename KURL single argument constructor to avoid confusion
3188
3189         * platform/KURL.h: The constructor that used to be single argument should now be invoked
3190         as KURL(ParsedURLString, myString).
3191
3192         * WebCore.base.exp:
3193         * bindings/js/JSDOMWindowCustom.cpp:
3194         (WebCore::createWindow):
3195         * bindings/js/ScriptCallFrame.cpp:
3196         (WebCore::ScriptCallFrame::ScriptCallFrame):
3197         * bindings/v8/NPV8Object.cpp:
3198         (_NPN_EvaluateHelper):
3199         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3200         (WebCore::createWindow):
3201         * css/CSSCursorImageValue.cpp:
3202         (WebCore::isSVGCursorIdentifier):
3203         * css/CSSImageValue.cpp:
3204         (WebCore::CSSImageValue::cachedImage):
3205         * css/CSSImportRule.cpp:
3206         (WebCore::CSSImportRule::insertedIntoParent):
3207         * css/StyleBase.cpp:
3208         (WebCore::StyleBase::baseURL):
3209         * dom/Document.cpp:
3210         (WebCore::Document::initSecurityContext):
3211         * dom/Element.cpp:
3212         (WebCore::Element::baseURI):
3213         * editing/markup.cpp:
3214         (WebCore::completeURLs):
3215         * history/HistoryItem.cpp:
3216         (WebCore::HistoryItem::url):
3217         (WebCore::HistoryItem::originalURL):
3218         * inspector/InspectorController.cpp:
3219         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
3220         * inspector/InspectorResource.cpp:
3221         (WebCore::InspectorResource::createCached):
3222         * loader/Cache.cpp:
3223         (WebCore::Cache::revalidateResource):
3224         * loader/DocLoader.cpp:
3225         (WebCore::DocLoader::requestResource):
3226         * loader/DocumentLoader.cpp:
3227         (WebCore::DocumentLoader::getSubresources):
3228         * loader/FrameLoader.cpp:
3229         (WebCore::FrameLoader::init):
3230         (WebCore::FrameLoader::iconURL):
3231         (WebCore::FrameLoader::scheduleLocationChange):
3232         (WebCore::FrameLoader::redirectionTimerFired):
3233         (WebCore::FrameLoader::loadURLIntoChildFrame):
3234         (WebCore::FrameLoader::startRedirectionTimer):
3235         * loader/appcache/ApplicationCache.cpp:
3236         (WebCore::ApplicationCache::resourceForURL):
3237         * loader/appcache/ApplicationCacheGroup.cpp:
3238         (WebCore::ApplicationCacheGroup::startLoadingEntry):
3239         (WebCore::ApplicationCacheGroup::addEntry):
3240         * loader/appcache/ApplicationCacheStorage.cpp:
3241         (WebCore::ApplicationCacheStorage::cacheGroupForURL):
3242         (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
3243         (WebCore::ApplicationCacheStorage::loadCache):
3244         (WebCore::ApplicationCacheStorage::manifestURLs):
3245         * loader/archive/cf/LegacyWebArchive.cpp:
3246         (WebCore::LegacyWebArchive::createResource):
3247         (WebCore::LegacyWebArchive::create):
3248         * loader/loader.cpp:
3249         (WebCore::Loader::load):
3250         * notifications/NotificationCenter.h:
3251         (WebCore::NotificationCenter::createHTMLNotification):
3252         * platform/KURL.cpp:
3253         (WebCore::KURL::KURL):
3254         (WebCore::blankURL):
3255         * platform/KURLHash.h:
3256         * platform/chromium/ClipboardChromium.cpp:
3257         (WebCore::ClipboardChromium::setData):
3258         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3259         (WebCore::MediaPlayerPrivate::createQTMovie):
3260         * platform/network/cf/ResourceErrorCF.cpp:
3261         (WebCore::ResourceError::operator CFErrorRef):
3262         * platform/network/cf/ResourceRequest.h:
3263         (WebCore::ResourceRequest::ResourceRequest):
3264         * platform/network/chromium/ResourceRequest.h:
3265         (WebCore::ResourceRequest::ResourceRequest):
3266         * platform/network/curl/ResourceHandleManager.cpp:
3267         (WebCore::handleLocalReceiveResponse):
3268         (WebCore::headerCallback):
3269         * platform/network/curl/ResourceRequest.h:
3270         (WebCore::ResourceRequest::ResourceRequest):
3271         * platform/network/mac/ResourceErrorMac.mm:
3272         (WebCore::ResourceError::operator NSError*):
3273         * platform/network/mac/ResourceRequest.h:
3274         (WebCore::ResourceRequest::ResourceRequest):
3275         * platform/network/qt/ResourceRequest.h:
3276         (WebCore::ResourceRequest::ResourceRequest):
3277         * platform/network/soup/ResourceRequest.h:
3278         (WebCore::ResourceRequest::ResourceRequest):
3279         * platform/win/ClipboardWin.cpp:
3280         (WebCore::filesystemPathFromUrlOrTitle):
3281         (WebCore::ClipboardWin::setData):
3282         * svg/graphics/SVGImage.cpp:
3283         (WebCore::SVGImage::dataChanged):
3284         * xml/XSLImportRule.cpp:
3285         (WebCore::XSLImportRule::loadSheet):
3286         * xml/XSLTProcessor.cpp:
3287         (WebCore::docLoaderFunc):
3288         Adapt to the change everywhere the single argument constructor was used. I did a very
3289         cursory check of whether these locations were using this constructor properly, and didn't
3290         notice any obvious mistakes. The new explicit name will hopefully suggest checking this
3291         better when refactoring any such code.
3292
3293 2009-08-31  Beth Dakin  <bdakin@apple.com>
3294
3295         Reviewed by Darin Adler.
3296
3297         Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
3298         Backgrounds and Borders] Add support for 2-keyword values for 
3299         background-repeat
3300
3301         This patch allows background-repeat to take two values by making 
3302         background-repeat just like background-position internally. There 
3303         is a little extra legwork for background-repeat because the spec 
3304         indicates that its computed value should be equivalent to how it 
3305         was specified. I keep track of the specified thing by setting the 
3306         implicit flag whenever background-repeat is defined with only one 
3307         value (since internally, we now store this as 2 values.)
3308         
3309         Here we can't access the implicit flag, so for backwards-
3310         compatibility's sake, we always return one value when that makes 
3311         sense.
3312         * css/CSSComputedStyleDeclaration.cpp:
3313         (WebCore::fillRepeatToCSSValue):
3314         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3315
3316         Here we check for the implicit flag and return one value when it is 
3317         set.
3318         * css/CSSMutableStyleDeclaration.cpp:
3319         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3320         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
3321         (WebCore::CSSMutableStyleDeclaration::cssText):
3322
3323         Add support for CSSPropertyBackgroundRepeatX and 
3324         CSSPropertyBackgroundRepeatY
3325         * css/CSSParser.cpp:
3326         (WebCore::CSSParser::parseValue):
3327         (WebCore::CSSParser::parseFillShorthand):
3328         (WebCore::CSSParser::parseFillRepeat):
3329         (WebCore::CSSParser::parseFillProperty):
3330         * css/CSSParser.h:
3331
3332         Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
3333         need those parts of the EFillRepeat enum anymore.
3334         * css/CSSPrimitiveValueMappings.h:
3335         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3336         (WebCore::CSSPrimitiveValue::operator EFillRepeat):
3337
3338         Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
3339         * css/CSSPropertyLonghand.cpp:
3340         (WebCore::initShorthandMap):
3341
3342         Add background-repeat-x and -y.
3343         * css/CSSPropertyNames.in:
3344
3345         Break repeat into x and y.
3346         * css/CSSStyleSelector.cpp:
3347         (WebCore::CSSStyleSelector::applyProperty):
3348         (WebCore::CSSStyleSelector::mapFillRepeatX):
3349         (WebCore::CSSStyleSelector::mapFillRepeatY):
3350         * css/CSSStyleSelector.h:
3351
3352         There is no more RepeatXFill. Instead, look for 
3353         fillLayer->repeatX() == RepeatFill
3354         * rendering/RenderBoxModelObject.cpp:
3355         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3356
3357         Break m_repeat into m_repeatX and m_repeatY
3358         * rendering/style/FillLayer.cpp:
3359         (WebCore::FillLayer::FillLayer):
3360         (WebCore::FillLayer::operator=):
3361         (WebCore::FillLayer::operator==):
3362         (WebCore::FillLayer::fillUnsetProperties):
3363         (WebCore::FillLayer::cullEmptyLayers):
3364         * rendering/style/FillLayer.h:
3365         (WebCore::FillLayer::repeatX):
3366         (WebCore::FillLayer::repeatY):
3367         (WebCore::FillLayer::isRepeatXSet):
3368         (WebCore::FillLayer::isRepeatYSet):
3369         (WebCore::FillLayer::setRepeatX):
3370         (WebCore::FillLayer::setRepeatY):
3371         (WebCore::FillLayer::clearRepeatX):
3372         (WebCore::FillLayer::clearRepeatY):
3373         (WebCore::FillLayer::initialFillRepeatX):
3374         (WebCore::FillLayer::initialFillRepeatY):
3375
3376         Again, break backgroundRepeat into backgroundRepeatX and 
3377         backgroundRepeatY
3378         * rendering/style/RenderStyle.h:
3379         (WebCore::InheritedFlags::backgroundRepeatX):
3380         (WebCore::InheritedFlags::backgroundRepeatY):
3381         (WebCore::InheritedFlags::maskRepeatX):
3382         (WebCore::InheritedFlags::maskRepeatY):
3383
3384         We don't need RepeatXFill or RepeatYFill. Now that we store two 
3385         values, they are represented by Repeat-NoRepeat and NoRepeat-
3386         Repeat, respectively.
3387         * rendering/style/RenderStyleConstants.h:
3388         (WebCore::):
3389
3390 2009-08-31  Simon Fraser  <simon.fraser@apple.com>
3391
3392         Reviewed by Dan Bernstein.
3393
3394         Compositing layer size needs to take into account software reflections on children.
3395         https://bugs.webkit.org/show_bug.cgi?id=28837
3396         
3397         When computing the bounds of a composited layer, take software-rendered
3398         reflections into account.
3399
3400         Test: compositing/reflections/reflection-in-composited.html
3401
3402         * rendering/RenderLayerCompositor.cpp:
3403         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3404
3405 2009-08-31  Mark Mentovai  <mark@chromium.org>
3406
3407         Reviewed by Dave Hyatt.
3408
3409         https://bugs.webkit.org/show_bug.cgi?id=28614
3410
3411         Perform a layout prior to checking whether the scrollbar modes are
3412         off, on, or automatic.  The modes may change during layout.
3413
3414         * platform/ScrollView.cpp:
3415         (WebCore::ScrollView::updateScrollbars):
3416
3417 2009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3418
3419         Reviewed by Timothy Hatcher.
3420
3421         Inspector Request Headers Should Show Data Sent With Request
3422         https://bugs.webkit.org/show_bug.cgi?id=22920
3423
3424         Manual test added - see below.
3425
3426         * English.lproj/localizedStrings.js:
3427         * inspector/InspectorResource.cpp:
3428         (WebCore::InspectorResource::updateRequest):
3429         (WebCore::InspectorResource::createScriptObject):
3430         (WebCore::InspectorResource::updateScriptObject):
3431         * inspector/InspectorResource.h:
3432         * inspector/front-end/Resource.js:
3433         (WebInspector.Resource):
3434         * inspector/front-end/ResourceView.js:
3435         (WebInspector.ResourceView):
3436         (WebInspector.ResourceView.prototype._refreshURL):
3437         (WebInspector.ResourceView.prototype._refreshQueryString):
3438         (WebInspector.ResourceView.prototype._refreshFormData):
3439         (WebInspector.ResourceView.prototype._refreshRequestPayload):
3440         (WebInspector.ResourceView.prototype._refreshParms):
3441         (WebInspector.ResourceView.prototype._toggleURLdecoding):
3442         (WebInspector.ResourceView.prototype._getHeaderValue):
3443         (WebInspector.ResourceView.prototype._refreshRequestHeaders):
3444         * inspector/front-end/inspector.css:
3445         * inspector/front-end/inspector.js:
3446         (WebInspector.addResource):
3447         (WebInspector.updateResource):
3448         * manual-tests/inspector/display-form-data.html: Added.
3449
3450 2009-08-31  Pavel Feldman  <pfeldman@chromium.org>
3451
3452         Reviewed by Timothy Hatcher.
3453
3454         WebInspector: pass call frames into the frontend as a part of
3455         pausedScript event.
3456
3457         https://bugs.webkit.org/show_bug.cgi?id=28847
3458
3459         * inspector/InspectorController.cpp:
3460         (WebCore::InspectorController::didPause):
3461         * inspector/InspectorFrontend.cpp:
3462         (WebCore::InspectorFrontend::pausedScript):
3463         * inspector/InspectorFrontend.h:
3464         * inspector/front-end/ScriptsPanel.js:
3465         (WebInspector.ScriptsPanel.prototype.debuggerPaused):
3466         * inspector/front-end/inspector.js:
3467         (WebInspector.pausedScript):
3468
3469 2009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3470
3471         Reviewed by Ariya Hidayat.
3472
3473         [Qt] Un-blacklist Silverlight on Mac
3474
3475         Does not seem to crash anymore, probably due to how we now handle
3476         drawing and event model handshake better.
3477
3478         * plugins/mac/PluginPackageMac.cpp:
3479         (WebCore::PluginPackage::isPluginBlacklisted):
3480
3481 2009-08-31  Cameron McCormack  <cam@mcc.id.au>
3482
3483         Reviewed by Eric Seidel.
3484
3485         https://bugs.webkit.org/show_bug.cgi?id=28827
3486         SVGSVGElement.unsuspendRedraw() shouldn't throw
3487
3488         * svg/SVGSVGElement.cpp:
3489         (WebCore::SVGSVGElement::unsuspendRedraw):
3490         * svg/SVGSVGElement.h:
3491         * svg/SVGSVGElement.idl:
3492
3493 2009-08-31  Kent Tamura  <tkent@chromium.org>
3494
3495         Reviewed by Eric Seidel.
3496
3497         - Change the reutrn type of HTMLInputElement::list so that it
3498           conforms to the standard.
3499         - Add HTMLInputElement::dataList()
3500         https://bugs.webkit.org/show_bug.cgi?id=28769
3501
3502
3503         * html/HTMLInputElement.cpp:
3504         (WebCore::HTMLInputElement::list):
3505         (WebCore::HTMLInputElement::dataList):
3506         (WebCore::HTMLInputElement::selectedOption):
3507         * html/HTMLInputElement.h:
3508         * html/HTMLInputElement.idl:
3509
3510 2009-08-31  Kwang Yul Seo  <skyul@company100.net>
3511
3512         Reviewed by Eric Seidel.
3513
3514         Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
3515         https://bugs.webkit.org/show_bug.cgi?id=28802
3516
3517         Remove ASSERT because the frame could be null if the
3518         ResourceHandle is not associated with any frame, e.g. if we are
3519         downloading a file.
3520         If the frame is not null but the page is null this must be an
3521         attempted load from an onUnload handler, so let's just block it.
3522
3523         * platform/network/curl/ResourceHandleCurl.cpp:
3524         (WebCore::ResourceHandle::start):
3525
3526 2009-08-31  Maxime Simon  <simon.maxime@gmail.com>
3527
3528         Reviewed by Eric Seidel.
3529
3530         Build fix for platforms which don't enable DOM_STORAGE.
3531         https://bugs.webkit.org/show_bug.cgi?id=28834
3532
3533         * bindings/js/ScriptController.cpp:
3534         (WebCore::ScriptController::evaluate):
3535         * bindings/v8/ScriptController.cpp:
3536         (WebCore::ScriptController::evaluate):
3537
3538 2009-08-29  Adele Peterson  <adele@apple.com>
3539
3540         Reviewed by Dan Bernstein.
3541
3542         Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
3543         Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
3544
3545         Test: accessibility/aria-activedescendant-crash.html
3546
3547         * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
3548
3549 2009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
3550
3551         Reviewed by Oliver Hunt.
3552
3553         Gtk Build broken for OSX Quartz
3554         https://bugs.webkit.org/show_bug.cgi?id=28727
3555
3556         Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
3557         port in Mac and Unix/Linux.
3558
3559         * plugins/PluginView.cpp:
3560         (WebCore::PluginView::PluginView):
3561         * plugins/PluginView.h:
3562         * plugins/gtk/PluginViewGtk.cpp:
3563         (WebCore::PluginView::setNPWindowIfNeeded):
3564         (WebCore::PluginView::getValueStatic):
3565         (WebCore::PluginView::getValue):
3566         (WebCore::PluginView::init):
3567
3568 2009-08-28  Simon Fraser  <simon.fraser@apple.com>
3569
3570         Reviewed by Dan Bernstein.
3571