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